/**
 * Breakpoint component used by include-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"); }

.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]
*/
/**
 * Breakpoint component used by include-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]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-ie11-modal.modal-slide {
  left: 0;
  width: 100%; }
  .cs-ie11-modal.modal-slide .modal-inner-wrap {
    top: 50%;
    transform: translate3d(0, -50%, 0) !important;
    width: 100%;
    max-width: 78rem;
    background-color: #fff;
    margin: auto; }
    .cs-ie11-modal.modal-slide .modal-inner-wrap .modal-content {
      padding: 0; }
  .cs-ie11-modal.modal-slide .action-close {
    background-size: 1.8rem 1.8rem;
    margin: 2.5rem; }
  .cs-ie11-modal.modal-slide .modal-footer {
    padding: 2rem 0;
    margin: 0 3rem;
    border-top: 0;
    display: flex;
    justify-content: center; }

.cs-ie11-modal._show .cs-ie11-modal__inner {
  display: flex; }

.cs-ie11-modal__inner {
  display: none;
  padding: 0 3rem;
  font-size: 1.4rem;
  color: #2d3e50;
  height: 100%; }

.cs-ie11-modal__header, .cs-ie11-modal__body {
  padding: 2rem 0; }

.cs-ie11-modal__header {
  display: flex;
  flex-direction: column;
  align-items: center; }

.cs-ie11-modal__header-icon {
  width: 7rem;
  height: 7rem;
  margin-bottom: 2rem; }

.cs-ie11-modal__header-title {
  font-size: 3.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  max-width: 100%; }

.cs-ie11-modal__body {
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc; }

.cs-ie11-modal__paragraph {
  text-align: center;
  margin-bottom: 2rem; }
  .cs-ie11-modal__paragraph--title {
    font-size: 2rem;
    font-weight: 700; }

.cs-ie11-modal__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-around; }

.cs-ie11-modal__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 130%;
  margin: 0; }

.cs-ie11-modal__item-logo {
  width: 3.8rem;
  height: 3.8rem;
  margin-bottom: 1rem;
  border: 0; }
  .ie11 .cs-ie11-modal__item-logo {
    width: 4rem;
    height: 4rem; }

.cs-ie11-modal__item-name {
  font-weight: 700; }

.ie11 .modal-popup:not(.cs-vide-player__modal) .modal-content {
  max-height: 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"); }

/* 
 * 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]
*/
@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 */
/**
 * Breakpoint component used by include-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 */
/**
 * Breakpoint component used by include-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"); }

/**
 * Breakpoint component used by include-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);
 */
/**
 * Breakpoint component used by include-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"); }

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

/**
 * Breakpoint component used by include-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
 */
.cs-dashboard {
  width: 100%; }
  @media (min-width: 48em) {
    .cs-dashboard__columns {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch; }
      .cs-dashboard__columns:before, .cs-dashboard__columns:after {
        display: none; } }
  .cs-dashboard__messages {
    width: 100%; }
  .cs-dashboard__sidebar {
    order: 1; }
    @media (min-width: 48em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 3);
        padding: 0 1.5rem 0 0; } }
    @media (min-width: 64em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 4);
        padding: 0 1.5rem 0 0; } }
    @media (min-width: 80em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 4); } }
    @media (min-width: 90em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 4); } }
    @media (min-width: 120em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 4); } }
  .cs-dashboard__main {
    order: 2; }
    @media (min-width: 48em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 3));
        padding: 1.5rem 0 0 1.5rem; } }
    @media (min-width: 64em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 4));
        padding: 1.5rem 0 0 1.5rem; } }
    @media (min-width: 80em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 4)); } }
    @media (min-width: 90em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 4)); } }
    @media (min-width: 120em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 4)); } }
  .cs-dashboard .cs-page-category__main--search-no-result {
    width: 100%; }
  .cs-dashboard__columns {
    position: relative;
    margin: 3rem 0; }
    @media (min-width: 48em) {
      .cs-dashboard__columns {
        padding: 0 0 2rem; } }
  @media (min-width: 64em) {
    .cs-dashboard__sidebar {
      padding: 0; } }
  .cs-dashboard__main {
    margin-bottom: 2rem;
    margin-top: 2rem;
    box-sizing: border-box; }
    @media (min-width: 48em) {
      .cs-dashboard__main {
        padding: 0 0 0 3.5rem;
        margin-top: 0; } }
    @media (min-width: 48em) {
      .wishlist-index-index.page-layout-1column .cs-dashboard__main {
        width: 100% !important; } }
  .cs-dashboard__top {
    padding: 0 0 3rem; }
  .cs-dashboard__page-title {
    padding-bottom: 3rem; }
  .cs-dashboard .page-title {
    margin: 0;
    padding: 0 0 1rem 0; }
  .cs-dashboard .columns .column.main {
    padding: 0; }
  .cs-dashboard .message-error,
  .cs-dashboard .message-success,
  .cs-dashboard .message-notice {
    margin-bottom: 1rem; }
  .cs-dashboard .page-title-wrapper {
    background: transparent; }
  .cs-dashboard__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 2rem;
    border-top: 2px solid #dcdcdc; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom {
        width: 100%;
        padding-top: 3rem; } }
  .cs-dashboard__wishlist-line {
    margin: 0; }
  .cs-dashboard__wishlist-products-grid {
    margin: 0 0 3rem; }
    @media (min-width: 48em) {
      .cs-dashboard__wishlist-products-grid {
        margin: 0 0 4rem; } }
    .cs-dashboard__wishlist-products-grid--skip-spacing {
      margin: 0; }
  .cs-dashboard__wishlist-guest-code {
    overflow-wrap: break-word; }
  .cs-dashboard__bottom-wishlist {
    margin: 0 0 3rem;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom-wishlist {
        margin: 0 0 4rem; } }
    .cs-dashboard__bottom-wishlist--skip-spacing {
      margin: 0; }
    .cs-dashboard__bottom-wishlist-item {
      width: 100%; }
      @media (min-width: 30em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 50%; } }
      @media (min-width: 48em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 33.33%; } }
      .cs-dashboard__bottom-wishlist-item:nth-child(n + 4) {
        display: none; }
  .cs-dashboard__login {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-dashboard__login {
        flex-wrap: nowrap;
        padding: 0; } }
    .cs-dashboard__login-section {
      width: 100%;
      background: transparent;
      box-sizing: border-box;
      margin-bottom: 2rem; }
      @media (min-width: 48em) {
        .cs-dashboard__login-section {
          width: 50%; }
          .cs-dashboard__login-section:nth-child(2n + 1) {
            border-right: 1px solid #dcdcdc;
            padding-right: 2rem; }
          .cs-dashboard__login-section:nth-child(2n + 2) {
            padding-left: 2rem; } }
  .cs-dashboard__contact-form {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 2rem;
    background: transparent; }
  .cs-dashboard .fieldset,
  .cs-dashboard .form {
    width: 100%;
    min-width: 15rem !important; }
  .cs-dashboard .fieldset {
    width: 100%;
    border: 0;
    padding: 0;
    margin: 0;
    max-width: 45rem !important; }
  .cs-dashboard .field {
    margin-bottom: 1rem; }
  .cs-dashboard .limiter {
    margin-bottom: 0; }
  .cs-dashboard 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-dashboard select:-moz-focusring, .cs-dashboard select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-dashboard select:hover:not([disabled]), .cs-dashboard 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-dashboard select[disabled] {
      opacity: 0.65; }
    .cs-dashboard select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .cs-dashboard .choice {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap; }
    .cs-dashboard .choice .label {
      width: auto;
      font-weight: 300;
      font-size: 1.4rem; }
    .cs-dashboard .choice .checkbox {
      margin-top: 0.2rem; }
  .cs-dashboard .field-name-prefix {
    max-width: 12rem; }
  .cs-dashboard .primary > button,
  .cs-dashboard .primary .create {
    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; }
    .cs-dashboard .primary > button::-moz-focus-inner,
    .cs-dashboard .primary .create::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-dashboard .primary > button, .cs-dashboard .primary > button:visited,
    .cs-dashboard .primary .create,
    .cs-dashboard .primary .create: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-dashboard .primary > button *, .cs-dashboard .primary > button:visited *,
      .cs-dashboard .primary .create *,
      .cs-dashboard .primary .create:visited * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard .primary > button:hover:not([disabled]), .cs-dashboard .primary > button:focus:not([disabled]), .cs-dashboard .primary > button:active:not([disabled]),
    .cs-dashboard .primary .create:hover:not([disabled]),
    .cs-dashboard .primary .create:focus:not([disabled]),
    .cs-dashboard .primary .create:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-dashboard .primary > button:hover:not([disabled]) *, .cs-dashboard .primary > button:focus:not([disabled]) *, .cs-dashboard .primary > button:active:not([disabled]) *,
      .cs-dashboard .primary .create:hover:not([disabled]) *,
      .cs-dashboard .primary .create:focus:not([disabled]) *,
      .cs-dashboard .primary .create:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard .primary > button[disabled],
    .cs-dashboard .primary .create[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .wishlist-index-index .cs-dashboard .primary > button, .wishlist-index-index
    .cs-dashboard .primary .create {
      z-index: 1; }
    .cs-dashboard .primary > button span,
    .cs-dashboard .primary .create span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-dashboard .primary > button.action.update {
    display: none; }
  .cs-dashboard .remind,
  .cs-dashboard .back {
    font-size: 1.4rem;
    margin-top: 0.7rem;
    display: inline-block; }
  .cs-dashboard .counter {
    font-weight: 300;
    transform: translateX(-1rem);
    display: inline-block; }
    .cs-dashboard .counter:before {
      content: '('; }
    .cs-dashboard .counter:after {
      content: ')'; }
  .cs-dashboard .block {
    width: 100%;
    margin: 1.5rem 0 2.5rem;
    background: transparent;
    padding: 0;
    box-sizing: border-box; }
    @media (min-width: 48em) {
      .cs-dashboard .block {
        margin: 1.5rem 0 4rem; } }
  .cs-dashboard .block-title,
  .cs-dashboard .legend,
  .cs-dashboard .order-title {
    border-bottom: 1px solid #dcdcdc;
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    font-weight: 600;
    font-size: 1.8rem;
    width: 100%; }
    .cs-dashboard .block-title strong,
    .cs-dashboard .legend strong,
    .cs-dashboard .order-title strong {
      font-weight: 600;
      margin-right: 1rem; }
  .cs-dashboard .table-wrapper {
    width: 100%; }
  .cs-dashboard .block-title a {
    font-weight: 300;
    font-size: 1.4rem;
    vertical-align: text-bottom;
    white-space: nowrap; }
  .cs-dashboard .box-title {
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase; }
  .cs-dashboard .block-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 2rem 0 0; }
    @media (max-width: 63.99em) {
      .sales-order-history .cs-dashboard .block-content {
        margin-top: 0; } }
    .cs-dashboard .block-content.no-display {
      display: none; }
  .cs-dashboard .block-new-customer .block-content {
    flex-direction: column; }
    .cs-dashboard .block-new-customer .block-content .fieldset {
      margin-bottom: 1rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--amount {
      width: 100%;
      justify-content: center; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--amount:nth-child(1) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .pages {
      width: 100%;
      justify-content: center;
      display: flex;
      margin: 0.7rem 0 2rem; } }
  .cs-dashboard .block-reward-history .pages:nth-child(2) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--limiter {
      margin: 0 auto; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--limiter:nth-child(3) {
    display: none; }
  .cs-dashboard .box-actions a + a:before,
  .cs-dashboard .actions a + a:before {
    margin: 0 0.7rem 0 0.5rem;
    content: '';
    display: inline-block;
    width: 1px;
    height: 1.2rem;
    border-right: 2px solid #dcdcdc; }
  .cs-dashboard .box-actions a,
  .cs-dashboard .actions a {
    font-weight: 300; }
  .cs-dashboard .table-wrapper,
  .cs-dashboard .orders-history,
  .cs-dashboard .form-wishlist-items {
    background: transparent; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .table-wrapper + .actions-toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .orders-history + .actions-toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar,
    .cs-dashboard .form-wishlist-items + .actions-toolbar {
      background: transparent;
      padding: 0; }
    .cs-dashboard .table-wrapper.order-items + .actions-toolbar,
    .cs-dashboard .orders-history.order-items + .actions-toolbar,
    .cs-dashboard .form-wishlist-items.order-items + .actions-toolbar {
      padding: 0; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar {
      width: 100%; }
    .cs-dashboard .table-wrapper .action,
    .cs-dashboard .orders-history .action,
    .cs-dashboard .form-wishlist-items .action {
      margin-right: 0; }
  .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
    margin-bottom: 2rem; }
    @media (max-width: 64em) {
      .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
        display: flex;
        justify-content: space-between;
        flex-direction: column; }
        .cs-dashboard .form-wishlist-items .actions-toolbar .primary .action:last-child {
          margin-top: 1rem; } }
  .cs-dashboard .form-pwanotifications-manage .fieldset {
    max-width: initial !important; }
  .cs-dashboard .form-pwanotifications-manage .field {
    flex-wrap: nowrap; }
  .cs-dashboard .form-pwanotifications-manage .actions-toolbar {
    margin-top: 2rem; }
  .cs-dashboard .cs-toolbar__item--amount {
    display: flex;
    align-items: center; }
  .cs-dashboard .toolbar {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar {
        align-items: center; } }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar {
        flex-direction: column; } }
    .cs-dashboard .toolbar::after, .cs-dashboard .toolbar::before {
      display: none; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item {
        display: flex;
        justify-content: center;
        margin: auto; }
        .cs-dashboard .toolbar .cs-toolbar__item p {
          margin-bottom: 1rem; } }
    .cs-dashboard .toolbar .cs-toolbar__item--amount {
      margin-bottom: 1.5rem; }
      @media (min-width: 64em) {
        .cs-dashboard .toolbar .cs-toolbar__item--amount {
          margin-bottom: 0; } }
      @media (max-width: 47.99em) {
        .cs-dashboard .toolbar .cs-toolbar__item--amount {
          padding-bottom: 0; } }
      .cs-dashboard .toolbar .cs-toolbar__item--amount + .cs-toolbar__item--limiter {
        margin-top: 0; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--limiter {
        margin-top: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-dashboard .toolbar .cs-toolbar__item--limiter {
        margin-bottom: 0; } }
    .cs-dashboard .toolbar .toolbar-amount {
      padding-top: 0; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .pages {
        margin: 0 auto; } }
    @media (min-width: 48em) {
      .cs-dashboard .toolbar .pages {
        position: static;
        display: flex;
        justify-content: center;
        width: auto; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter {
        display: flex;
        justify-content: center; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter .label {
        width: auto; } }
    .cs-dashboard .toolbar.wishlist-toolbar br {
      display: none; }
  .cs-dashboard .actions-toolbar > .secondary .action.back,
  .cs-dashboard .secondary .action.edit-email-preferences {
    display: none; }
  .cs-dashboard .box,
  .cs-dashboard .addresses {
    width: 100%;
    box-sizing: border-box; }
    @media (min-width: 30em) {
      .cs-dashboard .box,
      .cs-dashboard .addresses {
        width: 48%; } }
  .cs-dashboard .box-content,
  .cs-dashboard .addresses .item {
    font-weight: 300;
    color: #696969;
    line-height: 2.5rem;
    margin-bottom: 0; }
  .cs-dashboard .tooltip.wrapper {
    font-size: 1.4rem;
    display: inline-block;
    padding-left: 0.5rem; }
  .cs-dashboard .choice.persistent {
    padding-bottom: 1.5rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .table-order-items .cs-table__col:last-child {
      padding-bottom: 2rem; }
    .cs-dashboard .table-order-items .price-excluding-tax,
    .cs-dashboard .table-order-items .price-including-tax,
    .cs-dashboard .table-order-items .items-qty,
    .cs-dashboard .table-order-items .product-item-name {
      display: inline-block;
      font-weight: 400;
      margin: 0;
      color: #696969; }
    .cs-dashboard .table-order-items .cs-cart-item__options-label {
      text-transform: none;
      width: auto;
      margin-right: 1rem; }
      .cs-dashboard .table-order-items .cs-cart-item__options-label:after {
        content: ':'; }
    .cs-dashboard .table-order-items .cs-table__col.subtotal {
      text-align: left; }
    .cs-dashboard .table-order-items .price-excluding-tax .price {
      font-weight: 400; } }
  .cs-dashboard .table-order-items .items-qty {
    margin: 0;
    padding: 0;
    list-style: none; }
    .cs-dashboard .table-order-items .items-qty .item {
      margin-bottom: 0.5rem; }
      .cs-dashboard .table-order-items .items-qty .item:last-child {
        margin-bottom: 0; }
  .sales-order-view .cs-dashboard .actions,
  .sales-order-invoice .cs-dashboard .actions,
  .sales-order-shipment .cs-dashboard .actions {
    width: 100%;
    margin-top: 2rem;
    display: flex; }
  .sales-order-view .cs-dashboard .actions .order,
  .sales-order-invoice .cs-dashboard .actions .order,
  .sales-order-shipment .cs-dashboard .actions .order {
    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.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .order::-moz-focus-inner,
    .sales-order-invoice .cs-dashboard .actions .order::-moz-focus-inner,
    .sales-order-shipment .cs-dashboard .actions .order::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .order, .sales-order-view .cs-dashboard .actions .order:visited,
    .sales-order-invoice .cs-dashboard .actions .order,
    .sales-order-invoice .cs-dashboard .actions .order:visited,
    .sales-order-shipment .cs-dashboard .actions .order,
    .sales-order-shipment .cs-dashboard .actions .order:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      .sales-order-view .cs-dashboard .actions .order *, .sales-order-view .cs-dashboard .actions .order:visited *,
      .sales-order-invoice .cs-dashboard .actions .order *,
      .sales-order-invoice .cs-dashboard .actions .order:visited *,
      .sales-order-shipment .cs-dashboard .actions .order *,
      .sales-order-shipment .cs-dashboard .actions .order:visited * {
        color: #fff;
        fill: #fff; }
    .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .order:active:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .order:hover:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .order:focus:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .order:active:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .order:hover:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .order:focus:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .order:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:active:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .order:hover:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .order:focus:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .order:active:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .order:hover:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .order:focus:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .order:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .sales-order-view .cs-dashboard .actions .order[disabled],
    .sales-order-invoice .cs-dashboard .actions .order[disabled],
    .sales-order-shipment .cs-dashboard .actions .order[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .order::before,
    .sales-order-invoice .cs-dashboard .actions .order::before,
    .sales-order-shipment .cs-dashboard .actions .order::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .order span,
    .sales-order-invoice .cs-dashboard .actions .order span,
    .sales-order-shipment .cs-dashboard .actions .order span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .sales-order-view .cs-dashboard .actions .print,
  .sales-order-invoice .cs-dashboard .actions .print,
  .sales-order-shipment .cs-dashboard .actions .print {
    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.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .print::-moz-focus-inner,
    .sales-order-invoice .cs-dashboard .actions .print::-moz-focus-inner,
    .sales-order-shipment .cs-dashboard .actions .print::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .print, .sales-order-view .cs-dashboard .actions .print:visited,
    .sales-order-invoice .cs-dashboard .actions .print,
    .sales-order-invoice .cs-dashboard .actions .print:visited,
    .sales-order-shipment .cs-dashboard .actions .print,
    .sales-order-shipment .cs-dashboard .actions .print:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      .sales-order-view .cs-dashboard .actions .print *, .sales-order-view .cs-dashboard .actions .print:visited *,
      .sales-order-invoice .cs-dashboard .actions .print *,
      .sales-order-invoice .cs-dashboard .actions .print:visited *,
      .sales-order-shipment .cs-dashboard .actions .print *,
      .sales-order-shipment .cs-dashboard .actions .print:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .print:active:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .print:hover:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .print:focus:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .print:active:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .print:hover:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .print:focus:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .print:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:active:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .print:hover:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .print:focus:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .print:active:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .print:hover:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .print:focus:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .print:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .sales-order-view .cs-dashboard .actions .print[disabled],
    .sales-order-invoice .cs-dashboard .actions .print[disabled],
    .sales-order-shipment .cs-dashboard .actions .print[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .print::before,
    .sales-order-invoice .cs-dashboard .actions .print::before,
    .sales-order-shipment .cs-dashboard .actions .print::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .print span,
    .sales-order-invoice .cs-dashboard .actions .print span,
    .sales-order-shipment .cs-dashboard .actions .print span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-dashboard .block-reviews-dashboard .product-name {
    font-weight: 300; }
  .cs-dashboard .rating-result {
    margin-left: 0;
    width: auto; }
    .cs-dashboard .rating-result::before {
      display: none; }
  .cs-dashboard .rating-summary.item {
    display: flex;
    overflow: visible; }
  .cs-dashboard .customer-review .product-name {
    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; }
  .cs-dashboard .customer-review .review-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;
    text-transform: none; }
  .cs-dashboard .customer-review.view {
    margin-bottom: 2rem; }
    .cs-dashboard .customer-review.view .review.title,
    .cs-dashboard .customer-review.view .ratings-summary,
    .cs-dashboard .customer-review.view .product-details {
      margin-bottom: 2rem; }
  .cs-dashboard .customer-review .product-details {
    margin-bottom: 4rem; }
  .cs-dashboard .customer-review .product-media {
    float: left;
    margin-right: 3%;
    max-width: 28.5rem;
    width: 30%; }
  .cs-dashboard .customer-review .review-details .customer-review-rating {
    margin-bottom: 2rem; }
    .cs-dashboard .customer-review .review-details .customer-review-rating .item {
      margin-bottom: 1rem; }
      .cs-dashboard .customer-review .review-details .customer-review-rating .item:last-child {
        margin-bottom: 0; }
  .cs-dashboard .customer-review .review-details .review-title {
    line-height: 1.1;
    font-size: 1.8rem;
    margin-top: 1.5rem;
    font-weight: 600;
    margin-bottom: 2rem; }
  .cs-dashboard .customer-review .review-details .review-content {
    margin-bottom: 2rem; }
  .cs-dashboard .customer-review .product-reviews-summary .rating-summary,
  .cs-dashboard .customer-review .product-reviews-summary .reviews-actions {
    display: block; }
  .cs-dashboard .form.create.account,
  .cs-dashboard .form-address-edit,
  .cs-dashboard .form-edit-account,
  .cs-dashboard .form.password.reset,
  .cs-dashboard .form.send.confirmation,
  .cs-dashboard .form.password.forget,
  .cs-dashboard #aw_giftcard__check_code_form {
    background: transparent;
    padding: 0; }
    @media (min-width: 48em) {
      .cs-dashboard .form.create.account,
      .cs-dashboard .form-address-edit,
      .cs-dashboard .form-edit-account,
      .cs-dashboard .form.password.reset,
      .cs-dashboard .form.send.confirmation,
      .cs-dashboard .form.password.forget,
      .cs-dashboard #aw_giftcard__check_code_form {
        width: 100%; } }
    .cs-dashboard .form.create.account br,
    .cs-dashboard .form-address-edit br,
    .cs-dashboard .form-edit-account br,
    .cs-dashboard .form.password.reset br,
    .cs-dashboard .form.send.confirmation br,
    .cs-dashboard .form.password.forget br,
    .cs-dashboard #aw_giftcard__check_code_form br {
      display: none; }
    .cs-dashboard .form.create.account .fullname .label,
    .cs-dashboard .form-address-edit .fullname .label,
    .cs-dashboard .form-edit-account .fullname .label,
    .cs-dashboard .form.password.reset .fullname .label,
    .cs-dashboard .form.send.confirmation .fullname .label,
    .cs-dashboard .form.password.forget .fullname .label,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .label {
      text-align: left;
      width: 100%; }
    .cs-dashboard .form.create.account .fullname > .label,
    .cs-dashboard .form-address-edit .fullname > .label,
    .cs-dashboard .form-edit-account .fullname > .label,
    .cs-dashboard .form.password.reset .fullname > .label,
    .cs-dashboard .form.send.confirmation .fullname > .label,
    .cs-dashboard .form.password.forget .fullname > .label,
    .cs-dashboard #aw_giftcard__check_code_form .fullname > .label {
      width: 1px; }
    .cs-dashboard .form.create.account .fullname .control,
    .cs-dashboard .form-address-edit .fullname .control,
    .cs-dashboard .form-edit-account .fullname .control,
    .cs-dashboard .form.password.reset .fullname .control,
    .cs-dashboard .form.send.confirmation .fullname .control,
    .cs-dashboard .form.password.forget .fullname .control,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .control {
      width: 100%; }
    .cs-dashboard .form.create.account .action.primary,
    .cs-dashboard .form-address-edit .action.primary,
    .cs-dashboard .form-edit-account .action.primary,
    .cs-dashboard .form.password.reset .action.primary,
    .cs-dashboard .form.send.confirmation .action.primary,
    .cs-dashboard .form.password.forget .action.primary,
    .cs-dashboard #aw_giftcard__check_code_form .action.primary {
      font-size: 1.4rem; }
    .cs-dashboard .form.create.account .back,
    .cs-dashboard .form-address-edit .back,
    .cs-dashboard .form-edit-account .back,
    .cs-dashboard .form.password.reset .back,
    .cs-dashboard .form.send.confirmation .back,
    .cs-dashboard .form.password.forget .back,
    .cs-dashboard #aw_giftcard__check_code_form .back {
      display: none; }
    .cs-dashboard .form.create.account .fieldset,
    .cs-dashboard .form-address-edit .fieldset,
    .cs-dashboard .form-edit-account .fieldset,
    .cs-dashboard .form.password.reset .fieldset,
    .cs-dashboard .form.send.confirmation .fieldset,
    .cs-dashboard .form.password.forget .fieldset,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset {
      margin-bottom: 2rem; }
    .cs-dashboard .form.create.account .fieldset-fullname,
    .cs-dashboard .form-address-edit .fieldset-fullname,
    .cs-dashboard .form-edit-account .fieldset-fullname,
    .cs-dashboard .form.password.reset .fieldset-fullname,
    .cs-dashboard .form.send.confirmation .fieldset-fullname,
    .cs-dashboard .form.password.forget .fieldset-fullname,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset-fullname {
      margin-bottom: 0; }
  .cs-dashboard .addresses {
    width: 100%; }
  .cs-dashboard .block-addresses-list + .actions-toolbar {
    background: transparent; }
  @media (max-width: 47.99em) {
    .cs-dashboard .box-billing-address {
      margin-bottom: 2rem; } }
  .cs-dashboard .table-additional-addresses-items .col.state {
    display: none; }
  @media (min-width: 48.01em) {
    .cs-dashboard .table-additional-addresses-items th:first-child,
    .cs-dashboard .table-additional-addresses-items td:first-child {
      padding-left: 0 !important; } }
  @media (min-width: 48.01em) {
    .cs-dashboard .table-additional-addresses-items th:last-child,
    .cs-dashboard .table-additional-addresses-items td:last-child {
      padding-right: 0 !important; } }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-dashboard .table-additional-addresses-items .action.delete {
    width: 100%; }
    .cs-dashboard .table-additional-addresses-items .action.delete:before {
      display: none !important; } }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-dashboard .table-additional-addresses-items .action.edit {
    margin-right: 0;
    width: 100%; } }
  .cs-dashboard .form-newsletter-manage {
    background: transparent; }
    .cs-dashboard .form-newsletter-manage .fieldset {
      margin-bottom: 1rem; }
  .cs-dashboard__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-dashboard__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-dashboard__button, .cs-dashboard__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-dashboard__button *, .cs-dashboard__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard__button:hover:not([disabled]), .cs-dashboard__button:focus:not([disabled]), .cs-dashboard__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-dashboard__button:hover:not([disabled]) *, .cs-dashboard__button:focus:not([disabled]) *, .cs-dashboard__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-dashboard__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-dashboard__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none; }
  .cs-dashboard__wishlist-guest {
    padding-top: 2rem; }
  .cs-dashboard__wishlist-guest-copy {
    padding-left: 1rem;
    position: relative; }
  .cs-dashboard__wishlist-guest-copy-icon {
    width: 2rem;
    height: 2rem;
    fill: #696969;
    position: absolute; }

.cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page, .cs-container--contact-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, .cs-container--contact-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; } }

.account .table-wrapper:last-child {
  margin-bottom: 0; }

.account .table-wrapper .action {
  margin-right: 1.5rem; }

.account .table-wrapper .action:last-child {
  margin-right: 0; }

.block p:last-child {
  margin: 0; }

.block .box-actions {
  margin-top: 0.5rem; }

.account.page-print .items-qty {
  margin: 0;
  padding: 0;
  list-style: none; }

.cs-page-success {
  margin: 2rem 0; }
  @media (min-width: 48em) {
    .cs-page-success {
      margin: 4rem auto 2rem; } }
  .cs-page-success__inner {
    border-top: 2px solid #f0f0f0;
    padding-top: 2.5rem;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-page-success__inner {
        padding-top: 1.5rem; } }
  .cs-page-success__section {
    width: 100%; }
    .cs-page-success__section:nth-child(2n + 2) {
      margin-top: 3rem; }
    @media (min-width: 48em) {
      .cs-page-success__section {
        width: 48%;
        box-sizing: border-box;
        padding-bottom: 2rem; }
        .cs-page-success__section:nth-child(2n + 1) {
          padding-right: 4rem; }
        .cs-page-success__section:nth-child(2n + 2) {
          padding-left: 4rem;
          border-left: 1px solid #dcdcdc;
          margin-top: 0; } }
    @media (min-width: 48em) and (max-width: 47.99em) {
      .cs-page-success__section:nth-child(2n + 2) {
        margin-top: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-page-success__section:nth-child(2n + 1) {
        padding-right: 6rem; }
      .cs-page-success__section:nth-child(2n + 2) {
        padding-left: 6rem; } }
  .cs-page-success__subheadline {
    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;
    text-transform: none; }
  .cs-page-success__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;
    margin-top: 1rem; }
    .cs-page-success__button::before, .cs-page-success__button::after {
      content: none; }
    .cs-page-success__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-page-success__button, .cs-page-success__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-page-success__button *, .cs-page-success__button:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .cs-page-success__button:hover:not([disabled]), .cs-page-success__button:focus:not([disabled]), .cs-page-success__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .cs-page-success__button:hover:not([disabled]) *, .cs-page-success__button:focus:not([disabled]) *, .cs-page-success__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-page-success__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-page-success__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-page-success__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-page-success .form-create-account br {
    display: none; }
  .cs-page-success .form-create-account .fieldset {
    margin-bottom: 2rem; }
    .cs-page-success .form-create-account .fieldset.info {
      margin-bottom: 0; }
      .cs-page-success .form-create-account .fieldset.info .legend,
      .cs-page-success .form-create-account .fieldset.info .field {
        display: none; }
    .cs-page-success .form-create-account .fieldset.account .field:first-of-type {
      display: none; }
    .cs-page-success .form-create-account .fieldset.account .password {
      margin-top: 0; }
    .cs-page-success .form-create-account .fieldset.account #password-strength-meter-container {
      display: none; }
  .cs-page-success .form-create-account .legend {
    border-bottom: 1px solid #dcdcdc;
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    font-weight: 600;
    font-size: 1.8rem;
    width: 100%; }
    .cs-page-success .form-create-account .legend strong {
      font-weight: 600;
      margin-right: 1rem; }
  .cs-page-success .form-create-account .choice .label {
    width: auto;
    font-weight: 300;
    font-size: 1.4rem; }
  .cs-page-success .form-create-account .primary > button,
  .cs-page-success .form-create-account .primary .create {
    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; }
    .cs-page-success .form-create-account .primary > button::-moz-focus-inner,
    .cs-page-success .form-create-account .primary .create::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-page-success .form-create-account .primary > button, .cs-page-success .form-create-account .primary > button:visited,
    .cs-page-success .form-create-account .primary .create,
    .cs-page-success .form-create-account .primary .create: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-page-success .form-create-account .primary > button *, .cs-page-success .form-create-account .primary > button:visited *,
      .cs-page-success .form-create-account .primary .create *,
      .cs-page-success .form-create-account .primary .create:visited * {
        color: #fff;
        fill: #fff; }
    .cs-page-success .form-create-account .primary > button:hover:not([disabled]), .cs-page-success .form-create-account .primary > button:focus:not([disabled]), .cs-page-success .form-create-account .primary > button:active:not([disabled]),
    .cs-page-success .form-create-account .primary .create:hover:not([disabled]),
    .cs-page-success .form-create-account .primary .create:focus:not([disabled]),
    .cs-page-success .form-create-account .primary .create:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-page-success .form-create-account .primary > button:hover:not([disabled]) *, .cs-page-success .form-create-account .primary > button:focus:not([disabled]) *, .cs-page-success .form-create-account .primary > button:active:not([disabled]) *,
      .cs-page-success .form-create-account .primary .create:hover:not([disabled]) *,
      .cs-page-success .form-create-account .primary .create:focus:not([disabled]) *,
      .cs-page-success .form-create-account .primary .create:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-page-success .form-create-account .primary > button[disabled],
    .cs-page-success .form-create-account .primary .create[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-page-success .form-create-account .primary > button span,
    .cs-page-success .form-create-account .primary .create span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-page-success .form-create-account .primary > button.action.update {
    display: none; }
  .cs-page-success .form-create-account .secondary {
    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]
*/
.cs-cart-page {
  position: relative;
  width: 100%; }
  @media (max-width: 47.99em) {
    .cs-cart-page {
      max-width: 45rem;
      margin: 0 auto; }
      .cs-cart-page .page-title {
        padding-left: 2rem;
        padding-right: 2rem; } }
  .cs-cart-page .cart-container {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
    margin-bottom: 4rem; }

.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__cart-coupons {
  display: flex;
  flex-wrap: wrap; }
  @media (min-width: 64em) {
    .cs-container__cart-coupons {
      flex-wrap: nowrap;
      justify-content: space-between; } }

.cs-container__top {
  width: 100%; }

.cs-container__bottom {
  display: flex;
  flex: 1 1 33.3333%;
  width: 100%; }
  @media (max-width: 63.99em) {
    .cs-container__bottom {
      flex-direction: column-reverse; } }
  .cs-container__bottom > div {
    flex-basis: 100%; }
  .cs-container__bottom .cs-discount {
    padding-top: 0; }
    .cs-container__bottom .cs-discount .label {
      display: none; }

.cs-container .cs-products-carousel {
  margin: 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]
*/
.ui-datepicker {
  display: none;
  z-index: 999999 !important;
  border: none;
  border-radius: 0px;
  padding: 0;
  width: auto;
  min-width: 25rem;
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
  background: #f0f0f0; }

.ui-datepicker-header {
  position: relative;
  background: #2d3e50;
  padding: 1.2rem 2rem;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px; }

.ui-datepicker-prev,
.ui-datepicker-next {
  position: absolute;
  top: 2rem;
  width: 1.8em;
  height: 1.8em;
  cursor: pointer; }
  .ui-datepicker-prev span,
  .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    top: 0.2rem;
    font-size: 0px;
    width: 0;
    height: 0; }

.ui-datepicker-prev {
  left: 1.5rem; }
  .ui-datepicker-prev span {
    border-width: 0;
    position: relative; }
    .ui-datepicker-prev span:before, .ui-datepicker-prev span:after {
      content: '';
      position: absolute;
      top: 50%;
      left: 2rem;
      width: 0;
      height: 0; }
    .ui-datepicker-prev span:before {
      left: -1.2rem;
      border-top: 0.8rem solid transparent;
      border-bottom: 0.8rem solid transparent;
      border-right: 0.8rem solid #2d3e50;
      margin-top: -0.8rem; }
    .ui-datepicker-prev span:after {
      left: -1rem;
      border-top: 0.6rem solid transparent;
      border-bottom: 0.6rem solid transparent;
      border-right: 0.6rem solid #2d3e50;
      margin-top: -0.6rem; }

.ui-datepicker-next {
  right: 1.5rem; }
  .ui-datepicker-next span {
    border-width: 0;
    position: relative; }
    .ui-datepicker-next span:before, .ui-datepicker-next span:after {
      content: '';
      position: absolute;
      top: 50%;
      right: 0;
      width: 0;
      height: 0; }
    .ui-datepicker-next span:before {
      right: -1.2rem;
      border-top: 0.8rem solid transparent;
      border-bottom: 0.8rem solid transparent;
      border-left: 0.8rem solid #2d3e50;
      margin-top: -0.8rem; }
    .ui-datepicker-next span:after {
      right: -1rem;
      border-top: 0.6rem solid transparent;
      border-bottom: 0.6rem solid transparent;
      border-left: 0.6rem solid #2d3e50;
      margin-top: -0.6rem; }

.ui-datepicker-title {
  text-align: center;
  margin: 0 1.5rem; }

.ui-datepicker-title select {
  display: inline-block;
  font-size: 1.4rem; }

select.ui-datepicker-month-year {
  width: 100%; }

.ui-datepicker-month {
  width: 47%;
  margin-right: 6%; }

.ui-datepicker-year {
  width: 47%; }

.ui-datepicker-table {
  border: none;
  font-size: 1rem;
  border-collapse: collapse; }

.ui-datepicker-calendar {
  border-collapse: collapse;
  margin: 1rem 1.5rem 1.5rem;
  border-width: 0;
  width: 23rem; }
  .ui-datepicker-calendar td,
  .ui-datepicker-calendar th {
    background: none;
    border-width: 0;
    width: 3rem;
    height: 3rem;
    padding: 0;
    text-align: center; }
  .ui-datepicker-calendar th {
    text-transform: uppercase;
    color: #2d3e50; }
  .ui-datepicker-calendar .ui-datepicker-week-col {
    text-align: center; }
  .ui-datepicker-calendar td a,
  .ui-datepicker-calendar th span,
  .ui-datepicker-calendar td span {
    background: none;
    border-width: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    text-align: center;
    line-height: 3rem;
    padding: 0;
    font-size: 1.4rem;
    display: block; }
  .ui-datepicker-calendar td a,
  .ui-datepicker-calendar td span {
    color: #696969; }
  .ui-datepicker-calendar .ui-state-hover {
    background: #2d3e50;
    color: #fff; }
  .ui-datepicker-calendar .ui-state-disabled {
    background: transparent; }
    .ui-datepicker-calendar .ui-state-disabled span {
      color: #dcdcdc; }
  .ui-datepicker-calendar .ui-state-active {
    background: #2d3e50;
    color: #fff; }

.ui-datepicker-buttonpane {
  overflow: hidden;
  padding-top: 1rem;
  border-top: #dcdcdc 1px solid; }
  .ui-datepicker-buttonpane button {
    float: right; }
  .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left; }

.ui-datepicker-rtl {
  direction: rtl; }

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

.ui-timepicker-div {
  padding: 1rem 0 0.5rem 0; }
  .ui-timepicker-div .ui-widget-header {
    margin-bottom: 0.8rem; }
  .ui-timepicker-div dl {
    text-align: left; }
    .ui-timepicker-div dl dt {
      height: 2.5rem;
      margin-bottom: -2.2rem; }
    .ui-timepicker-div dl .ui_tpicker_time_label {
      margin-bottom: -2.5rem; }
    .ui-timepicker-div dl dd {
      margin: 0 0 1rem 6.5rem; }
  .ui-timepicker-div td {
    font-size: 90%; }

.ui-tpicker-grid-label {
  background: none;
  border: none;
  margin: 0;
  padding: 0; }

.ui-slider {
  position: relative;
  text-align: left; }

.ui-slider-handle {
  height: 1rem;
  width: 1rem;
  border-radius: 1rem;
  background: #2d3e50;
  display: block;
  position: absolute;
  z-index: 2;
  cursor: default; }

.ui-slider-horizontal {
  height: 1rem;
  border-radius: 1rem;
  border: none;
  background: #f0f0f0; }
  .ui-slider-horizontal .ui-slider-handle {
    margin-left: -0.5rem; }

/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
  position: absolute;
  /*must have*/
  z-index: -1;
  /*must have*/
  filter: mask();
  /*must have*/
  top: -4px;
  /*must have*/
  left: -4px;
  /*must have*/
  width: 200px;
  /*must have*/
  height: 200px;
  /*must have*/ }

/**
 * Breakpoint component used by include-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-cart-bonus {
  padding: 1.5rem; }
  @media (min-width: 48em) {
    .cs-cart-bonus {
      padding: 1.5rem 0; } }
  @media (min-width: 64em) {
    .cs-cart-bonus {
      border-bottom: 1px solid #dcdcdc; } }
  .cs-cart-bonus--empty-basket {
    border-top: 1px solid #dcdcdc;
    border-bottom: 0;
    margin-top: 2rem; }
  .cs-cart-bonus__headline {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2d3e50;
    display: flex;
    align-items: center;
    margin-bottom: 1.75rem; }
  .cs-cart-bonus__gifts-wrapper {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap; }
  .cs-cart-bonus__gift {
    display: flex;
    flex: 1 1 100%;
    font-size: 1.3rem;
    color: #888;
    flex-wrap: wrap;
    justify-content: center; }
    @media (min-width: 48em) {
      .cs-cart-bonus__gift {
        flex-basis: 16.66667%; } }
    .cs-cart-bonus__gift + .cs-cart-bonus__gift {
      margin-top: 2rem; }
      @media (min-width: 48em) {
        .cs-cart-bonus__gift + .cs-cart-bonus__gift {
          margin-top: 0; } }
      @media (min-width: 48em) {
        .cs-cart-bonus__gift + .cs-cart-bonus__gift .cs-cart-bonus__progress-wrapper {
          border-left: 0;
          border-radius: 0 0.2rem 0.2rem 0; } }
    .cs-cart-bonus__gift--awarded .cs-cart-bonus__progress-done {
      transform: scaleX(1) !important; }
    .cs-cart-bonus__gift:nth-of-type(1) .cs-cart-bonus__icon-box--gift path,
    .cs-cart-bonus__gift:nth-of-type(1) .cs-cart-bonus__icon-box--status,
    .cs-cart-bonus__gift:nth-of-type(1) .cs-cart-bonus__label,
    .cs-cart-bonus__gift:nth-of-type(1) .cs-cart-bonus__tooltip {
      transition-delay: 0.8s; }
    .cs-cart-bonus__gift:nth-of-type(1) .cs-cart-bonus__progress-done {
      transition-delay: 0s; }
    .cs-cart-bonus__gift:nth-of-type(2) .cs-cart-bonus__icon-box--gift path,
    .cs-cart-bonus__gift:nth-of-type(2) .cs-cart-bonus__icon-box--status,
    .cs-cart-bonus__gift:nth-of-type(2) .cs-cart-bonus__label,
    .cs-cart-bonus__gift:nth-of-type(2) .cs-cart-bonus__tooltip {
      transition-delay: 1.6s; }
    .cs-cart-bonus__gift:nth-of-type(2) .cs-cart-bonus__progress-done {
      transition-delay: 0.8s; }
    .cs-cart-bonus__gift:nth-of-type(3) .cs-cart-bonus__icon-box--gift path,
    .cs-cart-bonus__gift:nth-of-type(3) .cs-cart-bonus__icon-box--status,
    .cs-cart-bonus__gift:nth-of-type(3) .cs-cart-bonus__label,
    .cs-cart-bonus__gift:nth-of-type(3) .cs-cart-bonus__tooltip {
      transition-delay: 2.4s; }
    .cs-cart-bonus__gift:nth-of-type(3) .cs-cart-bonus__progress-done {
      transition-delay: 1.6s; }
    .cs-cart-bonus__gift:nth-of-type(4) .cs-cart-bonus__icon-box--gift path,
    .cs-cart-bonus__gift:nth-of-type(4) .cs-cart-bonus__icon-box--status,
    .cs-cart-bonus__gift:nth-of-type(4) .cs-cart-bonus__label,
    .cs-cart-bonus__gift:nth-of-type(4) .cs-cart-bonus__tooltip {
      transition-delay: 3.2s; }
    .cs-cart-bonus__gift:nth-of-type(4) .cs-cart-bonus__progress-done {
      transition-delay: 2.4s; }
    .cs-cart-bonus__gift:nth-of-type(5) .cs-cart-bonus__icon-box--gift path,
    .cs-cart-bonus__gift:nth-of-type(5) .cs-cart-bonus__icon-box--status,
    .cs-cart-bonus__gift:nth-of-type(5) .cs-cart-bonus__label,
    .cs-cart-bonus__gift:nth-of-type(5) .cs-cart-bonus__tooltip {
      transition-delay: 4s; }
    .cs-cart-bonus__gift:nth-of-type(5) .cs-cart-bonus__progress-done {
      transition-delay: 3.2s; }
    .cs-cart-bonus__gift:nth-of-type(6) .cs-cart-bonus__icon-box--gift path,
    .cs-cart-bonus__gift:nth-of-type(6) .cs-cart-bonus__icon-box--status,
    .cs-cart-bonus__gift:nth-of-type(6) .cs-cart-bonus__label,
    .cs-cart-bonus__gift:nth-of-type(6) .cs-cart-bonus__tooltip {
      transition-delay: 4.8s; }
    .cs-cart-bonus__gift:nth-of-type(6) .cs-cart-bonus__progress-done {
      transition-delay: 4s; }
  .cs-cart-bonus__top-wrapper {
    display: flex;
    width: 100%;
    align-items: center;
    margin-bottom: 1rem;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-cart-bonus__top-wrapper {
        justify-content: center; } }
  .cs-cart-bonus__inline-amount {
    display: none;
    margin: 0 0.8rem 0 auto;
    align-items: center;
    color: #37b841; }
    @media (max-width: 47.99em) {
      .cs-cart-bonus__gift--current .cs-cart-bonus__inline-amount {
        display: flex; } }
  .cs-cart-bonus__icon-wrapper {
    position: relative; }
    .cs-cart-bonus__icon-wrapper--awarded .cs-cart-bonus__icon--gift path {
      fill: #37b841; }
      [data-mage-init] .cs-cart-bonus__icon-wrapper--awarded .cs-cart-bonus__icon--gift path {
        fill: #888; }
    .cs-cart-bonus__icon-wrapper--awarded .cs-cart-bonus__icon-box--status {
      visibility: visible;
      opacity: 1; }
      [data-mage-init] .cs-cart-bonus__icon-wrapper--awarded .cs-cart-bonus__icon-box--status {
        visibility: hidden;
        opacity: 0; }
  .cs-cart-bonus__icon-box--status {
    background: #37b841;
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    line-height: 1.3rem;
    right: -0.6rem;
    bottom: -0.1rem;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    display: flex;
    transition: opacity, visibility 0.3s; }
  .cs-cart-bonus__icon {
    width: 2.3rem;
    height: 2.1rem;
    transition: fill 0.3s; }
    .cs-cart-bonus__icon--headline {
      margin-right: 1rem; }
      .cs-cart-bonus__icon--headline path {
        fill: #2d3e50; }
    .cs-cart-bonus__icon--gift path {
      fill: #888; }
    .cs-cart-bonus__icon--status {
      width: 0.7rem;
      height: 0.7rem; }
      .cs-cart-bonus__icon--status path {
        fill: #fff; }
  .cs-cart-bonus__progress-wrapper {
    position: relative;
    border: 1px solid #dcdcdc;
    border-radius: 0.2rem;
    height: 1.4rem;
    width: 100%;
    padding: 0.2rem;
    box-sizing: border-box; }
    @media (min-width: 48em) {
      .cs-cart-bonus__progress-wrapper {
        border-radius: 0.2rem 0 0 0.2rem; } }
  .cs-cart-bonus__progress-possible {
    position: absolute;
    height: 0.8rem;
    background: repeating-linear-gradient(-45deg, #dcdcdc, #dcdcdc 1px, transparent 1px, transparent 5px);
    border-radius: 0.2rem;
    top: 0.2rem;
    left: 0.2rem;
    right: 0.2rem;
    border: 1px solid #dcdcdc;
    box-sizing: border-box; }
  .cs-cart-bonus__progress-done {
    position: relative;
    transform: scaleX(0);
    width: 100%;
    height: 0.8rem;
    background: #37b841;
    border-radius: 0.2rem;
    transform-origin: left;
    transition: transform 0.8s linear;
    z-index: 2; }
    [data-mage-init] .cs-cart-bonus__progress-done {
      transform: scaleX(0) !important; }
  .cs-cart-bonus__label-wrapper {
    display: flex;
    align-items: center;
    color: #888;
    margin: 0;
    font-size: 1.3rem;
    max-width: calc(100% - 3.3rem);
    transition: color; }
    .cs-cart-bonus__label-wrapper--top {
      margin-right: 0.8rem; }
    .cs-cart-bonus__label-wrapper--bottom {
      display: none; }
    .cs-cart-bonus__label-wrapper--awarded {
      color: #37b841; }
      [data-mage-init] .cs-cart-bonus__label-wrapper--awarded {
        color: #888; }
    @media (min-width: 48em) {
      .cs-cart-bonus__label-wrapper {
        text-align: center;
        max-width: none;
        margin-top: 1rem; }
        .cs-cart-bonus__label-wrapper--top {
          display: none; }
        .cs-cart-bonus__label-wrapper--bottom {
          display: block; } }
  .cs-cart-bonus__tooltip {
    top: 0;
    left: 0.8rem;
    position: absolute;
    display: none;
    transform: translate3d(-50%, -100%, 0) scaleY(1);
    flex-wrap: wrap;
    justify-content: center;
    transition: transform 0.3s;
    transform-origin: center bottom; }
    @media (min-width: 48em) {
      .cs-cart-bonus__tooltip {
        display: flex; } }
    .cs-cart-bonus__tooltip:after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: 0;
      margin-left: -0.4rem;
      height: 0;
      border-style: solid;
      border-width: 0.6rem 0.4rem 0;
      border-color: #37b841 transparent transparent transparent; }
    .cs-cart-bonus__tooltip--edge_left .cs-cart-bonus__tooltip-content {
      transform: translateX(35%); }
    .cs-cart-bonus__tooltip--edge_right .cs-cart-bonus__tooltip-content {
      transform: translateX(-35%); }
    [data-mage-init] .cs-cart-bonus__tooltip {
      transform: translate3d(-50%, -100%, 0) scaleY(0); }
  .cs-cart-bonus__tooltip-content {
    background: #37b841;
    width: 100%;
    padding: 0.6rem 0.7rem 0.5rem;
    box-sizing: border-box;
    font-size: 1rem;
    color: #fff;
    border-radius: 0.2rem;
    text-align: center;
    margin-bottom: 0.6rem; }

/**
 * Breakpoint component used by include-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 */
.cs-cart-item {
  border-top: 1px solid #dcdcdc;
  position: relative; }
  @media (min-width: 64em) {
    .cs-cart-item {
      padding-right: 11rem;
      padding-bottom: 0;
      border-top: none; } }
  tbody:nth-child(3) .cs-cart-item {
    border-top: none; }
  tbody:last-child .cs-cart-item {
    border-bottom: 1px solid #dcdcdc; }
    @media (min-width: 64em) {
      tbody:last-child .cs-cart-item {
        border-bottom: none; } }
  @media (min-width: 64em) {
    .cs-cart-item--no-icons {
      padding-right: 0; } }
  .cs-cart-item td {
    vertical-align: top; }
    @media (min-width: 64em) {
      .cs-cart-item td {
        vertical-align: middle; } }
  .cs-cart-item__product {
    display: flex; }
  .cs-cart-item__image {
    width: 13rem;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (min-width: 64em) {
      .cs-cart-item__image {
        width: 10rem; } }
    @media (min-width: 90em) {
      .cs-cart-item__image {
        width: 15rem; } }
  .cs-cart-item__brand {
    width: 100%;
    padding-top: 1.5rem; }
    .cs-cart-item__brand + .cs-cart-item__name {
      padding-top: 0; }
  .cs-cart-item__brand-text {
    font-size: 1.2rem;
    color: #888; }
  .cs-cart-item__name {
    width: 100%;
    padding: 1.5rem 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #2d3e50; }
  .cs-cart-item__name a {
    font-size: 1.5rem;
    font-weight: 700;
    text-decoration: none;
    color: #2d3e50;
    font-family: "Futura LT W04 Bold1475826", sans-serif; }
    .cs-cart-item__name a__name {
      width: 100%;
      padding: 1.5rem 0; }
      .cs-cart-item__name a__name a {
        font-size: 1.4rem; }
  .cs-cart-item__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-cart-item__badge:after {
      content: '';
      min-height: inherit;
      font-size: 0; }
    .cs-cart-item__badge--free {
      background-color: #37b841;
      color: #fff; }
      .cs-cart-item__badge--free .cs-cart-item__badge-text {
        line-height: normal; }
        .cs-cart-item__badge--free .cs-cart-item__badge-text + .cs-cart-item__badge--free .cs-cart-item__badge-text {
          margin-left: 0.5rem; }
    .cs-cart-item__badge + .cs-cart-item__name {
      padding-top: 0.5rem; }
  .cs-cart-item__badge-text {
    line-height: normal; }
    .cs-cart-item__badge-text + .cs-cart-item__badge-text {
      margin-left: 0.5rem; }
  .cs-cart-item__details {
    padding: 0 1rem 1rem 2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center; }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-cart-item__details {
    padding: 0 0 0 2rem; } }
    @media (min-width: 80em) {
      .cs-cart-item__details {
        padding: 0 1rem 0 2rem; } }
  .cs-cart-item__options {
    width: 50%; }
  .cs-cart-item__options-group {
    margin: 0 2rem 0 0;
    display: flex; }
    @media (min-width: 64em) {
      .cs-cart-item__options-group {
        margin: 0 2rem 0 0; } }
  .cs-cart-item__options-label {
    width: 7rem;
    display: inline-block;
    color: #2d3e50;
    font-size: 1.4rem;
    font-weight: 700; }
    @media (min-width: 48em) {
      .cs-cart-item__options-label {
        width: auto;
        display: block;
        min-width: 120px; } }
  .cs-cart-item__options-value {
    margin-bottom: 0;
    display: inline-block;
    color: #696969;
    font-size: 1.4rem; }
    @media (min-width: 64em) {
      .cs-cart-item__options-value {
        width: auto;
        display: block; } }
  .cs-cart-item__price {
    padding: 0.4rem 0 0.4rem 2rem !important; }
    @media (max-width: 63.99em) {
      .cs-cart-item__price {
        text-align: left; } }
    @media (min-width: 64em) {
      .cs-cart-item__price {
        padding: 0.4rem 1.5rem 0.4rem 0 !important; } }
    @media (min-width: 80em) {
      .cs-cart-item__price {
        padding: 0.4rem 2rem 0.4rem 0 !important; } }
  .cs-cart-item__subtotal {
    padding: 0.4rem 2rem 0.4rem 0 !important; }
    @media (min-width: 64em) {
      .cs-cart-item__subtotal {
        padding: 0.4rem 1.5rem 0.4rem 0 !important; } }
    @media (min-width: 80em) {
      .cs-cart-item__subtotal {
        padding: 0.4rem 2rem 0.4rem 0 !important; } }
    @media (max-width: 63.99em) {
      .cs-cart-item__subtotal {
        text-align: right; } }
    @media (min-width: 64em) {
      .cs-cart-item--no-icons .cs-cart-item__subtotal {
        text-align: right; } }
  @media (max-width: 63.99em) {
    .cs-cart-item__price, .cs-cart-item__subtotal, .cs-cart-item__qty {
      box-sizing: border-box;
      width: 31%;
      display: inline-block !important;
      height: 9rem;
      overflow: hidden; }
      .cs-cart-item__price:before, .cs-cart-item__subtotal:before, .cs-cart-item__qty:before {
        content: attr(data-th) !important;
        font-size: 1rem;
        text-transform: uppercase;
        padding: 0 0 2.1rem !important; } }
  @media (max-width: 63.99em) and (min-width: 30em) {
    .cs-cart-item__price:before, .cs-cart-item__subtotal:before, .cs-cart-item__qty:before {
      font-size: 1.1rem; } }
  @media (min-width: 64em) {
    .cs-cart-item__price, .cs-cart-item__subtotal, .cs-cart-item__qty {
      padding-left: 0; } }
  .cs-cart-item__qty {
    padding: 0.4rem 0 !important; }
    @media (min-width: 64em) {
      .cs-cart-item__qty {
        padding: 0.4rem 1.5rem 0.4rem 0 !important; } }
    @media (min-width: 80em) {
      .cs-cart-item__qty {
        padding: 0.4rem 2rem 0.4rem 0 !important; } }
    @media (max-width: 63.99em) {
      .cs-cart-item__qty {
        padding-right: 0;
        padding-left: 0;
        text-align: center;
        width: 36%;
        height: auto;
        min-height: 9rem; }
        .cs-cart-item__qty:before {
          padding: 0 0 1rem !important;
          /* stylelint-disable-line declaration-no-important */ } }
  @media (max-width: 63.99em) {
    .cs-cart-item__item {
      padding-top: 1rem; }
      .cs-cart-item__item:before {
        display: none !important;
        /* stylelint-disable-line declaration-no-important */ } }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-cart-item__item {
    padding-left: 0 !important; } }
  .cs-cart-item__qty-input {
    margin: 0 auto;
    width: 10rem; }
    @media (min-width: 64em) {
      .cs-cart-item__qty-input {
        width: 11rem; } }
  @media (min-width: 64em) {
    .cs-cart-item__subtotal-inner {
      display: flex;
      align-items: center;
      height: 2.5rem; } }
  .cs-cart-item__buttons {
    width: 100%;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end; }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-cart-item__buttons {
    justify-content: flex-start; } }
  .cs-cart-item__link {
    display: flex;
    align-items: center;
    margin-left: 1rem; }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-cart-item__link {
    margin: 0 0.2rem; } }
    .cs-cart-item__link--remove {
      margin-right: 0.5rem; }
    .cs-cart-item__link--wishlist {
      margin-left: 0; }
  .cs-cart-item__link-wrapper {
    display: flex;
    margin: 0 0.5rem; }
    .cs-cart-item__link-wrapper:hover .cs-cart-item__link-icon path {
      fill: #2d3e50; }
  .cs-cart-item__link-icon {
    width: 2rem;
    height: 2rem; }
    .cs-cart-item__link-icon path {
      fill: #2d3e50; }
  @media (max-width: 63.99em) {
    .cs-cart-item__bottom {
      padding: 0 2rem 2rem !important;
      /* stylelint-disable-line declaration-no-important */ } }
  @media (min-width: 64em) {
    .cs-cart-item__bottom {
      padding-right: 0;
      padding-left: 0; } }
  .cs-cart-item__bottom:before {
    display: none !important;
    /* stylelint-disable-line declaration-no-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 */
/**
 * Breakpoint component used by include-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 */
.cs-cart-summary {
  background: #fff;
  border-radius: 3px;
  padding: 1rem 1.5rem 2rem;
  border-top: 1px solid #dcdcdc; }
  @media (min-width: 48em) {
    .cs-cart-summary {
      padding: 2rem;
      border-bottom: none;
      border-top: none;
      box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28); } }
  .cs-cart-summary--empty {
    border-top: none;
    padding: 0 2rem; }
    @media (min-width: 48em) {
      .cs-cart-summary--empty {
        box-shadow: none;
        padding: 2rem 0; } }
  .cs-cart-summary__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;
    text-transform: none; }
    @media (min-width: 48em) {
      .cs-cart-summary__title {
        display: block; } }
  .cs-cart-summary__trigger {
    padding: 1.1rem 0.8rem 1.1rem 0; }
    @media (min-width: 48em) {
      .cs-cart-summary__trigger {
        border-top: 1px solid #dcdcdc;
        margin-top: 1.1rem; } }
  .cs-cart-summary__label {
    font-size: 1.4rem;
    font-weight: 400;
    color: #696969; }
  .cs-cart-summary__value {
    font-size: 1.4rem;
    font-weight: 700;
    color: #2d3e50; }
  .cs-cart-summary__remove {
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.5rem; }
  .cs-cart-summary__totals {
    font-size: 1.4rem;
    font-weight: 400;
    color: #696969; }
    .cs-cart-summary__totals th {
      padding-left: 0;
      font-weight: 400;
      color: #696969; }
    .cs-cart-summary__totals td {
      padding-right: 0;
      text-align: right;
      white-space: nowrap; }
    .cs-cart-summary__totals .grand {
      font-weight: 700 !important;
      /* stylelint-disable-line declaration-no-important */
      font-size: 1.5rem !important;
      /* stylelint-disable-line declaration-no-important */
      border-top: 1px solid #dcdcdc; }
      .cs-cart-summary__totals .grand th,
      .cs-cart-summary__totals .grand td {
        padding-top: 1.4rem;
        padding-bottom: 1.4rem;
        color: #2d3e50; }
    .cs-cart-summary__totals .discount.coupon {
      display: none; }
  .cs-cart-summary__tax-note-row th,
  .cs-cart-summary__tax-note-row td {
    padding: 0 !important; }
  .cs-cart-summary__tax-note {
    text-align: right;
    font-size: 1.4rem;
    color: #888; }
  .cs-cart-summary__to-checkout-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: 100%; }
    .cs-cart-summary__to-checkout-button:hover, .cs-cart-summary__to-checkout-button:focus, .cs-cart-summary__to-checkout-button:active {
      background-color: #2d3e50 !important; }
    .cs-cart-summary__to-checkout-button:before, .cs-cart-summary__to-checkout-button:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-cart-summary__to-checkout-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-cart-summary__to-checkout-button:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-cart-summary__to-checkout-button:hover:after {
      width: calc(100% + 2px); }
    .cs-cart-summary__to-checkout-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-cart-summary__to-checkout-button, .cs-cart-summary__to-checkout-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-cart-summary__to-checkout-button *, .cs-cart-summary__to-checkout-button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-cart-summary__to-checkout-button:hover:not([disabled]), .cs-cart-summary__to-checkout-button:focus:not([disabled]), .cs-cart-summary__to-checkout-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-cart-summary__to-checkout-button:hover:not([disabled]) *, .cs-cart-summary__to-checkout-button:focus:not([disabled]) *, .cs-cart-summary__to-checkout-button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-cart-summary__to-checkout-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-cart-summary__to-checkout-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-cart-summary__to-checkout-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-cart-summary .multicheckout,
  .cs-cart-summary .cs-cart-summary__shipping {
    display: none; }
  .cs-cart-summary .checkout-methods-items .item + .item {
    margin-top: 0 !important; }
  .cs-cart-summary #block-shipping {
    display: none; }
  .cs-cart-summary .totals.giftcard .action.delete {
    font-size: 0;
    width: 1rem;
    height: 1rem;
    background-image: url("../images/icons/close.svg");
    background-size: contain;
    display: inline-block;
    transform: translateY(-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
 */
/**
 * Breakpoint component used by include-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: 63.99em) {
  .cs-cart-table {
    border: none;
    font-size: 1.4rem;
    padding: 0; }
    .cs-cart-table:last-child {
      padding-bottom: 1.2rem; } }

@media (min-width: 48em) {
  .cs-cart-table {
    border-top: 1px solid #dcdcdc; } }

.cs-cart-table-wrapper {
  background-color: transparent;
  margin-bottom: 0; }

@media (max-width: 63.99em) {
  .cs-cart-table .cs-cart-table__head {
    display: none; } }

.cs-cart-table__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  padding: 2rem 0;
  border-bottom: 1px solid #dcdcdc;
  border-top: 1px solid #dcdcdc; }
  @media (min-width: 48em) {
    .cs-cart-table__toolbar {
      border: none;
      flex-direction: row; } }
  @media (min-width: 48em) {
    .cs-cart-table__toolbar--top {
      padding-top: 0; } }
  @media (max-width: 63.99em) {
    .cs-cart-table__toolbar--bottom {
      border-top: 1px solid #dcdcdc;
      border-bottom: none; } }

.cs-cart-table__head {
  border-bottom: 2px solid #dcdcdc; }
  @media (max-width: 47.99em) {
    .cs-cart-table__head {
      display: none; } }

.cs-cart-table__head-col {
  color: #2d3e50;
  padding: 1.3rem 1.5rem 1.3rem 0.1rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.1rem; }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-cart-table__head-col:nth-last-child(2) {
    position: absolute; } }
  .cs-cart-table__head-col--right {
    text-align: right; }

@media (max-width: 63.99em) {
  .cs-cart-table .cs-cart-table__col {
    border: none;
    display: block;
    font-size: 1.4rem;
    padding: 0.2rem; }
    .cs-cart-table .cs-cart-table__col:first-child {
      padding-top: 2rem; }
    .cs-cart-table .cs-cart-table__col:last-child {
      padding-bottom: 1rem; } }

@media (max-width: 63.99em) {
  .cs-cart-table .cs-cart-table__col:before {
    content: attr(data-th) ": ";
    padding-right: 10px;
    display: inline-block;
    color: #2d3e50;
    font-weight: 700; } }

@media (max-width: 63.99em) {
  .cs-cart-table .cs-cart-table__col--actions {
    border-bottom: 1px solid #dcdcdc; } }

@media (max-width: 63.99em) {
  .cs-cart-table .cs-cart-table__col--actions:before {
    /* stylelint-disable-line */
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */
    /* stylelint-disable-line */ } }

.cs-cart-table__col {
  font-size: 1.4rem;
  color: #2d3e50;
  font-weight: 300;
  border-bottom: 1px solid #dcdcdc;
  padding: 0.8rem 1rem; }
  @media (max-width: 47.99em) {
    .cs-cart-table:not(.cs-cart-table--no-change-mobile) .cs-cart-table__col {
      border: none;
      display: block;
      padding: 0.4rem 2rem; }
      .cs-cart-table:not(.cs-cart-table--no-change-mobile) .cs-cart-table__col:first-child {
        padding-top: 2rem; }
      .cs-cart-table:not(.cs-cart-table--no-change-mobile) .cs-cart-table__col:last-child {
        padding-bottom: 1.2rem; } }
  @media (max-width: 47.99em) {
    .cs-cart-table:not(.cs-cart-table--no-change-mobile) .cs-cart-table__col:before {
      padding-right: 10px;
      content: attr(data-th) ": ";
      display: inline-block;
      color: #2d3e50;
      font-weight: 700; } }
  @media (min-width: 64em) {
    .cs-cart-table__col {
      font-size: 1.4rem; } }
  .cs-cart-table__col--attention {
    font-weight: 700;
    color: #2d3e50; }
  @media (max-width: 47.99em) {
    .cs-cart-table__col--actions {
      border-bottom: 1px solid #dcdcdc; } }
  @media (max-width: 47.99em) {
    .cs-cart-table__col--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) {
    .cs-cart-table__col--label {
      display: none !important; } }
  .cs-cart-table__col.price .price {
    font-weight: 400;
    font-size: 1.4rem; }
  .cs-cart-table__col.subtotal .price, .cs-cart-table__col.total .price {
    color: #2d3e50;
    font-size: 1.4rem;
    font-weight: 400; }
  .cs-cart-table__col.qty ul {
    list-style: none inside none;
    padding-left: 0;
    margin-bottom: 0; }
  .cs-cart-table__col.qty li {
    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"); }

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

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

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

/* stylelint-disable block-no-empty */
/* stylelint-enable */
.checkout-index-index .column.main {
  padding-top: 0; }

.checkout-index-index .page-title-wrapper {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

.checkout-index-index button.action.primary.action-save-address {
  order: 2; }

.checkout-index-index .page-header {
  max-width: 93rem;
  margin: 0.5rem auto 1rem;
  width: 100%; }
  @media (min-width: 48em) {
    .checkout-index-index .page-header {
      margin: 2.5rem auto 1rem; } }
  .checkout-index-index .page-header .cs-logo {
    padding-left: 2rem;
    margin: 0 auto; }
    @media (min-width: 64em) {
      .checkout-index-index .page-header .cs-logo {
        padding-left: 0; } }
  .checkout-index-index .page-header .header.content {
    padding: 0 0 2rem; }

.checkout-index-index .cs-topbar {
  max-width: 93rem; }
  .checkout-index-index .cs-topbar .cs-topbar__item:first-child {
    opacity: 0;
    width: 1rem;
    overflow: hidden; }

.checkout-index-index .modal-popup .modal-inner-wrap .field .label[for='shipping-save-in-address-book'] {
  width: auto; }

.cs-checkout {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  justify-content: space-between;
  max-width: 45rem;
  margin: 0 auto 1.5rem auto; }
  @media (min-width: 48em) {
    .cs-checkout {
      max-width: 93rem; } }
  .cs-checkout__messages {
    width: 100%; }
  @media (min-width: 48em) {
    .cs-checkout__mobile-summary {
      display: none; } }
  .cs-checkout__grand-total-tax-note-row td,
  .cs-checkout__grand-total-tax-note-row th {
    padding: 0 !important;
    text-align: right; }
  .cs-checkout__grand-total-tax-note {
    text-align: right;
    font-size: 1.4rem;
    color: #888;
    white-space: nowrap; }
  .cs-checkout__sidebar-button {
    width: 100%;
    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-checkout__sidebar-button:hover, .cs-checkout__sidebar-button:focus, .cs-checkout__sidebar-button:active {
      background-color: #2d3e50 !important; }
    .cs-checkout__sidebar-button:before, .cs-checkout__sidebar-button:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-checkout__sidebar-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-checkout__sidebar-button:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-checkout__sidebar-button:hover:after {
      width: calc(100% + 2px); }
    .cs-checkout__sidebar-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-checkout__sidebar-button, .cs-checkout__sidebar-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-checkout__sidebar-button *, .cs-checkout__sidebar-button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-checkout__sidebar-button:hover:not([disabled]), .cs-checkout__sidebar-button:focus:not([disabled]), .cs-checkout__sidebar-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-checkout__sidebar-button:hover:not([disabled]) *, .cs-checkout__sidebar-button:focus:not([disabled]) *, .cs-checkout__sidebar-button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-checkout__sidebar-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (min-width: 48em) {
      .cs-checkout__sidebar-button {
        min-width: 20rem; } }
    .cs-checkout__sidebar-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-checkout__sidebar-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; }
    @media (max-width: 47.99em) {
      .cs-checkout__sidebar-button {
        width: 100%; } }
  .cs-checkout__place-order {
    padding: 2rem 0;
    border-bottom: 2px solid #dcdcdc;
    width: 100%;
    box-sizing: border-box; }
    @media (max-width: 47.99em) {
      .modal-inner-wrap .cs-checkout__place-order {
        display: none; } }
    @media (min-width: 48em) {
      .cs-checkout__place-order {
        padding: 2rem; } }
    .cs-checkout__place-order-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: 100%; }
      .cs-checkout__place-order-button:hover, .cs-checkout__place-order-button:focus, .cs-checkout__place-order-button:active {
        background-color: #2d3e50 !important; }
      .cs-checkout__place-order-button:before, .cs-checkout__place-order-button:after {
        content: '';
        position: absolute;
        top: -1px;
        bottom: -1px;
        right: -1px; }
      .cs-checkout__place-order-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-checkout__place-order-button:after {
        width: 0;
        min-width: auto;
        background-color: #777;
        transition: width 0.25s linear;
        z-index: -2;
        border-radius: 0px; }
      .cs-checkout__place-order-button:hover:after {
        width: calc(100% + 2px); }
      .cs-checkout__place-order-button::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-checkout__place-order-button, .cs-checkout__place-order-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-checkout__place-order-button *, .cs-checkout__place-order-button:visited * {
          color: #fff;
          fill: #fff; }
      .cs-checkout__place-order-button:hover:not([disabled]), .cs-checkout__place-order-button:focus:not([disabled]), .cs-checkout__place-order-button:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #fff;
        background-color: #777; }
        .cs-checkout__place-order-button:hover:not([disabled]) *, .cs-checkout__place-order-button:focus:not([disabled]) *, .cs-checkout__place-order-button:active:not([disabled]) * {
          color: #fff;
          fill: #fff; }
      .cs-checkout__place-order-button[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .cs-checkout__place-order-button-span {
        font-size: 1.3em;
        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-checkout__place-order-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-checkout .fieldset .note {
    margin-top: 0;
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }
  .cs-checkout .fieldset .label {
    margin-bottom: 0.5rem;
    font-size: 1em; }
  .cs-checkout .billing-address-form .choice.field {
    display: flex;
    flex-wrap: nowrap; }
  .cs-checkout .billing-address-form .label {
    margin-bottom: 0; }
  @media (min-width: 48em) {
    .cs-checkout .form-shipping-address .field[name*='postcode'] {
      width: 11.5rem;
      float: left; }
      .cs-checkout .form-shipping-address .field[name*='postcode'] .error,
      .cs-checkout .form-shipping-address .field[name*='postcode'] .warning {
        width: calc( ( (100vw - (1.5rem * 2)) * (1 - 0.44) ) - (2rem * 2) - 0.7rem);
        box-sizing: border-box;
        margin-top: 2.7rem;
        float: left; } }
  @media (min-width: 64em) {
    .cs-checkout .form-shipping-address .field[name*='postcode'] .error,
    .cs-checkout .form-shipping-address .field[name*='postcode'] .warning {
      width: calc( ( 93rem * (1 - 0.44) ) - (2rem * 2)); } }
  @media (min-width: 48em) {
    .cs-checkout .form-shipping-address .field[name*='city'] {
      width: calc(100% - 11.5rem);
      padding-left: 1.5rem;
      display: inline-flex;
      box-sizing: border-box; } }
  .cs-checkout .form-shipping-address .field._success:not(._warn-missing-street-number) .control:after {
    display: block; }
  .cs-checkout .form-shipping-address .field[name='shippingAddress.custom_attributes.customer_type'] .control:after, .cs-checkout .form-shipping-address .field[name='shippingAddress.country_id'] .control:after, .cs-checkout .form-shipping-address .field[name='shippingAddress.prefix'] .control:after {
    display: none !important; }
  .cs-checkout .block {
    margin: 0; }
    .cs-checkout .block .title strong {
      margin: 0; }
  .cs-checkout .opc-wrapper {
    padding: 0;
    z-index: 2;
    width: 100%;
    float: none; }
    @media (min-width: 48em) {
      .cs-checkout .opc-wrapper {
        width: calc(100% - 44%); } }
    .cs-checkout .opc-wrapper .step-title,
    .cs-checkout .opc-wrapper .block-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;
      text-transform: none;
      font-weight: 700;
      color: #2d3e50;
      margin: 0;
      border-bottom: none;
      padding: 0 0 2rem; }
    .cs-checkout .opc-wrapper .action.continue {
      display: none; }
  .cs-checkout .opc {
    list-style: none inside none;
    width: 100%;
    padding-left: 0;
    margin-bottom: 0; }
  .cs-checkout .checkout-shipping-address {
    margin-bottom: 0; }
  .cs-checkout__sidebar,
  .cs-checkout__step-tabs .cs-tabs, .cs-checkout__shipping-method-wrapper, .cs-checkout__shipping-method,
  .cs-checkout .opc-estimated-wrapper, .cs-checkout__payments, .cs-checkout__after-payments,
  .cs-checkout #store-pickup,
  .cs-checkout #store-selector {
    margin: 0 0 3.5rem;
    background: #fff; }
    @media (min-width: 48em) {
      .cs-checkout__sidebar,
      .cs-checkout__step-tabs .cs-tabs, .cs-checkout__shipping-method-wrapper, .cs-checkout__shipping-method,
      .cs-checkout .opc-estimated-wrapper, .cs-checkout__payments, .cs-checkout__after-payments,
      .cs-checkout #store-pickup,
      .cs-checkout #store-selector {
        box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
        border-radius: 0; } }
  .cs-checkout__guest-or-login {
    margin-bottom: 1.5rem;
    color: #696969; }
  @media (min-width: 48em) {
    .cs-checkout .modal-inner-wrap {
      background: #fff; } }
  @media (max-width: 47.99em) {
    .cs-checkout__shipping-method {
      margin-bottom: -1rem; } }
  .cs-checkout__shipping-method-wrapper, .cs-checkout__shipping-method, .cs-checkout__payments, .cs-checkout__after-payments,
  .cs-checkout #store-selector {
    padding: 2rem 0; }
    .cs-checkout__shipping-method-wrapper--hidden, .cs-checkout__shipping-method--hidden, .cs-checkout__payments--hidden, .cs-checkout__after-payments--hidden,
    .cs-checkout #store-selector--hidden {
      height: 0;
      margin: 0;
      padding: 0 !important;
      opacity: 0;
      overflow: hidden; }
    @media (min-width: 48em) {
      .cs-checkout__shipping-method-wrapper, .cs-checkout__shipping-method, .cs-checkout__payments, .cs-checkout__after-payments,
      .cs-checkout #store-selector {
        padding: 2rem; } }
  .cs-checkout__shipping-method-wrapper {
    padding: 2rem;
    box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28); }
  @media (max-width: 47.99em) {
    .cs-checkout__step-tabs ~ .cs-checkout__shipping-method-wrapper {
      padding-left: 0;
      padding-right: 0;
      box-shadow: none; } }
  .cs-checkout #store-selector {
    padding: 2rem; }
    @media (min-width: 48em) {
      .cs-checkout #store-selector {
        box-shadow: none; } }
  @media (max-width: 47.99em) {
    .cs-checkout__payments, .cs-checkout__after-payments {
      margin-bottom: 0; } }
  .cs-checkout__after-payments > .payment-option:nth-child(n + 2) {
    margin-top: 2rem; }
  .cs-checkout__sidebar {
    width: 100%;
    margin: 0; }
    @media (min-width: 48em) {
      .cs-checkout__sidebar {
        height: 100%;
        z-index: 2;
        width: calc( 44% - 3.5rem);
        margin: 0 0 0 3.5rem;
        order: 2; } }
    @media (min-width: 48em) {
      .cs-checkout__sidebar .action-close {
        display: none; } }
  .cs-checkout__sidebar-bottom {
    display: flex;
    justify-content: flex-end;
    padding: 0; }
    @media (min-width: 48em) {
      .cs-checkout__sidebar-bottom {
        padding: 2rem; } }
  .cs-checkout .form-login .primary .action,
  .cs-checkout .block-authentication .primary .action {
    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: 15rem; }
    .cs-checkout .form-login .primary .action:hover, .cs-checkout .form-login .primary .action:focus, .cs-checkout .form-login .primary .action:active,
    .cs-checkout .block-authentication .primary .action:hover,
    .cs-checkout .block-authentication .primary .action:focus,
    .cs-checkout .block-authentication .primary .action:active {
      background-color: #2d3e50 !important; }
    .cs-checkout .form-login .primary .action:before, .cs-checkout .form-login .primary .action:after,
    .cs-checkout .block-authentication .primary .action:before,
    .cs-checkout .block-authentication .primary .action:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-checkout .form-login .primary .action:before,
    .cs-checkout .block-authentication .primary .action: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-checkout .form-login .primary .action:after,
    .cs-checkout .block-authentication .primary .action:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-checkout .form-login .primary .action:hover:after,
    .cs-checkout .block-authentication .primary .action:hover:after {
      width: calc(100% + 2px); }
    .cs-checkout .form-login .primary .action::-moz-focus-inner,
    .cs-checkout .block-authentication .primary .action::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-checkout .form-login .primary .action, .cs-checkout .form-login .primary .action:visited,
    .cs-checkout .block-authentication .primary .action,
    .cs-checkout .block-authentication .primary .action: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-checkout .form-login .primary .action *, .cs-checkout .form-login .primary .action:visited *,
      .cs-checkout .block-authentication .primary .action *,
      .cs-checkout .block-authentication .primary .action:visited * {
        color: #fff;
        fill: #fff; }
    .cs-checkout .form-login .primary .action:hover:not([disabled]), .cs-checkout .form-login .primary .action:focus:not([disabled]), .cs-checkout .form-login .primary .action:active:not([disabled]),
    .cs-checkout .block-authentication .primary .action:hover:not([disabled]),
    .cs-checkout .block-authentication .primary .action:focus:not([disabled]),
    .cs-checkout .block-authentication .primary .action:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-checkout .form-login .primary .action:hover:not([disabled]) *, .cs-checkout .form-login .primary .action:focus:not([disabled]) *, .cs-checkout .form-login .primary .action:active:not([disabled]) *,
      .cs-checkout .block-authentication .primary .action:hover:not([disabled]) *,
      .cs-checkout .block-authentication .primary .action:focus:not([disabled]) *,
      .cs-checkout .block-authentication .primary .action:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-checkout .form-login .primary .action[disabled],
    .cs-checkout .block-authentication .primary .action[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 47.99em) {
      .cs-checkout .form-login .primary .action,
      .cs-checkout .block-authentication .primary .action {
        width: 100%; } }
    .cs-checkout .form-login .primary .action span,
    .cs-checkout .block-authentication .primary .action 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-checkout .form-login .actions-toolbar,
  .cs-checkout .block-authentication .actions-toolbar {
    margin-top: 2rem; }
  .cs-checkout .form-login .field,
  .cs-checkout .block-authentication .field {
    margin-bottom: 0.5rem; }
  .cs-checkout .form-login .block-title,
  .cs-checkout .block-authentication .block-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;
    text-transform: none;
    font-weight: 700;
    color: #2d3e50;
    margin: 0 0 2rem;
    padding-bottom: 0; }
  .cs-checkout .action.remind,
  .cs-checkout .action-remind {
    margin-top: 0.3rem;
    font-size: 1.2rem; }
  .cs-checkout .form-login {
    margin: 0; }
  .cs-checkout .table-checkout-shipping-method {
    width: 100%; }
    .cs-checkout .table-checkout-shipping-method td {
      padding-top: 0.8rem;
      padding-bottom: 0.8rem;
      border-bottom: 1px solid #dcdcdc; }
      @media (max-width: 47.99em) {
        .cs-checkout .table-checkout-shipping-method td {
          padding-left: 0; } }
      .cs-checkout .table-checkout-shipping-method td.col-method {
        padding-left: 0; }
    .cs-checkout .table-checkout-shipping-method tr:last-child td {
      border-bottom: none; }
    .cs-checkout .table-checkout-shipping-method thead {
      display: block;
      border-bottom: none; }
      .cs-checkout .table-checkout-shipping-method thead th {
        display: none; }
    .cs-checkout .table-checkout-shipping-method .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-checkout .table-checkout-shipping-method .radio::-moz-focus-inner, .cs-checkout .table-checkout-shipping-method .radio:-moz-focusring {
        color: transparent !important;
        text-shadow: 0 0 0 #000 !important; }
      .cs-checkout .table-checkout-shipping-method .radio:hover:not([disabled]), .cs-checkout .table-checkout-shipping-method .radio:focus:not([disabled]) {
        border: 1px solid #2d3e50;
        box-shadow: none;
        background-color: transparent; }
      .cs-checkout .table-checkout-shipping-method .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-checkout .table-checkout-shipping-method .radio:checked, .cs-checkout .table-checkout-shipping-method .radio:checked:hover, .cs-checkout .table-checkout-shipping-method .radio:checked:focus {
          border: 1px solid #2d3e50;
          background-color: transparent;
          box-shadow: none; }
      .cs-checkout .table-checkout-shipping-method .radio[disabled],
      .cs-checkout .table-checkout-shipping-method .radio[disabled] + .label,
      .cs-checkout .table-checkout-shipping-method .radio[disabled] + .cs-input__label {
        opacity: 0.65; }
  .cs-checkout .ship-to,
  .cs-checkout .ship-via {
    border-top: 1px solid #dcdcdc; }
  .cs-checkout .ship-to {
    padding-bottom: 2rem; }
  .cs-checkout .shipping-information {
    padding: 0 0 2rem; }
  .cs-checkout .shipping-information-content {
    padding: 0 2rem; }
  .cs-checkout .shipping-information-title {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    padding: 2rem 2rem 0; }
    .cs-checkout .shipping-information-title button.action.action-edit {
      cursor: pointer; }
  @media (min-width: 30em) {
    .cs-checkout .methods-shipping .actions-toolbar {
      max-width: calc(50% - 2rem); } }
  @media (min-width: 48em) {
    .cs-checkout .methods-shipping .actions-toolbar {
      width: calc(50% - 2rem); } }
  .cs-checkout .action-show-popup {
    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-checkout .action-show-popup:hover, .cs-checkout .action-show-popup:focus, .cs-checkout .action-show-popup:active {
      background-color: #2d3e50 !important; }
    .cs-checkout .action-show-popup:before, .cs-checkout .action-show-popup:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-checkout .action-show-popup: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-checkout .action-show-popup:after {
      width: 0;
      min-width: auto;
      background-color: #777;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 0px; }
    .cs-checkout .action-show-popup:hover:after {
      width: calc(100% + 2px); }
    .cs-checkout .action-show-popup::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-checkout .action-show-popup, .cs-checkout .action-show-popup: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-checkout .action-show-popup *, .cs-checkout .action-show-popup:visited * {
        color: #fff;
        fill: #fff; }
    .cs-checkout .action-show-popup:hover:not([disabled]), .cs-checkout .action-show-popup:focus:not([disabled]), .cs-checkout .action-show-popup:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-checkout .action-show-popup:hover:not([disabled]) *, .cs-checkout .action-show-popup:focus:not([disabled]) *, .cs-checkout .action-show-popup:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-checkout .action-show-popup[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-checkout #dhl-packstation.selected-packstation ~ #shipping {
    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-checkout .shipping-address-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-checkout .shipping-address-items {
    flex-direction: column; } }
    .cs-checkout .shipping-address-items .edit-address-link,
    .cs-checkout .shipping-address-items .action-select-shipping-item {
      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-top: 2rem; }
      .cs-checkout .shipping-address-items .edit-address-link::before, .cs-checkout .shipping-address-items .edit-address-link::after,
      .cs-checkout .shipping-address-items .action-select-shipping-item::before,
      .cs-checkout .shipping-address-items .action-select-shipping-item::after {
        content: none; }
      .cs-checkout .shipping-address-items .edit-address-link::-moz-focus-inner,
      .cs-checkout .shipping-address-items .action-select-shipping-item::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-checkout .shipping-address-items .edit-address-link, .cs-checkout .shipping-address-items .edit-address-link:visited,
      .cs-checkout .shipping-address-items .action-select-shipping-item,
      .cs-checkout .shipping-address-items .action-select-shipping-item: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-checkout .shipping-address-items .edit-address-link *, .cs-checkout .shipping-address-items .edit-address-link:visited *,
        .cs-checkout .shipping-address-items .action-select-shipping-item *,
        .cs-checkout .shipping-address-items .action-select-shipping-item:visited * {
          color: #2d3e50;
          fill: #2d3e50; }
      .cs-checkout .shipping-address-items .edit-address-link:hover:not([disabled]), .cs-checkout .shipping-address-items .edit-address-link:focus:not([disabled]), .cs-checkout .shipping-address-items .edit-address-link:active:not([disabled]),
      .cs-checkout .shipping-address-items .action-select-shipping-item:hover:not([disabled]),
      .cs-checkout .shipping-address-items .action-select-shipping-item:focus:not([disabled]),
      .cs-checkout .shipping-address-items .action-select-shipping-item:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid #2d3e50;
        color: #fff;
        background-color: #2d3e50; }
        .cs-checkout .shipping-address-items .edit-address-link:hover:not([disabled]) *, .cs-checkout .shipping-address-items .edit-address-link:focus:not([disabled]) *, .cs-checkout .shipping-address-items .edit-address-link:active:not([disabled]) *,
        .cs-checkout .shipping-address-items .action-select-shipping-item:hover:not([disabled]) *,
        .cs-checkout .shipping-address-items .action-select-shipping-item:focus:not([disabled]) *,
        .cs-checkout .shipping-address-items .action-select-shipping-item:active:not([disabled]) * {
          color: #fff;
          fill: #fff; }
      .cs-checkout .shipping-address-items .edit-address-link[disabled],
      .cs-checkout .shipping-address-items .action-select-shipping-item[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .cs-checkout .shipping-address-items .edit-address-link span,
      .cs-checkout .shipping-address-items .action-select-shipping-item 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-checkout .shipping-address-item {
    font-size: 1.4rem;
    border: 1px solid #dcdcdc;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 1.5rem;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    @media (min-width: 64em) {
      .cs-checkout .shipping-address-item {
        width: calc(50% - (2rem / 2));
        margin: 0 0 2rem; } }
    .cs-checkout .shipping-address-item.selected-item {
      border-color: #2d3e50; }
    .cs-checkout .shipping-address-item a {
      font-size: 1.4rem; }
  .cs-checkout .estimated-block {
    display: none; }
  .cs-checkout .opc-estimated-wrapper {
    padding: 0 0 2rem;
    z-index: 2;
    width: 100%;
    margin: 0; }
    @media (min-width: 48em) {
      .cs-checkout .opc-estimated-wrapper {
        display: none;
        padding: 2rem 0; } }
    .cs-checkout .opc-estimated-wrapper .action.showcart {
      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-checkout .opc-estimated-wrapper .action.showcart::before, .cs-checkout .opc-estimated-wrapper .action.showcart::after {
        content: none; }
      .cs-checkout .opc-estimated-wrapper .action.showcart::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-checkout .opc-estimated-wrapper .action.showcart, .cs-checkout .opc-estimated-wrapper .action.showcart: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-checkout .opc-estimated-wrapper .action.showcart *, .cs-checkout .opc-estimated-wrapper .action.showcart:visited * {
          color: #2d3e50;
          fill: #2d3e50; }
      .cs-checkout .opc-estimated-wrapper .action.showcart:hover:not([disabled]), .cs-checkout .opc-estimated-wrapper .action.showcart:focus:not([disabled]), .cs-checkout .opc-estimated-wrapper .action.showcart:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid #2d3e50;
        color: #fff;
        background-color: #2d3e50; }
        .cs-checkout .opc-estimated-wrapper .action.showcart:hover:not([disabled]) *, .cs-checkout .opc-estimated-wrapper .action.showcart:focus:not([disabled]) *, .cs-checkout .opc-estimated-wrapper .action.showcart:active:not([disabled]) * {
          color: #fff;
          fill: #fff; }
      .cs-checkout .opc-estimated-wrapper .action.showcart[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .cs-checkout .opc-estimated-wrapper .action.showcart span:first-child {
        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-checkout .opc-estimated-wrapper .action.showcart:hover .counter {
        background-color: #fff; }
      .cs-checkout .opc-estimated-wrapper .action.showcart:hover .counter-number {
        color: #2d3e50; }
      .cs-checkout .opc-estimated-wrapper .action.showcart .counter-number {
        color: #fff; }
    .cs-checkout .opc-estimated-wrapper .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;
      transition: background-color 0.5s, fill 0.5s, color 0.5s;
      margin-left: 0.5rem;
      margin-bottom: -0.15em;
      top: -0.15em; }
    .cs-checkout .opc-estimated-wrapper .counter-number {
      min-width: 1ch; }
    .cs-checkout .opc-estimated-wrapper .minicart-wrapper,
    .cs-checkout .opc-estimated-wrapper .minicart-wrapper .showcart {
      width: 100%; }
  .cs-checkout .field-select-billing label {
    display: none; }
  .cs-checkout .billing-address-same-as-shipping-block {
    margin-bottom: 1rem;
    flex-wrap: nowrap; }
    .cs-checkout .billing-address-same-as-shipping-block label span {
      display: inline-block;
      white-space: normal;
      font-weight: 600;
      font-size: 1.4rem;
      padding-left: 1.2rem; }
    .cs-checkout .billing-address-same-as-shipping-block input {
      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;
      margin: 0.2rem 0.3rem 0.3rem 0; }
      .cs-checkout .billing-address-same-as-shipping-block input::-moz-focus-inner, .cs-checkout .billing-address-same-as-shipping-block input:-moz-focusring {
        color: transparent !important;
        text-shadow: 0 0 0 #000 !important; }
      .cs-checkout .billing-address-same-as-shipping-block input:hover:not([disabled]), .cs-checkout .billing-address-same-as-shipping-block input:focus:not([disabled]) {
        border: 1px solid #2d3e50;
        box-shadow: none;
        background-color: transparent; }
      .cs-checkout .billing-address-same-as-shipping-block input: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-checkout .billing-address-same-as-shipping-block input:checked, .cs-checkout .billing-address-same-as-shipping-block input:checked:hover, .cs-checkout .billing-address-same-as-shipping-block input:checked:focus {
          border: 1px solid #2d3e50;
          background-color: transparent;
          box-shadow: none; }
      .cs-checkout .billing-address-same-as-shipping-block input[disabled],
      .cs-checkout .billing-address-same-as-shipping-block input[disabled] + .label,
      .cs-checkout .billing-address-same-as-shipping-block input[disabled] + .cs-input__label {
        opacity: 0.65; }
      .cs-checkout .billing-address-same-as-shipping-block input: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-checkout .billing-address-details .action-edit-address {
    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;
    margin: 1.6rem 0 2rem; }
    .cs-checkout .billing-address-details .action-edit-address::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-checkout .billing-address-details .action-edit-address, .cs-checkout .billing-address-details .action-edit-address:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none; }
    .cs-checkout .billing-address-details .action-edit-address:hover:not([disabled]), .cs-checkout .billing-address-details .action-edit-address:focus:not([disabled]), .cs-checkout .billing-address-details .action-edit-address:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none; }
    .cs-checkout .billing-address-details .action-edit-address[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-checkout .checkout-billing-address .actions-toolbar .primary {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-checkout .checkout-billing-address .actions-toolbar .primary {
        flex-wrap: nowrap; } }
  @media (min-width: 48em) {
    .cs-checkout .checkout-billing-address button.action.action-update {
      order: 2; } }
  .cs-checkout .action-edit-address,
  .cs-checkout .action-update,
  .cs-checkout .action-cancel {
    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-checkout .action-edit-address::before, .cs-checkout .action-edit-address::after,
    .cs-checkout .action-update::before,
    .cs-checkout .action-update::after,
    .cs-checkout .action-cancel::before,
    .cs-checkout .action-cancel::after {
      content: none; }
    .cs-checkout .action-edit-address::-moz-focus-inner,
    .cs-checkout .action-update::-moz-focus-inner,
    .cs-checkout .action-cancel::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-checkout .action-edit-address, .cs-checkout .action-edit-address:visited,
    .cs-checkout .action-update,
    .cs-checkout .action-update:visited,
    .cs-checkout .action-cancel,
    .cs-checkout .action-cancel: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-checkout .action-edit-address *, .cs-checkout .action-edit-address:visited *,
      .cs-checkout .action-update *,
      .cs-checkout .action-update:visited *,
      .cs-checkout .action-cancel *,
      .cs-checkout .action-cancel:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    .cs-checkout .action-edit-address:hover:not([disabled]), .cs-checkout .action-edit-address:focus:not([disabled]), .cs-checkout .action-edit-address:active:not([disabled]),
    .cs-checkout .action-update:hover:not([disabled]),
    .cs-checkout .action-update:focus:not([disabled]),
    .cs-checkout .action-update:active:not([disabled]),
    .cs-checkout .action-cancel:hover:not([disabled]),
    .cs-checkout .action-cancel:focus:not([disabled]),
    .cs-checkout .action-cancel:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      .cs-checkout .action-edit-address:hover:not([disabled]) *, .cs-checkout .action-edit-address:focus:not([disabled]) *, .cs-checkout .action-edit-address:active:not([disabled]) *,
      .cs-checkout .action-update:hover:not([disabled]) *,
      .cs-checkout .action-update:focus:not([disabled]) *,
      .cs-checkout .action-update:active:not([disabled]) *,
      .cs-checkout .action-cancel:hover:not([disabled]) *,
      .cs-checkout .action-cancel:focus:not([disabled]) *,
      .cs-checkout .action-cancel:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-checkout .action-edit-address[disabled],
    .cs-checkout .action-update[disabled],
    .cs-checkout .action-cancel[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 47.99em) {
      .cs-checkout .action-edit-address,
      .cs-checkout .action-update,
      .cs-checkout .action-cancel {
        width: 100%;
        margin-bottom: 2rem; } }
  @media (max-width: 47.99em) {
    .cs-checkout .action-cancel {
      margin-bottom: 0; } }
  .cs-checkout .action-edit-address {
    margin-top: 2rem; }
  .cs-checkout .payment.ccard {
    margin-top: 2rem; }
  .cs-checkout__agreements {
    font-size: 1.2rem; }
    @media (max-width: 47.99em) {
      .modal-inner-wrap .cs-checkout__agreements {
        display: none; } }
    .cs-checkout__agreements .checkout-agreements {
      padding: 2rem 0 0;
      border-top: 2px solid #dcdcdc; }
      @media (min-width: 48em) {
        .cs-checkout__agreements .checkout-agreements {
          padding: 2rem 2rem 0; } }
      .cs-checkout__agreements .checkout-agreements .checkout-agreement {
        width: 100%;
        float: left;
        margin-bottom: 1em;
        text-decoration: underline; }
        .cs-checkout__agreements .checkout-agreements .checkout-agreement .cs-input__label {
          padding-left: 20px;
          display: inline-block;
          margin-top: -1.6em; }
    .modal._show .cs-checkout__agreements {
      display: none; }
    .cs-checkout__agreements a:hover, .cs-checkout__agreements a:active, .cs-checkout__agreements a:focus {
      text-decoration: underline; }
  .cs-checkout .opc-block-summary {
    padding: 0; }
    @media (max-width: 47.99em) {
      .cs-checkout .opc-block-summary .action.checkout,
      .cs-checkout .opc-block-summary .items-in-cart,
      .cs-checkout .opc-block-summary .title {
        display: none; } }
    .cs-checkout .opc-block-summary .title {
      display: flex;
      justify-content: space-between;
      text-transform: none;
      padding: 2rem;
      margin: 0;
      border-bottom: none; }
    .cs-checkout .opc-block-summary > .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;
      text-transform: none;
      font-weight: 700;
      color: #2d3e50;
      padding-bottom: 0;
      padding-top: 0;
      margin: 0; }
      @media (max-width: 47.99em) {
        .cs-checkout .opc-block-summary > .title {
          display: none; } }
    .cs-checkout .opc-block-summary .discount .title {
      padding: 0; }
    .cs-checkout .opc-block-summary .discount.coupon {
      display: none; }
    .cs-checkout .opc-block-summary .aw-giftcard-totals .title {
      padding: 0 0 0 2rem; }
  .cs-checkout .items-in-cart {
    position: relative; }
    .cs-checkout .items-in-cart .actions-toolbar {
      position: absolute;
      top: calc(2rem - 2px);
      right: 2rem; }
    @media (min-width: 48em) {
      .cs-checkout .items-in-cart .title strong {
        padding-right: 10rem; } }
  .cs-checkout .minicart-items-wrapper {
    margin: 0;
    max-height: none;
    padding: 0;
    border: 0; }
  @media (max-width: 47.99em) {
    .cs-checkout .table-totals .table-caption {
      clip: auto;
      height: auto;
      margin: 0;
      overflow: visible;
      padding: 0;
      position: static;
      width: auto;
      white-space: normal;
      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;
      text-transform: none;
      font-weight: 700;
      color: #2d3e50;
      text-align: left;
      overflow: hidden; } }
  .cs-checkout .table-totals td,
  .cs-checkout .table-totals th {
    font-weight: 400;
    font-size: 1.4rem;
    padding: 0.8rem 0; }
    @media (min-width: 48em) {
      .cs-checkout .table-totals td,
      .cs-checkout .table-totals th {
        padding: 0.8rem 2rem; } }
  .cs-checkout .table-totals .amount {
    text-align: right;
    border-bottom: none; }
  .cs-checkout .table-totals .grand th,
  .cs-checkout .table-totals .grand td {
    font-size: 1.5rem; }
  .cs-checkout .action-edit,
  .cs-checkout .action.viewcart {
    background: transparent;
    border: none;
    color: #2d3e50;
    font-weight: 600;
    text-transform: capitalize;
    background-image: url("../images/icons/edit_color.svg");
    background-repeat: no-repeat;
    background-position: 99% center;
    background-size: 1.7rem;
    padding-right: 2.5rem;
    font-size: 1.4rem;
    display: inline-block; }
    .cs-checkout .action-edit span,
    .cs-checkout .action.viewcart span {
      font-family: "Futura LT W04 Book1475802", sans-serif; }
  .cs-checkout .action.delete,
  .cs-checkout .totals.giftcard .action {
    font-size: 0;
    width: 1rem;
    height: 1rem;
    background-image: url("../images/icons/close.svg");
    background-size: contain;
    display: inline-block;
    transform: translateY(-1rem); }
  .cs-checkout .reward-points-buttons-container button span span {
    display: inline; }
  .cs-checkout .minicart-items {
    list-style: none inside none;
    padding: 0;
    margin: 0;
    box-sizing: border-box; }
    .cs-checkout .minicart-items .product-item {
      padding: 1rem 2rem;
      margin: 0;
      border-top: 1px solid #dcdcdc; }
    .cs-checkout .minicart-items .product {
      display: flex; }
    .cs-checkout .minicart-items .product-image-container {
      flex-shrink: 0;
      margin-right: 1rem; }
    .cs-checkout .minicart-items .product-image-wrapper {
      height: 100%; }
    .cs-checkout .minicart-items .product-item-details {
      width: 100%; }
    .cs-checkout .minicart-items .product-item-inner {
      margin: 0;
      display: block; }
    .cs-checkout .minicart-items .price {
      font-weight: 600;
      font-size: 1.4rem; }
    .cs-checkout .minicart-items .item-name-block {
      margin: 0; }
    .cs-checkout .minicart-items .product-item-name-block {
      margin: 0;
      text-align: left;
      width: 100%;
      display: block; }
    .cs-checkout .minicart-items .product-item-name {
      width: 100%;
      font-size: 1.5rem;
      font-weight: 600;
      text-decoration: none;
      margin-bottom: 1.5rem; }
    .cs-checkout .minicart-items .details-qty {
      width: 100%;
      display: block;
      display: flex;
      justify-content: space-between;
      font-size: 1.2rem; }
      .cs-checkout .minicart-items .details-qty .label {
        font-size: 1.2rem;
        text-transform: uppercase;
        font-weight: 600; }
    .cs-checkout .minicart-items .subtotal {
      width: 100%;
      display: flex;
      justify-content: space-between;
      margin-top: 0.3rem; }
      .cs-checkout .minicart-items .subtotal > span {
        width: 100%; }
  .cs-checkout .modal-custom .modal-inner-wrap {
    box-shadow: none; }
    @media (max-width: 47.99em) {
      .cs-checkout .modal-custom .modal-inner-wrap .title {
        display: block;
        padding-bottom: 2rem; } }
    @media (max-width: 47.99em) {
      .cs-checkout .modal-custom .modal-inner-wrap .table-totals {
        display: none; } }
    @media (max-width: 47.99em) {
      .cs-checkout .modal-custom .modal-inner-wrap .items-in-cart {
        display: block; } }
    .cs-checkout .modal-custom .modal-inner-wrap .items-in-cart .title strong {
      font-size: 1.4rem; }
    @media (max-width: 47.99em) {
      .cs-checkout .modal-custom .modal-inner-wrap .items-in-cart .title {
        padding-top: 2rem; } }
  .cs-checkout .payments .legend,
  .cs-checkout .payments .fieldset > hr {
    display: none; }
  .cs-checkout #recaptcha-checkout-place-order-wrapper .field {
    margin-bottom: 0; }
  .cs-checkout .payment-method .action.checkout {
    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-checkout .payment-method .payment-method-title {
    border-top: 1px solid #dcdcdc;
    cursor: pointer;
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center; }
    @media (min-width: 64em) {
      .cs-checkout .payment-method .payment-method-title {
        margin: 0; } }
    .cs-checkout .payment-method .payment-method-title input {
      margin-top: 1px; }
    .cs-checkout .payment-method .payment-method-title .label {
      font-size: 1.5rem;
      font-weight: 400;
      padding: 1.5rem 1.5rem 1.5rem 0;
      margin: 0;
      background-position: right center;
      background-size: 4rem 2.5rem;
      background-repeat: no-repeat;
      width: 100%; }
      .cs-checkout .payment-method .payment-method-title .label img {
        display: none; }
      .cs-checkout .payment-method .payment-method-title .label[for='banktransfer'], .cs-checkout .payment-method .payment-method-title .label[for='payone_advance_payment'] {
        background-image: url("../images/icons/payment-logos/bank_transfer.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='barzhalen'] {
        background-image: url("../images/icons/payment-logos/payment-logo-barzhalen.png"); }
      .cs-checkout .payment-method .payment-method-title .label[for='billsafe'] {
        background-image: url("../images/icons/payment-logos/payment-logo-billsafe.png"); }
      .cs-checkout .payment-method .payment-method-title .label[for='creditcard'], .cs-checkout .payment-method .payment-method-title .label[for='payone_creditcard'] {
        background-image: url("../images/icons/payment-logos/creditcard.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='cashondelivery'] {
        background-image: url("../images/icons/payment-logos/on_delivery.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='checkmo'] {
        background-image: url("../images/icons/payment-logos/money_order.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='giropay'] {
        background-image: url("../images/icons/payment-logos/giropay.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='ideal'] {
        background-image: url("../images/icons/payment-logos/payment-logo-ideal.jpg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='payone_obt_ideal'] {
        background-image: url("../images/icons/payment-logos/payone_obt_ideal.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='invoice'] {
        background-image: url("../images/icons/payment-logos/invoice.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='eps'], .cs-checkout .payment-method .payment-method-title .label[for='payone_obt_eps'] {
        background-image: url("../images/icons/payment-logos/payment-logo-eps.jpg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='lastschrift'], .cs-checkout .payment-method .payment-method-title .label[for='payone_debit'] {
        background-image: url("../images/icons/payment-logos/lastschrift.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='payone_invoice'] {
        background-image: url("../images/icons/payment-logos/invoice.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='payone_creditcard'] {
        background-image: url("../images/icons/payment-logos/creditcard.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='paydirekt'] {
        background-image: url("../images/icons/payment-logos/paydirekt.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='payolution'] {
        background-image: url("../images/icons/payment-logos/payment-logo-payolution.png"); }
      .cs-checkout .payment-method .payment-method-title .label[for='payenginecw_creditcard'] {
        background-image: url("../images/icons/payment-logos/creditcard.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for*='paypal'] {
        background-image: url("../images/icons/payment-logos/paypal.svg");
        background-size: auto 1.5rem; }
      .cs-checkout .payment-method .payment-method-title .label[for='payenginecw_postfinancecard'] {
        background-image: url("../images/icons/payment-logos/payment-logo-postfinance-card.png");
        background-size: auto 1.7rem; }
      .cs-checkout .payment-method .payment-method-title .label[for='postfinance'] {
        background-image: url("../images/icons/payment-logos/payment-logo-postfinance.jpg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='postfinance-card'] {
        background-image: url("../images/icons/payment-logos/payment-logo-postfinance-card.png"); }
      .cs-checkout .payment-method .payment-method-title .label[for='przelewy24'] {
        background-image: url("../images/icons/payment-logos/payment-logo-przelewy24.png"); }
      .cs-checkout .payment-method .payment-method-title .label[for='paypal-agreement'] {
        background-image: url("../images/icons/payment-logos/payment-logo-paypal-agreement.png"); }
      .cs-checkout .payment-method .payment-method-title .label[for='purchaseorder'] {
        background-image: url("../images/icons/payment-logos/purchase_order.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='payone_obt_sofortueberweisung'] {
        background-image: url("../images/icons/payment-logos/klarna_background_logo.svg"); }
      .cs-checkout .payment-method .payment-method-title .label[for='twintcw_twint'] {
        background-image: url("../images/icons/payment-logos/twint.svg");
        background-size: 4.5rem 3rem; }
      .cs-checkout .payment-method .payment-method-title .label[for*='klarna'] {
        background-image: url("../images/icons/payment-logos/klarna_background_logo.svg"); }
  .cs-checkout .payment-method .payment-method-billing-address {
    margin-right: 2rem; }
    @media (min-width: 48em) {
      .cs-checkout .payment-method .payment-method-billing-address {
        margin-right: 0; } }
  .cs-checkout .payment-method:not(:last-child) .payment-method-billing-address {
    padding-bottom: 2rem; }
  .cs-checkout .payment-method .billing-address-details {
    padding: 0 0 0 3rem;
    line-height: 1.6;
    font-weight: 300; }
  .cs-checkout .payment-method .checkout-agreements-block {
    display: none; }
  .cs-checkout .payment-method .payment-method-content {
    line-height: 150%;
    display: none;
    padding: 0 0 0 2rem; }
    .cs-checkout .payment-method .payment-method-content .payolution_overlay {
      width: 100%;
      position: relative;
      box-sizing: border-box;
      padding-left: 0; }
  .cs-checkout .payment-method._active .payment-method-content {
    display: block; }
  .cs-checkout .payment-method img {
    max-width: 10rem;
    height: auto; }
  .cs-checkout .payment-method p {
    margin-bottom: 0; }
    .cs-checkout .payment-method p:not(:empty) {
      margin-top: 2rem; }
  .cs-checkout .payment-method .number {
    width: 23rem;
    margin: 2rem 0 2rem; }
  .cs-checkout .opc-payment-additional + .opc-payment-additional {
    margin-top: 2rem; }
  .cs-checkout .opc-payment-additional:not(.rewardpoints) .payment-option-title {
    display: inline-block;
    width: auto;
    padding-right: 2.5rem;
    position: relative; }
    .cs-checkout .opc-payment-additional:not(.rewardpoints) .payment-option-title:before, .cs-checkout .opc-payment-additional:not(.rewardpoints) .payment-option-title:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 1px;
      left: auto;
      background-color: #888;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-checkout .opc-payment-additional:not(.rewardpoints) .payment-option-title:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 0.5rem; }
    .cs-checkout .opc-payment-additional:not(.rewardpoints) .payment-option-title:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 0; }
    .cs-checkout .opc-payment-additional:not(.rewardpoints) .payment-option-title[aria-expanded="true"]:before {
      transform: rotate(-45deg); }
    .cs-checkout .opc-payment-additional:not(.rewardpoints) .payment-option-title[aria-expanded="true"]:after {
      transform: rotate(45deg); }
  .cs-checkout .opc-payment-additional:not(.rewardpoints) .action-toggle {
    font-size: 1.4rem;
    line-height: 1; }
  .cs-checkout .payment-option-content {
    margin-top: 2rem; }
  .cs-checkout .aw-giftcard-code {
    margin-top: 2rem; }
  .cs-checkout .opc-payment-additional.rewardpoints {
    padding-top: 1rem; }
    .cs-checkout .opc-payment-additional.rewardpoints .payment-option-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-checkout .opc-payment-additional.rewardpoints .payment-option-content {
      margin-top: 0; }
    .cs-checkout .opc-payment-additional.rewardpoints .payment-option-inner {
      width: 100%; }

.customweb-payenginecw-payment-form .label {
  float: none !important;
  width: 100% !important;
  text-align: left !important; }

.customweb-payenginecw-payment-form .control:not(.select-field) {
  float: none !important;
  width: 100% !important; }

.paypal.checkout {
  text-align: center; }
  .paypal.checkout.after:before, .paypal.checkout.before:before {
    content: attr(data-label);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 1rem 0.5rem 0.2rem; }
  .paypal.checkout input:focus {
    outline: none;
    box-shadow: none; }

.paypal-review .items-qty {
  margin: 0;
  padding: 0;
  list-style: none none; }
  .paypal-review .items-qty > li {
    margin: 0; }
  .paypal-review .items-qty .item {
    white-space: nowrap; }
  @media (min-width: 48em) {
    .paypal-review .items-qty .title {
      border-bottom: 1px solid #dcdcdc; } }
  .paypal-review .items-qty .title:after {
    content: ': '; }
  @media (min-width: 48em) {
    .paypal-review .items-qty .block-content .box-order-shipping-address,
    .paypal-review .items-qty .block-content .box-order-shipping-method,
    .paypal-review .items-qty .block-content .box-order-shipping-method + .box-order-billing-address {
      box-sizing: border-box;
      float: left;
      width: 33%; } }
  @media (min-width: 48em) {
    .paypal-review .items-qty .block-content .box-order-shipping-address {
      padding: 0 5%;
      width: 34%; } }
  @media (min-width: 48em) {
    .paypal-review .items-qty .col.subtotal,
    .paypal-review .items-qty .mark,
    .paypal-review .items-qty .amount {
      text-align: right; } }

.paypal-review .actions-toolbar {
  margin-top: 1rem; }

.paypal-review .item-options dt {
  display: inline-block; }
  .paypal-review .item-options dt:after {
    content: ': '; }

.paypal-review .item-options dd {
  margin: 0; }

.paypal-review .primary 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; }
  .paypal-review .primary button:hover, .paypal-review .primary button:focus, .paypal-review .primary button:active {
    background-color: #2d3e50 !important; }
  .paypal-review .primary button:before, .paypal-review .primary button:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .paypal-review .primary 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%); }
  .paypal-review .primary button:after {
    width: 0;
    min-width: auto;
    background-color: #777;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 0px; }
  .paypal-review .primary button:hover:after {
    width: calc(100% + 2px); }
  .paypal-review .primary button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .paypal-review .primary button, .paypal-review .primary 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; }
    .paypal-review .primary button *, .paypal-review .primary button:visited * {
      color: #fff;
      fill: #fff; }
  .paypal-review .primary button:hover:not([disabled]), .paypal-review .primary button:focus:not([disabled]), .paypal-review .primary button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #777; }
    .paypal-review .primary button:hover:not([disabled]) *, .paypal-review .primary button:focus:not([disabled]) *, .paypal-review .primary button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .paypal-review .primary button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .paypal-review .primary 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; }

.paypal-review .secondary 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; }
  .paypal-review .secondary button::before, .paypal-review .secondary button::after {
    content: none; }
  .paypal-review .secondary button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .paypal-review .secondary button, .paypal-review .secondary 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; }
    .paypal-review .secondary button *, .paypal-review .secondary button:visited * {
      color: #2d3e50;
      fill: #2d3e50; }
  .paypal-review .secondary button:hover:not([disabled]), .paypal-review .secondary button:focus:not([disabled]), .paypal-review .secondary button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #2d3e50;
    color: #fff;
    background-color: #2d3e50; }
    .paypal-review .secondary button:hover:not([disabled]) *, .paypal-review .secondary button:focus:not([disabled]) *, .paypal-review .secondary button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .paypal-review .secondary button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .paypal-review .secondary 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; }

.paypal-review-discount {
  border-bottom: 1px solid 1px solid #dcdcdc;
  margin: 2rem 0; }
  .paypal-review-discount .block {
    margin-bottom: 0; }
    .paypal-review-discount .block > .title {
      border-top: 1px solid 1px solid #dcdcdc;
      cursor: pointer;
      font-weight: 700;
      display: block;
      text-decoration: none;
      margin-bottom: 0;
      overflow: hidden;
      padding: 0.7rem 3rem 0.7rem 0.5rem;
      position: relative; }
    .paypal-review-discount .block > .content {
      display: block; }
    .paypal-review-discount .block .fieldset {
      padding: 1rem 0 2rem; }

.amazon-widget {
  width: 100%;
  max-width: 100%;
  height: 25rem;
  margin-top: 0;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.27);
  margin-bottom: 2rem; }
  .amazon-widget iframe {
    border: none !important; }

.amazon-payment-method .payment-method-content,
.amazon-payment-method .payment-method-title {
  padding: 0;
  margin-top: 0; }

/* stylelint-disable no-descending-specificity */
#store-selector {
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28); }
  #store-selector .form-login {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  #store-selector .form-continue {
    margin: 2rem 0 0; }
  #store-selector .step-title {
    padding: 0 0 1rem; }
    .form-login ~ #store-selector .step-title {
      padding-top: 2rem; }
  #store-selector .location-name {
    margin: 0;
    font-size: 1em !important; }
  #store-selector .secondary .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; }
    #store-selector .secondary .button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    #store-selector .secondary .button, #store-selector .secondary .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; }
      #store-selector .secondary .button *, #store-selector .secondary .button:visited * {
        color: #fff;
        fill: #fff; }
    #store-selector .secondary .button:hover:not([disabled]), #store-selector .secondary .button:focus:not([disabled]), #store-selector .secondary .button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      #store-selector .secondary .button:hover:not([disabled]) *, #store-selector .secondary .button:focus:not([disabled]) *, #store-selector .secondary .button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    #store-selector .secondary .button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 47.99em) {
      #store-selector .secondary .button {
        width: 100%; } }
    #store-selector .secondary .button span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

@media (max-width: 29.99em) {
  .store-selector-popup .modal-content {
    padding-left: 2rem;
    padding-right: 2rem; } }

.store-selector-popup .modal-title {
  border-bottom: 0; }

.store-selector-popup .modal-header {
  padding-bottom: 0; }

#opc-store-selector-popup {
  display: none; }
  #opc-store-selector-popup .block-search {
    float: none;
    width: 100%;
    margin: 0 0 20px;
    padding: 0 0 10px;
    border-bottom: 1px solid 1px solid #dcdcdc; }
  #opc-store-selector-popup .action-close {
    background-size: 1.5rem; }
  #opc-store-selector-popup .store-selector-search {
    position: relative;
    margin: 0 0 1.5rem;
    padding: 0 0 1.5rem;
    border-bottom: 1px solid #dcdcdc;
    overflow: hidden; }
    #opc-store-selector-popup .store-selector-search .label:before {
      display: none; }
    #opc-store-selector-popup .store-selector-search .control {
      margin: 0;
      padding: 0; }
    #opc-store-selector-popup .store-selector-search .input-text {
      position: static;
      margin-bottom: 0;
      padding-right: calc( 6rem + 1em); }
    #opc-store-selector-popup .store-selector-search .actions {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 220;
      overflow: hidden;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: calc( 100% - 1.5rem);
      border-top-right-radius: 0px;
      border-bottom-right-radius: 0px; }
      #opc-store-selector-popup .store-selector-search .actions:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 10;
        content: '';
        background: transparent url("../images/icons/header-search/icon-search.svg") no-repeat 60% center;
        background-size: 2rem; }
    #opc-store-selector-popup .store-selector-search .action {
      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: 6rem;
      right: 0;
      height: 100%;
      overflow: hidden;
      position: relative;
      border-radius: 0;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      transform: translateX(0.7rem); }
      #opc-store-selector-popup .store-selector-search .action::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      #opc-store-selector-popup .store-selector-search .action, #opc-store-selector-popup .store-selector-search .action:visited {
        cursor: pointer;
        border-radius: 0px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #fff;
        background-color: #2d3e50; }
        #opc-store-selector-popup .store-selector-search .action *, #opc-store-selector-popup .store-selector-search .action:visited * {
          color: #fff;
          fill: #fff; }
      #opc-store-selector-popup .store-selector-search .action:hover:not([disabled]), #opc-store-selector-popup .store-selector-search .action:focus:not([disabled]), #opc-store-selector-popup .store-selector-search .action:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #fff;
        background-color: #777; }
        #opc-store-selector-popup .store-selector-search .action:hover:not([disabled]) *, #opc-store-selector-popup .store-selector-search .action:focus:not([disabled]) *, #opc-store-selector-popup .store-selector-search .action:active:not([disabled]) * {
          color: #fff;
          fill: #fff; }
      #opc-store-selector-popup .store-selector-search .action[disabled] {
        opacity: 0.65;
        cursor: auto; }
      #opc-store-selector-popup .store-selector-search .action[disabled] {
        opacity: 1; }
      #opc-store-selector-popup .store-selector-search .action 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 */ }
  #opc-store-selector-popup .store-selector-popup-table tbody .col {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem; }
  #opc-store-selector-popup .location-name {
    margin: 0;
    font-size: 1em !important; }
  #opc-store-selector-popup .action-select-shipping-item {
    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; }
    #opc-store-selector-popup .action-select-shipping-item::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    #opc-store-selector-popup .action-select-shipping-item, #opc-store-selector-popup .action-select-shipping-item:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #2d3e50;
      color: #2d3e50;
      background-color: #fff; }
      #opc-store-selector-popup .action-select-shipping-item *, #opc-store-selector-popup .action-select-shipping-item:visited * {
        color: #2d3e50;
        fill: #2d3e50; }
    #opc-store-selector-popup .action-select-shipping-item:hover:not([disabled]), #opc-store-selector-popup .action-select-shipping-item:focus:not([disabled]), #opc-store-selector-popup .action-select-shipping-item:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #2d3e50;
      color: #fff;
      background-color: #2d3e50; }
      #opc-store-selector-popup .action-select-shipping-item:hover:not([disabled]) *, #opc-store-selector-popup .action-select-shipping-item:focus:not([disabled]) *, #opc-store-selector-popup .action-select-shipping-item:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    #opc-store-selector-popup .action-select-shipping-item[disabled] {
      opacity: 0.65;
      cursor: auto; }
    #opc-store-selector-popup .action-select-shipping-item span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  #opc-store-selector-popup .location-selected .action {
    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; }
    #opc-store-selector-popup .location-selected .action::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    #opc-store-selector-popup .location-selected .action, #opc-store-selector-popup .location-selected .action:visited {
      cursor: pointer;
      border-radius: 0px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #2d3e50; }
      #opc-store-selector-popup .location-selected .action *, #opc-store-selector-popup .location-selected .action:visited * {
        color: #fff;
        fill: #fff; }
    #opc-store-selector-popup .location-selected .action:hover:not([disabled]), #opc-store-selector-popup .location-selected .action:focus:not([disabled]), #opc-store-selector-popup .location-selected .action:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      #opc-store-selector-popup .location-selected .action:hover:not([disabled]) *, #opc-store-selector-popup .location-selected .action:focus:not([disabled]) *, #opc-store-selector-popup .location-selected .action:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    #opc-store-selector-popup .location-selected .action[disabled] {
      opacity: 0.65;
      cursor: auto; }
    #opc-store-selector-popup .location-selected .action span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

#store-pickup {
  margin: 0; }
  #store-pickup.selected-shipping ~ #store-selector {
    display: none; }
  #store-pickup.selected-store-pickup ~ #shipping,
  #store-pickup.selected-store-pickup ~ #opc-shipping_method {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }

#delivery-method-selector {
  display: flex; }
  #delivery-method-selector .action-select-shipping {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }
  #delivery-method-selector .action-select-store-pickup {
    border-bottom-left-radius: 0;
    border-left: 0;
    border-top-left-radius: 0; }

.location-details .location-name {
  font-size: 1.8rem;
  font-weight: 700; }

.modal-content #opc-store-selector-popup {
  display: block; }

.store-selector-popup-table thead th {
  display: none; }

.store-selector-popup-table tbody .location .location-name {
  font-size: 1.8rem; }

.store-selector-popup-table tbody .location + .location {
  border-top: 1px solid 1px solid #dcdcdc; }

.store-selector-popup-table tbody .col-location-details {
  padding-left: 0; }
  .store-selector-popup-table tbody .col-location-details p:last-child {
    margin-bottom: 0; }

.store-selector-popup-table tbody .col-location-actions {
  padding-right: 0;
  vertical-align: middle; }
  .store-selector-popup-table tbody .col-location-actions .action {
    float: right; }

.store-selector-popup-empty-query,
.store-selector-popup-no-locations {
  margin: 0 0 20px; }

/* stylelint-enable no-descending-specificity */

/**
 * Breakpoint component used by include-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-discount {
  padding: 1.5rem 1.5rem 0;
  border-top: 1px solid #dcdcdc; }
  @media (min-width: 64em) {
    .cs-discount {
      padding: 1.5rem 2rem 0 0;
      border-top: none;
      width: 30rem; } }
  .cs-cart-page .cs-discount:not(:only-child) {
    width: 100%; }
    @media (min-width: 64em) {
      .cs-cart-page .cs-discount:not(:only-child) {
        width: calc(50% - 1.5rem); } }
  .cs-discount.aw-giftcard {
    margin-bottom: 0; }
  @media (max-width: 63.99em) {
    .checkout-index-index .cs-discount--gift {
      margin-top: 1.5rem; } }
  .cs-discount__content {
    padding: 0.5rem 0 1rem; }
  .cs-discount__title,
  .cs-discount .title {
    border-top: none;
    padding: 0; }
    @media (min-width: 64em) {
      .cs-discount__title,
      .cs-discount .title {
        margin-bottom: 2rem; } }
    .cs-discount[data-collapsible='true'] .cs-discount__title, .cs-discount[data-collapsible='true']
    .cs-discount .title {
      cursor: pointer; }
    .cs-discount__title-text,
    .cs-discount .title-text {
      font-size: 1.2rem;
      color: #696969; }
  .cs-discount__text {
    font-size: 1.2rem;
    color: #696969; }
  .cs-discount__trigger-icon {
    margin-left: 0.8rem;
    height: 6px;
    width: 1.2rem;
    transition: transform 0.3s;
    display: none; }
    .cs-discount__trigger-icon path {
      fill: #888; }
    .cs-discount.active .cs-discount__trigger-icon--animation {
      transform: rotate(-180deg); }
    .cs-discount[data-collapsible='true'] .cs-discount__trigger-icon {
      display: inline; }

.cs-discount button.action,
.opc-payment-additional button.action {
  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-top: 1rem; }
  .cs-discount button.action::-moz-focus-inner,
  .opc-payment-additional button.action::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-discount button.action, .cs-discount button.action:visited,
  .opc-payment-additional button.action,
  .opc-payment-additional button.action: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-discount button.action *, .cs-discount button.action:visited *,
    .opc-payment-additional button.action *,
    .opc-payment-additional button.action:visited * {
      color: #2d3e50;
      fill: #2d3e50; }
  .cs-discount button.action:hover:not([disabled]), .cs-discount button.action:focus:not([disabled]), .cs-discount button.action:active:not([disabled]),
  .opc-payment-additional button.action:hover:not([disabled]),
  .opc-payment-additional button.action:focus:not([disabled]),
  .opc-payment-additional button.action:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #2d3e50;
    color: #fff;
    background-color: #2d3e50; }
    .cs-discount button.action:hover:not([disabled]) *, .cs-discount button.action:focus:not([disabled]) *, .cs-discount button.action:active:not([disabled]) *,
    .opc-payment-additional button.action:hover:not([disabled]) *,
    .opc-payment-additional button.action:focus:not([disabled]) *,
    .opc-payment-additional button.action:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-discount button.action[disabled],
  .opc-payment-additional button.action[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-discount button.action span,
  .opc-payment-additional button.action span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-discount button.action svg,
  .opc-payment-additional button.action svg {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    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
 */
.cs-progress-bar {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: progress-bar;
  display: flex;
  width: 100%;
  justify-content: center;
  margin: 20px auto; }
  .cs-progress-bar__item {
    width: 18rem;
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center; }
    .cs-progress-bar__item:after {
      display: block;
      content: '';
      width: 100%;
      height: 0.8rem;
      background: #f0f0f0;
      position: absolute;
      top: 0.9rem;
      left: 0;
      z-index: -1; }
    .cs-progress-bar__item:first-child:after {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
    .cs-progress-bar__item:last-child:after {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .cs-progress-bar__item._active:after, .cs-progress-bar__item._complete:after {
      background: #2d3e50; }
    .cs-progress-bar__item._active .cs-progress-bar__indicator-wrapper, .cs-progress-bar__item._complete .cs-progress-bar__indicator-wrapper {
      background: #2d3e50; }
    .cs-progress-bar__item._complete .cs-progress-bar__indicator:before {
      content: url("../images/icons/check.svg");
      width: 1.5rem;
      height: 2rem; }
      .ie11 .cs-progress-bar__item._complete .cs-progress-bar__indicator:before {
        transform: translateY(3px); }
    @media (min-width: 64em) {
      .cs-progress-bar__item:hover .cs-progress-bar__indicator-wrapper {
        background: #2d3e50; }
        .cs-progress-bar__item:hover .cs-progress-bar__indicator-wrapper:after {
          background: #2d3e50; }
      .cs-progress-bar__item:hover:after {
        background: #2d3e50; } }
  .cs-progress-bar__indicator-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.3rem;
    height: 2.7rem;
    background: #f0f0f0;
    font-weight: 700;
    font-size: 1.4rem;
    text-align: center;
    border-radius: 0px;
    cursor: pointer; }
  .cs-progress-bar__indicator {
    display: inline-block;
    color: #2d3e50; }
    .cs-progress-bar__item._active .cs-progress-bar__indicator,
    .cs-progress-bar__item._complete .cs-progress-bar__indicator {
      color: #fff; }
    .cs-progress-bar__indicator:before {
      display: inline-block;
      counter-increment: progress-bar;
      content: counter(progress-bar); }
  .cs-progress-bar__item-text {
    width: 100%;
    text-align: center;
    color: #888;
    font-size: 1.4rem;
    margin-top: 0.3rem; }
    .cs-progress-bar__item._active .cs-progress-bar__item-text,
    .cs-progress-bar__item._complete .cs-progress-bar__item-text {
      color: #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-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; }

/**
 * Breakpoint component used by include-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"); }

/* 
 * 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]
*/
.cs-sticky-block {
  box-sizing: border-box; }
  @media (min-width: 64em) {
    .cs-sticky-block {
      position: sticky;
      z-index: 10;
      top: 1em; } }
  @media (min-width: 48em) {
    .cs-sticky-block--pdp {
      position: relative;
      z-index: 3;
      margin-right: calc(15px - 0.5rem); }
      .page-product-bundle .cs-sticky-block--pdp {
        margin-right: 0; } }
  @media (min-width: 64em) {
    .cs-sticky-block--pdp {
      top: 3rem;
      margin-right: 15px; }
      .page-product-bundle .cs-sticky-block--pdp {
        margin-right: 0; } }
  @media screen and (min-width: 1230px) {
    .cs-sticky-block--pdp {
      margin-right: 0; } }
  @media (min-width: 48em) {
    .cs-sticky-block--no-mobile {
      position: sticky;
      top: 8.5rem; } }
  @media (min-width: 64em) {
    .cs-sticky-block--no-mobile {
      top: 1.5rem; } }

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

/* 
 * 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]
*/
@media (max-width: 47.99em) {
  .cs-login-or-guest .cs-checkout__step-tabs .cs-tabs {
    margin: 0;
    box-shadow: none; }
    .cs-login-or-guest .cs-checkout__step-tabs .cs-tabs__content {
      padding-left: 0;
      padding-right: 0; } }

.cs-login-or-guest .cs-checkout__step-tabs .cs-tabs__triggers {
  display: none; }

.cs-login-or-guest--active .cs-checkout__sidebar {
  display: none; }

.cs-login-or-guest--active .opc-wrapper {
  width: 100%; }

.cs-login-or-guest--active .login-container .block-customer-login {
  margin-top: 4rem; }
  @media (min-width: 48em) {
    .cs-login-or-guest--active .login-container .block-customer-login {
      margin-top: 0; } }

.cs-login-or-guest--active .login-container .fieldset > .field > .control {
  width: 100%; }

.cs-login-or-guest--active .login-container .fieldset:after {
  display: none; }

.cs-login-or-guest--active .login-container .actions-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  .cs-login-or-guest--active .login-container .actions-toolbar .action.continue {
    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;
    display: block; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.continue::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.continue, .cs-login-or-guest--active .login-container .actions-toolbar .action.continue: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-login-or-guest--active .login-container .actions-toolbar .action.continue *, .cs-login-or-guest--active .login-container .actions-toolbar .action.continue:visited * {
        color: #fff;
        fill: #fff; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.continue:hover:not([disabled]), .cs-login-or-guest--active .login-container .actions-toolbar .action.continue:focus:not([disabled]), .cs-login-or-guest--active .login-container .actions-toolbar .action.continue:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-login-or-guest--active .login-container .actions-toolbar .action.continue:hover:not([disabled]) *, .cs-login-or-guest--active .login-container .actions-toolbar .action.continue:focus:not([disabled]) *, .cs-login-or-guest--active .login-container .actions-toolbar .action.continue:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.continue[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.continue span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login {
    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-top: 1rem; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login, .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login: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-login-or-guest--active .login-container .actions-toolbar .action.action-login *, .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login:visited * {
        color: #fff;
        fill: #fff; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login:hover:not([disabled]), .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login:focus:not([disabled]), .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #777; }
      .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login:hover:not([disabled]) *, .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login:focus:not([disabled]) *, .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-login-or-guest--active .login-container .actions-toolbar .action.action-login span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-login-or-guest--active .login-container .actions-toolbar .action.action-remind {
    display: inline-block;
    font-size: inherit;
    margin-top: 1rem; }

.cs-login-or-guest--active .opc-estimated-wrapper {
  display: none; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2NoZWNrb3V0LmNzcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbmZpZy9icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29uZmlnL3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbmZpZy9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZm9udC1mYW1pbHkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29uZmlnL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYnVuZGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2luY2x1ZGUtbWVkaWEvZGlzdC9faW5jbHVkZS1tZWRpYS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3V0aWxpdHktY2xhc3Nlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY29udGFpbmVyL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9jb250YWluZXIvY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvY29udGFpbmVyL2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvTWFnZW50b19UaGVtZS93ZWIvY3NzL3NvdXJjZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9hdXRob3JpemF0aW9uLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2F1dGhvcml6YXRpb24tbGluay9hdXRob3JpemF0aW9uLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYWRkdG9jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYWRkdG9jYXJ0L2FkZHRvY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9hbmltYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYXV0b2NvbXBsZXRlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9iYWRnZS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2JhZGdlL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvcmVzZXQtbGlzdC1zdHlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2J1dHRvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9jb21wb25lbnQtc3BhY2luZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY29va2llLW1lc3NhZ2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Nvb2tpZS1tZXNzYWdlL2Nvb2tpZS1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Rpc3BsYXktY29udHJvbGxlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZGlzcGxheS1jb250cm9sbGVyL2Rpc3BsYXktY29udHJvbGxlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kcm9wZG93bi1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHNldWRvaWNvbi9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZHJvcGRvd24tc3dpdGNoZXIvZHJvcGRvd24tc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZmllbGQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2ZpZWxkL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2ZpZWxkL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9maWVsZC9maWVsZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Zvb3Rlci1saW5rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1saW5rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9oZWFkbGluZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvaGVhZGxpbmUvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvaGVhZGxpbmUvaGVhZGxpbmUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkbGluZS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NlYXJjaC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRlci9zZWFyY2gvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3VzZXItbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9xdHktY291bnRlci9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGVyL3VzZXItbmF2L3VzZXItbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9xdHktY291bnRlci9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbGF6eWxvYWQvbGF6eWxvYWQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbGlua3MtYmxvY2stYWRkdG8uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2xpbmtzLWJsb2NrLWFkZHRvL2xpbmtzLWJsb2NrLWFkZHRvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2xvZ28uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9sb2dvL2xvZ28uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbWVzc2FnZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL21lc3NhZ2VzL21lc3NhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21pbmljYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbWluaWNhcnQvbWluaWNhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbWluaWNhcnQtcHJvZHVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbWluaWNhcnQtcHJvZHVjdC9taW5pY2FydC1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2ZyZWUtc2hpcHBpbmctaW5kaWNhdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9mcmVlLXNoaXBwaW5nLWluZGljYXRvci9mcmVlLXNoaXBwaW5nLWluZGljYXRvci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3RlYXNlci90ZWFzZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2FzcGVjdC1yYXRpby5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9uZXdzbGV0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9uZXdzbGV0dGVyL25ld3NsZXR0ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vb2ZmY2FudmFzLXRvZ2dsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzLXRvZ2dsZS9vZmZjYW52YXMtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL29mZmNhbnZhcy1uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzLW5hdmlnYXRpb24vb2ZmY2FudmFzLW5hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9vZmZjYW52YXMvb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3BhZ2UtdGl0bGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wYWdlLWJvdHRvbS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3BhZ2UtYm90dG9tL3BhZ2UtYm90dG9tLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3ByaWNlLWJveC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3ByaWNlLWJveC9wcmljZS1ib3guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcmljZS1ib3gvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJvZHVjdC10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvc3RyaW5nLXRvLW51bWJlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHJvZHVjdC10aWxlL3Byb2R1Y3QtdGlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtdGlsZS9wcm9kdWN0LXRpbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJvZHVjdHMtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3B1c2gtbm90aWZpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wdXNoLW5vdGlmaWNhdGlvbi9wdXNoLW5vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc29jaWFsLW1lZGlhLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3NvY2lhbC1tZWRpYS1saXN0L3NvY2lhbC1tZWRpYS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3N0YXItcmF0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zd2F0Y2hlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3dhdGNoZXMvc3dhdGNoZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdG9wYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b3BiYXIvdG9wYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy92aXN1YWxseS1oaWRkZW4vdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NlbGVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS90b29sYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Rvb2xiYXIvYW1vdW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL3NvcnRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdG9vbGJhci9ob29rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdG9vbGJhci9saW1pdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL21peGlucy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdG9vbGJhci9wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90b29sYmFyL3ZpZXdtb2RlLXN3aXRjaGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2llMTEtbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2llMTEtbW9kYWwvaWUxMS1tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wd2Etbm90aWZpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wd2Etbm90aWZpY2F0aW9uL3B3YS1ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZ29vZ2xlLXJlY2FwdGNoYS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZ29vZ2xlLXJlY2FwdGNoYS9nb29nbGUtcmVjYXB0Y2hhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9ub24tY3JpdGljYWwvbm9uLWNyaXRpY2FsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3N1Y2Nlc3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9wYWdlcy9sYXlvdXQvMmNvbHVtbnMtbGVmdC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3BhZ2VzL3N1Y2Nlc3Mvc3VjY2Vzcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL3BhZ2VzL2NhcnQvY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jYWxlbmRhci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY2FydC1ib251cy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY2FydC9jYXJ0LWJvbnVzL2NhcnQtYm9udXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY2FydC1pdGVtLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvY2FydC9jYXJ0LWl0ZW0vY2FydC1pdGVtLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2NhcnQtc3VtbWFyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY2FydC9jYXJ0LXN1bW1hcnkvY2FydC1zdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2NhcnQtdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2NhcnQvY2FydC10YWJsZS9jYXJ0LXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2NoZWNrb3V0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvY2hlY2tvdXQvY2hlY2tvdXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZGlzY291bnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9kaXNjb3VudC9kaXNjb3VudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9ncmVzcy1iYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RhYnMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RhYnMvdGFicy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9xdHktaW5jcmVtZW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9xdHktaW5jcmVtZW50L3F0eS1pbmNyZW1lbnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZm9ybS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZm9ybS9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3N0aWNreS1ibG9jay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3RpY2t5LWJsb2NrL3N0aWNreS1ibG9jay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3RpY2t5LWJsb2NrL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RhYmxlL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RhYmxlL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2xvZ2luLW9yLWd1ZXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvTWFnZVN1aXRlX0xvZ2luT3JHdWVzdENoZWNrb3V0U3RlcC93ZWIvY3NzL2xvZ2luLW9yLWd1ZXN0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbi8vIEJyZWFrcG9pbnRzIGltcG9ydCBmcm9tIHZpZXcueG1sIFtweF1cbiRicmVha3BvaW50c19weDogZGVlcC1nZXQoJHZpZXcteG1sLCB2YXJzLCBNYWdlbnRvX1RoZW1lLCBicmVha3BvaW50cyk7XG4kYnJlYWtwb2ludHNfZW06ICgpO1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQGZ1bmN0aW9uIGNhbGN1bGF0ZS1icmVha3BvaW50cygkYnJlYWtwb2ludHNfZW0sICRicmVha3BvaW50c19weCkge1xuICAgICRyZXN1bHQ6ICRicmVha3BvaW50c19lbTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzX3B4IHtcbiAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKFxuICAgICAgICAgICAgJHJlc3VsdCxcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB1bnF1b3RlKCRrZXkpOiAkdmFsdWUgLyAxNiAqIDFlbSxcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuXG4kYnJlYWtwb2ludHM6IGNhbGN1bGF0ZS1icmVha3BvaW50cygkYnJlYWtwb2ludHNfZW0sICRicmVha3BvaW50c19weCkgIWRlZmF1bHQ7XG5cbi8vIHBob25lOiAyMy4xMjVlbSAtIDM3MHB4XG4vLyBwaG9uZUxnOiAzMGVtIC0gNDgwcHgsXG4vLyB0YWJsZXQ6IDQ4ZW0gLSA3NjhweCxcbi8vIGxhcHRvcDogNjRlbSAtIDEwMjRweCxcbi8vIGxhcHRvcExnOiA4MGVtIC0gMTI4MHB4LFxuLy8gZGVza3RvcDogOTBlbSAtIDE0NDBweCxcbi8vIHR2OiAxMjBlbSAtIDE5MjBweCxcbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4vKiBIaWRlIEhUTUw1IFVwIGFuZCBEb3duIGFycm93cy4gKi9cbmlucHV0W3R5cGU9J251bWJlciddIHtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG4gIGlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKiBIaWRlIEhUTUw1ICdYJyBpbiBzZWFyY2ggaW5wdXQgKi9cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuICAvKiBDbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqLyB9XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddOjotbXMtY2xlYXIsIGlucHV0W3R5cGU9J3NlYXJjaCddOjotbXMtcmV2ZWFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDsgfVxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiwgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4vKiBIaWRlIEhUTUw1IFVwIGFuZCBEb3duIGFycm93cy4gKi9cbmlucHV0W3R5cGU9J251bWJlciddIHtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG4gIGlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKiBIaWRlIEhUTUw1ICdYJyBpbiBzZWFyY2ggaW5wdXQgKi9cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuICAvKiBDbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqLyB9XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddOjotbXMtY2xlYXIsIGlucHV0W3R5cGU9J3NlYXJjaCddOjotbXMtcmV2ZWFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDsgfVxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiwgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuIiwiLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQGZ1bmN0aW9uIGRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICdjb25maWcvY29sb3JzJztcblxuQGltcG9ydCAnfkNyZWF0aXZlc2hvcC9jb25maWcvdmFyaWFibGVzJztcblxuLy8kZm9udF9mYW1pbHktcHJpbWFyeTogXCJPcGVuIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5AZm9udC1mYWNle1xuICAgIGZvbnQtZmFtaWx5OlwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICAgIHNyYzp1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICAgIHNyYzp1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSx1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSx1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZXtcbiAgICBmb250LWZhbWlseTpcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgICBzcmM6dXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgICBzcmM6dXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbiRmb250X2ZhbWlseS1wcmltYXJ5OiAnRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMicsc2Fucy1zZXJpZjs7XG4kZm9udF9mYW1pbHktc2Vjb25kYXJ5OiAnRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNicsc2Fucy1zZXJpZjtcblxuJGNvbG9yX3RleHQtODAwOiRjb2xvcl9wcmltYXJ5O1xuJGNvbG9yX2xpZ2h0X2dyYXk6Izc3NztcbiRjb2xvcl9zZWNvbmRhcnktNTAwOiRjb2xvcl9wcmltYXJ5O1xuXG4kcGFnZV9tYXgtd2lkdGg6IDExNHJlbTtcblxuJGZvbnQtc2l6ZV9oZWFkbGluZS0xOiAyLjZyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplX2hlYWRsaW5lLTI6IDIuNnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemVfaGVhZGxpbmUtMzogMS44cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZV9oZWFkbGluZS00OiAxLjdyZW07XG4kZm9udC1zaXplX2hlYWRsaW5lLTU6IDEuNXJlbTtcbiRmb250LXNpemVfaGVhZGxpbmUtNjogMXJlbSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXNfYmFzZTogMHB4O1xuXG4kZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0OiAxMXJlbTsiLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcblxuJGlucHV0X3JlbW92ZS1udW1iZXItYXBwZWFyYW5jZTogdHJ1ZSAhZGVmYXVsdDtcbiRpbnB1dF9yZW1vdmUtc2VhcmNoLWFwcGVhcmFuY2U6IHRydWUgIWRlZmF1bHQ7XG5cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnZV9iYWNrZ3JvdW5kO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyAvLyBoaWRlcyBob3Jpem9udGFsIHNjcm9sbGJhciBvbiBFZGdlIGFuZCBJRVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfZmFtaWx5LXByaW1hcnkpO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG5AaWYgJGlucHV0X3JlbW92ZS1udW1iZXItYXBwZWFyYW5jZSB7XG4gICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEhpZGUgSFRNTDUgJ1gnIGluIHNlYXJjaCBpbnB1dCAqL1xuQGlmICRpbnB1dF9yZW1vdmUtc2VhcmNoLWFwcGVhcmFuY2Uge1xuICAgIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICAgICAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuICAgICAgICAmOjotbXMtY2xlYXIsXG4gICAgICAgICY6Oi1tcy1yZXZlYWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiBmb250LWZhbWlseSgkZm9udHMuLi4pIHtcbiAgICBAaWYgJGZvbnRzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250cywgJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvZm9udC1mYW1pbHknO1xuXG5AaW1wb3J0ICd+Q3JlYXRpdmVzaG9wL2NvbmZpZy9iYXNlLnNjc3MnO1xuXG4kaW5wdXRfcmVtb3ZlLW51bWJlci1hcHBlYXJhbmNlOiB0cnVlICFkZWZhdWx0O1xuJGlucHV0X3JlbW92ZS1zZWFyY2gtYXBwZWFyYW5jZTogdHJ1ZSAhZGVmYXVsdDtcblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6IDYyLjUlO1xuICAgIGJhY2tncm91bmQ6ICRwYWdlX2JhY2tncm91bmQ7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IC8vIGhpZGVzIGhvcml6b250YWwgc2Nyb2xsYmFyIG9uIEVkZ2UgYW5kIElFXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9mYW1pbHktcHJpbWFyeSk7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4vKiBIaWRlIEhUTUw1IFVwIGFuZCBEb3duIGFycm93cy4gKi9cbkBpZiAkaW5wdXRfcmVtb3ZlLW51bWJlci1hcHBlYXJhbmNlIHtcbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogSGlkZSBIVE1MNSAnWCcgaW4gc2VhcmNoIGlucHV0ICovXG5AaWYgJGlucHV0X3JlbW92ZS1zZWFyY2gtYXBwZWFyYW5jZSB7XG4gICAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgICAgICAvKiBDbGVhcnMgdGhlICdYJyBmcm9tIEludGVybmV0IEV4cGxvcmVyICovXG4gICAgICAgICY6Oi1tcy1jbGVhcixcbiAgICAgICAgJjo6LW1zLXJldmVhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBDbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqL1xuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTllbSkge1xuICAuY3MtaGlkZS1sYXB0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1oaWRlLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovIH0gfVxuXG4uY3Mtbm8tZGlzcGxheSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi8gfVxuXG4uY3MtYXNwZWN0LXJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5jcy1hc3BlY3QtcmF0aW9fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLmNzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuY3MtY29udGFpbmVyX19pbm5lciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgbWF4LXdpZHRoOiAxMTRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXI6YmVmb3JlLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9faW5uZXI6YWZ0ZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMiU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjclOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uLS1zcGFjZS10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tbm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNzLWNvbnRhaW5lci0tb250b3Age1xuICAgIHotaW5kZXg6IDMwMTsgfVxuICAuY3MtY29udGFpbmVyLS12aWV3cG9ydC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5jcy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIG1heC13aWR0aDogMTE0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czpiZWZvcmUsIC5jcy1jb250YWluZXJfX2lubmVyOmFmdGVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMyJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMwJTsgfSB9XG4gIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogNTYlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NyU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbi0tc3BhY2UtdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwOyB9IH1cbiAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2NhcnQtY291cG9ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1jb250YWluZXItLXRvcC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMsXG4gICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci13aW5kb3ctd2lkdGgsIC5jcy1jb250YWluZXItLXN0b3JlLWxvY2F0b3Ige1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWdyaWQtdGVhc2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1jb250YWluZXItLWhlcm8tdGVhc2VyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLW5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGRwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tdXNwcyAuY3MtY29udGFpbmVyLS1oZWFkbGluZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLW15LWFjY291bnQtcGFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tb250b3Age1xuICAgIHotaW5kZXg6IDMwMTsgfVxuICAuY3MtY29udGFpbmVyLS12aWV3cG9ydC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZGV0YWlscy1hd19wcV9hamF4X2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jYXJ0LXBhZ2UgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNtcy10ZWFzZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5jcy1jb250YWluZXItLWZvb3Rlci11c3BzIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5ib2R5LFxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuXG4ubm8tc2Nyb2xsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuLm5vLXNjcm9sbC1jaGlsZCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbiNtYWluY29udGVudCB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5wYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH0gfVxuXG4uY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogNHJlbSAwIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTByZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgcGFkZGluZzogNHJlbSAwIDA7IH0gfVxuXG4uY21zLWhvbWUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jbXMtaG9tZSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5wYWdlLWxheW91dC0xY29sdW1uIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAzMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuc2lkZWJhci1tYWluLFxuICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICB3aWR0aDogMjIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjBmMGYwOyB9IH1cblxuYSwgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hOmhvdmVyLCBhOmZvY3VzLCBhOmFjdGl2ZSwgYTp2aXNpdGVkOmhvdmVyLCBhOnZpc2l0ZWQ6Zm9jdXMge1xuICBjb2xvcjogIzJkM2U1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5naWZ0LW9wdGlvbnMtY2FydC1pdGVtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLnBheXBhbC1yZXZpZXcudmlldyAuY3MtY2FydC1pdGVtX19wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBheXBhbC1yZXZpZXcudmlldyAuY3MtY2FydC1pdGVtX19zdWJ0b3RhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBheXBhbC1yZXZpZXcudmlldyB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuXG4ucGF5cGFsLWV4cHJlc3MtaW4tY29udGV4dC1taW5pLWNhcnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ucGF5cGFsLXJldmlldy1kaXNjb3VudCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmFtYXpvbi1idXR0b24tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiAzMDM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAzMnJlbTsgfSB9XG4gIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lciBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGw6bnRoLWNoaWxkKDIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWluLXdpZHRoOiAzcmVtO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNnJlbSk7XG4gICAgdG9wOiAxLjlyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjMuMTE1ZW0pIHtcbiAgICAgIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbDpudGgtY2hpbGQoMikge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjhyZW0pOyB9IH1cbiAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgIHdpZHRoOiAyNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAyOHJlbTsgfSB9XG4gICAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzg4ODsgfVxuICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50LFxuICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiA0MnB4O1xuICAgICAgbGVmdDogLTIxMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50LFxuICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICBsZWZ0OiAtMjUwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQsXG4gICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgIGxlZnQ6IC0yMzJweDsgfSB9XG4gICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyLFxuICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgbGVmdDogMjEwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlcixcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAyNTBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAyMzJweDsgfSB9XG4gICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDIxMHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAyNTFweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAyMzNweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlcixcbiAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfSB9XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi8vIFRPRE86IFJlbW92ZSBhZnRlciBnZXR0aW5nIHJpZCBvZiB0aGVzZSBmcm9tIHRlbXBsYXRlc1xuLmNzLWhpZGUtbGFwdG9wIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnLCAnPGxhcHRvcExnJykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgfVxufVxuXG4uY3MtaGlkZS10YWJsZXQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgfVxufVxuXG4uY3Mtbm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xufVxuXG4uY3MtYXNwZWN0LXJhdGlvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG5cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbkBtaXhpbiBjb250YWluZXIoJGhvcml6b250YWwtcGFkZGluZzogJHBhZ2VfZWRnZS1ndXR0ZXIpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGhvcml6b250YWwtcGFkZGluZztcbn1cblxuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG5AbWl4aW4gY29udGFpbmVyLW5lZ2F0ZWQoJGhvcml6b250YWwtcGFkZGluZzogJHBhZ2VfZWRnZS1ndXR0ZXIpIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJGhvcml6b250YWwtcGFkZGluZyk7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgIG1hcmdpbi1yaWdodDogLSRob3Jpem9udGFsLXBhZGRpbmc7XG59XG5cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbkBtaXhpbiBjb250YWluZXItd3JhcHBlcigkbWF4LXdpZHRoOiAkcGFnZV9tYXgtd2lkdGgpIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9taXhpbic7XG5cbi4jeyRuc31jb250YWluZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLXdyYXBwZXIoKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDU2JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDY3JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc3BhY2UtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbnRyYXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dhbGxlcnk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vc2Nyb2xsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmLS1vbnRvcCB7XG4gICAgICAgIHotaW5kZXg6IDMwMTtcbiAgICB9XG5cbiAgICAmLS12aWV3cG9ydC13aWR0aCB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9taXhpbic7XG5cbkBpbXBvcnQgJ35DcmVhdGl2ZXNob3AvY29tcG9uZW50cy9jb250YWluZXIvY29udGFpbmVyLnNjc3MnO1xuXG4kY29udGFpbmVyX2JhY2tncm91bmQtdG9wLWJhcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mbGV4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDU2JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDY3JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy9taW4taGVpZ2h0OiAzMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1bmRsZSBwcm9kdWN0cyBkbyBub3QgaGF2ZSBzdGlja3kgYnV5Ym94IGFuZCBzaG91bGQgaGF2ZSBhbm90aGVyIGxheW91dC5cbiAgICAgICAgLy8gT24gdGFibGV0IGdhbGxlcnkgY292ZXJlZCBidXlib3ggYW5kIGFzIGEgcmVzdWx0IGl0IHdhcyBpbXBvc3NpYmxlIHRvIGNsaWNrIGF0IGFueXRoaW5nIHRoZXJlLlxuICAgICAgICAvLyBDb2RlIGJlbG93IHNob3VsZCBiZSByZXZpZXdlZCBkdXJpbmcgcmVmYWN0b3JpbmcgY29udGFpbmVycyBhbmQgcGRwIChQRFAgMi4wKVxuICAgICAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNwYWNlLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXZpZXdzIHtcbiAgICAgICAgQGV4dGVuZCAuI3skbnN9Y29udGFpbmVyX19pbm5lcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgJl9fY2FydC1jb3Vwb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY29udHJhc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2FsbGVyeTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10b3AtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRhaW5lcl9iYWNrZ3JvdW5kLXRvcC1iYXI7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAmLFxuICAgICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoLFxuICAgICYtLXN0b3JlLWxvY2F0b3Ige1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi0tZ3JpZC10ZWFzZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmLS1oZXJvLXRlYXNlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS1ub3Njcm9sbCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi0tcGRwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS11c3BzIHtcbiAgICAgICAgI3skcm9vdH0tLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jcmVhdGUtYWNjb3VudC1wYWdlLFxuICAgICYtLWxvZ2luLXBhZ2UsXG4gICAgJi0tc3VjY2Vzcy1wYWdlLFxuICAgICYtLWxvZ291dC1wYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1teS1hY2NvdW50LXBhZ2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tb250b3Age1xuICAgICAgICB6LWluZGV4OiAzMDE7XG4gICAgfVxuXG4gICAgJi0tdmlld3BvcnQtd2lkdGgge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tcGFnZS1wZHAtZGV0YWlscy1hd19wcV9hamF4X2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhcnQtcGFnZSB7XG4gICAgICAgICN7JHJvb3R9LS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jbXMtdGVhc2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgICAgICAmLS1ncmlkLXRlYXNlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZvb3Rlci11c3BzIHtcbiAgICAgICAgLiN7JG5zfWltYWdlLXRlYXNlcl9fY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBoZWFkbGluZV9ob29rKCRsZXZlbCkge1xufVxuXG5AbWl4aW4gbGlua19ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdF9ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdC1pdGVtX2hvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9jb250YWluZXInO1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kbnM6ICdjcy0nO1xuXG5ib2R5LFxuaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG59XG5cbi5uby1zY3JvbGwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLm5vLXNjcm9sbC1jaGlsZCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIE92ZXJmbG93IGhhcyBiZWVuIG1vdmVkIHRvIGNoaWxkIGVsZW1lbnQgaW4gb3JkZXIgdG8gbWFpbnRhaW4gdmlzaWJpbGl0eSBvZiBpdGVtcyBpbiB0aGUgYmFja2dyb3VuZFxufVxuXG4jbWFpbmNvbnRlbnQge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4ucGFnZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogJG1haW4tY29sdW1uX3BhZGRpbmctbW9iaWxlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMHJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogJG1haW4tY29sdW1uX3BhZGRpbmc7XG4gICAgfVxufVxuXG4uY21zLWhvbWUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICBwYWRkaW5nOiAkaG9tZXBhZ2UtbWFpbi1jb2x1bW5fcGFkZGluZy1tb2JpbGU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6ICRob21lcGFnZS1tYWluLWNvbHVtbl9wYWRkaW5nO1xuICAgIH1cbn1cblxuLnBhZ2UtbGF5b3V0LTFjb2x1bW4ge1xuICAgIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCB7XG4gICAgICAgIC5zaWRlYmFyLW1haW4sXG4gICAgICAgIC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICAgICAgICAgICAgd2lkdGg6IDIyLjUlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl9nYWxsZXJ5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5hIHtcbiAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAkY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UsXG4gICAgICAgICRjb2xvci1ob3ZlcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlclxuICAgICk7XG59XG5cbi5naWZ0LW9wdGlvbnMtY2FydC1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vL1BheXBhbCBtb2R1bGVcbi5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICB9XG59XG5cbi5wYXlwYWwtcmV2aWV3LnZpZXcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAuI3skbnN9Y2FydC1pdGVtX19wcmljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31jYXJ0LWl0ZW1fX3N1YnRvdGFsIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgfVxufVxuXG4ucGF5cGFsLWV4cHJlc3MtaW4tY29udGV4dC1taW5pLWNhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ucGF5cGFsLXJldmlldy1kaXNjb3VudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLy9BbWF6b24gUGF5IGxvZ2luIGJ1dHRvblxuXG4vL1RoZSBoaWdoZXN0IG9mIGFsbCBhbWF6b24gcGF5IGNvbnRhaW5lcnNcbi8vU2hvdWxkIG5vdCBiZSB0b28gbG9uZ1xuLy9pbiBtaW5pY2FydCwgc2FsZSBibG9jaywgY2hlY2tvdXQgc3VtbWFyeSBpdCBzaG91bGQgYmUgY2VudGVyXG4uYW1hem9uLWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAzMDM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1heC13aWR0aDogMzJyZW07XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19jZWxsIHtcbiAgICAgICAgLy9JbmZvIHNpZ24gZWxlbWVudCAtIGlzIHBsYWNlZCBhYnNvbHV0ZWx5IHRvIG5vdCB0YWtlIHBsYWNlIHdoZW4gYnV0dG9uIGlzIGNlbnRlcmVkXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNnJlbSk7XG4gICAgICAgICAgICB0b3A6IDEuOXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjhyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9Ub29sdGlwIHN0eWxlIGFuZCBwb3NpdGlvblxuICAgICAgICAvL0Fycm93IHBvc2l0aW9uXG4gICAgICAgIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDI1cmVtO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvL01vdmUgdG9vbHRpcCBmcm9tIHJpZ2h0IHRvIHRvcCBiZWNhdXNlIHRoZXJlIGlzIG5vIHNwYWNlIGluIG91ciBzaG9wcyBvbiB0aGUgcmlnaHRcbiAgICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyICYsXG4gICAgICAgICAgICAuI3skbnN9Y2FydC1zdW1tYXJ5ICYge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDQycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogLTIxMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjUwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjMycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjMycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIxMHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyNTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMzNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDYXJ0IHN1bW1hcnkgdG9vbHRpcCBuZWVkcyBzbWFsbCBhZGp1c3RtZW50c1xuICAgICAgICAgICAgLiN7JG5zfWNhcnQtc3VtbWFyeSAmIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9ob29rJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcblxuQGltcG9ydCAnfkNyZWF0aXZlc2hvcC9jb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4uc2Nzcyc7XG5cbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHktc2Vjb25kYXJ5O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDUwMDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLW1hcmdpbnM6IDFyZW0gMCAycmVtICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saW5rLWNvbG9yOiAkbGluay1jb2xvcl9iYXNlICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGluay0taG92ZXItY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogJHR5cG9ncmFwaHlfbGluay10ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiR0eXBvZ3JhcGh5X2xpc3QtbWFyZ2luOiAwIDAgMi41cmVtICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGlzdC1wYWRkaW5nOiAwIDAgMCA0cmVtICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saXN0LWl0ZW0tbWFyZ2luOiAwIDAgMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0yKSB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC1mYW1pbHkpO1xuXG4gICAgZm9udC1zaXplOiAkbGV2ZWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogJHR5cG9ncmFwaHlfaGVhZGxpbmUtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdHlwb2dyYXBoeV9oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTtcbiAgICBtYXJnaW46ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLW1hcmdpbnM7XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZV9ob29rKCRsZXZlbCk7XG59XG5cbkBtaXhpbiBsaW5rKFxuICAgICRjb2xvcjogJHR5cG9ncmFwaHlfbGluay1jb2xvcixcbiAgICAkY29sb3ItaG92ZXI6ICR0eXBvZ3JhcGh5X2xpbmstLWhvdmVyLWNvbG9yLFxuICAgICRkZWNvcmF0aW9uOiAkdHlwb2dyYXBoeV9saW5rLXRleHQtZGVjb3JhdGlvbixcbiAgICAkZGVjb3JhdGlvbi1ob3ZlcjogJHR5cG9ncmFwaHlfbGluay0taG92ZXItdGV4dC1kZWNvcmF0aW9uXG4pIHtcbiAgICAmLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb247XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6dmlzaXRlZDpob3ZlcixcbiAgICAmOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uLWhvdmVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmtfaG9vaygpO1xufVxuXG5AbWl4aW4gbGlzdCgpIHtcbiAgICBtYXJnaW46ICR0eXBvZ3JhcGh5X2xpc3QtbWFyZ2luO1xuICAgIHBhZGRpbmc6ICR0eXBvZ3JhcGh5X2xpc3QtcGFkZGluZztcblxuICAgIEBpbmNsdWRlIGxpc3RfaG9vaygpO1xufVxuXG5AbWl4aW4gbGlzdC1pdGVtKCkge1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfbGlzdC1pdGVtLW1hcmdpbjtcblxuICAgIEBpbmNsdWRlIGxpc3QtaXRlbV9ob29rKCk7XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5jcy1hdXRob3JpemF0aW9uLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjlyZW07XG4gIHBhZGRpbmc6IDAgMCAwIDAuM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmsge1xuICAgICAgcGFkZGluZzogMCAwIDAgMS4zcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuN3JlbTsgfSB9XG4gIC5jcy1hdXRob3JpemF0aW9uLWxpbms6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2ZmZjsgfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rLCAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmhvdmVyLCAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmZvY3VzLCAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmFjdGl2ZSwgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazp2aXNpdGVkOmhvdmVyLCAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmhvdmVyIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjODg4OyB9XG4gIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2ljb24ge1xuICAgIHdpZHRoOiAxLjhyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjODg4OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kYXV0aG9yaXphdGlvbi1saW5rX2l0ZW0tYm9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yX2JvcmRlci0xMDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yLWhvdmVyOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2RlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2hvdmVyLWRlY29yYXRpb246ICRhdXRob3JpemF0aW9uLWxpbmtfZGVjb3JhdGlvbiAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31hdXRob3JpemF0aW9uLWxpbmsge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMC45cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAwIDAuM3JlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMS4zcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS43cmVtO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYXV0aG9yaXphdGlvbi1saW5rX2l0ZW0tYm9yZGVyO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAgICAgJGNvbG9yOiAkYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yLFxuICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yLWhvdmVyLFxuICAgICAgICAgICAgJGRlY29yYXRpb246ICRhdXRob3JpemF0aW9uLWxpbmtfZGVjb3JhdGlvbixcbiAgICAgICAgICAgICRkZWNvcmF0aW9uLWhvdmVyOiAkYXV0aG9yaXphdGlvbi1saW5rX2hvdmVyLWRlY29yYXRpb25cbiAgICAgICAgKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYXV0aG9yaXphdGlvbi1saW5rX2ljb24tY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtYWRkdG9jYXJ0IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpiZWZvcmUsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjMmQzZTUwIDAlLCAjMmQzZTUwIDEwMCUpOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24sIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiB7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiB7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCwgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuY3MtYWRkdG9jYXJ0X19jb25maWd1cmUtaWNvbiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24sIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgd2lkdGg6IDIuMnJlbTtcbiAgICBoZWlnaHQ6IDIuMnJlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCwgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsLS0xIHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsLS0yIHtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE1cyAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwtLTMge1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3MgIWltcG9ydGFudDsgfVxuICAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xZW07XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvdHRvbTogLTFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMi41ZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40NXMgY3ViaWMtYmV6aWVyKDAuMDEsIDAuNjUsIDAuMzgsIDEpO1xuICAgIGJhY2tncm91bmQ6ICMzMWE0M2E7IH1cbiAgICAuY3MtYWRkdG9jYXJ0LS1uby10cmFuc2l0aW9ucyAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tZmFpbCAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2MxYzEwOyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBoZWlnaHQ6IDEuNzI1ZW07XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMmVtKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZy1yaWdodDogMy41cmVtOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5LCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayB7XG4gICAgICBtYXgtd2lkdGg6IDExNHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICB6LWluZGV4OiA0MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAudWktZGlhbG9nLCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAudWktZGlhbG9nIHtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAuYmxvY2stbWluaWNhcnQ6YWZ0ZXIsIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAzLjJyZW0gIWltcG9ydGFudDsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5IC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmssXG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDFweCAzcHggNC41cmVtIDAgcmdiYSgzMCwgNDgsIDY3LCAwLjM0KTtcbiAgICBhbmltYXRpb246IG1pbmljYXJ0LWluIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXVuc3RpY2sgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluayB7XG4gICAgYW5pbWF0aW9uOiBtaW5pY2FydC1vdXQgMC41cyBjdWJpYy1iZXppZXIoMC41NSwgMC4yLCAwLjg5LCAwLjQ1KTsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpLCBsZWZ0IDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZyB7XG4gICAgICBhbmltYXRpb246IG1vdmUtcXR5LWJhZGdlIDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwLjVyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcge1xuICAgICAgICAgIHRvcDogMS4zcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUuM3JlbTsgfSB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLW1pbmljYXJ0LXN0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxLjhyZW07IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlciAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Uge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmNzLWFkZHRvY2FydC0tbG9hZGluZyAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMmVtLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1sb2FkaW5nIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSB0cmFuc2xhdGVYKC0xLjI1ZW0pOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tbG9hZGluZyAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwge1xuICAgICAgYW5pbWF0aW9uOiBiYWxsLWluIDFzIGluZmluaXRlOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydC0tZG9uZSAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmc6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNS4zcmVtLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1mYWlsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1mYWlsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcsIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjg2LCAwLjAxLCAwLjgzLCAwLjUxKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCxcbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgbGluZWFyLCB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuXG5Aa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1vdmUtcXR5LWJhZGdlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbiAgLmNzLWFkZHRvY2FydCAuYmxvY2stbWluaWNhcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiIsIi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cblxuQGZ1bmN0aW9uIGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlLCAkc2lkZSkge1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdmFyaWFibGUpO1xuXG4gICAgQGlmICgkbGVuZ3RoID09IDEpIHtcbiAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAndXAnKSBPUiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnbGVmdCcpIE9SICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGxlbmd0aCA9PSAzKSB7XG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ2xlZnQnKSBPUiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAyKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ3VwJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDMpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGxlbmd0aCA9PSA0KSB7XG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ3VwJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAyKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDMpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGJ1dHRvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpIHtcbn1cblxuQG1peGluIGJ1dHRvbl9zcGFuLWhvb2soJHR5cGUsICRpY29uX3Bvcykge1xufVxuXG5AbWl4aW4gYnV0dG9uX2ljb24taG9vaygkdHlwZSwgJGljb25fcG9zKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiIsIlxuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kYWRkdG9jYXJ0X2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZTtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb246ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9idXR0b24taWNvbi13aWR0aDogMi4ycmVtICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24taWNvbi1oZWlnaHQ6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGggIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1pY29uLWVkZ2UtZ3V0dGVyOiAwLjhlbSAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9idXR0b24tc2tld2VkLWJhY2tncm91bmQtd2lkdGg6IDUuMXJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLXBhZGRpbmctbGVmdDogMXJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLXBhZGRpbmctcmlnaHQ6IDQuNXJlbSAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtYmctcHJpbWFyeTogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtYmctc2Vjb25kYXJ5OiAkY29sb3Jfc3VjY2Vzcy02MDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtZmlsbDogJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYWpheC1mYWlsLWJnLXByaW1hcnk6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtZmFpbC1iZy1zZWNvbmRhcnk6ICRjb2xvcl9lcnJvci02MDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtZmFpbC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LWZhaWwtZmlsbDogJGFkZHRvY2FydF9hamF4LWZhaWwtY29sb3IgIWRlZmF1bHQ7XG5cbi4jeyRuc31hZGR0b2NhcnQge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIC8vIGJlY2F1c2UgYnV0dG9uIGNhbid0IGhhdmUgb3ZlcmZsb3csIHdlIG5lZWQgdG8gYWRkIGl0IG9uIGJ1dHRvbiB3cmFwcGVyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGlmICgkYnV0dG9uX2JvcmRlci1yYWRpdXMgPiAwKSB7XG4gICAgICAgICAgICBAc3VwcG9ydHMgKGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMCByb3VuZCAkYnV0dG9uX2JvcmRlci1yYWRpdXMpKSB7XG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMCAwIHJvdW5kICRidXR0b25fYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvblxuICAgICAgICApO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1pY29uIHtcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19mYWlsLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFkZHRvY2FydF9hamF4LWZhaWwtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19mYWlsLWljb24ge1xuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYWRkdG9jYXJ0X2FqYXgtZmFpbC1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1sYWJlbCxcbiAgICAmX19zdWNjZXNzLWxhYmVsLFxuICAgICZfX2ZhaWwtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYWRkdG9jYXJ0X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9fY29uZmlndXJlLWljb24sXG4gICAgJl9fYnV0dG9uLWljb24sXG4gICAgJl9fc3VjY2Vzcy1pY29uLFxuICAgICZfX2ZhaWwtaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRhZGR0b2NhcnRfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb25cbiAgICAgICAgKTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB3aWR0aDogJGFkZHRvY2FydF9idXR0b24taWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLWhlaWdodDtcblxuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgICAgICBAaWYgKCRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb24gPT0gJ3JpZ2h0Jykgb3IgKCRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb24gPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAjeyRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb259OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLWVkZ2UtZ3V0dGVyO1xuICAgICAgICB9XG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICB9XG5cbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1sYWJlbCxcbiAgICAmX19zdWNjZXNzLWxhYmVsIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICAmX19sb2FkaW5nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICB3aWR0aDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemUgKiA0O1xuICAgICAgICBoZWlnaHQ6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cbiAgICAgICAgJi1iYWxsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgICAgJi0tMSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tMiB7XG4gICAgICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMTVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLTMge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mZWVkYmFjay1iZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTFlbTtcbiAgICAgICAgdG9wOiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgYm90dG9tOiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIuNWVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDVzIGN1YmljLWJlemllcigwLjAxLCAwLjY1LCAwLjM4LCAxKTtcbiAgICAgICAgYmFja2dyb3VuZDogJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtYmctc2Vjb25kYXJ5O1xuXG4gICAgICAgICN7JHJvb3R9LS1uby10cmFuc2l0aW9ucyAmIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZmFpbCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhZGR0b2NhcnRfYWpheC1mYWlsLWJnLXNlY29uZGFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fc3VjY2Vzcy1pY29uLFxuICAgICZfX2ZhaWwtbGFiZWwsXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmX19zdWNjZXNzLWljb24sXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAxLjcyNWVtO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fZmFpbC1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSB0cmFuc2xhdGVYKC0yZW0pOyAvLyBjYWxjKCkgZG9lc24ndCB3b3JrIGluIElFIHNvIGkgaGFkIHRvIGR1cGxpY2F0ZSB0cmFuc2xhdGVYKCkgdHJhbnNmb3JtIHRvIGFkanVzdCBYIHBvc2l0aW9uXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICN7JGFkZHRvY2FydF9idXR0b24tcGFkZGluZy1yaWdodCAtXG4gICAgICAgICAgICAkYWRkdG9jYXJ0X2J1dHRvbi1wYWRkaW5nLWxlZnR9O1xuICAgIH1cblxuICAgICZfX21pbmljYXJ0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLS1zdGlja3ksXG4gICAgICAgICYtLXVuc3RpY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLXdyYXBwZXIoKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAudWktZGlhbG9nIHtcbiAgICAgICAgICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stbWluaWNhcnQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMy4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWluaWNhcnQtbGluayB7XG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC0tc3RpY2t5ICYsXG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC0tdW5zdGljayAmIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCA0LjVyZW0gMCByZ2JhKDMwLCA0OCwgNjcsIDAuMzQpO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBtaW5pY2FydC1pbiAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWluaWNhcnQtLXVuc3RpY2sgJiB7XG4gICAgICAgICAgICBhbmltYXRpb246IG1pbmljYXJ0LW91dCAwLjVzIGN1YmljLWJlemllcigwLjU1LCAwLjIsIDAuODksIDAuNDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXIge1xuICAgICAgICAkYmFkZ2Utd3JhcHBlcjogJjtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IDYwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpLFxuICAgICAgICAgICAgbGVmdCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgJi0tYW5pbWF0aW5nIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbW92ZS1xdHktYmFkZ2UgMS4ycyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHRvcDogMS4zcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNS4zcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI3skYmFkZ2Utd3JhcHBlcn0tLW1pbmljYXJ0LXN0aWNreSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHRvcDogMS44cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX21pbmljYXJ0LXF0eS1iYWRnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxvYWRpbmcsXG4gICAgJi0tZG9uZSB7XG4gICAgICAgICN7JHJvb3R9X19idXR0b24tbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMmVtLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxvYWRpbmcge1xuICAgICAgICAjeyRyb290fV9fbG9hZGluZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSB0cmFuc2xhdGVYKC0xLjI1ZW0pOyAvLyBjYWxjKCkgZG9lc24ndCB3b3JrIGluIElFIHNvIGkgaGFkIHRvIGR1cGxpY2F0ZSB0cmFuc2xhdGVYKCkgdHJhbnNmb3JtIHRvIGFkanVzdCBYIHBvc2l0aW9uXG5cbiAgICAgICAgICAgICYtYmFsbCB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBiYWxsLWluIDFzIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZG9uZSB7XG4gICAgICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2ZlZWRiYWNrLWJnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoXG4gICAgICAgICAgICAgICAgICAgIC0jeyRhZGR0b2NhcnRfYnV0dG9uLXNrZXdlZC1iYWNrZ3JvdW5kLXdpZHRoICsgMC4yfSxcbiAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mYWlsIHtcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hbmltYXRpb24tZG9uZSB7XG4gICAgICAgICN7JHJvb3R9X19idXR0b24tbGFiZWwsXG4gICAgICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2ZlZWRiYWNrLWJnIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1sYWJlbCxcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgbGluZWFyLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjg2LCAwLjAxLCAwLjgzLCAwLjUxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1pY29uLFxuICAgICAgICAjeyRyb290fV9fZmFpbC1pY29uIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIEBrZXlmcmFtZXMgYmFsbC1pbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBtaW5pY2FydC1pbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbWluaWNhcnQtb3V0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBtb3ZlLXF0eS1iYWRnZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTUlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgICAuYmxvY2stbWluaWNhcnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ3V0aWxzL2dldC12YWx1ZS1mcm9tLWxpc3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vYW5pbWF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL2hvb2snO1xuXG4vLyBEZWZpbmUgZGVmYXVsdCB0eXBlIGZvciBidXR0b25zLiBZb3UgY2FuIG92ZXJyaWRlIGl0IGluZGl2aWR1YWxseSBwZXIgYnV0dG9uIGluIGVhY2ggY29tcG9uZW50XG4vLyBWYXJpYW50czogcHJpbWFyeSB8IHNlY29uZGFyeSB8IGxpbmsgfCBzdWNjZXNzIHwgZXJyb3JcbiRidXR0b25fZGVmYXVsdC10eXBlOiAncHJpbWFyeScgIWRlZmF1bHQ7XG5cbi8vIERlZmluZSBkZWZhdWx0IHBvc2l0aW9uIGZvciBpY29ucyBpbiBidXR0b24uIFlvdSBjYW4gb3ZlcnJpZGUgaXQgaW5kaXZpZHVhbGx5IHBlciBidXR0b24gaW4gZWFjaCBjb21wb25lbnRcbi8vIFZhcmlhbnRzOiBsZWZ0IHwgcmlnaHQgfCBuby1pY29uIHwgb25seS1pY29uXG4kYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3M6ICdyaWdodCcgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYWwgc3R5bGVzIGZvciBidXR0b25zXG4kYnV0dG9uX2ZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGJ1dHRvbl9mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGJ1dHRvbl9ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGJ1dHRvbl9wYWRkaW5nOiAwLjc1ZW0gMWVtICFkZWZhdWx0O1xuJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbjogM2VtICFkZWZhdWx0O1xuJGJ1dHRvbl9saW5lLWhlaWdodDogMS4yNzVlbSAhZGVmYXVsdDtcbiRidXR0b25fYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRidXR0b25fYW5pbWF0aW9uLXRpbWU6IDAuNXMgIWRlZmF1bHQ7XG4kYnV0dG9uX2FuaW1hdGlvbi1iZWZvcmUtd2lkdGg6IDA7XG4kYnV0dG9uX2FuaW1hdGlvbi1hZnRlci13aWR0aDogMDtcbiRidXR0b25fdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kYnV0dG9uX3RleHQtbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b25fdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBwcmltYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9wcmltYXJ5LWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0X2dyYXk7XG4kYnV0dG9uX3ByaW1hcnktY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS1lbmFibGUtYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBzZWNvbmRhcnlgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3NlY29uZGFyeS1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBTdHlsZSBmb3IgYGxpbmtgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay0taG92ZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay1pY29uLXBhZGRpbmc6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYHN1Y2Nlc3NgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3N1Y2Nlc3MtYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgZXJyb3JgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2Vycm9yLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItYmFja2dyb3VuZDogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEZWZpbmVzIGhvdyBtdWNoIGJ1dHRvbiBpY29uIHNob3VsZCBiZSBwdWxsZWQgdmVydGljYWxseSB0byBjZW50ZXIgaXQuXG4vLyBTaG91bGQgYmUgZGVmaW5lZCBpbiBlbSB0byBtYWtlIGl0IHJlbGF0aXZlIHRvIGJ1dHRvbidzIGZvbnQgc2l6ZS5cbiRidXR0b25fc3Bhbi1mb250LW9mZnNldDogMCAhZGVmYXVsdDtcblxuLy8gRGVmaW5lcyBob3cgbXVjaCBidXR0b24gaWNvbiBzaG91bGQgYmUgcHVsbGVkIHZlcnRpY2FsbHkgdG8gY2VudGVyIGl0IG9uIGljb24gYnV0dG9uLlxuLy8gU2hvdWxkIGJlIGRlZmluZWQgaW4gZW0gdG8gbWFrZSBpdCByZWxhdGl2ZSB0byBidXR0b24ncyBmb250IHNpemUuXG4kYnV0dG9uX2ljb24tb2Zmc2V0OiAwLjFlbSAhZGVmYXVsdDtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tY2FsYy1uby11bnNwYWNlZC1vcGVyYXRvclxuXG5AbWl4aW4gYnV0dG9uKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udC13ZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbl90ZXh0LWFsaWduO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b25fdGV4dC10cmFuc2Zvcm07XG5cbiAgICBAaWYgKCR0eXBlICE9ICdsaW5rJykge1xuICAgICAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLCBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9wcmltYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnc2Vjb25kYXJ5Jykge1xuICAgICAgICBAaWYgKCRidXR0b25fc2Vjb25kYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9zZWNvbmRhcnktYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSwgZmlsbCAkYnV0dG9uX2FuaW1hdGlvbi10aW1lO1xuXG4gICAgICAgICoge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgICAgICBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICBAaWYgKCRidXR0b25fc3VjY2Vzcy1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX2Vycm9yLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9lcnJvci0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgICAgQGlmICgkdHlwZSAhPSAnbGluaycpIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b25fYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAncHJpbWFyeScpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9wcmltYXJ5LWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3ByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3ByaW1hcnktYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3ByaW1hcnktZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zZWNvbmRhcnktYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc2Vjb25kYXJ5LWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay1jb2xvcjtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3N1Y2Nlc3MtYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc3VjY2Vzcy1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnZXJyb3InKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fZXJyb3ItYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2Vycm9yLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fZXJyb3ItZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIEBpZiAoJHR5cGUgIT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSAncHJpbWFyeScpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSAnc2Vjb25kYXJ5Jykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLS1ob3Zlci1jb2xvcjtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9saW5rLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9lcnJvci0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9lcnJvci0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b24taG9vaygkdHlwZSwgJGljb25fcG9zKTtcbn1cblxuQG1peGluIGJ1dHRvbl9zcGFuKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgbWFyZ2luLXRvcDogJGJ1dHRvbl9zcGFuLWZvbnQtb2Zmc2V0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJ1dHRvbl90ZXh0LWxldHRlci1zcGFjaW5nO1xuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmc7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICB1bml0KCRidXR0b25fcGFkZGluZy13aGVuLWljb24pID09XG4gICAgICAgICAgICAgICAgICAgIHVuaXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbiArXG4gICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICN7JGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbn0gK1xuICAgICAgICAgICAgICAgICAgICAgICAgI3tnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgdW5pdCgkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uKSA9PVxuICAgICAgICAgICAgICAgICAgICB1bml0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbiArXG4gICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgI3skYnV0dG9uX3BhZGRpbmctd2hlbi1pY29ufSArXG4gICAgICAgICAgICAgICAgICAgICAgICAje2dldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGljb25fcG9zID09ICdvbmx5LWljb24nKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4taG9vaygkdHlwZSwgJGljb25fcG9zKTtcbn1cblxuQG1peGluIGJ1dHRvbl9pY29uKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogJGJ1dHRvbl9mb250LXNpemU7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIH1cblxuICAgIEBpZiAoJGljb25fcG9zID09ICdvbmx5LWljb24nKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAkYnV0dG9uX2ljb24tb2Zmc2V0O1xuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZyAvIDI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmcgLyAyO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uX2ljb24taG9vaygkdHlwZSwgJGljb25fcG9zKTtcbn1cblxuIiwiLy8gSW4gdGhpcyBtaXhpbiB5b3UgY2FuIGRlZmluZSB5b3VyIGN1c3RvbSBhbmltYXRpb24gZm9yIGJ1dHRvbnNcbi8vIFlvdSBjYW4gY2hlY2sgZXhhbXBsZXMgb2YgYW5pbWF0aW9ucyBpbiBodHRwOi8vaWFubHVubi5naXRodWIuaW8vSG92ZXIvIGxpYnJhcnlcblxuQG1peGluIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgJHR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlLFxuICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQsXG4gICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICRpY29uX3BvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zXG4pIHtcbiAgICBAaWYgKCR0eXBlID09ICdwcmltYXJ5JykgYW5kXG4gICAgICAgICgoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSlcbiAgICB7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLSN7JGJ1dHRvbl9ib3JkZXItc2l6ZX07XG4gICAgICAgICAgICBib3R0b206IC0jeyRidXR0b25fYm9yZGVyLXNpemV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgcmlnaHQ6IC0jeyRidXR0b25fYm9yZGVyLXNpemV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBsZWZ0OiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV0dG9uX2FuaW1hdGlvbi1iZWZvcmUtd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRidXR0b25fYm9yZGVyLXJhZGl1cyAkYnV0dG9uX2JvcmRlci1yYWRpdXMgMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0IDAlLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydCAxMDAlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kIDAlLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQgODUlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDEwMCUsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMTAwJVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgd2lkdGg6ICRidXR0b25fYW5pbWF0aW9uLWFmdGVyLXdpZHRoO1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2VuZDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b25fYm9yZGVyLXNpemUgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjezIgKiAkYnV0dG9uX2JvcmRlci1zaXplfSk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi5jcy1hdXRvY29tcGxldGUge1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgei1pbmRleDogMjAwO1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgZm9udC1zaXplOiAxLjI5cmVtOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbSB7XG4gICAgcGFkZGluZzogMXJlbTsgfSB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQ6aG92ZXIsIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLnNlbGVjdGVkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtOmhvdmVyLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLnNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZDpsYXN0LWNoaWxkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWltYWdlLWNvbnRhaW5lciwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1pbWFnZS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWltYWdlLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWltYWdlIHtcbiAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICBoZWlnaHQ6IDQuNXJlbTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tZGV0YWlscyB7XG4gICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtZGV0YWlscyAuZi1maXgsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tZGV0YWlscyAuZi1maXgge1xuICAgICAgICBoZWlnaHQ6IDUuOHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMgaW1nLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1icmFuZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1icmFuZCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtbmFtZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLXByaWNlLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLXByaWNlIHtcbiAgICAgIG1hcmdpbjogMC4zcmVtIDAgMDsgfVxuICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggPiAucHJpY2Uge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggLm9sZC1wcmljZSA+IC5wcmljZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlID4gLnByaWNlIHtcbiAgICAgIGNvbG9yOiAjZTQxZjEyO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBwYWRkaW5nOiAwIDAuN3JlbTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdiODQxO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0ICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCArIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkge1xuICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuXG4uYXV0b2NvbXBsZXRlLWxpc3Qge1xuICBtYXJnaW46IC0xcHggMCAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3Q6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQge1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgLmFtb3VudDpub3QoOmVtcHR5KTphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgLmFtb3VudDpub3QoOmVtcHR5KTpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG5cbi5hdXRvY29tcGxldGUtbGlzdC10aXRsZSB7XG4gIHBhZGRpbmc6IDEuMnJlbSAzcmVtIDFyZW0gMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdC10aXRsZTpob3ZlciwgLmF1dG9jb21wbGV0ZS1saXN0LXRpdGxlLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGU6bm90KDplbXB0eSk6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IHRyYW5zcGFyZW50OyB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGJhZGdlX2hvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIGJhZGdlX3R5cGUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gYmFkZ2Vfc3Bhbi1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cblxuJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZV9jb2xvciAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2Vfc3BlY2lhbC1jb2xvciAhZGVmYXVsdDtcbiRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yOiAkcHJpY2Vfb2xkLWNvbG9yICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9sYWJlbC1jb2xvcjogJHByaWNlX2NvbG9yICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU6IDEuNXJlbTtcbiRwcmljZS1ib3hfbGFiZWwtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1kaXNwbGF5LWNvbG9uOiBmYWxzZTtcbiRwcmljZS1ib3hfbGFiZWwtbWFyZ2luOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM6IDFyZW0gIWRlZmF1bHQ7XG5cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMnO1xuXG4kYXV0b2NvbXBsZXRlX2xpc3QtYmFja2dyb3VuZDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9saXN0LWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoJGNvbG9yX3RleHQtOTAwLCAwLjE3KSAhZGVmYXVsdDtcblxuJGF1dG9jb21wbGV0ZV90aXRsZS1wYWRkaW5nOiAxLjJyZW0gM3JlbSAxcmVtIDFyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXNpemU6IDEuMjlyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbS1oZWlnaHQ6IDUuOHJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1wYWRkaW5nOiAwLjVyZW0gMXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZDogJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC13aWR0aDogNC41cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC1oZWlnaHQ6IDQuNXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU6IDEuMjlyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1uYW1lLWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1wcmljZS1mb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXF1YW50aXR5LWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbV9kaXNwbGF5LW9sZC1wcmljZS1maXJzdDogdHJ1ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW5vcm1hbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjogJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc31hdXRvY29tcGxldGUge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0b2NvbXBsZXRlX2xpc3QtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkYXV0b2NvbXBsZXRlX2xpc3QtYm94LXNoYWRvdztcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWxfaGVhZGVyLW1vYmlsZS1zZWFyY2gtaW4tb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICc8I3skZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcy1icmVha3BvaW50fSdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgZGQsXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhdXRvY29tcGxldGVfaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAkYXV0b2NvbXBsZXRlX2l0ZW0tcGFkZGluZztcbiAgICAgICAgbWFyZ2luOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbWFyZ2luO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYXV0b2NvbXBsZXRlX2l0ZW0tYm9yZGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYXV0b2NvbXBsZXRlX2l0ZW0tdGh1bWJuYWlsLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tdGh1bWJuYWlsLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGV0YWlscyB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLmYtZml4IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1icmFuZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtX2JyYW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbmFtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLXByaWNlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC4zcmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgID4gLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgID4gLnByaWNlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICA+IC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pbWFsLXByaWNlLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGF1dG9jb21wbGV0ZV9pdGVtX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0KSB7XG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG5cbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2VzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZSgpO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBvcHVsYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgncG9wdWxhcicpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigncG9wdWxhcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJykge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmF1dG9jb21wbGV0ZS1saXN0IHtcbiAgICBtYXJnaW46IC0xcHggMCAxcmVtO1xuICAgIGJvcmRlci10b3A6ICRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLXF1YW50aXR5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdXRvY29tcGxldGUtbGlzdC10aXRsZSB7XG4gICAgcGFkZGluZzogJGF1dG9jb21wbGV0ZV90aXRsZS1wYWRkaW5nO1xuICAgIGJvcmRlci1ib3R0b206ICRhdXRvY29tcGxldGVfdGl0bGUtYm9yZGVyO1xuICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtc2l6ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbjogJGF1dG9jb21wbGV0ZV90aXRsZS1tYXJnaW47XG5cbiAgICAmOmhvdmVyLFxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9ob29rJztcblxuJGJhZGdlX2ZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJGJhZGdlX2ZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kYmFkZ2VfaGVpZ2h0OiAyZW0gIWRlZmF1bHQ7XG4kYmFkZ2VfcGFkZGluZzogMCAwLjdyZW0gIWRlZmF1bHQ7XG4kYmFkZ2VfYm9yZGVyOiAwICFkZWZhdWx0O1xuJGJhZGdlX2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kYmFkZ2VfdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1kZWZhdWx0LWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tZGVmYXVsdC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLW5ldy1iYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5LTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tbmV3LWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGlzY291bnQtYmFja2dyb3VuZDogZ3JlZW47XG4kYmFkZ2UtLWRpc2NvdW50LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZnJlZS1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWZyZWUtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tZnJlZS1zaGlwcGluZy1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXBvcHVsYXItYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1wb3B1bGFyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXRvcC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLXRvcC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG5AbWl4aW4gYmFkZ2UoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtLWRlZmF1bHQtY29sb3I7XG4gICAgYm9yZGVyOiAkYmFkZ2VfYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYWRnZV9ib3JkZXItcmFkaXVzO1xuICAgIHBhZGRpbmc6ICRiYWRnZV9wYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGJhZGdlX2ZvbnQtd2VpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRiYWRnZV9oZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYWRnZV90ZXh0LXRyYW5zZm9ybTtcblxuICAgIEBpbmNsdWRlIGJhZGdlX2hvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gYmFkZ2VfdHlwZSgkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgQGlmICgkdHlwZSA9PSAnbmV3Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLW5ldy1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1uZXctY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZnJlZScpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1mcmVlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWZyZWUtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZnJlZS1zaGlwcGluZycpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWZyZWUtc2hpcHBpbmctY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAncG9wdWxhcicpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1wb3B1bGFyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLXBvcHVsYXItY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGlzY291bnQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGlzY291bnQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGlzY291bnQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAncmVjZW50bHktYm91Z2h0Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1yZWNlbnRseS1ib3VnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGFpbHlkZWFsJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRhaWx5ZGVhbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGFpbHlkZWFsLXBkcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3RvcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS10b3AtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tdG9wLWNvbG9yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUtaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBiYWRnZV9zcGFuKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4taG9vaygkdHlwZSk7XG59XG5cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLmNzLWJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy10b3A6IDEuM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY3MtYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEuOTVlbSAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMC44ZW07XG4gICAgICBjb250ZW50OiBcIuKBhFwiO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1icmVhZGNydW1ic19fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtYnJlYWRjcnVtYnNfX3NlcGFyYXRvci1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDAuNWVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMC44ZW07XG4gICAgaGVpZ2h0OiAwLjhlbTtcbiAgICBmaWxsOiAjMmQzZTUwOyB9XG5cbi5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9IH1cbiIsIi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jdXN0b20tc2hvdzogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19UaGVtZSxcbiAgICBicmVhZGNydW1icyxcbiAgICBjdXN0b21fc2VwYXJhdG9yLFxuICAgIGRpc3BsYXlcbikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4kYnJlYWRjcnVtYnNfYmFja2dyb3VuZDogJGJyZWFkY3J1bWJzX2JhY2tncm91bmQtY29sb3I7XG5cbiRicmVhZGNydW1ic19pdGVtLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuJGJyZWFkY3J1bWJzX2l0ZW0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19pdGVtLXZpc2l0ZWQtY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2xhc3QtaXRlbS1jb2xvcjogIzc3NztcblxuJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbnRlbnQ6ICdcXDIwNDQnICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfdmVydGljYWwtc3BhY2U6IDEuM3JlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWJyZWFkY3J1bWJzIHtcbiAgICAkcm9vdDogJjtcbiAgICBwYWRkaW5nLXRvcDogJGJyZWFkY3J1bWJzX3ZlcnRpY2FsLXNwYWNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkYnJlYWRjcnVtYnNfdmVydGljYWwtc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMS45NWVtIDAgMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6ICRicmVhZGNydW1ic19pdGVtLWZvbnQtc2l6ZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfbGFzdC1pdGVtLWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuOGVtO1xuICAgICAgICAgICAgY29udGVudDogJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb250ZW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jdXN0b20tc2hvdykge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWNvbG9yO1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tdmlzaXRlZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VwYXJhdG9yLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMC41ZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDAuOGVtO1xuICAgICAgICBoZWlnaHQ6IDAuOGVtO1xuICAgICAgICBmaWxsOiAkYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbG9yO1xuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tYnJlYWRjcnVtYnMge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyZWFkY3J1bWJzX2JhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLWJ1dHRvbjpob3ZlciwgLmNzLWJ1dHRvbjpmb2N1cywgLmNzLWJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAuY3MtYnV0dG9uOmJlZm9yZSwgLmNzLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLmNzLWJ1dHRvbjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgLmNzLWJ1dHRvbjphZnRlciB7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuY3MtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAuY3MtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbiwgLmNzLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1idXR0b24gKiwgLmNzLWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAuY3MtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1idXR0b25fX3NwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5jcy1idXR0b25fX2ljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuXG4uY3MtYnV0dG9uLWNvbXBvbmVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICBtYXJnaW46IDAgMCAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyLCAuY3MtYnV0dG9uLWNvbXBvbmVudDpmb2N1cywgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YmVmb3JlLCAuY3MtYnV0dG9uLWNvbXBvbmVudDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjMmQzZTUwIDAlLCAjMmQzZTUwIDEwMCUpOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmFmdGVyIHtcbiAgICB3aWR0aDogMDtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBsaW5lYXI7XG4gICAgei1pbmRleDogLTI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50LCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1idXR0b24tY29tcG9uZW50ICosIC5jcy1idXR0b24tY29tcG9uZW50OnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uLWNvbXBvbmVudDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV0dG9uLWNvbXBvbmVudDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWJ1dHRvbi1jb21wb25lbnQge1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50LS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX2ljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fYW1vdW50OmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19hbW91bnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRidXR0b24tZmFsbGJhY2tfdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRidXR0b24tY29tcG9uZW50X3R5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGJ1dHRvbi1jb21wb25lbnRfaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtcG9zaXRpb246IDUwJSAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtdHJhbnNsYXRpb246IHRyYW5zbGF0ZVgoLTUwJSkgIWRlZmF1bHQ7XG5cbi4jeyRuc31idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRidXR0b24tZmFsbGJhY2tfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgKTtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWZhbGxiYWNrX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tZmFsbGJhY2tfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1dHRvbi1mYWxsYmFja190eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uI3skbnN9YnV0dG9uLWNvbXBvbmVudCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAkdHlwZTogJGJ1dHRvbi1jb21wb25lbnRfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICk7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAkYnV0dG9uLWNvbXBvbmVudF9ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogJGJ1dHRvbi1jb21wb25lbnRfaG9yaXpvbnRhbC10cmFuc2xhdGlvbjtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2Ftb3VudCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQG1peGluIGNvbXBvbmVudC1zcGFjaW5nKCRtYXJnaW5zLWNvbmZpZzogJGNvbXBvbmVudC1zcGFjaW5nLWNvbmZpZ3VyYXRpb24pIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcmdpbnMtY29uZmlnLCBkZWZhdWx0KSB7XG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkbWFyZ2lucy1jb25maWcsIGRlZmF1bHQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBEZWZhdWx0IGNvbXBvbmVudCBtYXJnaW4gdmFsdWVcbiAgICAgICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICB9XG5cbiAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcmdpbnMtY29uZmlnLCByZXNwb25zaXZlKSB7XG4gICAgICAgIC8vIEFkZGluZyBtYXJnaW4gcnVsZXMgZm9yIGVhY2ggcGFzc2VkIGJyZWFrcG9pbnRcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRtYXJnaW4gaW4gbWFwLWdldCgkbWFyZ2lucy1jb25maWcsIHJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JGJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkbWFyZ2luO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2tpcC1zcGFjaW5nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLmNzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuY3MtY29udGFpbmVyX19pbm5lciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgbWF4LXdpZHRoOiAxMTRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXI6YmVmb3JlLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9faW5uZXI6YWZ0ZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMiU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjclOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uLS1zcGFjZS10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tbm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNzLWNvbnRhaW5lci0tb250b3Age1xuICAgIHotaW5kZXg6IDMwMTsgfVxuICAuY3MtY29udGFpbmVyLS12aWV3cG9ydC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5jcy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIG1heC13aWR0aDogMTE0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czpiZWZvcmUsIC5jcy1jb250YWluZXJfX2lubmVyOmFmdGVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMyJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMwJTsgfSB9XG4gIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogNTYlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NyU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbi0tc3BhY2UtdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwOyB9IH1cbiAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2NhcnQtY291cG9ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1jb250YWluZXItLXRvcC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMsXG4gICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci13aW5kb3ctd2lkdGgsIC5jcy1jb250YWluZXItLXN0b3JlLWxvY2F0b3Ige1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWdyaWQtdGVhc2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1jb250YWluZXItLWhlcm8tdGVhc2VyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLW5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGRwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tdXNwcyAuY3MtY29udGFpbmVyLS1oZWFkbGluZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLW15LWFjY291bnQtcGFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tb250b3Age1xuICAgIHotaW5kZXg6IDMwMTsgfVxuICAuY3MtY29udGFpbmVyLS12aWV3cG9ydC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZGV0YWlscy1hd19wcV9hamF4X2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jYXJ0LXBhZ2UgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNtcy10ZWFzZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5jcy1jb250YWluZXItLWZvb3Rlci11c3BzIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmNzLWNvb2tpZS1tZXNzYWdlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMS4ycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGZvbnQtc2l6ZTogODUlO1xuICB6LWluZGV4OiA5ODtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMTAlLCAwKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMThzIGxpbmVhcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlLS1zaG93biB7XG4gICAgei1pbmRleDogMjAyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA4cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9faW5uZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24td3JhcHBlciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24tc2VsZjogdW5zZXQ7IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgLmJsb2NrLWNtcy1saW5rLndpZGdldCxcbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYSwgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOmhvdmVyLCAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTpmb2N1cywgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6YWN0aXZlLCAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTp2aXNpdGVkOmhvdmVyLCAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAuNXJlbTtcbiAgICB3aWR0aDogNS41cmVtO1xuICAgIGhlaWdodDogNS41cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2ljb24ge1xuICAgICAgICB0b3A6IC0zLjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmhvdmVyLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpmb2N1cywgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmJlZm9yZSwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICByaWdodDogLTFweDsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjMmQzZTUwIDAlLCAjMmQzZTUwIDEwMCUpOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YWZ0ZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbiwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbiAqLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGNvb2tpZS1tZXNzYWdlX2JhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9mb250LXNpemU6IDg1JSAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9mb250LWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfbGluay1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3ItLWhvdmVyOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG5cbiRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludDogJ3RhYmxldCcgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1hbGlnbjogZmxleC1zdGFydCAhZGVmYXVsdDtcblxuLiN7JG5zfWNvb2tpZS1tZXNzYWdlIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29va2llLW1lc3NhZ2VfYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGNvb2tpZS1tZXNzYWdlX2ZvbnQtY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgZm9udC1zaXplOiAkY29va2llLW1lc3NhZ2VfZm9udC1zaXplO1xuICAgIHotaW5kZXg6IDk4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTEwJSwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xOHMgbGluZWFyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICBib3R0b206ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2hvd24ge1xuICAgICAgICB6LWluZGV4OiAyMDI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50fScpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24td3JhcHBlciB7XG4gICAgICAgIGFsaWduLXNlbGY6ICRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWFsaWduO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuYmxvY2stY21zLWxpbmsud2lkZ2V0LFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLFxuICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3ItLWhvdmVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgICB3aWR0aDogNS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgdG9wOiAtMy41cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY29va2llLW1lc3NhZ2VfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLmNzLWRpc3BsYXktY29udHJvbGxlci0taGlkZGVuLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jcy1kaXNwbGF5LWNvbnRyb2xsZXItLWhpZGRlbi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLiN7JG5zfWRpc3BsYXktY29udHJvbGxlciB7XG4gICAgJi0taGlkZGVuLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGRlbi1kZXNrdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtZHJvcGRvd24tc3dpdGNoZXIge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7IH1cbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAxLjNyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXItLXN0b3JlczpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fb3B0aW9uLWljb24ge1xuICAgIG1pbi13aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyLS1sYW5ndWFnZSAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX29wdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyIC5zd2l0Y2hlci1vcHRpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIge1xuICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkY2RjZGMgc29saWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCByaWdodCAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogM3JlbTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDIuNXJlbTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmU6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjFyZW07XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogMC41cmVtOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH0gfVxuICAgIC5hY3RpdmUgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAuYWN0aXZlIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlciB7XG4gICAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOyB9IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXItc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1yaWdodDogLjNyZW07IH1cbiAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBtaW4td2lkdGg6IDEwOCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cmVtO1xuICAgICAgICByaWdodDogMHJlbTsgfSB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0IC5jcy1kcm9wZG93bi1zd2l0Y2hlci0tY3VycmVuY3kge1xuICAgICAgcmlnaHQ6IC0xcmVtOyB9XG4gICAgLmFjdGl2ZSAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluazpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAyLjhyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07IH0gfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBwc2V1ZG9pY29uX2JlZm9yZS1ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBwc2V1ZG9pY29uX2FmdGVyLWhvb2soJHR5cGUpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLWJvdHRvbS1ib3JkZXI6IDFweCAkY29sb3JfYm9yZGVyLTUwMCBzb2xpZCAhZGVmYXVsdDtcblxuLy8gT2ZmY2FudmFzIHRyaWdnZXIgb3B0aW9uc1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0taG92ZXI6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0tYWN0aXZlOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1kZWZhdWx0OiAnZG93bicgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctYWN0aXZlOiAndXAnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXdpZHRoOiAwLjdyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItaGVpZ2h0OiAwLjFyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctb2Zmc2V0OiAzcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIERyb3Bkb3duIHRyaWdnZXIgb3B0aW9uc1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC04MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvci0taG92ZXI6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3ItLWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctZGVmYXVsdDogJ2Rvd24nICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctYWN0aXZlOiAndXAnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItd2lkdGg6IDAuN3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWhlaWdodDogMC4xcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctb2Zmc2V0OiAwLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1wb3NpdGlvbi1zaWRlLW9mZnNldDogMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYm9yZGVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWl0ZW0tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2hvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX3RvcGJhci1zZXBhcmF0b3ItYm9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yX2JvcmRlci0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDogMi41cmVtO1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctaGVpZ2h0OiAyLjVyZW07XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtcHJpbWFyeTogMS4zcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk6IDEuM3JlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWRyb3Bkb3duLXN3aXRjaGVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblx0anVzdGlmeS1jb250ZW50OiBlbmQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMS4zcmVtO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGRyb3Bkb3duLXN3aXRjaGVyX3RvcGJhci1zZXBhcmF0b3ItYm9yZGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdG9yZXMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbiB7XG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgI3skcm9vdH0tLWxhbmd1YWdlICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2l0Y2hlci1vcHRpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RyaWdnZXIge1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXByaW1hcnk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtYm90dG9tLWJvcmRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpZiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItZW5hYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItdHlwZSxcbiAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWRlZmF1bHQsXG4gICAgICAgICAgICAgICAgJGFycm93LWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAkd2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci13aWR0aCxcbiAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItaGVpZ2h0LFxuICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OlxuICAgICAgICAgICAgICAgICAgICAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3IsXG4gICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICRjb2xvci1leHBhbmRlZDpcbiAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1hY3RpdmUsXG4gICAgICAgICAgICAgICAgJGFjdGl2ZS1zZWxlY3RvcjogJyYuYWN0aXZlJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICBAaWYgJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItZW5hYmxlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctYWN0aXZlOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICR3aWR0aDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LW9mZnNldDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1wb3NpdGlvbi1zaWRlLW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXItdHJpZ2dlci1jb2xvci0taG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1leHBhbmRlZDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3ItLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZS1zZWxlY3RvcjogJyYuYWN0aXZlJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLXN3aXRjaGVyX2JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdCAgICBtYXJnaW4tcmlnaHQ6IC4zcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDglO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDByZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tY3VycmVuY3kge1xuICAgICAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWl0ZW0tbGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1pdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX2hvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjRyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMi44cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vaG9vayc7XG5cbiRwc2V1ZG9pY29uLXR5cGU6ICdwbHVzJyAhZGVmYXVsdDsgLy8gcGx1cyAoZGVmYXVsdCkgb3IgYXJyb3dcbi8vIEFuaW1hdGlvbiBmb3IgYXJyb3dzIHdvcmtzIG9ubHkgaWYgZGVmYXVsdCBhbmQgYWN0aXZlIGRpcmVjdGlvbiBhcmUgb3Bwb3NpdGVcbiRwc2V1ZG9pY29uLWFuaW1hdGU6IHRydWUgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1hbmltYXRpb24tdGltZTogMC4xNXMgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1ob3Zlci1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1leHBhbmRlZC1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi13aWR0aDogMS4ycmVtICFkZWZhdWx0O1xuJHBzZXVkb2ljb24taGVpZ2h0OiAwLjJyZW0gIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1wb3NpdGlvbi1zaWRlLW9mZnNldDogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbi8vIEFkZGl0aW9uYWwgc2V0dGluZ3MgZm9yIGFycm93c1xuJHBzZXVkb2ljb24tYXJyb3ctZGVmYXVsdC1kaXJlY3Rpb246ICd1cCcgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1hcnJvdy1hY3RpdmUtZGlyZWN0aW9uOiAnZG93bicgIWRlZmF1bHQ7XG4vLyBJbiBzb21lIGNhc2VzIChpdCBkZXBlbmRzIG9uICRwc2V1ZG9pY29uLXdpZHRoL2hlaWdodCB2YWx1ZSksIHdlIG5lZWQgdG8gZml4IG9mZnNldCBmb3IgbGVmdCBwYXJ0IG9mIGljb25cbiRwc2V1ZG9pY29uLWFycm93LWxlZnQtb2Zmc2V0OiBjYWxjKFxuICAgICN7JHBzZXVkb2ljb24tcG9zaXRpb24tc2lkZS1vZmZzZXR9ICsgI3skcHNldWRvaWNvbi13aWR0aH0gLSAjezIgKlxuICAgICAgICAkcHNldWRvaWNvbi1oZWlnaHR9XG4pICFkZWZhdWx0O1xuXG4kcHNldWRvaWNvbi1hY3RpdmUtc2VsZWN0b3I6ICcmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdJyAhZGVmYXVsdDtcblxuQG1peGluIHBzZXVkb2ljb24oXG4gICAgJHR5cGU6ICRwc2V1ZG9pY29uLXR5cGUsXG4gICAgJGFuaW1hdGVkOiAkcHNldWRvaWNvbi1hbmltYXRlLFxuICAgICRhbmltYXRpb24tdGltZTogJHBzZXVkb2ljb24tYW5pbWF0aW9uLXRpbWUsXG4gICAgJGNvbG9yOiAkcHNldWRvaWNvbi1jb2xvcixcbiAgICAkY29sb3ItaG92ZXI6ICRwc2V1ZG9pY29uLWhvdmVyLWNvbG9yLFxuICAgICRjb2xvci1leHBhbmRlZDogJHBzZXVkb2ljb24tZXhwYW5kZWQtY29sb3IsXG4gICAgJHdpZHRoOiAkcHNldWRvaWNvbi13aWR0aCxcbiAgICAkaGVpZ2h0OiAkcHNldWRvaWNvbi1oZWlnaHQsXG4gICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAkcHNldWRvaWNvbi1wb3NpdGlvbi1zaWRlLW9mZnNldCxcbiAgICAkYXJyb3ctZGVmYXVsdDogJHBzZXVkb2ljb24tYXJyb3ctZGVmYXVsdC1kaXJlY3Rpb24sXG4gICAgJGFycm93LWFjdGl2ZTogJHBzZXVkb2ljb24tYXJyb3ctYWN0aXZlLWRpcmVjdGlvbixcbiAgICAkYXJyb3ctb2Zmc2V0OiAkcHNldWRvaWNvbi1hcnJvdy1sZWZ0LW9mZnNldCxcbiAgICAkYWN0aXZlLXNlbGVjdG9yOiAkcHNldWRvaWNvbi1hY3RpdmUtc2VsZWN0b3Jcbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgQGlmICgkYW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2Fycm93Jykge1xuICAgICAgICAgICAgICAgIEBpZiAoKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIGFuZCAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpKSBvclxuICAgICAgICAgICAgICAgICAgICAoKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykgYW5kICgkYXJyb3ctYWN0aXZlID09ICd1cCcpKSBvclxuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICApIG9yXG4gICAgICAgICAgICAgICAgICAgICgoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0JykgYW5kICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0JykpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGFuaW1hdGlvbi10aW1lIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0ICRhbmltYXRpb24tdGltZSBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gKDIgKiAkYW5pbWF0aW9uLXRpbWUpIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICRhbmltYXRpb24tdGltZSBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoJGNvbG9yLWhvdmVyICE9ICRjb2xvcikge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBAaWYgKCRjb2xvci1ob3ZlciAhPSAkY29sb3IpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICN7JGFjdGl2ZS1zZWxlY3Rvcn0ge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCRjb2xvci1leHBhbmRlZCAhPSAkY29sb3IpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZXhwYW5kZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdhcnJvdycpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgNTAlLCAwKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JGFjdGl2ZS1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRhY3RpdmUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbl9iZWZvcmUtaG9vaygkdHlwZSk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb25fYWZ0ZXItaG9vaygkdHlwZSk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5jcy1maWVsZCxcbi5jcy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZmllbGRfX2NvbnRyb2wsXG4gIC5jcy1pbnB1dF9fY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWZpZWxkX19sYWJlbCxcbiAgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5yZXF1aXJlZCAuY3MtZmllbGRfX2xhYmVsOmFmdGVyLCAucmVxdWlyZWRcbiAgICAuY3MtaW5wdXRfX2xhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAuY3MtZmllbGRfX2lucHV0LCAuY3MtZmllbGRfX3RleHRhcmVhLFxuICAuY3MtaW5wdXRfX2lucHV0LFxuICAuY3MtaW5wdXRfX3RleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3RleHRhcmVhOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX190ZXh0YXJlYTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYTpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlciwgLmNzLWZpZWxkX190ZXh0YXJlYTo6cGxhY2Vob2xkZXIsXG4gICAgLmNzLWlucHV0X19pbnB1dDo6cGxhY2Vob2xkZXIsXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dFtkaXNhYmxlZF0sIC5jcy1maWVsZF9fdGV4dGFyZWFbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9faW5wdXRbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWFbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtZmllbGRfX2lucHV0Lm1hZ2UtZXJyb3IsIC5jcy1maWVsZF9faW5wdXQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSwgLmNzLWZpZWxkX190ZXh0YXJlYS5tYWdlLWVycm9yLCAuY3MtZmllbGRfX3RleHRhcmVhLm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X19pbnB1dC5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9faW5wdXQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSxcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhLm1hZ2UtZXJyb3IsXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYS5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDFmMTI7IH1cbiAgLmNzLWZpZWxkX19zZWxlY3QsXG4gIC5jcy1pbnB1dF9fc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuY3MtZmllbGRfX3NlbGVjdDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDotbW96LWZvY3VzcmluZyxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyMzJkM2U1MCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3RbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3Qgb3B0aW9uLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gIC5jcy1maWVsZF9fcmFkaW8sXG4gIC5jcy1pbnB1dF9fcmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIG1hcmdpbjogLTAuMDYyNWVtIGNhbGMoMC41ZW0gKyAxcHgpIDAgMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86Oi1tb3otZm9jdXMtaW5uZXIsIC5jcy1maWVsZF9fcmFkaW86LW1vei1mb2N1c3JpbmcsXG4gICAgLmNzLWlucHV0X19yYWRpbzo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtaW5wdXRfX3JhZGlvOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3JhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyMzJkM2U1MCcgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQsIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZDpob3ZlciwgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkOmhvdmVyLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSxcbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0sXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmNzLWZpZWxkX19jaGVja2JveCxcbiAgLmNzLWlucHV0X19jaGVja2JveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxZW07XG4gICAgbWFyZ2luOiAtMC4wNjI1ZW0gY2FsYygwLjVlbSArIDFweCkgMCAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OjotbW96LWZvY3VzLWlubmVyLCAuY3MtZmllbGRfX2NoZWNrYm94Oi1tb3otZm9jdXNyaW5nLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX19jaGVja2JveDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjMyZDNlNTAnIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkLCAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6aG92ZXIsIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDpob3ZlcixcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveFtkaXNhYmxlZF0sXG4gICAgLmNzLWZpZWxkX19jaGVja2JveFtkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWZpZWxkX19jaGVja2JveFtkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3hbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjMyZDNlNTAnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94Lm1hZ2UtZXJyb3IsIC5jcy1maWVsZF9fY2hlY2tib3gubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94Lm1hZ2UtZXJyb3IsXG4gICAgLmNzLWlucHV0X19jaGVja2JveC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDFmMTI7IH1cbiAgLmNzLWZpZWxkX19pY29uLFxuICAuY3MtaW5wdXRfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMS4zZW07XG4gICAgaGVpZ2h0OiAxLjNlbTtcbiAgICByaWdodDogMC44ZW07XG4gICAgdG9wOiAwLjhlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1maWVsZF9fbm90ZSxcbiAgLmNzLWlucHV0X19ub3RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgLmNzLWZpZWxkX19lcnJvcixcbiAgLmNzLWlucHV0X19lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGNvbG9yOiAjZTQxZjEyOyB9XG5cbi5maWVsZCB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZmllbGQuX3N1Y2Nlc3M6bm90KC5fd2FybikgLmNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5maWVsZC5fc3VjY2Vzczpub3QoLl93YXJuKSAuY29udHJvbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMS4zZW07XG4gICAgICBoZWlnaHQ6IDEuM2VtO1xuICAgICAgcmlnaHQ6IDAuOGVtO1xuICAgICAgdG9wOiAwLjhlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY2hlY2stZ3JlZW4uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAuZmllbGQgLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWEge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWE6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYTpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogIzg4ODsgfVxuICAgICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWFbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuZmllbGQgLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5maWVsZC5yZXF1aXJlZCA+IC5sYWJlbDphZnRlciwgLmZpZWxkLl9yZXF1aXJlZCA+IC5sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJyAqJztcbiAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAuZmllbGQucmVxdWlyZWQgLl9yZXF1aXJlZCA+IC5sYWJlbDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmllbGQgLmlucHV0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLmlucHV0LXRleHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQubWFnZS1lcnJvciwgLmZpZWxkIC5pbnB1dC10ZXh0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U0MWYxMjsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dC5yZXF1aXJlZC1lbnRyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5maWVsZCAuc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5maWVsZCAuc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuZmllbGQgLnNlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGQgLnNlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjMyZDNlNTAnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgIC5maWVsZCAuc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkIC5zZWxlY3Qgb3B0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IGluaXRpYWw7IH1cbiAgLmZpZWxkIC5jaGVja2JveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxZW07XG4gICAgbWFyZ2luOiAtMC4wNjI1ZW0gY2FsYygwLjVlbSArIDFweCkgMCAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OjotbW96LWZvY3VzLWlubmVyLCAuZmllbGQgLmNoZWNrYm94Oi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLmNoZWNrYm94OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzMmQzZTUwJyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZCwgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOmhvdmVyLCAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZCAuY2hlY2tib3hbZGlzYWJsZWRdLFxuICAgIC5maWVsZCAuY2hlY2tib3hbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5maWVsZCAuY2hlY2tib3hbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyUyMzJkM2U1MCcgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgIC5maWVsZCAuY2hlY2tib3gubWFnZS1lcnJvciwgLmZpZWxkIC5jaGVja2JveC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDFmMTI7IH1cbiAgLmZpZWxkIC5yYWRpbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxZW07XG4gICAgbWFyZ2luOiAtMC4wNjI1ZW0gY2FsYygwLjVlbSArIDFweCkgMCAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzOyB9XG4gICAgLmZpZWxkIC5yYWRpbzo6LW1vei1mb2N1cy1pbm5lciwgLmZpZWxkIC5yYWRpbzotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGQgLnJhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5yYWRpbzpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5maWVsZCAucmFkaW86Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyMzJkM2U1MCcgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuZmllbGQgLnJhZGlvOmNoZWNrZWQsIC5maWVsZCAucmFkaW86Y2hlY2tlZDpob3ZlciwgLmZpZWxkIC5yYWRpbzpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZmllbGQgLnJhZGlvW2Rpc2FibGVkXSxcbiAgICAuZmllbGQgLnJhZGlvW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuZmllbGQgLnJhZGlvW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6LW1vei1mb2N1c3JpbmcsIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyMzJkM2U1MCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Qgb3B0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IGluaXRpYWw7IH1cbiAgLmZpZWxkLmZpZWxkLWRvYiBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgaW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQuZmllbGQtZG9iIGlucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGlucHV0Lm1hZ2UtZXJyb3IsIC5maWVsZC5maWVsZC1kb2IgaW5wdXQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOjpiZWZvcmUsIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgLmZpZWxkLmZpZWxkLWRvYiBidXR0b24gKiwgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5maWVsZC5fZXJyb3IgLmlucHV0LXRleHQsIC5maWVsZC5fZXJyb3IgLmlucHV0LXRleHQ6aG92ZXI6bm90KDpmb2N1cyksXG4gIC5maWVsZC5fZXJyb3IgLmNoZWNrYm94LFxuICAuZmllbGQuX2Vycm9yIC5jaGVja2JveDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U0MWYxMjsgfVxuICAuZmllbGQgLmNvbnRyb2wuX3dpdGgtdG9vbHRpcCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5maWVsZCAuZmllbGQtdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAubGFiZWwsXG4gICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWFjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWVsZCAubm90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG5cbmRpdi5tYWdlLWVycm9yLFxuZGl2LmZpZWxkLWVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBjb2xvcjogI2U0MWYxMjsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGZpZWxkLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvci1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsLXJlcXVpcmVkLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1jb250cm9sLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtZXJyb3ItaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWljb24taG9vaygkdHlwZTogJycpIHtcbn1cblxuQG1peGluIGZpZWxkLW5vdGUtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWVycm9yLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC13YXJuaW5nLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1zZWxlY3QtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1sYWJlbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtY2hlY2tib3gtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWxhYmVsLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1kb2ItaG9vaygpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvdXJpLWZyaWVuZGx5LWhleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL2hvb2snO1xuXG4kZmllbGRfZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZmllbGRfdHJhbnNpdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuXG4kZmllbGRfbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRmaWVsZF9sYWJlbC1mb250LXNpemU6IDAuODVlbSAhZGVmYXVsdDtcbiRmaWVsZF9sYWJlbC1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRmaWVsZF9sYWJlbC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcblxuJGZpZWxkX2lucHV0LWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0OiAkYnV0dG9uX2xpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LXBhZGRpbmc6ICRidXR0b25fcGFkZGluZyAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXItYWN0aXZlOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3gtc2hhZG93LWFjdGl2ZTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAwLjY1ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9lcnJvci1mb250LXNpemU6ICRmaWVsZF9sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmllbGRfZXJyb3ItaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX25vdGUtZm9udC1zaXplOiAkZmllbGRfbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX25vdGUtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX2Vycm9yLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuXG4kZmllbGRfd2FybmluZy1jb2xvcjogJGNvbG9yX3dhcm5pbmctNTAwICFkZWZhdWx0O1xuLy8gQmFzZWQgb24gaHR0cHM6Ly93d3cuZmlsYW1lbnRncm91cC5jb20vbGFiL3NlbGVjdC1jc3MuaHRtbFxuJGZpZWxkX3NlbGVjdC1mb250LXNpemU6ICRmaWVsZF9pbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0OiAkZmllbGRfaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LXBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyLjNlbSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhlbSB0b3AgNTIlLCAwIDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJSAhZGVmYXVsdDtcblxuLy8gTm90ZSB0aGF0IHNlbGVjdCBiYWNrZ3JvdW5kIG5lZWRzIHRvIGJlIGRlZmluZWQgYXMgYmFja2dyb3VuZC1pbWFnZSB0byBwcmV2ZW50XG4vLyBvcHRpb24gZWxlbWVudHMgZnJvbSBpbmhlcml0aW5nIGl0IG9uIHNvbWUgYnJvd3NlcnMuXG4kZmllbGRfc2VsZWN0LWljb24tZmlsbDogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWljb24tZmlsbC1hY3RpdmU6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfc2VsZWN0LWljb24tZmlsbCl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1hY3RpdmU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwtYWN0aXZlKX0nJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpICFkZWZhdWx0O1xuXG4kZmllbGRfc2VsZWN0LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3JkZXItYWN0aXZlOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93LWFjdGl2ZTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX2lucHV0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWRpc2FibGVkLW9wYWNpdHk6ICRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuJGZpZWxkX3JhZGlvLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLXNpemU6IDFlbSAhZGVmYXVsdDtcbi8vIExldHMgeW91IGFkanVzdCBib3RoIHJhZGlvIGFuZCBjaGVja2JveCBhbGlnbm1lbnQgYmFzZWQgb24gZm9udCB5b3UndmUgY2hvc2VuLlxuJGZpZWxkX3JhZGlvLW9mZnNldDogLTAuMDYyNWVtICFkZWZhdWx0O1xuLy8gQWxpZ25pbmcgYW55dGhpbmcgdGhhdCBjb21lcyBhZnRlciB3aXRoIGlucHV0IHBhZGRpbmdzLCB0aGlzIDFweCBzdGFuZHMgZm9yIGlucHV0J3MgYm9yZGVyIHdpZHRoLlxuJGZpZWxkX3JhZGlvLW1hcmdpbjogJGZpZWxkX3JhZGlvLW9mZnNldFxuICAgIGNhbGMoI3sxLjVlbSAtICRmaWVsZC1yYWRpby1zaXplfSArIDFweCkgMCAwICFkZWZhdWx0O1xuXG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWNoZWNrZWQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWljb24tZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3JhZGlvLWljb24tZmlsbCl9JyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbiRmaWVsZF9yYWRpby1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3JkZXItYWN0aXZlOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnktODAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJvcmRlci1jaGVja2VkOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdy1jaGVja2VkOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWRpc2FibGVkLW9wYWNpdHk6ICRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZmllbGRfY2hlY2tib3gtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW0gIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtaWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX2NoZWNrYm94LWljb24tZmlsbCl9JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZmllbGRfaWNvbi13aWR0aDogMS4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfaWNvbi1oZWlnaHQ6IDEuM2VtICFkZWZhdWx0O1xuJGZpZWxkX2ljb24tc3VjY2Vzcy1iYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jaGVjay1ncmVlbi5zdmcnKSBuby1yZXBlYXRcbiAgICBjZW50ZXIgY2VudGVyIC8gY29udGFpbiAhZGVmYXVsdDtcblxuJGZpZWxkX2RvYi1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kZmllbGRfZG9iLWJ1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGQoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfZm9udC1zaXplO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvcigpIHtcbiAgICBmb250LXNpemU6ICRmaWVsZF9lcnJvci1mb250LXNpemU7XG4gICAgY29sb3I6ICRjb2xvcl9lcnJvci01MDA7XG4gICAgbWFyZ2luLXRvcDogMC4yZW07XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1lcnJvci1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbCgpIHtcbiAgICBmb250LXdlaWdodDogJGZpZWxkX2xhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGZpZWxkX2xhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgIGNvbG9yOiAkZmllbGRfbGFiZWwtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbC1yZXF1aXJlZCgpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAqJztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9lcnJvci01MDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtcmVxdWlyZWQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtY29udHJvbCgpIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWNvbnRyb2wtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfaW5wdXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmllbGRfaW5wdXQtbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGZpZWxkX2lucHV0LXBhZGRpbmc7XG4gICAgY29sb3I6ICRmaWVsZF9pbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkZmllbGRfaW5wdXQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXI6ICRmaWVsZF9pbnB1dC1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogJGZpZWxkX2lucHV0LWJveC1zaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07IC8vIEFkZCBzcGFjaW5nIHVuZGVyIGxhYmVsLiBUaGlzIGNhbid0IGJlIGFkZGVkIHRvIGxhYmVsIGl0c2VsZiBiZWNhdXNlIHRoZXkgYXJlIHNvbWV0aW1lcyByZW5kZXJlZCBlbXB0eS5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyAvLyBSZW1vdmVzIGRyb3Agc2hhZG93IGZyb20gaW5wdXRzIG9uIGlPUy5cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX2lucHV0LWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfaW5wdXQtYm94LXNoYWRvdy1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiAkZmllbGRfaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAkZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dC1lcnJvcigpIHtcbiAgICAmLFxuICAgICY6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgICBib3JkZXI6ICRmaWVsZF9lcnJvci1pbnB1dC1ib3JkZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaWNvbigkdHlwZTogJycpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6ICRmaWVsZF9pY29uLXdpZHRoO1xuICAgIGhlaWdodDogJGZpZWxkX2ljb24taGVpZ2h0O1xuICAgIHJpZ2h0OiAwLjhlbTtcbiAgICB0b3A6IDAuOGVtO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZmllbGRfaWNvbi1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaWNvbi1ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIGZpZWxkLW5vdGUoKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZmllbGRfbm90ZS1mb250LXNpemU7XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAkZmllbGRfbm90ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3IoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuXG4gICAgY29sb3I6ICRmaWVsZF9lcnJvci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXdhcm5pbmcoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuXG4gICAgY29sb3I6ICRmaWVsZF93YXJuaW5nLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtd2FybmluZy1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1zZWxlY3QoKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZmllbGRfc2VsZWN0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZmllbGRfc2VsZWN0LXBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGZpZWxkX3NlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIGNvbG9yOiAkZmllbGRfc2VsZWN0LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmaWVsZF9zZWxlY3QtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXI6ICRmaWVsZF9zZWxlY3QtYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07IC8vIEFkZCBzcGFjaW5nIHVuZGVyIGxhYmVsLiBUaGlzIGNhbid0IGJlIGFkZGVkIHRvIGxhYmVsIGl0c2VsZiBiZWNhdXNlIHRoZXkgYXJlIHNvbWV0aW1lcyByZW5kZXJlZCBlbXB0eS5cbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXBvc2l0aW9uO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgJjotbW96LWZvY3VzcmluZyxcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfc2VsZWN0LWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfc2VsZWN0LWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX3NlbGVjdC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cblxuICAgIG9wdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1sYWJlbCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpbygpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZmllbGRfcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZpZWxkX3JhZGlvLXNpemU7XG4gICAgbWFyZ2luOiAkZmllbGRfcmFkaW8tbWFyZ2luO1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX3JhZGlvLWZvbnQtc2l6ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgLy8gUHJldmVudCBmbGV4IHBhcmVudCBmcm9tIGJyZWFraW5nIGRpbWVuc2lvbnMuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLXNpemU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcblxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdy1hY3RpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyLWNoZWNrZWQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1jaGVja2VkO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctY2hlY2tlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICZbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgICZbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICAgIG9wYWNpdHk6ICRmaWVsZF9yYWRpby1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcblxuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWxhYmVsKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWxhYmVsLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94KCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvKCk7XG5cbiAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfY2hlY2tib3gtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLXNpemU7XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWRvYigpIHtcbiAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGZpZWxkX2RvYi1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGZpZWxkX2RvYi1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkZmllbGRfZG9iLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGZpZWxkX2RvYi1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1kb2ItaG9vaygpO1xufVxuIiwiQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblxuLy8gT3VyIEJFTSBjb21wb25lbnQuXG4uY3MtZmllbGQsXG4vLyBMZWZ0IGZvciBub3cgZm9yIGNvbXBhdGliaWxpdHkgc2FrZS5cbi5jcy1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZmllbGQoKTtcblxuICAgICZfX2NvbnRyb2wge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jb250cm9sKCk7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbCgpO1xuXG4gICAgICAgIC5yZXF1aXJlZCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnB1dCxcbiAgICAmX190ZXh0YXJlYSB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QoKTtcbiAgICB9XG5cbiAgICAmX19yYWRpbyB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvKCk7XG5cbiAgICAgICAgLy8gVG8gcmV3cml0ZSB0byBwcm9wZXIgc2NzcyBzeW50YXggYWZ0ZXIgZ2V0dGluZyByaWQgb2YgLmNzLWlucHV0IGNsYXNzXG4gICAgICAgICYgKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgICAgICAmICsgLmNzLWZpZWxkX19sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVG8gcmV3cml0ZSB0byBwcm9wZXIgc2NzcyBzeW50YXggYWZ0ZXIgZ2V0dGluZyByaWQgb2YgLmNzLWlucHV0IGNsYXNzXG4gICAgICAgICYgKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgICAgICAmICsgLmNzLWZpZWxkX19sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWljb24oKTtcbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuICAgIH1cblxuICAgICZfX2Vycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtZXJyb3IoKTtcbiAgICB9XG59XG4vLyBNYWdlbnRvIGNsYXNzZXMgdXNlZCBpbiBjaGVja291dCwgbG9naW4vcmVnaXN0ZXIgZm9ybXMgZXRjLlxuLmZpZWxkIHtcbiAgICBAaW5jbHVkZSBmaWVsZCgpO1xuXG4gICAgJi5fc3VjY2Vzczpub3QoLl93YXJuKSB7XG4gICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaWNvbignc3VjY2VzcycpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRyb2wge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jb250cm9sKCk7XG5cbiAgICAgICAgPiB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwoKTtcbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkLFxuICAgICYuX3JlcXVpcmVkIHtcbiAgICAgICAgPiAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtcmVxdWlyZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmVxdWlyZWQge1xuICAgICAgICAuX3JlcXVpcmVkIHtcbiAgICAgICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSGlkZSBhc3Rlcmlza3MgZm9yIGxhYmVscyBpbnNpZGUgZmllbGRzZXRzIGFzIHRoZXkgYXJlIHVzdWFsbHkgcmVuZGVyZWQgZW1wdHkuXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZXF1aXJlZC1lbnRyeSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgIH1cblxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmFkaW8ge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1yYWRpbygpO1xuXG4gICAgICAgICYgKyAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8tbGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY3VzdG9tZXItbmFtZS1wcmVmaXgge1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZpZWxkLWRvYiB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWRvYigpO1xuICAgIH1cblxuICAgICYuX2Vycm9yIHtcbiAgICAgICAgLmlucHV0LXRleHQsXG4gICAgICAgIC5jaGVja2JveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmV2ZXJ0aW5nIHN0eWxlcyBmb3IgaW5wdXQgd2l0aCB0b29sdGlwLlxuICAgIC5jb250cm9sLl93aXRoLXRvb2x0aXAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAvLyBSZXZlcnRpbmcgaW5mbyB0b29sdGlwIHN0eWxlcyB0byBtYWtlIGl0IGFwcGVhciBhcyBub3RlIGJlbG93IHRoZSBpbnB1dC5cbiAgICAuZmllbGQtdG9vbHRpcCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgLmxhYmVsLFxuICAgICAgICAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG4gICAgfVxufVxuLy8gSGFzIHRvIGJlIHNjb3BlZCB0byBkaXYsIG90aGVyd2lzZSBpdCBjb2xsaWRlcyB3aXRoIGlucHV0IGNsYXNzLlxuZGl2Lm1hZ2UtZXJyb3IsXG5kaXYuZmllbGQtZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yKCk7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qKlxuICogRm9vdGVyIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZW50b19UaGVtZS90ZW1wbGF0ZXMvZm9vdGVyL2NvbHVtbnMucGh0bWwgZm9yIHRlbXBsYXRlcy5cbiAqL1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG5AaW1wb3J0ICd+Q3JlYXRpdmVzaG9wL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5zY3NzJztcblxuJGZvb3Rlcl90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kZm9vdGVyX2JhY2tncm91bmQ6ICNmZmY7XG4kZm9vdGVyX2VkZ2UtZ3V0dGVyOiAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyOiAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi12ZXJ0aWNhbC1vZmZzZXQ6IDFlbTtcblxuJGZvb3Rlcl9zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZ3JheSAhZGVmYXVsdDtcblxuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWhlYWRsaW5lLWxldmVsOiAkZm9udC1zaXplX2hlYWRsaW5lLTQgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtcGFkZGluZzogJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldFxuJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyO1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1mb250LXNpemU6IDEuNmVtO1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tcHNldWRvaWNvbi1pbmNsdWRlOiBmYWxzZTtcblxuJGZvb3Rlcl9wcm9tby1kaXNwbGF5LW9uLW1vYmlsZTogZmFsc2UgIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28td2lkdGg6IDEzLjVlbSAhZGVmYXVsdDtcbiRmb290ZXJfbG9nby1oZWlnaHQ6IDIuM2VtICFkZWZhdWx0O1xuXG4uI3skbnN9Zm9vdGVyIHtcbiAgICAkcm9vdDogJjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogJGNvbG9yX2RvdmUtZ3JheTtcbiAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyX2JhY2tncm91bmQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDAgMnJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAkZm9vdGVyX2VkZ2UtZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcm9tbyB7XG4gICAgICAgICAgICBAaWYgJGZvb3Rlcl9wcm9tby1kaXNwbGF5LW9uLW1vYmlsZSA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbmtzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZXh0cmFzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDozMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEuM2VtOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV3c2xldHRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc29jaWFscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN0b3Jlcy1zd2l0Y2hlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1jbXMtbGluay53aWRnZXQge1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWN0aW9uLXRpdGxlLFxuICAgIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBAaWYgJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWhlYWRsaW5lLWxldmVsICE9ICdub25lJyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1oZWFkbGluZS1sZXZlbCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci10b3A6ICRmb290ZXJfc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtcGFkZGluZztcbiAgICAgICAgY29sb3I6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXRyYW5zZm9ybTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gJixcbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdICYge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpZiAkZm9vdGVyX3NlY3Rpb24tcHNldWRvaWNvbi1pbmNsdWRlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb24tLXNvY2lhbHMgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi1jb250ZW50LFxuICAgIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyICRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAmLFxuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Nob3AtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6ICRmb290ZXJfbG9nby1kaXNwbGF5O1xuICAgICAgICB3aWR0aDogJGZvb3Rlcl9sb2dvLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRmb290ZXJfbG9nby1oZWlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogJGZvb3Rlcl9sb2dvLXdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5mb290ZXJfdG9wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgLmNzLWZvb3Rlcl9fbG9nbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDotMjhweDtcbiAgICAgICAgICAgIGxlZnQ6Y2FsYyg1MCUgLSA5MHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB0b3A6LTE5cHg7XG4gICAgICAgICAgICAgICAgbGVmdDpjYWxjKDUwJSAtIDY1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWFpbF9pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvaWNvbnMvZS1tYWlsLnBuZycpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgfVxuICAgICAgICAudGVsZWZvbl9pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWFnZXMvaWNvbnMvdGVsZWZvbi5wbmcnKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlcl9ib3R0b20ge1xuICAgICAgICBwYWRkaW5nLXRvcDowcHg7XG4gICAgICAgIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci1sZWdhY3kge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDoxMDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tZm9vdGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOjRlbTtcbiAgICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHtcbiAgICAgICAgICAgIGg0Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowIDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEZvb3RlciBjb21wb25lbnQgY3VzdG9taXphdGlvbi5cbiAqIEBzZWUgL01hZ2VudG9fVGhlbWUvdGVtcGxhdGVzL2Zvb3Rlci9jb2x1bW5zLnBodG1sIGZvciB0ZW1wbGF0ZXMuXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBGb290ZXIgY29tcG9uZW50IGN1c3RvbWl6YXRpb24uXG4gKiBAc2VlIC9NYWdlbnRvX1RoZW1lL3RlbXBsYXRlcy9mb290ZXIvY29sdW1ucy5waHRtbCBmb3IgdGVtcGxhdGVzLlxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5jcy1mb290ZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXIge1xuICAgICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuICAuY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tbGlua3Mge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tbGlua3Mge1xuICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIGZsZXgtZ3JvdzogNTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgICBmbGV4LWdyb3c6IDI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24ge1xuICAgICAgZmxleDogMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciB7XG4gICAgICBmbGV4LWdyb3c6IDI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLXNvY2lhbHMge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc3RvcmVzLXN3aXRjaGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4ODg7XG4gICAgcGFkZGluZzogMmVtIDEuNXJlbTtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLXNvY2lhbHNcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvKiAxICovIH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgcGFkZGluZzogMCAxLjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLWNvbnRlbnQsXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2hvcC1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTMuNWVtO1xuICAgIGhlaWdodDogMi4zZW07XG4gICAgbWluLXdpZHRoOiAxMy41ZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuLmNzLWNvbnRhaW5lci0tZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5jcy1jb250YWluZXItLWZvb3Rlci11c3BzIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4uY3MtZm9vdGVyIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXIge1xuICAgICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuICAuY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLmNzLWZvb3Rlcl9fY29udGVudCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbSB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDEwMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMgcCB7XG4gICAgZm9udC1zaXplOiAxLjNlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24ge1xuICAgICAgZmxleDogMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciB7XG4gICAgICBmbGV4LWdyb3c6IDI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLXNvY2lhbHMge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc3RvcmVzLXN3aXRjaGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2VjdGlvbiAuYmxvY2stY21zLWxpbmsud2lkZ2V0IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4ODg7XG4gICAgcGFkZGluZzogMWVtIDEuNXJlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOHJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddLFxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLXNvY2lhbHNcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvKiAxICovIH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgcGFkZGluZzogMCAxLjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLWNvbnRlbnQsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSxcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5jcy1mb290ZXJfX3Nob3AtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEzLjVlbTtcbiAgICBoZWlnaHQ6IDIuM2VtO1xuICAgIG1pbi13aWR0aDogMTMuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1mb290ZXIgLmZvb3Rlcl90b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmNzLWZvb3RlciAuZm9vdGVyX3RvcCAuY3MtZm9vdGVyX19sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTI4cHg7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDkwcHgpOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtZm9vdGVyIC5mb290ZXJfdG9wIC5jcy1mb290ZXJfX2xvZ28ge1xuICAgICAgICAgIHRvcDogLTE5cHg7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA2NXB4KTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXIgLmZvb3Rlcl90b3AgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgLmNzLWZvb3RlciAuZm9vdGVyX3RvcCAubWFpbF9pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9lLW1haWwucG5nXCIpO1xuICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogMTRweDsgfVxuICAgIC5jcy1mb290ZXIgLmZvb3Rlcl90b3AgLnRlbGVmb25faWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdGVsZWZvbi5wbmdcIik7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTRweDsgfVxuICAuY3MtZm9vdGVyIC5mb290ZXJfYm90dG9tIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4OyB9XG4gICAgLmNzLWZvb3RlciAuZm9vdGVyX2JvdHRvbSAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItbGVnYWN5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jcy1mb290ZXIgLmZvb3Rlcl9ib3R0b20gLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLWxlZ2FjeSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAgIC5jcy1mb290ZXIgLmZvb3Rlcl9ib3R0b20gLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLWxlZ2FjeSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLmNzLWZvb3RlciAuZm9vdGVyX2JvdHRvbSAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItbGVnYWN5IGltZyB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAgIC5jcy1mb290ZXIgLmZvb3Rlcl9ib3R0b20gLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLWxlZ2FjeSBpbWcge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwJTsgfSB9XG4gICAgICAuY3MtZm9vdGVyIC5mb290ZXJfYm90dG9tIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci1sZWdhY3kgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cblxuLmNzLWNvbnRhaW5lci0tZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tdG9wOiA0ZW07IH1cbiAgLmNzLWNvbnRhaW5lci0tZm9vdGVyIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyBoNDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS1mb290ZXIgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHAge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiIsIi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiAxICovXG59XG5cbkBtaXhpbiB2aXN1YWxseS12aXNpYmxlIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4iLCIvKipcbiAqIEZvb3RlciBjb21wb25lbnQgY3VzdG9taXphdGlvbi5cbiAqIEBzZWUgL01hZ2VudG9fVGhlbWUvdGVtcGxhdGVzL2Zvb3Rlci9jb2x1bW5zLnBodG1sIGZvciB0ZW1wbGF0ZXMuXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGZvb3Rlcl90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kZm9vdGVyX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTgwMCAhZGVmYXVsdDtcbiRmb290ZXJfZWRnZS1ndXR0ZXI6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tZWRnZS1ndXR0ZXI6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldDogMmVtICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tc2VwYXJhdG9yLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1wYWRkaW5nOiAkZm9vdGVyX3NlY3Rpb24tdmVydGljYWwtb2Zmc2V0XG4gICAgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yOiAkY29sb3JfZ3JheSAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1mb250LXNpemU6IDEuMmVtICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tcHNldWRvaWNvbi1pbmNsdWRlOiB0cnVlICFkZWZhdWx0O1xuXG4kZm9vdGVyX3Byb21vLWRpc3BsYXktb24tbW9iaWxlOiBmYWxzZSAhZGVmYXVsdDtcbiRmb290ZXJfbG9nby1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcbiRmb290ZXJfbG9nby13aWR0aDogMTMuNWVtICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLWhlaWdodDogMi4zZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31mb290ZXIge1xuICAgICRyb290OiAmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogJGZvb3Rlcl90ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRmb290ZXJfYmFja2dyb3VuZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgMCAycmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAwICRmb290ZXJfZWRnZS1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcm9tbyB7XG4gICAgICAgICAgICBAaWYgJGZvb3Rlcl9wcm9tby1kaXNwbGF5LW9uLW1vYmlsZSA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbmtzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWV4dHJhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV3c2xldHRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc29jaWFscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN0b3Jlcy1zd2l0Y2hlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi10aXRsZSxcbiAgICBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgQGlmICRmb290ZXJfc2VjdGlvbi10aXRsZS1oZWFkbGluZS1sZXZlbCAhPSAnbm9uZScge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWwpO1xuICAgICAgICB9XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAkZm9vdGVyX3NlY3Rpb24tc2VwYXJhdG9yLWJvcmRlcjtcbiAgICAgICAgcGFkZGluZzogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXJfc2VjdGlvbi10aXRsZS10cmFuc2Zvcm07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbi0tY29sbGFwc2libGUgJiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgQGlmICRmb290ZXJfc2VjdGlvbi1wc2V1ZG9pY29uLWluY2x1ZGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbi0tc29jaWFscyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWN0aW9uLWNvbnRlbnQsXG4gICAgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgcGFkZGluZzogMCAkZm9vdGVyX3NlY3Rpb24tZWRnZS1ndXR0ZXIgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb24tLWNvbGxhcHNpYmxlICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaG9wLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiAkZm9vdGVyX2xvZ28tZGlzcGxheTtcbiAgICAgICAgd2lkdGg6ICRmb290ZXJfbG9nby13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZm9vdGVyX2xvZ28taGVpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6ICRmb290ZXJfbG9nby13aWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tZm9vdGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYtLWZvb3Rlci11c3BzIHtcbiAgICAgICAgLiN7JG5zfWltYWdlLXRlYXNlcl9fY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmNzLWZvb3Rlci1saW5rcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY3MtZm9vdGVyLWxpbmtzX19pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAwLjNlbTsgfVxuICAuY3MtZm9vdGVyLWxpbmtzIGEsIC5jcy1mb290ZXItbGlua3MgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNzLWZvb3Rlci1saW5rcyBhOmhvdmVyLCAuY3MtZm9vdGVyLWxpbmtzIGE6Zm9jdXMsIC5jcy1mb290ZXItbGlua3MgYTphY3RpdmUsIC5jcy1mb290ZXItbGlua3MgYTp2aXNpdGVkOmhvdmVyLCAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNzLWZvb3Rlci1saW5rcyBhLCAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC41ZW0gMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlci1saW5rcyBhLCAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgICAgIHBhZGRpbmc6IDAuMzVlbSAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kZm9vdGVyLWxpbmtzX2xpc3QtaXRlbS1tYXJnaW46IDAgMCAwLjNlbSAhZGVmYXVsdDtcblxuJGZvb3Rlci1saW5rc19saW5rLWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbiRmb290ZXItbGlua3NfbGluay1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWNvbG9yOiAkZm9vdGVyLWxpbmtzX2xpbmstY29sb3IgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItbGlua3NfbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstcGFkZGluZy1tb2JpbGU6IDAuNWVtIDAgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstcGFkZGluZy1kZXNrdG9wOiAwLjM1ZW0gMCAhZGVmYXVsdDtcblxuLiN7JG5zfWZvb3Rlci1saW5rcyB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWxpbmtzX2xpc3QtaXRlbS1tYXJnaW47XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAkY29sb3I6ICRmb290ZXItbGlua3NfbGluay1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWNvbG9yLFxuICAgICAgICAgICAgJGRlY29yYXRpb246ICRmb290ZXItbGlua3NfbGluay1kZWNvcmF0aW9uLFxuICAgICAgICAgICAgJGRlY29yYXRpb24taG92ZXI6ICRmb290ZXItbGlua3NfbGluay1ob3Zlci1kZWNvcmF0aW9uXG4gICAgICAgICk7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWxpbmtzX2xpbmstZm9udC1zaXplO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctZGVza3RvcDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGxpbmUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAyZW0gMDtcbiAgbWFyZ2luOiAyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtaGVhZGxpbmUtLXNraXAtc3BhY2luZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1oZWFkbGluZV9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDIuNmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRsaW5lX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5jcy1oZWFkbGluZV9fdGl0bGU6YmVmb3JlLCAuY3MtaGVhZGxpbmVfX3RpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWhlYWRsaW5lX190aXRsZTpiZWZvcmUsIC5jcy1oZWFkbGluZV9fdGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5jcy1oZWFkbGluZV9fdGl0bGU6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42ZW07IH1cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlOmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTsgfVxuICAuY3MtaGVhZGxpbmVfX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkbGluZV9fc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGhlYWRsaW5lLWhvb2soKSB7XG59XG5cbkBtaXhpbiBoZWFkbGluZS10aXRsZS1ob29rKCkge1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtc3VidGl0bGUtaG9vaygpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGxpbmUvbWl4aW4nO1xuXG4uI3skbnN9aGVhZGxpbmUge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCk7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lLXRpdGxlKCk7XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZS1zdWJ0aXRsZSgpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGxpbmUvaG9vayc7XG5cbiRoZWFkbGluZV90aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLWZvbnQtc2l6ZTogMi42ZW0gIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbi8vIFNob3cgZmxleGlibGUgZGVjb3JhdGlvbiBsaW5lcyBhdCB0aGUgc2lkZXMgb2YgdGhlIHRpdGxlLlxuJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtbGluZXMtY29sb3I6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kaGVhZGxpbmVfc3VidGl0bGUtY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtc2l6ZTogMS4zZW0gIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBhZGRpbmc6IDJlbSAwO1xuICAgIG1hcmdpbjogMmVtIDA7XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS1ob29rKCk7XG59XG5cbkBtaXhpbiBoZWFkbGluZS10aXRsZShcbiAgICAkY29sb3I6ICRoZWFkbGluZV90aXRsZS1jb2xvcixcbiAgICAkZm9udC1zaXplOiAkaGVhZGxpbmVfdGl0bGUtZm9udC1zaXplLFxuICAgICRmb250LXdlaWdodDogJGhlYWRsaW5lX3RpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICR0ZXh0LXRyYW5zZm9ybTogJGhlYWRsaW5lX3RpdGxlLXRleHQtdHJhbnNmb3JtLFxuICAgICRsaW5lcy1lbmFibGVkOiAkaGVhZGxpbmVfdGl0bGUtbGluZXMtZW5hYmxlZCxcbiAgICAkbGluZXMtY29sb3I6ICRoZWFkbGluZV90aXRsZS1saW5lcy1jb2xvclxuKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0LXRyYW5zZm9ybTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBAaWYgJGxpbmVzLWVuYWJsZWQge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5lcy1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS10aXRsZS1ob29rKCk7XG59XG5cbkBtaXhpbiBoZWFkbGluZS1zdWJ0aXRsZShcbiAgICAkY29sb3I6ICRoZWFkbGluZV9zdWJ0aXRsZS1jb2xvcixcbiAgICAkZm9udC1zaXplOiAkaGVhZGxpbmVfc3VidGl0bGUtZm9udC1zaXplLFxuICAgICRmb250LXdlaWdodDogJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICR0ZXh0LXRyYW5zZm9ybTogJGhlYWRsaW5lX3N1YnRpdGxlLXRleHQtdHJhbnNmb3JtXG4pIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG4gICAgbWFyZ2luOiAkaGVhZGxpbmVfc3VidGl0bGUtbWFyZ2luO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS1zdWJ0aXRsZS1ob29rKCk7XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiAqIFZhcmlhYmxlcyByZWxhdGVkIHRvIHN0aWNreSBoZWFkZXIgYW5kIHRvcGJhciBvbiBtb2JpbGUgZGV2aWNlcy5cbiAqIHRvIHByZXZlbnQgcGFnZSBqdW1waW5nIHdoZW4gb2ZmYWNudmFzIChmaXhlZCBwb3NpdGlvbmVkKSBpcyBvcGVuZWRcbiAqIElmIHlvdSBoYXZlIG1vcmUgZWxlbWVudHMgb24gdG9wLCB5b3UgaGF2ZSB0byBpbmNsdWRlIHRoZWlyIGhlaWdodC5cbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi8qKlxuICAgICAqIFN0eWxlcyByZWxhdGVkIHRvIHN0aWNreSBoZWFkZXIgYW5kIHRvcGJhciBvbiBtb2JpbGUgZGV2aWNlcy5cbiAgICAgKiB0byBwcmV2ZW50IHBhZ2UganVtcGluZyB3aGVuIG9mZmFjbnZhcyAoZml4ZWQgcG9zaXRpb25lZCkgaXMgb3BlbmVkXG4gICAgICovXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAubmF2aWdhdGlvbi1vZmZjYW52YXMtb3BlbiAucGFnZS13cmFwcGVyLm5vLXNjcm9sbC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDExcmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLm5hdmlnYXRpb24tb2ZmY2FudmFzLW9wZW4gLnBhZ2Utd3JhcHBlci5uby1zY3JvbGwtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHotaW5kZXg6IDgwMDtcbiAgICB0b3A6IDA7XG4gICAgLyoqXG4gICAgICAgICAgICAgICAgICogRml4ZWQgcG9zaXRpb25pbmcgcmVxdWlyZWQgdG8gd29yayB3aXRoIG9mZmNhbnZhcyBlbGVtZW50cy5cbiAgICAgICAgICAgICAgICAgKiBBbHNvLCBhcyBhIGZhbGxiYWNrIGZvciBJRSB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IHN0aWNreS5cbiAgICAgICAgICAgICAgICAgKi8gfVxuICAgIC5uYXZpZ2F0aW9uLW9mZmNhbnZhcy1vcGVuLm5vLXNjcm9sbCAuY3MtY29udGFpbmVyLS1oZWFkZXIsXG4gICAgLmNzLWNvbnRhaW5lci0taGVhZGVyIC5pZTExIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLWhlYWRlciB7XG4gICAgdG9wOiAwOyB9IH1cblxuLmNzLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgaGVpZ2h0OiA1cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWhlYWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogMTFyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5jcy1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAxMXJlbTsgfSB9XG4gIC5jcy1oZWFkZXJfX2NvbnRlbnQge1xuICAgIGhlaWdodDogNXJlbTtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDExcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fY29udGVudCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDExcmVtOyB9IH1cbiAgLmNzLWhlYWRlcl9fb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXg6IDAgMSA0cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMC43cmVtIDAgMC43cmVtIDAuN3JlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDIzLjEyNWVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgcGFkZGluZzogMC43cmVtIDAgMC43cmVtIDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLnBhZ2UtcHJpbnQgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDExNHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgICAgIC5wYWdlLXByaW50IC5jcy1oZWFkZXJfX2xvZ286YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1oZWFkZXIgLmhlYWRlcl93ZWxjb21lIC53ZWxjb21lIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1oZWFkZXIgLmhlYWRlcl93ZWxjb21lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDMwMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDsgfSB9XG4gICAgLmNzLWhlYWRlcl9fc2VhcmNoLS1hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0b3A6IGluaXRpYWw7IH0gfVxuICAuY3MtaGVhZGVyX191c2VyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXg6IDAgMSAzMCU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX191c2VyLW5hdiB7XG4gICAgICAgIGZsZXg6IDAgMSAzMyU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX191c2VyLW5hdiAubGFuZ3VhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24ge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiA0cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDIzLjEyNWVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19iYWNrLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24taWNvbiB7XG4gICAgZmlsbDogIzg4ODtcbiAgICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyMy4xMTVlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24taWNvbiB7XG4gICAgICAgIGhlaWdodDogMnJlbTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuJGhlYWRlcl9mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyX2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcblxuJGhlYWRlcl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbi8vIEhvcml6b250YWwgYWxpZ24gb2YgdGhlIHNlYXJjaGJveCBpZiBpdCdzIGRpc3BsYXllZCBhcyBhIGxheWVyIC0gYCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50YFxuJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50OiByaWdodDtcblxuLy8gSWYgeW91IHdhbnQgdG8gY292ZXIgJ3NlYXJjaCcgaXRlbSBpbiBoZWFkZXIgYnkgc2VhcmNoYm94LCBwcm92aWRlIHByb3BlciBuZWdhdGl2ZSBtYXJnaW4gYmFzZWQgb24geW91ciBkZXNpZ25cbi8vIEl0IHdvcmtzIG9ubHkgaWYgJyRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50JyBoYXMgdmFsaWQgYnJlYWtwb2ludCBhbmQgYCRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudGAgPSBmbGV4LWVuZFxuJGhlYWRlcl9zZWFyY2hib3gtbWFyZ2luLXRvLWNvdmVyLXNlYXJjaC1pdGVtOiAtNi44cmVtICFkZWZhdWx0O1xuXG4vLyBDaGFuZ2UgaW4gZXRjL3ZpZXcueG1sIGlmIG5lY2Vzc2FyeVxuJGhlYWRlcl9pcy1zdGlja3ktb24tbW9iaWxlOiBkZWVwLWdldChcbiR2aWV3LXhtbCxcbnZhcnMsXG5NYWdlbnRvX1RoZW1lLFxuaGVhZGVyLFxubW9iaWxlX2lzX3N0aWNreVxuKSAhZGVmYXVsdDtcblxuJGhlYWRlcl9zdGlja3ktdG9wLXBvc2l0aW9uLW1vYmlsZTogMCAhZGVmYXVsdDtcbiRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi10YWJsZXQ6ICRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi1tb2JpbGUgIWRlZmF1bHQ7XG5cbi8qKlxuICogVmFyaWFibGVzIHJlbGF0ZWQgdG8gc3RpY2t5IGhlYWRlciBhbmQgdG9wYmFyIG9uIG1vYmlsZSBkZXZpY2VzLlxuICogdG8gcHJldmVudCBwYWdlIGp1bXBpbmcgd2hlbiBvZmZhY252YXMgKGZpeGVkIHBvc2l0aW9uZWQpIGlzIG9wZW5lZFxuICogSWYgeW91IGhhdmUgbW9yZSBlbGVtZW50cyBvbiB0b3AsIHlvdSBoYXZlIHRvIGluY2x1ZGUgdGhlaXIgaGVpZ2h0LlxuICovXG4kc3RpY2t5LWhlYWRlci1wYWdlLXdyYXBwZXItb2Zmc2V0LW1vYmlsZTogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LW1vYmlsZSAhZGVmYXVsdDtcbiRzdGlja3ktaGVhZGVyLXBhZ2Utd3JhcHBlci1vZmZzZXQtdGFibGV0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0ICFkZWZhdWx0O1xuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoXG4kaGVhZGVyX2lzLXN0aWNreS1vbi1tb2JpbGUgYW5kICRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUgIT0gdHJ1ZVxuKSB7XG4gICAgLyoqXG4gICAgICogU3R5bGVzIHJlbGF0ZWQgdG8gc3RpY2t5IGhlYWRlciBhbmQgdG9wYmFyIG9uIG1vYmlsZSBkZXZpY2VzLlxuICAgICAqIHRvIHByZXZlbnQgcGFnZSBqdW1waW5nIHdoZW4gb2ZmYWNudmFzIChmaXhlZCBwb3NpdGlvbmVkKSBpcyBvcGVuZWRcbiAgICAgKi9cbiAgICAubmF2aWdhdGlvbi1vZmZjYW52YXMtb3BlbiAucGFnZS13cmFwcGVyLm5vLXNjcm9sbC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzdGlja3ktaGVhZGVyLXBhZ2Utd3JhcHBlci1vZmZzZXQtdGFibGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHN0aWNreS1oZWFkZXItcGFnZS13cmFwcGVyLW9mZnNldC1tb2JpbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skbnN9Y29udGFpbmVyIHtcbiAgICAgICAgJi0taGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgei1pbmRleDogODAwO1xuICAgICAgICAgICAgICAgIHRvcDogJGhlYWRlcl9zdGlja3ktdG9wLXBvc2l0aW9uLXRhYmxldDtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEZpeGVkIHBvc2l0aW9uaW5nIHJlcXVpcmVkIHRvIHdvcmsgd2l0aCBvZmZjYW52YXMgZWxlbWVudHMuXG4gICAgICAgICAgICAgICAgICogQWxzbywgYXMgYSBmYWxsYmFjayBmb3IgSUUgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBzdGlja3kuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgLm5hdmlnYXRpb24tb2ZmY2FudmFzLW9wZW4ubm8tc2Nyb2xsICYsXG4gICAgICAgICAgICAgICAgLmllMTEge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi1tb2JpbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRuc31oZWFkZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgZm9udC1zaXplOiAkaGVhZGVyX2ZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgIH0gICBcblxuICAgIEBpZiAoJGhlYWRlcl9pcy1zdGlja3ktb24tbW9iaWxlKSB7XG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGhlaWdodDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LW1vYmlsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICBoZWlnaHQ6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1kZXNrdG9wO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGU7XG4gICAgICAgIHotaW5kZXg6IDMwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvL2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlcl9iYWNrZ3JvdW5kO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7ICAgICAgIFxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlYWRlcl9ib3JkZXItYm90dG9tO1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgIGhlaWdodDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LWRlc2t0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4OiAwIDEgNHJlbTtcblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLW1vYmlsZS1tZW51LWlzLXJpZ2h0KSB7XG4gICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAwIDAuN3JlbSAwLjdyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH0gICBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJykge1xuICAgICAgICAgICAgcGFkZGluZzogMC43cmVtIDAgMC43cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLXdyYXBwZXIoKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlcl93ZWxjb21lIHsgICAgICAgIFxuICAgICAgICAud2VsY29tZSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6JGZvbnRfZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlcl9iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlKSB7XG4gICAgICAgICAgICBib3R0b206ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKFxuICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCBhbmRcbiAgICAgICAgJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50ID09XG4gICAgICAgICdmbGV4LWVuZCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkZXJfc2VhcmNoYm94LW1hcmdpbi10by1jb3Zlci1zZWFyY2gtaXRlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnQgPT0gJ2ZsZXgtZW5kJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGhlYWRlcl9zZWFyY2hib3gtbWFyZ2luLXRvLWNvdmVyLXNlYXJjaC1pdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNlci1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwIDEgMzAlO1xuICAgICAgICBmbGV4LXdyYXA6d3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6YXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSAyNSU7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDEgMzMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGFuZ3VhZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhY2stYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFjay1idXR0b24taWNvbiB7XG4gICAgICAgIGZpbGw6ICRjb2xvcl9ib3JkZXItNzAwO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1oZWFkZXItc2VhcmNoIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtaGVhZGVyLXNlYXJjaCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1oZWFkZXItc2VhcmNoLS1pbi1vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YmVmb3JlLCAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgbGVmdDogLTAuNXJlbTtcbiAgICAgIHJpZ2h0OiAtMC41cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgICB0b3A6IC0wLjVyZW07XG4gICAgICBib3R0b206IC0wLjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB6LWluZGV4OiAyMDk7IH1cbiAgICAuYWN0aXZlLXBvcHVwIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDpiZWZvcmUsIC5hY3RpdmUtcG9wdXAgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMTA7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjU1ZW0gMWVtOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICAuYWpheC1sb2FkaW5nIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpmb2N1cyArIC5jcy1oZWFkZXItc2VhcmNoX19hY3Rpb24gLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXItLXNlYXJjaCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmFqYXgtbG9hZGluZyAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6Zm9jdXMgKyAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyMjA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtaWNvbiB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtaWNvbjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjODg4OyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAsIDAuNjYsIDAuMzIsIDAuOTkpLCBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1zZWFyY2gge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXItLWxvYWRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuN3JlbSk7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbiAqLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24taWNvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjNyZW0pOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1pY29uLS1zZWFyY2gge1xuICAgICAgd2lkdGg6IDEuNHJlbTtcbiAgICAgIGhlaWdodDogMS40cmVtOyB9XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24tLXNlYXJjaCBwYXRoIHtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24taWNvbi0tbG9hZGVyIHtcbiAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICAgIHdpZHRoOiAzLjJyZW07XG4gICAgICBoZWlnaHQ6IDMuMnJlbTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICBsZWZ0OiAwLjVyZW07XG4gICAgcmlnaHQ6IDAuNXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYyggMTAwdmggLSA1cmVtIC0gMS4yNzVlbSAtIDdyZW0pO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2F1dG9jb21wbGV0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kaGVhZGVyLXNlYXJjaF9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbi8vIE9uIGlPUyB0aGUgc2VhcmNoIGlucHV0IGhhcyB0byBiZSBhdCBsZWFzdCAxNnB4IGxhcmdlLFxuLy8gb3RoZXJ3aXNlIGl0IHdpbGwgbmVlZGxlc3NseSB0cmlnZ2VyIHBhZ2Ugem9vbSBvbmNlIHRoZSBpbnB1dCBpcyBmb2N1c2VkLlxuLy8gLSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yOTg5MjYzL2Rpc2FibGUtYXV0by16b29tLWluLWlucHV0LXRleHQtdGFnLXNhZmFyaS1vbi1pcGhvbmVcbi8vIC0gaHR0cHM6Ly93d3cud2FycmVuY2hhbmRsZXIuY29tLzIwMTkvMDQvMDIvc3RvcC1pcGhvbmVzLWZyb20tem9vbWluZy1pbi1vbi1mb3JtLWZpZWxkcy9cbiRoZWFkZXItc2VhcmNoX2ZvbnQtc2l6ZS1tb2JpbGU6IDEuNnJlbSAhZGVmYXVsdDtcblxuLy8gV2lkdGggb2YgdGhlIHNlYXJjaCBmaWVsZC4gV29ya3Mgb25seSBmb3IgYCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50YCBicmVha3BvaW50LCBpbiBvdGhlciBjYXNlIGl0J3MgYWx3YXlzIDEwMCVcbiRoZWFkZXItc2VhcmNoLXdpZHRoLWFzLWxheWVyOiAxMDAlO1xuXG4kaGVhZGVyLXNlYXJjaF9jbG9zZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9idXR0b24td2lkdGg6IDVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9idXR0b24tYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50ICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYnV0dG9uLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjdyZW0pICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9pY29uLXNlYXJjaC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfaWNvbi1zZWFyY2gtY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2ljb24tbG9hZGVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9pY29uLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC4zcmVtKSAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfYnV0dG9uLWNvbnRhaW5lci10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41c1xuICAgICAgICAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwLFxuICAgIG9wYWNpdHkgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYm94LXNoYWRvdzogMCA0cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNykgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4uI3skbnN9aGVhZGVyLXNlYXJjaCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaC13aWR0aC1hcy1sYXllcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWluLW9mZmNhbnZhcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgIGxlZnQ6IC0wLjVyZW07XG4gICAgICAgICAgICByaWdodDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItc2VhcmNoX2F1dG9jb21wbGV0ZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgICAgICAgICB0b3A6IC0wLjVyZW07XG4gICAgICAgICAgICBib3R0b206IC0wLjVyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC0xcmVtO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMjA5O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLmFjdGl2ZS1wb3B1cCAmIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXNlYXJjaF9mb250LXNpemUtbW9iaWxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIxMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6MC41NWVtIDFlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXNlYXJjaF9mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgI3skcm9vdH1fX2FjdGlvbiB7XG4gICAgICAgICAgICAgICAgLmFqYXgtbG9hZGluZyAmIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1jb250YWluZXItLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1jb250YWluZXItLWxvYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDIyMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGhlYWRlci1zZWFyY2hfY2xvc2UtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246ICRoZWFkZXItc2VhcmNoX2J1dHRvbi1jb250YWluZXItdHJhbnNpdGlvbjtcblxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbG9hZGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJ29ubHktaWNvbidcbiAgICAgICAgKTtcblxuICAgICAgICB3aWR0aDogJGhlYWRlci1zZWFyY2hfYnV0dG9uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGhlYWRlci1zZWFyY2hfYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNmb3JtOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tdHJhbnNmb3JtO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogJGhlYWRlci1zZWFyY2hfaWNvbi10cmFuc2Zvcm07XG5cbiAgICAgICAgJi0tc2VhcmNoIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNHJlbTtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGhlYWRlci1zZWFyY2hfaWNvbi1zZWFyY2gtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sb2FkZXIge1xuICAgICAgICAgICAgc3Ryb2tlOiAkaGVhZGVyLXNlYXJjaF9pY29uLWxvYWRlci1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAzLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDMuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2F1dG9jb21wbGV0ZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgICByaWdodDogMC41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAxMDB2aCAtICN7JGdsb2JhbF9oZWFkZXItaGVpZ2h0LW1vYmlsZX0gLSAjeyRmaWVsZF9zZWxlY3QtbGluZS1oZWlnaHR9IC1cbiAgICAgICAgICAgICAgICAgICAgN3JlbVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRoZWFkZXItc2VhcmNoX2F1dG9jb21wbGV0ZS1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXVzZXItbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDA7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleDogMCAxIDMwJTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbGV4OiAwIDEgMzMlOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tbGFuZ3VhZ2Uge1xuICAgICAgZmxleDogMCAxIDMzJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHBhdGgge1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLS1zZWFyY2g6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24ge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbi10b3A6IDAuM3JlbSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgY2xpcDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgcGFkZGluZzogMCAwLjZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgaGVpZ2h0OiAxLjhlbTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTAuNXJlbTtcbiAgICB0b3A6IC0wLjVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXIge1xuICAgICAgICByaWdodDogLTFyZW07IH0gfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0tbWluaWNhcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0MWYxMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLWNvbXBhcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLWhhdmUtaXRlbXMge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci1zcGFuIHtcbiAgICBtaW4td2lkdGg6IDFjaDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1oZWFkZXItdXNlci1uYXYgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tY2hlY2tvdXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIHF0eS1jb3VudGVyX2hvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3R5cGUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfc3Bhbi1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3F0eS1jb3VudGVyL21peGluJztcblxuJGhlYWRlci11c2VyLW5hdl9pdGVtczogMyAhZGVmYXVsdDsgLy8gbnVtYmVyIG9mIGl0ZW1zIGluIGhlYWRlciB1c2VyIG5hdiAod2l0aG91dCBzZWFyY2ggaXRlbSlcblxuJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3ItaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfaWNvbi13aWR0aDogMnJlbTtcbiRoZWFkZXItdXNlci1uYXZfaWNvbi1oZWlnaHQ6ICRoZWFkZXItdXNlci1uYXZfaWNvbi13aWR0aDtcblxuLy8gU2V0IHVwIHdoZW4gbGFiZWwgaW4gaGVhZGVyIHVzZXIgbmF2IHNob3VsZCBiZSB2aXNpYmxlXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiB0cnVlIChhbHdheXMpIHwgZmFsc2UgKG5ldmVyKSB8IGJyZWFrcG9pbnRcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtdmlzaWJsZTogJz49dGFibGV0JyAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC1zaXplOiAxLjNyZW07XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLWNvbG9yLWhvdmVyOiAkY29sb3JfcHJpbWFyeTtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtbWFyZ2luLXRvcDogMC4zcmVtICFkZWZhdWx0O1xuXG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWNvbXBhcmUtc2hvdy1lbXB0eTogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXdpc2hsaXN0LXNob3ctZW1wdHk6IGZhbHNlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1taW5pY2FydC1zaG93LWVtcHR5OiBmYWxzZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItYW5pbWF0aW9uLXNob3c6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWFuaW1hdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG5cbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItdG9wLW9mZnNldDogLTAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LW1vYmlsZTogLTAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LXRhYmxldDogLTFyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC1kZXNrdG9wOiAtMXJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWhlYWRlci11c2VyLW5hdiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXg6IDAgMSAzMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICAvL3BhZGRpbmc6IDAgMC43cmVtO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGZsZXg6IDAgMSAzMyU7XG5cdCYtLWxhbmd1YWdlIHtcblx0XHRmbGV4OiAwIDEgMzMlO1xuXHR9XG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PSB0cnVlXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkaGVhZGVyLXVzZXItbmF2X2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGhlYWRlci11c2VyLW5hdl9pY29uLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci11c2VyLW5hdl9sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtbWFyZ2luLXRvcCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfbGFiZWwtdmlzaWJsZSA9PSB0cnVlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfSBAZWxzZSBpZiAoJGhlYWRlci11c2VyLW5hdl9sYWJlbC12aXNpYmxlID09IGZhbHNlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oXG5cbiAgICAgICAgICAgICk7IC8vIExhYmVsIGlzIG5vdCBkaXNwbGF5ZWQgb24gc2NyZWVuIGJ1dCBhY2Nlc3NpYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyRoZWFkZXItdXNlci1uYXZfbGFiZWwtdmlzaWJsZX0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS12aXNpYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHktY291bnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyKCk7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtbW9iaWxlO1xuICAgICAgICB0b3A6ICRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItdG9wLW9mZnNldDtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICBAaWYgKFxuICAgICAgICAkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC1tb2JpbGUgIT1cbiAgICAgICAgJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtdGFibGV0XG4gICAgICAgICkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC10YWJsZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKFxuICAgICAgICAkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC10YWJsZXQgIT1cbiAgICAgICAgJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtZGVza3RvcFxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC1kZXNrdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWFuaW1hdGlvbi1zaG93KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBxdHktY291bnRlcl90eXBlKCd3aXNobGlzdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWluaWNhcnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfdHlwZSgnbWluaWNhcnQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbXBhcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfdHlwZSgnY29tcGFyZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGF2ZS1pdGVtcyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgJiN7JHJvb3R9X19xdHktY291bnRlci0td2lzaGxpc3Qge1xuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci13aXNobGlzdC1zaG93LWVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI3skcm9vdH1fX3F0eS1jb3VudGVyLS1taW5pY2FydCB7XG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLW1pbmljYXJ0LXNob3ctZW1wdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYjeyRyb290fV9fcXR5LWNvdW50ZXItLWNvbXBhcmUge1xuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1jb21wYXJlLXNob3ctZW1wdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHktY291bnRlci1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfc3BhbigpO1xuICAgIH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1jaGVja291dHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9ICAgICAgIFxuICAgIH1cbn1cblxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3F0eS1jb3VudGVyL2hvb2snO1xuXG4kcXR5LWNvdW50ZXJfZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2ZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfaGVpZ2h0OiAxLjhlbSAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9wYWRkaW5nOiAwIDAuNnJlbSAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfYm9yZGVyLXJhZGl1czogMC4ycmVtICFkZWZhdWx0O1xuXG4kcXR5LWNvdW50ZXItLWRlZmF1bHQtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyLS1kZWZhdWx0LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0tbWluaWNhcnQtYmFja2dyb3VuZDogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlci0tbWluaWNhcnQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyLS1jb21wYXJlLWJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnktNTAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyLS1jb21wYXJlLWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0td2lzaGxpc3QtYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXItLXdpc2hsaXN0LWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbkBtaXhpbiBxdHktY291bnRlcigkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1jb3VudGVyLS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRxdHktY291bnRlci0tZGVmYXVsdC1jb2xvcjtcbiAgICBib3JkZXI6ICRxdHktY291bnRlcl9ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJHF0eS1jb3VudGVyX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJHF0eS1jb3VudGVyX3BhZGRpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAkcXR5LWNvdW50ZXJfZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkcXR5LWNvdW50ZXJfZm9udC13ZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcXR5LWNvdW50ZXJfaGVpZ2h0O1xuICAgIC8vIFByZXZlbnQgSUUxMSBhbmQgRWRnZSBidWcgd2l0aCBiYWNrZ3JvdW5kIGFuZCByb3VuZCBib3JkZXJzXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX2hvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfdHlwZSgkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgQGlmICgkdHlwZSA9PSAnd2lzaGxpc3QnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktY291bnRlci0td2lzaGxpc3QtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRxdHktY291bnRlci0td2lzaGxpc3QtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnbWluaWNhcnQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktY291bnRlci0tbWluaWNhcnQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRxdHktY291bnRlci0tbWluaWNhcnQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnY29tcGFyZScpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1jb3VudGVyLS1jb21wYXJlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLWNvbXBhcmUtY29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfdHlwZS1ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3NwYW4oJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIG1pbi13aWR0aDogMWNoO1xuXG4gICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfc3Bhbi1ob29rKCR0eXBlKTtcbn1cbiIsIi5sYXp5bG9hZCxcbi5sYXp5bG9hZGluZyxcbi5zd2lwZXItbGF6eSB7XG4gICAgLy8gQWRkZWQgdG8gcHJldmVudCBsYXp5U2l6ZXMgZnJvbSBkZWxheWluZyBpbWFnZXMgbG9hZC5cbiAgICBvcGFjaXR5OiAwLjAwMTtcbn1cblxuLmxhenlsb2FkZWQsXG4uc3dpcGVyLWxhenktbG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uY3MtbGlua3MtYmxvY2stYWRkdG8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3MtbGlua3MtYmxvY2stYWRkdG8ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb24gLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG8tLWNlbnRlcmVkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbSArIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtOm50aC1jaGlsZCgybikgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbiB7XG4gICAgd2lkdGg6IDEuMzc1ZW07XG4gICAgaGVpZ2h0OiAxLjM3NWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC40cmVtOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbi0td2lzaGxpc3QgcGF0aCB7XG4gICAgICBmaWxsOiAjZTQxZjEyOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uLS1jb21wYXJlIHBhdGgge1xuICAgICAgZmlsbDogIzJkM2U1MDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbiRsaW5rcy1ibG9jay1hZGR0b193aXNobGlzdC1pY29uLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2NvbXBhcmUtaWNvbi1jb2xvcjogJGxpbmstY29sb3JfYmFzZSAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2hvdmVyLWNvbG9yOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2ZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24td2lkdGg6IDEuMzc1ZW0gIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9faWNvbi1oZWlnaHQ6IDEuMzc1ZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31saW5rcy1ibG9jay1hZGR0byB7XG4gICAgJHJvb3Q6ICY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuI3skbnN9cHJvZHVjdC10aWxlX19hZGRvbiAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJi0tY2VudGVyZWQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICsgI3skcm9vdH1fX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6ICRsaW5rcy1ibG9jay1hZGR0b19mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbGlua3MtYmxvY2stYWRkdG9faG92ZXItY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlua3MtYmxvY2stYWRkdG9faG92ZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6ICRsaW5rcy1ibG9jay1hZGR0b19pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRsaW5rcy1ibG9jay1hZGR0b19pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRsaW5rcy1ibG9jay1hZGR0b193aXNobGlzdC1pY29uLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29tcGFyZSB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbGlua3MtYmxvY2stYWRkdG9fY29tcGFyZS1pY29uLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWxvZ29fX2ltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTgwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtbG9nb19faW1hZ2Uge1xuICAgICAgd2lkdGg6IDEzMHB4OyB9IH1cbiAgLmNzLWxvZ29fX2ltYWdlLS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5jcy1sb2dvX19pbWFnZS0tZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtbG9nb19faW1hZ2UtLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1sb2dvX19pbWFnZS0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtbG9nb19faW1hZ2UtLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jaGVja291dC1pbmRleC1pbmRleCAuY3MtbG9nb19faW1hZ2UtLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi4jeyRuc31sb2dvIHtcblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBGaXhlcyBoZWlnaHQ6IGF1dG8gYnVnIG9uIGNocm9tZS5cbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6MTMwcHg7XG4gICAgICAgIH0gICBcbiAgICAgICAgXG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgLmNoZWNrb3V0LWluZGV4LWluZGV4ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLm1lc3NhZ2VzIHtcbiAgbWF4LXdpZHRoOiAxMTRyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZSxcbi5tZXNzYWdlIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHBhZGRpbmc6IDEuMnJlbSAxcmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS4ycmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAycmVtIDJyZW07XG4gIHBhZGRpbmctbGVmdDogNC4zcmVtOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0tc3VjY2Vzcyxcbi5tZXNzYWdlLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVlZmQ3O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1zdWNjZXNzLnN2Z1wiKTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0tbm90aWNlLFxuLm1lc3NhZ2Uud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGY0Y2E7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXdhcm5pbmcuc3ZnXCIpO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1pbmZvLFxuLm1lc3NhZ2UuaW5mbyxcbi5tZXNzYWdlLm5vdGljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGY0Y2E7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLWluZm8uc3ZnXCIpO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1lcnJvcixcbi5tZXNzYWdlLmVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDBjZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24tZXJyb3Iuc3ZnXCIpO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmNzLW1lc3NhZ2VzX190ZXh0LFxuLm1lc3NhZ2Ugc3BhbiB7XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG4uY3MtbWVzc2FnZXMtLXNwYWNlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kbWVzc2FnZXNfc3VjY2Vzcy1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc3VjY2Vzcy0yMDAgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfaW5mby1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2FybmluZy0yMDAgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfbm90aWNlLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93YXJuaW5nLTIwMCAhZGVmYXVsdDtcbiRtZXNzYWdlc19lcnJvci1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZXJyb3ItMjAwICFkZWZhdWx0O1xuXG4kbWVzc2FnZXNfc3VjY2Vzcy1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfaW5mby1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfbm90aWNlLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRtZXNzYWdlc19lcnJvci1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlc19ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJG1lc3NhZ2VzX3BhZGRpbmc6IDEuMnJlbSAxcmVtIDFyZW0gIWRlZmF1bHQ7XG4kbWVzc2FnZXNfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJG1lc3NhZ2VfaWNvbi13aWR0aDogMnJlbSAhZGVmYXVsdDtcbiRtZXNzYWdlX2ljb24taGVpZ2h0OiAkbWVzc2FnZV9pY29uLXdpZHRoICFkZWZhdWx0O1xuXG4ubWVzc2FnZXMge1xuICAgIG1heC13aWR0aDogJHBhZ2VfbWF4LXdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UsXG4ubWVzc2FnZSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogJG1lc3NhZ2VzX3BhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJG1lc3NhZ2VzX2JvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjJyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJG1lc3NhZ2VfaWNvbi13aWR0aCAkbWVzc2FnZV9pY29uLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuM3JlbTtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1zdWNjZXNzLFxuLm1lc3NhZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX3N1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXN1Y2Nlc3Muc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfc3VjY2Vzcy1ib3JkZXI7XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tbm90aWNlLFxuLm1lc3NhZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX25vdGljZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24td2FybmluZy5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19ub3RpY2UtYm9yZGVyO1xufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UtLWluZm8sXG4ubWVzc2FnZS5pbmZvLFxuLm1lc3NhZ2Uubm90aWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVzc2FnZXNfaW5mby1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24taW5mby5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19pbmZvLWJvcmRlcjtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1lcnJvcixcbi5tZXNzYWdlLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVzc2FnZXNfZXJyb3ItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLWVycm9yLnN2ZycpO1xuICAgIGJvcmRlcjogJG1lc3NhZ2VzX2Vycm9yLWJvcmRlcjtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX190ZXh0LFxuLm1lc3NhZ2Ugc3BhbiB7XG4gICAgY29sb3I6ICRtZXNzYWdlc190ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4uI3skbnN9bWVzc2FnZXMge1xuICAgICRyb290OiAmO1xuXG4gICAgJi0tc3BhY2UtdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLmNzLW1pbmljYXJ0X19jbG9zZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEuNXJlbTtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogNXJlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICByaWdodDogMC41cmVtOyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2U6Zm9jdXMsIC5jcy1taW5pY2FydF9fY2xvc2U6YWN0aXZlLCAuY3MtbWluaWNhcnRfX2Nsb3NlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246YmVmb3JlLCAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246aG92ZXI6YmVmb3JlLCAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246aG92ZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2OTY5Njk7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvbjpiZWZvcmUsIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvbjphZnRlciB7XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb25bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb25bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDApICFpbXBvcnRhbnQ7IH1cblxuLmNzLW1pbmljYXJ0X19jbG9zZS10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLmNzLW1pbmljYXJ0X190aXRsZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuXG4uY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNzLW1pbmljYXJ0X19pdGVtcy10b3RhbDpub3QoLmNzLW1pbmljYXJ0X19pdGVtcy10b3RhbC0tZW1wdHkpOmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1taW5pY2FydF9faXRlbXMtdG90YWw6bm90KC5jcy1taW5pY2FydF9faXRlbXMtdG90YWwtLWVtcHR5KTphZnRlciB7XG4gICAgY29udGVudDogJyknOyB9XG4gIC5jcy1taW5pY2FydF9faXRlbXMtdG90YWwtLWVtcHR5IC5jb3VudCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3MtbWluaWNhcnRfX2VkaXQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNzLW1pbmljYXJ0X19lZGl0LWxpbmsgLmNzLWxpbmtfX2ljb24ge1xuICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07IH1cblxuLmNzLW1pbmljYXJ0X19jb250ZW50IHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtbWluaWNhcnRfX2NvbnRlbnQgLmxvYWQuaW5kaWNhdG9yOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiB1bnNldDsgfVxuXG4uY3MtbWluaWNhcnRfX2xpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzZyZW0pO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19saXN0LS1zY3JvbGwge1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzhyZW0pOyB9XG4gICAgICAgIC5pcy10YWJsZXQgLmNzLW1pbmljYXJ0X19saXN0LS1zY3JvbGwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0M3JlbSk7IH0gfVxuXG4uY3MtbWluaWNhcnRfX2xpc3QtaXRlbSB7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtOyB9XG4gIC5jcy1taW5pY2FydF9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmNzLW1pbmljYXJ0X19hY3Rpb25zLXdyYXBwZXIge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gIGJveC1zaGFkb3c6IDAgLTVweCA1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMjcpOyB9XG5cbi5jcy1taW5pY2FydF9fYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19hY3Rpb25zOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jcy1taW5pY2FydF9fZW1wdHkge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY3MtbWluaWNhcnRfX3N1YnRvdGFsIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG5cbi5jcy1taW5pY2FydF9fc3VidG90YWwtcHJpY2UgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyLjFyZW0gIWltcG9ydGFudDsgfVxuXG4uY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3ZlciwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXMsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MCAhaW1wb3J0YW50OyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4OyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwcHggMHB4IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphZnRlciB7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3ZlcjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dCwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dCAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6OmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQsIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydCAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuXG4uY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1OyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6OmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbCAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuXG4uY3MtbWluaWNhcnRfX21lc3NhZ2VzIHtcbiAgcGFkZGluZzogMCAycmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jcy1taW5pY2FydC1vZmZjYW52YXNfX3dyYXBwZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLmNzLW1pbmljYXJ0X19jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7IH1cbiAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC1jb250YWluZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlci0tcmVhZHkgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC1jb250YWluZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IGNhbGMoNDByZW0gKyAycmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoNDByZW0gKyAoMiAqIDJyZW0pKSk7XG4gICAgbWF4LXdpZHRoOiAxMjByZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZHJhd2VyLS12aXNpYmxlIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuaWUxMSAuZHJhd2VyLS12aXNpYmxlIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC13cmFwcGVyIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoNDByZW0gKyAoMiAqIDJyZW0pKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoNDByZW0gKyAoNCAqIDJyZW0pKSk7IH0gfVxuICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciAuY3MtaGVhZGxpbmUge1xuICAgICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMCAwOyB9XG4gIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtc3Bpbm5lciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMXJlbTtcbiAgICBoZWlnaHQ6IDExcmVtO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIGJveC1zaGFkb3c6IDFweCAzcHggM3JlbSAwIHJnYmEoMzMsIDMzLCAzMywgMC4yOCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW47IH1cbiAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXItLWxvYWRpbmcgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC1zcGlubmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLm1pbmljYXJ0LXdyYXBwZXIgLnVpLWRpYWxvZyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NoZWNrb3V0LFxuICAgIG1pbmljYXJ0X29mZmNhbnZhcyxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLWNhcm91c2VsOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NoZWNrb3V0LFxuICAgIG1pbmljYXJ0X29mZmNhbnZhcyxcbiAgICBwcm9kdWN0c19jYXJvdXNlbCxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfb2ZmY2FudmFzLXdyYXBwZXI6IDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLXBhZGRpbmc6IDEuNXJlbSAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy10aXRsZS1wYWRkaW5nOiAxcmVtIDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWl0ZW0tcGFkZGluZzogMS41cmVtIDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yOiBmYWxzZSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtb2Zmc2V0LWlwaG9uZS1maXg6IDQwcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfX2Nsb3NlLWluY2x1ZGUtcHNldWRvaWNvbjogdHJ1ZSAhZGVmYXVsdDtcbiRtaW5pY2FydF9fY2xvc2Utd2lkdGg6IDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfX2Nsb3NlLWxpbmUtd2lkdGg6IDAuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydF9fY2xvc2UtY29sb3I6ICRjb2xvcl90ZXh0LTYwMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9fY2xvc2UtY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmc6IDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uOiAnY2VudGVyJyAhZGVmYXVsdDsgLy8gRGVmYXVsdCB2YWx1ZTogY2VudGVyLiBQb3NzaWJsZSB2YWx1ZXM6IGNlbnRlciAvIHRvcCAvIGJvdHRvbVxuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbi1vZmZzZXQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZyAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXBvc2l0aW9uOiAnY2VudGVyJyAhZGVmYXVsdDsgLy8gRGVmYXVsdCB2YWx1ZTogY2VudGVyLiBQb3NzaWJsZSB2YWx1ZXM6IGNlbnRlciAvIGxlZnQgLyByaWdodFxuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1zcGFjaW5nOiAzcmVtICFkZWZhdWx0O1xuLyogcHJldHRpZXItaWdub3JlICovXG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lIGVhc2UtaW4gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwaW5uZXItc2l6ZTogMTFyZW0gIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9wYWRkaW5nOiAycmVtIDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9jbG9zZS1idXR0b24tY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2l0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfaXRlbS1oZWFkbGluZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2l0ZW0tcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2JveC1zaGFkb3c6IDAgMCAyMXB4IDAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfY29udGVudC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYWN0aW9uLXdyYXBwZXJfYm94LXNoYWRvdzogMCAtNXB4IDVweCAtNXB4XG4gICAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9bWluaWNhcnQge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlLWljb24ge1xuICAgICAgICBAaWYgKCRtaW5pY2FydF9fY2xvc2UtaW5jbHVkZS1wc2V1ZG9pY29uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICRjb2xvcjogJG1pbmljYXJ0X19jbG9zZS1jb2xvcixcbiAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRtaW5pY2FydF9fY2xvc2UtY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAkbWluaWNhcnRfX2Nsb3NlLXdpZHRoLFxuICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRtaW5pY2FydF9fY2xvc2UtbGluZS13aWR0aFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgICZfX2Nsb3NlLXRleHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAmX190aXRsZS13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfcGFkZGluZztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydF9pdGVtLWhlYWRsaW5lLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtdGl0bGUtcGFkZGluZztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRtaW5pY2FydF9pdGVtLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW1zLXRvdGFsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcblxuICAgICAgICAmOm5vdCgjeyRyb290fV9faXRlbXMtdG90YWwtLWVtcHR5KSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lbXB0eSB7XG4gICAgICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtNTAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2VkaXQtbGluayB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgLiN7JG5zfWxpbmtfX2ljb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1pbmljYXJ0X2NvbnRlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5sb2FkLmluZGljYXRvcjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICYtLXNjcm9sbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzNnJlbSk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM4cmVtKTtcblxuICAgICAgICAgICAgICAgIC5pcy10YWJsZXQgJiB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0M3JlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgLyogaVBob25lIFggYW5kIFhzIE1heCAqL1xuICAgICAgICAgICAgICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBcbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KSBcbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2UtaGVpZ2h0OiA4MTJweCkgXG4gICAgICAgICAgICAgICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogMylcbiAgICAgICAgICAgICAgICBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbWluaWNhcnRfb2ZmY2FudmFzLW9mZnNldC1pcGhvbmUtZml4fSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBpUGhvbmUgWFIgKi9cbiAgICAgICAgICAgICAgICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA0MTRweCkgXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLWhlaWdodDogODk2cHgpIFxuICAgICAgICAgICAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIFxuICAgICAgICAgICAgICAgIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRtaW5pY2FydF9vZmZjYW52YXMtb2Zmc2V0LWlwaG9uZS1maXh9KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9pdGVtLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRtaW5pY2FydF9pdGVtLWJvcmRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtaXRlbS1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXBhZGRpbmc7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWluaWNhcnRfYWN0aW9uLXdyYXBwZXJfYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2VtcHR5IHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zdWJ0b3RhbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICB9XG5cbiAgICAmX19zdWJ0b3RhbC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tY2hlY2tvdXQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi12aWV3Y2FydCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtaWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWNhcm91c2VsIHtcbiAgICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1zcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1zcGFjaW5nIDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1ib3JkZXI7XG5cbiAgICAgICAgICAgIEBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbiA9PSAnbGVmdCcge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tcG9zaXRpb24gPT0gJ3JpZ2h0JyB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtaWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJi1vZmZjYW52YXNfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXdyYXBwZXI7XG4gICAgfVxufVxuXG5AaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyBhbmQgJG1pbmljYXJ0LW9mZmNhbnZhcy1jYXJvdXNlbCB7XG4gICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgLiN7JG5zfW1pbmljYXJ0X19jYXJvdXNlbCB7XG4gICAgICAgICRyb290OiAmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXRyYW5zaXRpb247XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICN7JHJvb3R9LXdyYXBwZXItLXJlYWR5ICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoI3skbWluaWNhcnRfd2lkdGh9ICsgI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKCN7JG1pbmljYXJ0X3dpZHRofSArICgyICogI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KSkpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjByZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIEBhdC1yb290IC5kcmF3ZXItLXZpc2libGUgJiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAYXQtcm9vdCAuaWUxMSAuZHJhd2VyLS12aXNpYmxlICYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICByaWdodDogY2FsYygjeyRtaW5pY2FydF93aWR0aH0gKyAoMiAqICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSkpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKCN7JG1pbmljYXJ0X3dpZHRofSArICg0ICogI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbiA9PSAndG9wJyB7XG4gICAgICAgICAgICAgICAgdG9wOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uID09ICdib3R0b20nIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skbnN9aGVhZGxpbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zcGlubmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwaW5uZXItc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uO1xuXG4gICAgICAgICAgICAjeyRyb290fS13cmFwcGVyLS1sb2FkaW5nICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9cHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufSBAZWxzZSB7XG4gICAgLiN7JG5zfW1pbmljYXJ0X19jYXJvdXNlbCB7XG4gICAgICAgICYtc3Bpbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyAhPSB0cnVlIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgICAgIC51aS1kaWFsb2cge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhlaWdodC1kZXNrdG9wID4gJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAxMDAlIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC1kZXNrdG9wfSAtICN7JGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgLyAyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1taW5pY2FydCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtaW5pY2FydF9ib3gtc2hhZG93O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDMxcmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRtaW5pY2FydF93aWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB0b3A6IC0wLjhyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIC5taW5pY2FydC13cmFwcGVyIHtcbiAgICAgICAgLnVpLWRpYWxvZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLmNzLW1pbmljYXJ0LXByb2R1Y3Qge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19pbWFnZS1jb250YWluZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2Uge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX292ZXJ2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYnJhbmQtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lLXdyYXBwZXIge1xuICAgIGZsZXgtYmFzaXM6IDU1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZmxleC1iYXNpczogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiA3MCU7IH0gfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWU6dmlzaXRlZCwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWU6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2l0ZW0tcHJpY2luZyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3ByaWNlIC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcHJpY2UgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZSAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3ByaWNlIC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcHJpY2UtbGFiZWwsIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAuNjYsIDAuMzIsIDAuOTkpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogLTAuNHJlbTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1ncm91cC0tcXR5IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtd3JhcHBlciArIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWdyb3VwLS1xdHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM4ODg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWxhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM4ODg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXZhbHVlX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXZhbHVlX192YWx1ZSAucHJpY2Uge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMS4ycmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24td3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eSxcbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3QgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAwIDlyZW07XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDRyZW07XG4gICAgbWF4LXdpZHRoOiA0cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbiAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbi1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC4xZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbjpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcgKixcbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbjpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24gKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGU6aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICosXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiAqIHtcbiAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiB7XG4gICAgd2lkdGg6IDEuNnJlbTtcbiAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1pY29uICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqIHtcbiAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24tbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGU6aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICoge1xuICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICoge1xuICAgIGZpbGw6ICMyZDNlNTA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRtaW5pY2FydC1vZmZjYW52YXM6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2hlY2tvdXQsXG4gICAgbWluaWNhcnRfb2ZmY2FudmFzLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci0taG92ZXI6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvciAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtcGFkZGluZzogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC02MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy12YWx1ZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZzogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9uc190b2dnbGUtZGlzYWJsZTogZmFsc2UgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Rfb3B0aW9ucy10aXRsZS1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtbGFiZWwtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplOiAycmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9wcmljZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9xdHktZW5hYmxlOiB0cnVlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDogM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLWljb24tcG9zOiAnb25seS1pY29uJyAhZGVmYXVsdDtcblxuLiN7JG5zfW1pbmljYXJ0LXByb2R1Y3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fb3ZlcnZpZXcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19icmFuZC13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtYWxpZ25tZW50O1xuICAgIH1cblxuICAgICZfX2JyYW5kIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9icmFuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19uYW1lLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLXBhZGRpbmc7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3ZlcnZpZXctZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaW5pY2FydC1wcm9kdWN0X25hbWUtZm9udC13ZWlnaHQ7XG5cbiAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1wcmljaW5nIHtcbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X292ZXJ2aWV3LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfcHJpY2UtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X292ZXJ2aWV3LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtbGFiZWwsXG4gICAgJl9fb3B0aW9ucy1zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy10aXRsZSB7XG4gICAgICAgIEBpZiAoJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9uc190b2dnbGUtZGlzYWJsZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnMtdGl0bGUtY29sb3I7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgICAgICAgICAgICA+ICN7JHJvb3R9X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X29wdGlvbnMtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lXG4gICAgICAgICAgICAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICZfX29wdGlvbnMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zX3RvZ2dsZS1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJi0tcXR5IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX29wdGlvbnMtd3JhcHBlciArICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpZiAoJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9uc190b2dnbGUtZGlzYWJsZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtbGFiZWwtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X29wdGlvbnMtbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtdmFsdWUge1xuICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy12YWx1ZS1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJl9fdmFsdWUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19hY3Rpb24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgIEBpZiAoJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWVuYWJsZSkge1xuICAgICAgICAmX19xdHksXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDAgOXJlbTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktaW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnQtcHJvZHVjdF9xdHktaGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnQtcHJvZHVjdF9xdHktaGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1idXR0b24tc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1idXR0b24taWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICAmX19xdHksXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24sXG4gICAgJl9fb3B0aW9ucy10aXRsZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX29wdGlvbnMtdGl0bGUtc3ZnLFxuICAgICAgICAgICAgI3skcm9vdH1fX2FjdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG1pbmljYXJ0LXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICB3aWR0aDogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWljb24sXG4gICAgJl9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAqIHtcbiAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAmX19vcHRpb25zLXRpdGxlIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgcGFkZGluZzogMS41cmVtIDJyZW0gMnJlbTtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjRyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX3RvdGFsLWxlZnQtdGV4dCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX3RvdGFsLWZ1bGZpbGxlZCB7XG4gIHBhZGRpbmctbGVmdDogMi44cmVtO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1zdWNjZXNzLnN2Z1wiKSAwIDUwJSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMnJlbTsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1sYWJlbCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogIzM3Yjg0MTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1sYWJlbC0tc3RhcnQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1sYWJlbC0tZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJyZW07XG4gIHBhZGRpbmc6IDAuNHJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IwYjBiMDtcbiAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLXByb2dyZXNzLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwcHg7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItcHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiAjMzdiODQxO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNTVzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KTsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2ljb24ge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDMuNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW46IDAgMCAwIDIuNXJlbTtcbiAgZmlsbDogIzg4ODtcbiAgdHJhbnNpdGlvbjogZmlsbCAwLjNzOyB9XG4gIC5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLXdyYXBwZXItLWZyZWUtc2hpcHBpbmctYWN0aXZlIC5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9faWNvbiB7XG4gICAgZmlsbDogIzM3Yjg0MTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9wYWRkaW5nOiAxLjVyZW0gMnJlbSAycmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3NlcGFyYXRvcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Z1bGZpbGxlZC1pY29uLXVybDogJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXN1Y2Nlc3Muc3ZnJyAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi1zaXplOiAycmVtICFkZWZhdWx0OyAvLyBiYWNrZ3JvdW5kLXNpemUgZm9ybWF0ICgycmVtIDFyZW0gb3IgMnJlbSA9PT0gMnJlbSAycmVtKVxuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLWNvbG9yOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wYWRkaW5nOiAwLjRyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9zaWx2ZXItY2hhbGljZSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAqIDEuNCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy13cmFwcGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLXRyYW5zaXRpb246IHdpZHRoIDAuNTVzXG4gICAgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24td2lkdGg6IDMuNHJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLW1hcmdpbjogMCAwIDAgMi41cmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tY29sb3I6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tY29sb3ItLWZyZWUtc2hpcHBpbmctYXBwbGllZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9ZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Ige1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGJvcmRlci10b3A6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9zZXBhcmF0b3I7XG4gICAgICAgIHBhZGRpbmc6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9wYWRkaW5nO1xuICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtNTAwO1xuICAgICAgICBmb250LXNpemU6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mb250LXNpemU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fY2VsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX190b3RhbC1sZWZ0LXRleHQge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3RhbC1mdWxmaWxsZWQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi11cmwpIDAgNTAlXG4gICAgICAgICAgICBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Z1bGZpbGxlZC1pY29uLXNpemU7XG4gICAgfVxuXG4gICAgJl9fYmFyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2Jhci1sYWJlbCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBjb2xvcjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtZm9udC13ZWlnaHQ7XG5cbiAgICAgICAgJi0tc3RhcnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lbmQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlcjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmX19iYXItcHJvZ3Jlc3Mtd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy13cmFwcGVyLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmX19iYXItcHJvZ3Jlc3Mge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy10cmFuc2l0aW9uO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2lkdGg6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1tYXJnaW47XG4gICAgICAgIGZpbGw6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWxsICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZTtcblxuICAgICAgICAjeyRyb290fV9fYmFyLXdyYXBwZXItLWZyZWUtc2hpcHBpbmctYWN0aXZlICYge1xuICAgICAgICAgICAgZmlsbDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tY29sb3ItLWZyZWUtc2hpcHBpbmctYXBwbGllZDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4ubW9kYWwtc2xpZGUuY29uZmlybSAubW9kYWwtaW5uZXItd3JhcCxcbi5tb2RhbC1wb3B1cC5jb25maXJtIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLWN1c3RvbS5jb25maXJtIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgbWF4LXdpZHRoOiA1MHJlbTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXAsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMXB4IDNweCAzcmVtIDAgcmdiYSgzMywgMzMsIDMzLCAwLjI4KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5tb2RhbC1zbGlkZSAubW9kYWwtY29udGVudCxcbi5tb2RhbC1wb3B1cCAubW9kYWwtY29udGVudCxcbi5tb2RhbC1jdXN0b20gLm1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtOyB9XG5cbi5tb2RhbC1zbGlkZSAubW9kYWwtaGVhZGVyLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2UsXG4ubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSxcbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDEuNXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTsgfVxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2Ugc3BhbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTpiZWZvcmUsXG4gIC5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3Rlcixcbi5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnlbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBtaW4td2lkdGg6IDEycmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZFtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGRbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkIHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC10aXRsZSxcbi5tb2RhbC1wb3B1cCAubW9kYWwtdGl0bGUsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzJkM2U1MDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLm1vZGFsLXBvcHVwLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwW2NsYXNzXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5wYWdlLWxheW91dC1jaGVja291dCAubW9kYWwtcG9wdXAge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm1vZGFsLXNsaWRlIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogNjVyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG5cbi5tb2RhbHMtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG1vZGFsX3RpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJG1vZGFsX2luc2lkZS1ib3JkZXJzOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbW9kYWxfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG1vZGFsX3NsaWRlLW1vYmlsZS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbW9kYWxfYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRtb2RhbF9ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJG1vZGFsLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRtb2RhbF90ZXh0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9wYXJhZ3JhcGggIWRlZmF1bHQ7XG4kbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXG4ubW9kYWwtc2xpZGUsXG4ubW9kYWwtcG9wdXAsXG4ubW9kYWwtY3VzdG9tIHtcbiAgICAmLmNvbmZpcm0ge1xuICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW9kYWxfYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogJG1vZGFsX2JveC1zaGFkb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtb2RhbF9ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXI6ICRtb2RhbC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJG1vZGFsX3RleHQtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXJnaW46IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvY2xvc2Uuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogJG1vZGFsX2luc2lkZS1ib3JkZXJzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgICAucHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU3R5bGUgZm9yIGNoZWNrb3V0IG1vZGFscyBoYXZlIHZlcnkgaGlnaCBzcGVjaWZpY2l0eSBpbiBtYWdlbnRvXG4gICAgICAgICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b246b25seS1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkbW9kYWxfdGl0bGUtZm9udC1zaXplKTtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1vZGFsX2luc2lkZS1ib3JkZXJzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUge1xuICAgIC5tb2RhbC1pbm5lci13cmFwW2NsYXNzXSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsX3NsaWRlLW1vYmlsZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtc2xpZGUge1xuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXByaW1hcnksXG4gICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IHtcbiAgICAubW9kYWwtcG9wdXAge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAubW9kYWwtc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFscy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWxzX292ZXJsYXktYmFja2dyb3VuZDtcbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDZyZW0gM3JlbTsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19oZWFkbGluZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDQuM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19zdWJoZWFkbGluZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMS42NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19zdWJoZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX190ZXh0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICMyMTIxMjE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX3RleHQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2N0YSB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpob3ZlciwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246Zm9jdXMsIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MCAhaW1wb3J0YW50OyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmJlZm9yZSwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4OyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwcHggMHB4IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjphZnRlciB7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbiwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbiAqLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbi1zcGFuIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbi1pY29uIHtcbiAgbWF4LXdpZHRoOiAxZW07XG4gIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICByaWdodDogMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJHRlYXNlcl9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kdGVhc2VyX2J1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9bmF2aWdhdGlvbi10ZWFzZXIge1xuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gM3JlbTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21pbmVzaGFmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0LjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjY1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21pbmVzaGFmdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICR0ZWFzZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICR0ZWFzZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkdGVhc2VyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkdGVhc2VyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJHRlYXNlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHRlYXNlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1uYXZpZ2F0aW9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgLmNzLW5hdmlnYXRpb25fX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1tYWluIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGJhY2tncm91bmQ6ICMyZDNlNTA7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbHVtbnM6IGF1dG8gMTtcbiAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8yIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmNzLW5hdmlnYXRpb25fX2xpc3QtLWhpZGRlbiArIC5jcy1uYXZpZ2F0aW9uX19leHRyYXMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpc3QgLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW5vLWNoaWxkcmVuOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1uby1jaGlsZHJlbjpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgLmNzLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9faXRlbSAuc3BlY2lhbC1wcmljZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtN3B4O1xuICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgei1pbmRleDogOTk5O1xuICAgICAgcGFkZGluZzogM3B4OyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2l0ZW0tLWFjdGl2ZTpub3QoW2RhdGEtY2F0ZWdvcnktaWRlbnRpZmllcj0nYWxsLWNhdGVnb3JpZXMnXSkgPiAuY3MtbmF2aWdhdGlvbl9fbGluaywgLmNzLW5hdmlnYXRpb25fX2l0ZW0uYWN0aXZlOm5vdChbZGF0YS1jYXRlZ29yeS1pZGVudGlmaWVyPSdhbGwtY2F0ZWdvcmllcyddKSA+IC5jcy1uYXZpZ2F0aW9uX19saW5rLCAuY3MtbmF2aWdhdGlvbl9faXRlbTphY3RpdmU6bm90KFtkYXRhLWNhdGVnb3J5LWlkZW50aWZpZXI9J2FsbC1jYXRlZ29yaWVzJ10pID4gLmNzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1uYXZpZ2F0aW9uX19pdGVtOmZvY3VzOm5vdChbZGF0YS1jYXRlZ29yeS1pZGVudGlmaWVyPSdhbGwtY2F0ZWdvcmllcyddKSA+IC5jcy1uYXZpZ2F0aW9uX19saW5rLCAuY3MtbmF2aWdhdGlvbl9faXRlbTpob3Zlcjpub3QoW2RhdGEtY2F0ZWdvcnktaWRlbnRpZmllcj0nYWxsLWNhdGVnb3JpZXMnXSkgPiAuY3MtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9faXRlbSA+IC5jcy1uYXZpZ2F0aW9uX19saW5rLS1hY3RpdmUsIC5jcy1uYXZpZ2F0aW9uX19pdGVtID4gLmNzLW5hdmlnYXRpb25fX2xpbmsuYWN0aXZlLCAuY3MtbmF2aWdhdGlvbl9faXRlbSA+IC5jcy1uYXZpZ2F0aW9uX19saW5rOmFjdGl2ZSwgLmNzLW5hdmlnYXRpb25fX2l0ZW0gPiAuY3MtbmF2aWdhdGlvbl9fbGluazpmb2N1cywgLmNzLW5hdmlnYXRpb25fX2l0ZW0gPiAuY3MtbmF2aWdhdGlvbl9fbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2l0ZW0tLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gICAgICAvKiBJRSAxMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbGV2ZWxfMSB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgLyogSUUgMTEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2l0ZW0tLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmc6IDE1cHggOXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1uYXZpZ2F0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLW5hdmlnYXRpb25fX2xpbms6aG92ZXIgLmNzLW5hdmlnYXRpb25fX2xpbmstaWNvbi0tc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmstLW1haW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS42ZW07IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS42ZW07IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmstLXdpdGgtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGluay1pY29uLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMC44ZW07IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fbGluay1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gICAgICAuY3MtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnkgLmNzLW5hdmlnYXRpb25fX2xpbmstaWNvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rLWljb24tLXN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogIzQ4NDg0ODsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19saW5rLXByb2R1Y3RzLXF0eTpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX2xpbmstcHJvZHVjdHMtcXR5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcpJzsgfVxuICAuY3MtbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbm8tY2hpbGRyZW4ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW5vLWNoaWxkcmVuID4gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMC45ZW0gMS41ZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTAwMTtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0LS12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHN2ZyB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgLmNzLW5hdmlnYXRpb25fX2ZseW91dCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH0gfVxuICAuY3MtbmF2aWdhdGlvbl9fZXh0cmFzIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW5hdmlnYXRpb25fX3RlYXNlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fdGVhc2VyLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX190ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3RzIHtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgbWluLXdpZHRoOiAyNHJlbTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0cy1oZWFkZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIHBhZGRpbmc6IDEuMWVtIDEuMDVlbSAxLjU1ZW07XG4gICAgICBmb250LXNpemU6IDAuOWVtOyB9XG4gICAgLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3RzLWxpc3Qge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTcwJTsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0IC5jcy1wcm9kdWN0LXRpbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwOyB9XG4gIC5jcy1uYXZpZ2F0aW9uX19vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDNyZW0sIDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMCwgMC45NywgMC4wNSwgMC45OSk7IH1cbiAgICAuY3MtbmF2aWdhdGlvbl9fb3ZlcmxheS0tdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5wYWdlLXByaW50IC5jcy1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdCAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87IH0gfVxuXG4uY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuIiwiLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG5cbkBmdW5jdGlvbiBnZXQtYXNwZWN0LXJhdGlvLXBhZGRpbmctdmFsdWUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgQHJldHVybiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCwgJGNoaWxkQ2xhc3MsICRhdXRvcG9zaXRpb246IHRydWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnZXQtYXNwZWN0LXJhdGlvLXBhZGRpbmctdmFsdWUoJHdpZHRoLCAkaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAuI3skY2hpbGRDbGFzc30ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBAaWYgJGF1dG9wb3NpdGlvbiB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1yZXNldCgkY2hpbGRDbGFzcywgJGF1dG9wb3NpdGlvbjogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICAuI3skY2hpbGRDbGFzc30ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcblxuICAgICAgICBAaWYgJGF1dG9wb3NpdGlvbiB7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1jaGlsZC1wb3NpdGlvbigkYXV0b3Bvc2l0aW9uOiB0cnVlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGlmICRhdXRvcG9zaXRpb24ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1vdmVycmlkZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnZXQtYXNwZWN0LXJhdGlvLXBhZGRpbmctdmFsdWUoJHdpZHRoLCAkaGVpZ2h0KTtcbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUtcmVzZXQoKSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2FzcGVjdC1yYXRpbyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5cbiRuYXZpZ2F0aW9uX2ZvbnQtc2l6ZTogMS4ycmVtO1xuXG4kbmF2aWdhdGlvbl9vdmVybGF5LXNob3c6IGZhbHNlICFkZWZhdWx0O1xuLy8gQm94IHNoYWRvdyBlZmZlY3QgYXBwbGllZCBmb3IgdGhlIGZseW91dC5cbiRuYXZpZ2F0aW9uX2ZseW91dC1ib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTgwMCwgMC4xNSkgIWRlZmF1bHQ7XG4vLyBGbHlvdXQgYmFja2dyb3VuZCBjb2xvci5cbiRuYXZpZ2F0aW9uX2ZseW91dC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4vLyBDb2xvciBvZiB0aGUgbGluay5cbiRuYXZpZ2F0aW9uX2xpbmstY29sb3I6ICNmZmY7XG4vLyBDb2xvciBvZiB0aGUgbGluayBpbiB0aGUgZmx5b3V0IG9uIGhvdmVyLlxuJG5hdmlnYXRpb25fbGluay1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnk7XG4vLyBCb3R0b20gYm9yZGVyIGNvbmZpZ3VyYXRpb24gZm9yIGZseW91dCBjYXRlZ29yeSBsaW5rcy5cbiRuYXZpZ2F0aW9uX2xpbmstYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbl9saXN0cy1tYXJrLXBhcmVudC1vbi1ob3ZlcjogdHJ1ZSAhZGVmYXVsdDtcblxuJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtd2lkdGg6IDJyZW0gIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS1oZWlnaHQ6ICRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLXdpZHRoICFkZWZhdWx0O1xuLy8gd29ya3Mgb25seSBmb3Igc3ZnIGljb25zXG4kbmF2aWdhdGlvbl9saW5rLWljb24tY29sb3I6ICRjb2xvcl90ZXh0LTYwMCAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uX2xpbmstaWNvbi1jb2xvci0taG92ZXI6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfW5hdmlnYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRuYXZpZ2F0aW9uX2ZvbnQtc2l6ZTtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYmFja2dyb3VuZDokY29sb3JfcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGV2ZWwge1xuICAgICAgICAgICAgJl8xIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl8yIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJiArIC4jeyRuc31uYXZpZ2F0aW9uX19leHRyYXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faXRlbS0tbm8tY2hpbGRyZW4ge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkbmF2aWdhdGlvbl9saXN0cy1tYXJrLXBhcmVudC1vbi1ob3Zlcikge1xuICAgICAgICAgICAgJi0tYWN0aXZlLFxuICAgICAgICAgICAgJi5hY3RpdmUsICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOm5vdChbZGF0YS1jYXRlZ29yeS1pZGVudGlmaWVyPSdhbGwtY2F0ZWdvcmllcyddKSB7XG4gICAgICAgICAgICAgICAgICAgID4gI3skcm9vdH1fX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmNWY1ZjU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+ICN7JHJvb3R9X19saW5rIHtcbiAgICAgICAgICAgICAgICAmLS1hY3RpdmUsXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2Y1ZjVmNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJi0tbWFpbiB7ICAgICAgXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICYjeyRyb290fV9faXRlbS0tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoW2RhdGEtY2F0ZWdvcnktaWRlbnRpZmllcj0nYWxsLWNhdGVnb3JpZXMnXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiAjeyRyb290fV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgPiAjeyRyb290fV9fbGluazpub3QoI3skcm9vdH1fX2xpbmstLXdpdGgtaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICA+ICN7JHJvb3R9X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAvLyBQcmV2ZW50cyBlbGVtZW50IGJyZWFraW5nIGJlY2F1c2Ugb2YgY29sdW1uIGxheW91dC5cbiAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyAvKiBJRSAxMSAqL1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZXZlbCB7XG4gICAgICAgICAgICAmXzEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAgICAgLy8gUHJldmVudHMgZWxlbWVudCBicmVha2luZyBiZWNhdXNlIG9mIGNvbHVtbiBsYXlvdXQuXG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyAvKiBJRSAxMSAqL1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggOXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yLWhvdmVyO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fbGluay1pY29uLS1zdmcge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkbmF2aWdhdGlvbl9saW5rLWljb24tY29sb3ItLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2aWdhdGlvbl9saW5rLWJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjZlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxldmVsIHtcbiAgICAgICAgICAgICZfMSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmXzIge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0td2l0aC1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtd2lkdGggKyAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6ICRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS1oZWlnaHQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC44ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAkbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19saW5rLS1jYXRlZ29yeSAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zdmcge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkbmF2aWdhdGlvbl9saW5rLWljb24tY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1wcm9kdWN0cy1xdHkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9TdHlsaW5nIGZvciBjYXRlZ29yaWVzIGxldmVsXzEgd2l0aCBubyBzdWJjYXRlZ29yaWVzXG4gICAgI3skcm9vdH1fX2l0ZW0tLW5vLWNoaWxkcmVuIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgI3skcm9vdH1fX2l0ZW0tLW5vLWNoaWxkcmVuID4gI3skcm9vdH1fX2xpbmstLWxldmVsXzEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDAuOWVtIDEuNWVtO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgIH1cblxuICAgICZfX2ZseW91dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdmlnYXRpb25fZmx5b3V0LWJhY2tncm91bmQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTAwMTsgLy8gTWFrZSBzdXJlIGZseW91dHMgY292ZXIgZ2FsbGVyeSBuYXYuXG4gICAgICAgIGJveC1zaGFkb3c6ICRuYXZpZ2F0aW9uX2ZseW91dC1ib3gtc2hhZG93O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuXG4gICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSk7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZXh0cmFzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX3RlYXNlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMWVtIDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdHMge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgICAgIG1pbi13aWR0aDogMjRyZW07XG5cbiAgICAgICAgJi1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2aWdhdGlvbl9saW5rLWJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMWVtIDEuMDVlbSAxLjU1ZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyhcbiAgICAgICAgJHdpZHRoOiAkdGlsZV9hc3BlY3QtcmF0aW8td2lkdGgsXG4gICAgICAgICAgICAkaGVpZ2h0OiAkdGlsZV9hc3BlY3QtcmF0aW8taGVpZ2h0LFxuICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgJGF1dG9wb3NpdGlvbjogdHJ1ZVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDNyZW0sIDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgIHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLCAwLjk3LCAwLjA1LCAwLjk5KTtcblxuICAgICAgICBAaWYgJG5hdmlnYXRpb25fb3ZlcmxheS1zaG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgICAgICZfX3Byb2R1Y3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLXJlc2V0KFxuICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICRhdXRvcG9zaXRpb246IHRydWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtbmV3c2xldHRlciB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtbmV3c2xldHRlciB7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG4gIC5jcy1uZXdzbGV0dGVyX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogMzRyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1uZXdzbGV0dGVyX19mb3JtLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAuY3MtbmV3c2xldHRlcl9fZmllbGQge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2lucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1uZXdzbGV0dGVyX19sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAuY3MtbmV3c2xldHRlcl9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDRyZW07IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24sIC5jcy1uZXdzbGV0dGVyX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uICosIC5jcy1uZXdzbGV0dGVyX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1uZXdzbGV0dGVyX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjFlbTtcbiAgICB3aWR0aDogMC44ZW07XG4gICAgaGVpZ2h0OiAwLjhlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGlucHV0X3BhZGRpbmc6IDAuNzE1ZW0gMWVtICFkZWZhdWx0O1xuJGlucHV0X2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9hbHRvICFkZWZhdWx0O1xuJGlucHV0X2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX21hcmdpbjogMCAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX3BhZGRpbmc6IDAgMS41cmVtICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9mb3JtLW1heC13aWR0aDogMzRyZW0gIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9mb3JtLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcblxuJG5ld3NsZXR0ZXJfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zOiAnb25seS1pY29uJyAhZGVmYXVsdDtcblxuJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24td2lkdGg6IDAuOGVtICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24taGVpZ2h0OiAwLjhlbSAhZGVmYXVsdDtcblxuLiN7JG5zfW5ld3NsZXR0ZXIge1xuICAgIG1hcmdpbjogJG5ld3NsZXR0ZXJfbWFyZ2luO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6ICRuZXdzbGV0dGVyX3BhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG5ld3NsZXR0ZXJfZm9ybS1tYXgtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb3JtLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiAkbmV3c2xldHRlcl9mb3JtLWhlaWdodDtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG5ld3NsZXR0ZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWljb24oXG4gICAgICAgICAgICAkdHlwZTogJG5ld3NsZXR0ZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHdpZHRoOiAkbmV3c2xldHRlcl9idXR0b24taWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkbmV3c2xldHRlcl9idXR0b24taWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1oZWFkZXItdXNlci1uYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4OiAwIDEgMzAlOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsZXg6IDAgMSAzMyU7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1sYW5ndWFnZSB7XG4gICAgICBmbGV4OiAwIDEgMzMlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmstLXNlYXJjaDpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLXRvcDogMC4zcmVtICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICBjbGlwOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICBwYWRkaW5nOiAwIDAuNnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBoZWlnaHQ6IDEuOGVtO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMC41cmVtO1xuICAgIHRvcDogLTAuNXJlbTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlciB7XG4gICAgICAgIHJpZ2h0OiAtMXJlbTsgfSB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLXdpc2hsaXN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1taW5pY2FydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTQxZjEyO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0tY29tcGFyZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0taGF2ZS1pdGVtcyB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLXNwYW4ge1xuICAgIG1pbi13aWR0aDogMWNoOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdiAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1jaGVja291dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNzLW9mZmNhbnZhcy10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlcjogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZSwgLmNzLW9mZmNhbnZhcy10b2dnbGU6YWN0aXZlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZTpmb2N1cywgLmNzLW9mZmNhbnZhcy10b2dnbGU6aG92ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIGJhY2tncm91bmQ6ICMyZDNlNTA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlOmFjdGl2ZSwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTpmb2N1cywgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiwgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjphZnRlciB7XG4gICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzZTUwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCB0cmFuc2Zvcm0gMC4zczsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjUwJSwgMCk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1MCUsIDApOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlX190ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjVyZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fdGV4dCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fdGV4dCB7XG4gICAgICAgIGJvdHRvbTogMnJlbTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlci91c2VyLW5hdi91c2VyLW5hdic7XG5cbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQtYWN0aXZlOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yLWFjdGl2ZTogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi10cmFuc2l0aW9uLXRpbWU6ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2FuaW1hdGlvbi1kaXJlY3Rpb246ICdsZWZ0JyAhZGVmYXVsdDsgLy8gJ2xlZnQnIG9yICdyaWdodCdcbiRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3ItYWN0aXZlOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4uI3skbnN9b2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLW1vYmlsZS1zZWFyY2gtaW4tb2ZmY2FudmFzKSB7XG4gICAgICAgIHdpZHRoOiA1LjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAnPj0jeyRnbG9iYWxfaGVhZGVyLW1vYmlsZS1zZWFyY2gtaW4tb2ZmY2FudmFzLWJyZWFrcG9pbnR9J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10b2dnbGVfaWNvbi10cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICBAaWYgKCRvZmZjYW52YXMtdG9nZ2xlX2FuaW1hdGlvbi1kaXJlY3Rpb24gPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICYsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJG9mZmNhbnZhcy10b2dnbGVfaWNvbi10cmFuc2l0aW9uLXRpbWUsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yNTAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNTAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICc+PSN7JGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMtYnJlYWtwb2ludH0nXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMC41cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICAgICAjeyRyb290fS0tYWN0aXZlICYge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtdG9nZ2xlX3RleHQtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcykge1xuICAgICAgICAmX19tZW51LXNlYXJjaC1pY29uIHtcbiAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAyLjZyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgJz49I3skZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcy1icmVha3BvaW50fSdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4uY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzAsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tY3VycmVudCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzAsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tY3VycmVudCB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1jdXJyZW50ID4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtID4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxMDUlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSArIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggI2RjZGNkYyBzb2xpZDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0tLXdpdGgtaWNvbiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX3RleHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluaywgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbiwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluOnZpc2l0ZWQsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQ6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW46aG92ZXIsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQ6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW46aG92ZXIgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQ6aG92ZXIgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDIuM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgIHJpZ2h0OiAycmVtOyB9XG4gICAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCB7XG4gICAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcGFyZW50IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICBoZWlnaHQ6IDAuMXJlbTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcGFyZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcGFyZW50IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICAgIHJpZ2h0OiAycmVtOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgICBsZWZ0OiAycmVtOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAycmVtOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogMnJlbTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDUwJSwgMCk7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogYXV0bzsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAycmVtOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbiAuYWN0aXZlID4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fY2F0ZWdvcnktaWNvbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fY2F0ZWdvcnktaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXgtaGVpZ2h0OiAycmVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYmFja2dyb3VuZDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI6IDFweCAkY29sb3JfYWx0byBzb2xpZCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX3NlYXJjaC1lbmFibGVkOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX1RoZW1lLFxuICAgIGhlYWRlcixcbiAgICBtb2JpbGVfc2VhcmNoX2luX29mZmNhbnZhc1xuKSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX3NlYXJjaC1lbmFibGVkLWxpc3QtbGV2ZWwxLXRvcC1wb3NpdGlvbjogMTQlICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtc2l6ZTogMS42cmVtO1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstYWN0aXZlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nOiAyLjRyZW0gMnJlbSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdXNlLXBzZXVkb2ljb24taW5zdGVhZC1zdmc6IHRydWUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aDogMC43cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0OiAwLjFyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvciAhZGVmYXVsdDtcbi8vIEJlbG93IG5hdmlnYXRpb25faWNvbiBzZXR0aW5ncyBhcmUgdXNhYmxlIG9ubHkgaWYgeW91IHVzZSBwc2V1ZG9pY29uXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tZGVmYXVsdC0tbmV4dDogJ3JpZ2h0JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLXByZXY6ICdsZWZ0JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hcnJvdy1sZWZ0LW9mZnNldDogMCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvci0taG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3IgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9jYXRlZ29yeS1pY29uX21heC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fY2F0ZWdvcnktaWNvbl9tYXJnaW4tcmlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31vZmZjYW52YXMtbmF2aWdhdGlvbiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2JhY2tncm91bmQ7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi0tbGV2ZWxfMCxcbiAgICAgICAgJi0tY3VycmVudCxcbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGV2ZWxfMCxcbiAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICA+ICN7JHJvb3R9X19pdGVtIHtcbiAgICAgICAgICAgICAgICA+ICN7JHJvb3R9X19saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDEwNSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICAgICAgICAgLy8gUHJldmVudCBvdmVybGFwcGluZyBvZiBzZWFyY2ggb24gbmF2aWdhdGlvbiBsaXN0XG4gICAgICAgICAgICBAaWYgKCRvZmZjYW52YXMtbmF2aWdhdGlvbl9zZWFyY2gtZW5hYmxlZCkge1xuICAgICAgICAgICAgICAgIHRvcDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX3NlYXJjaC1lbmFibGVkLWxpc3QtbGV2ZWwxLXRvcC1wb3NpdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td2l0aC1pY29uIHtcbiAgICAgICAgICAgICN7JHJvb3R9X190ZXh0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAnbGVmdCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmc7XG4gICAgICAgIGZvbnQtc2l6ZTogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstZm9udC1zaXplO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstZm9udC13ZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnRfZmFtaWx5LXNlY29uZGFyeTtcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3ItLWhvdmVyO1xuXG4gICAgICAgICAgICBAaWYgbm90KCRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNpZ24taW4sXG4gICAgICAgICYtLXNpZ24tb3V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvci0taG92ZXI7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi4zcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAncmlnaHQnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBhcmVudCxcbiAgICAgICAgJi0tcmV0dXJuIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXJlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXJlbTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAncmlnaHQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJldHVybiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAnbGVmdCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi11c2UtcHNldWRvaWNvbi1pbnN0ZWFkLXN2Zykge1xuICAgICAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRhbmltYXRlZDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYW5pbWF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tZGVmYXVsdC0tbmV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LW9mZnNldDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYXJyb3ctbGVmdC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICR3aWR0aDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvci0taG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmlnaHQnXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRhbmltYXRlZDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYW5pbWF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tZGVmYXVsdC0tcHJldixcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LW9mZnNldDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYXJyb3ctbGVmdC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICR3aWR0aDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvci0taG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDogYXV0b1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aXZlIHtcbiAgICAgICAgPiAjeyRyb290fV9fbGluayB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcnktaWNvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2NhdGVnb3J5LWljb25fbWF4LWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fY2F0ZWdvcnktaWNvbl9tYXJnaW4tcmlnaHQ7XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcnktaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIG1heC1oZWlnaHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9jYXRlZ29yeS1pY29uX21heC1oZWlnaHQ7XG4gICAgfVxuXG4gICAgQGlmICgkZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcykge1xuICAgICAgICAmX19zZWFyY2gge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgJz49I3skZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcy1icmVha3BvaW50fSdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1vZmZjYW52YXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDMwMDsgfVxuICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiA1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1vZmZjYW52YXNfX2RyYXdlciwgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgICAgIHRvcDogMTFyZW07XG4gICAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1vZmZjYW52YXNfX2RyYXdlciwgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jcy1vZmZjYW52YXMtLW1pbmktY2FydCAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXMtLW1pbmktY2FydCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwOyB9XG4gIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNXJlbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCB0cmFuc2Zvcm0gMW1zIDAuM3M7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gICAgLmNzLW9mZmNhbnZhcy0tbWluaS1jYXJ0IC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1vZmZjYW52YXMgLm92ZXJsYXktLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA0MHJlbTsgfVxuICAgIC5jcy1vZmZjYW52YXMtLXNpZGVfbGVmdCAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1zaWRlX3JpZ2h0IC5jcy1vZmZjYW52YXNfX2RyYXdlciB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNSUsIDAsIDApOyB9XG4gICAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLS1uYXZpZ2F0aW9uIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApOyB9XG4gIC5jcy1vZmZjYW52YXMgLmRyYXdlci0tdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50OyB9XG4gIC5jcy1vZmZjYW52YXNfX3NwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNnJlbTtcbiAgICBoZWlnaHQ6IDZyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMjAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kb2ZmY2FudmFzX3ZlcnRpY2FsLW9mZnNldC1tb2JpbGU6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGUgIWRlZmF1bHQ7IC8vIE1vdmUgYmVsb3cgdGhlIG5hdmlnYXRpb24gb24gbW9iaWxlLlxuJG9mZmNhbnZhc190b3Atb2Zmc2V0LXRhYmxldDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldCAhZGVmYXVsdDsgLy8gTW92ZSBiZWxvdyB0aGUgbmF2aWdhdGlvbiBvbiB0YWJsZXQuXG4kb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTogJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzX292ZXJsYXktYmFja2dyb3VuZDogJG1vZGFsc19vdmVybGF5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXNfZHJhd2VyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhc19zcGlubmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31vZmZjYW52YXMge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDMwMDtcblxuICAgICZfX2RyYXdlcixcbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgICAgIGJvdHRvbTogJG9mZmNhbnZhc192ZXJ0aWNhbC1vZmZzZXQtbW9iaWxlO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHRvcDogJG9mZmNhbnZhc192ZXJ0aWNhbC1vZmZzZXQtbW9iaWxlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgdG9wOiAkb2ZmY2FudmFzX3RvcC1vZmZzZXQtdGFibGV0O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1taW5pLWNhcnQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRvZmZjYW52YXNfdmVydGljYWwtb2Zmc2V0LW1vYmlsZX0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gU2V0dGluZyAxbXMgYmVjYXVzZSAwIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGFuZCB3ZSBuZWVkIHNlYW1sZXNzIHRyYW5zaXRpb24gZm9yIHNjYWxlIGhlcmUuXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWUsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMW1zICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLW1pbmktY2FydCAmIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vdmVybGF5IHtcbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhc19vdmVybGF5LWJhY2tncm91bmQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZHJhd2VyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzX2RyYXdlci1iYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1heC13aWR0aDogNDByZW07XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlKSB7XG4gICAgICAgICAgICBib3R0b206ICRvZmZjYW52YXNfdmVydGljYWwtb2Zmc2V0LW1vYmlsZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1zaWRlX2xlZnQgJiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1zaWRlX3JpZ2h0ICYge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDUlLCAwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1tb2JpbGUtbWVudS1pcy1yaWdodCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDUlLCAwLCAwKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJhd2VyIHtcbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNnJlbTtcbiAgICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMjAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNyZW07XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5wYWdlLXRpdGxlX19oZWFkbGluZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAucGFnZS10aXRsZV9fc3BhbiB7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRwYWdlLXRpdGxlX2ZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0xICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kcGFnZS10aXRsZV9zcGFuLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9zcGFuLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9zcGFuLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi5wYWdlLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRwYWdlLXRpdGxlX2ZvbnQtc2l6ZSk7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06ICRwYWdlLXRpdGxlX3RleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFnZS10aXRsZV9mb250LXdlaWdodDtcblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgICZfX3NwYW4ge1xuICAgICAgICBjb2xvcjogJHBhZ2UtdGl0bGVfc3Bhbi1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwYWdlLXRpdGxlX3NwYW4tZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRwYWdlLXRpdGxlX3NwYW4tcGFkZGluZztcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcGFnZS1ib3R0b20ge1xuICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLnBhZ2UtcHJpbnQgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2Uge1xuICAgIGhlaWdodDogM3JlbTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2UtLWNpcmNsZSB7XG4gICAgICB3aWR0aDogNC43cmVtO1xuICAgICAgaGVpZ2h0OiA0LjdyZW07XG4gICAgICBtaW4td2lkdGg6IDQuN3JlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuN3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX3RleHQtLXNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAgICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8gLmNzLXBhZ2UtYm90dG9tX190ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyB7XG4gICAgICAgICAgZmxleC1iYXNpczogMTclO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIC5jcy1wYWdlLWJvdHRvbV9fdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDU1JTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZyB7XG4gICAgICAgICAgZmxleC1iYXNpczogMzMlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgICBmbGV4LWJhc2lzOiA1MCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQgLmNzLXBhZ2UtYm90dG9tX190ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcsIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmc6YmVmb3JlLCAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDAuMnJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogI2RjZGNkYztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuICAuY3MtcGFnZS1ib3R0b21fX2xvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWhlcm1lcyB7XG4gICAgICB3aWR0aDogMTIuMnJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZGhsIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICBtaW4td2lkdGg6IDguNnJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tcGF5cGFsIHtcbiAgICAgIHdpZHRoOiA2LjJyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXZpc2Ege1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICAgIG1pbi13aWR0aDogNS41cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1tYXN0ZXJjYXJkIHtcbiAgICAgIHdpZHRoOiAzLjNyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWtsYXJuYS1zb2ZvcnQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMi41cmVtO1xuICAgICAgbWluLWhlaWdodDogMi41cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1rbGFybmEge1xuICAgICAgd2lkdGg6IDdyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWdscyB7XG4gICAgICB3aWR0aDogNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZ2lyb3BheSB7XG4gICAgICB3aWR0aDogNC44cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1lYyB7XG4gICAgICB3aWR0aDogMS44cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1wYXlkaXJla3Qge1xuICAgICAgd2lkdGg6IDZyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWxhc3RzY2hyaWZ0IHtcbiAgICAgIHdpZHRoOiA2LjE1cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS12b3JrYXNzZSB7XG4gICAgICB3aWR0aDogOC4zcmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1yZWNobnVuZyB7XG4gICAgICB3aWR0aDogNi4xNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nbzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjMmQzZTUwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGFnZS1ib3R0b20ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJHBhZ2UtYm90dG9tX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRwYWdlLWJvdHRvbV9kaXZpZGVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfXBhZ2UtYm90dG9tIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmLS1jaXJjbGUge1xuICAgICAgICAgICAgd2lkdGg6IDQuN3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogNC43cmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA0LjdyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0LjdyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGNvbG9yOiAkcGFnZS1ib3R0b21fdGV4dC1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07XG5cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxNyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNoaXBwaW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDU1JTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXltZW50IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNoaXBwaW5nLFxuICAgICAgICAmLS1wYXltZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnZS1ib3R0b21fZGl2aWRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oZXJtZXMge1xuICAgICAgICAgICAgd2lkdGg6IDEyLjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaGwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOC42cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGF5cGFsIHtcbiAgICAgICAgICAgIHdpZHRoOiA2LjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS12aXNhIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDUuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1hc3RlcmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IDMuM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWtsYXJuYS1zb2ZvcnQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMi41cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0ta2xhcm5hIHtcbiAgICAgICAgICAgIHdpZHRoOiA3cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ2xzIHtcbiAgICAgICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ2lyb3BheSB7XG4gICAgICAgICAgICB3aWR0aDogNC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZWMge1xuICAgICAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBheWRpcmVrdCB7XG4gICAgICAgICAgICB3aWR0aDogNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxhc3RzY2hyaWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiA2LjE1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdm9ya2Fzc2Uge1xuICAgICAgICAgICAgd2lkdGg6IDguM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJlY2hudW5nIHtcbiAgICAgICAgICAgIHdpZHRoOiA2LjE1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1wYWdlLWJvdHRvbSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4ucHJpY2UtYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAucHJpY2UtYm94IC5vbGQtcHJpY2Uubm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjRlbTsgfVxuICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAuM3JlbSAwLjNyZW0gMDsgfVxuICAgICAgYm9keVxucFxuLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLyogMSAqLyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnByaWNlLWJveCAucHJpY2UtZnJvbSxcbiAgLnByaWNlLWJveCAucHJpY2UtdG8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWZyb20gPiAucHJpY2UtY29udGFpbmVyLFxuICAgIC5wcmljZS1ib3ggLnByaWNlLXRvID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWZyb20gLnByaWNlLWxhYmVsLFxuICAgIC5wcmljZS1ib3ggLnByaWNlLXRvIC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBjb2xvcjogI2U0MWYxMjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UuYWN0aXZlIC5wcmljZSB7XG4gICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgLnByaWNlLWJveCAucHJpY2UtZnJvbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1wcmljZS0tcGRwX2RhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveDpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyLnByaWNlLWZpbmFsX3ByaWNlOm5vdCg6b25seS1jaGlsZCkgLnByaWNlIHtcbiAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheDpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSxcbiAgICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4OmJlZm9yZSxcbiAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlLFxuICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzQ0NDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7IH1cbiAgICAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG5cbi5jcy1idW5kbGUtYm94X19hZGQgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICBtYXJnaW46IDFyZW0gMCAwOyB9XG5cbi5taW5pbWFsLXByaWNlLWxpbmsge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1pbmltYWwtcHJpY2UtbGluazphZnRlciB7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJy0nO1xuICAgIHJpZ2h0OiAtMXJlbTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuXG4kY29uZmlndXJhYmxlLXByb2R1Y3RzLXNob3ctZnJvbS1wcmljZS1sYWJlbDogZmFsc2U7XG5cbi5wcmljZS1ib3gge1xuICAgICRyb290OiAmO1xuICAgIEBpbmNsdWRlIHByaWNlQm94KCk7XG4gICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG4gICAgLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9sYWJlbC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWJveF9sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwICRwcmljZS1ib3hfbGFiZWwtbWFyZ2luICRwcmljZS1ib3hfbGFiZWwtbWFyZ2luIDA7XG5cbiAgICAgICAgICAgIEBpZiAoJHByaWNlLWJveF9sYWJlbC1kaXNwbGF5LWNvbG9uKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvZHk6bm90KC5wYWdlLXByb2R1Y3QtYnVuZGxlLCAucGFnZS1wcm9kdWN0LWdyb3VwZWQpXG4gICAgICAgICAgICAgICAgcDpub3QoLnByaWNlLWZyb20sIC5wcmljZS10bylcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkY29uZmlndXJhYmxlLXByb2R1Y3RzLXNob3ctZnJvbS1wcmljZS1sYWJlbCB7XG4gICAgICAgIC5ub3JtYWwtcHJpY2Uge1xuICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLnByaWNlLWZyb20sXG4gICAgLnByaWNlLXRvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb247XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWZyb20ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgfVxuXG4gICAgLiN7JG5zfXByaWNlLS1wZHBfZGFpbHlkZWFsLWNvdW50ZG93biAmIHtcbiAgICAgICAgJjpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1jb250YWluZXIucHJpY2UtZmluYWxfcHJpY2Uge1xuICAgICAgICAmOm5vdCg6b25seS1jaGlsZCkgLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByaWNlLWNvbnRhaW5lciwgICAgICAgIFxuICAgIC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgeyAgICAgICAgXG4gICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAmOmJlZm9yZSB7ICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkOyAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9IFxuICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgJjpiZWZvcmUgeyAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7ICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gXG4gICAgfVxuICAgIC5vbGQtcHJpY2UgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAmOmJlZm9yZSB7ICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7ICAgICAgXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgXG4gICAgfVxufVxuXG4uI3skbnN9YnVuZGxlLWJveF9fYWRkIHtcbiAgICAucHJpY2UtYXMtY29uZmlndXJlZCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgfVxufVxuXG4ubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG5cblxuIiwiLy8gcHJpY2UtYm94XG4vLyBUaGlzIGNvbXBvbmVudCBpcyByZXNwb25zaWJsZSBmb3Igc3R5bGluZyBwcmljZXMgYnkgbWFya3VwIHByb3ZpZGVkIGJ5IE1hZ2VudG8yXG4vL1xuLy8gU2VlIGh0dHA6Ly93YXJwc3BpcmUuY29tL2tzcy8gZm9yIGRvY3VtZW50YXRpb24gZ3VpZGVsaW5lcy5cbi8vIFZlcnNpb24gMC4wLjFcbkBtaXhpbiBwcmljZUJveCgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbGQgcHJpY2Ugc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQgZm9yIHByaWNlcyB3aGVyZSBub3JtYWwgcHJpY2UgaXMgXCJBcyBsb3cgYXMge3ByaWNlfVwiXG4gICAgICAgICYubm8tZGlzcGxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjRlbTtcbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKioqXG4gKiBVc2luZyBwc3VlZG8gZWxlbWVudHMgdG8gbWFpbnRhaW4gYW4gZWxlbWVudHMgYXNwZWN0IHJhdGlvLCBldmVuIGFzIGl0IHNjYWxlc1xuICogSXQncyB1c2luZyBvbmx5IGZvciBJRTExIGFuZCBFZGdlICh2ZXJzaW9uIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQpIGJyb3dzZXJzXG4gKiBGb3IgYnJvd3NlcnMgd2hpY2ggc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQsIHdlIGFyZSB1c2luZyBtaXhpbnMgY29udGFpbiBgcmVzZXRgIGluIG1peGluIG5hbWVcbiAqIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWl4aW5zIChwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudClcbiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9tYWludGFpbi1hc3BlY3QtcmF0aW8tbWl4aW4vXG4gKiBAcGFyYW0ge251bWJlcn0gJHdpZHRoOiB3aWR0aCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0OiBoZWlnaHQgb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge3N0cmluZ30gJGNvbnRlbnRDbGFzczogY2xhc3Mgb2YgdGhlIGRpcmVjdCBjaGlsZCBlbGVtZW50IHRvIGJlIHBvc2l0aW9uZWQgYWJzb2x1dGVseTtcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGF1dG9wb3NpdGlvbjogdGVsbHMgaWYgaXRlbSBzaGFsbCB0YWtlIDEwMCUgb2YgcGFyZW50IHNpemUgb3IgaWYgaXQgY2FuIGJlIHdpZGVyL2hpZ2hlciBpZiBuZWVkZWQ7XG4gKi9cbi8qKlxuICogU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbiAqIGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzlmYTE5ZDI1NDg2NGYzM2Q0YTgwXG4gKiBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbiAqIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG4gKiBCZWNhdXNlIHByaWNlLWJveCBpcyB1c2VkIGluIG11bHRpcGxlIGNvbXBvbmVudHMgbGlrZSB0aWxlLCBidXlib3ggZXRjLFxuICogd2UgbmVlZCB0byBtb3ZlIHZhcmlhYmxlcyB0byBzZXBhcmF0ZSBmaWxlIHRvIGhhdmUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSB0aGVtXG4gKiBpbiBlYWNoIGNvbXBvbmVudCB3aXRob3V0IGdlbmVyYXRlIHByaWNlLWJveCBjb21wb25lbnQgc3R5bGVzIG11bHRpcGxlIHRpbWVzXG4qL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4gKiBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC85ZmExOWQyNTQ4NjRmMzNkNGE4MFxuICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXByb2R1Y3QtdGlsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciB7XG4gICAgICB6LWluZGV4OiA1OyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0taGlkZGVuIC5jcy1wcm9kdWN0LXRpbGVfX21haW4sXG4gIC5jcy1wcm9kdWN0LXRpbGUtLWhpZGRlbiAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQuY3MtcHJvZHVjdC10aWxlLS1zdGF0aWMgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LWdyb3c6IGluaXRpYWw7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMCAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rOmhvdmVyLCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMjUuNzE0MjklOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgICAgIHdpZHRoOiA1cmVtOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19pbWFnZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzLS1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcy0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDAuM3JlbTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyB7XG4gICAgICBtYXJnaW46IDAgMCAwIDAuM3JlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIHBhZGRpbmc6IDAgMC43cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWluLWhlaWdodDogMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDIzLjEyNWVtKSBhbmQgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzN2I4NDE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdiODQxO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTQxZjEyO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwIDFyZW0gMC4zcmVtIDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19nYWxsZXJ5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IGluaXRpYWw7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMS41cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YwZjBmMDsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMjVyZW07XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZjBmMGYwOyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZzogY2FsYygxMzAlICsgMTByZW0pIDEuNXJlbSAxLjVyZW07XG4gICAgICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtM3JlbSwgMCk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4zM3MgY3ViaWMtYmV6aWVyKDAsIDAuNjYsIDAuMzIsIDAuOTkpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMgLmNzLXByb2R1Y3QtdGlsZS5uby10cmFuc2l0aW9uLFxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLXN0YXRpYyAuY3MtcHJvZHVjdC10aWxlOmhvdmVyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy10b3Age1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtdG9wIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXNpZGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtYm90dG9tIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtbGVmdCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tZ3JpZCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1saXN0IHtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMnJlbTsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCArIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycmVtOyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICByaWdodDogaW5pdGlhbDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3QgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycmVtOyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3JldmlldzplbXB0eSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLWluIHtcbiAgICAgIGNvbG9yOiAjMzdiODQxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLW91dCB7XG4gICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1saXN0LmNzLWRhaWx5ZGVhbC0tdGlsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvdHRvbTogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiAxMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXg6IDEgMSAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICAgIG1hcmdpbjogMS41cmVtIDAgMXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNnJlbTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyxcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlczplbXB0eSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyxcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzLS1saXN0OmVtcHR5IHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLS1lbXB0eSB7XG4gICAgICBoZWlnaHQ6IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9yZGVyOiAtMjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM4ODg7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgaGVpZ2h0OiAzLjhyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyA+IC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQtLWVtcHR5ICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBoZWlnaHQ6IDUuOHJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbmsge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAvKiBkaXNhYmxlZCBiZWNhdXNlIGF1dG9wcmVmaXhlciBjYW4ndCBidWlsZCB0aGlzICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgbGluZS1jbGFtcDogMjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uOmVtcHR5IHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgIG1hcmdpbjogYXV0byAwIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0by0tbGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8ge1xuICAgIG1hcmdpbjogMXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8gLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAuY3MtZGFzaGJvYXJkX19ib3R0b20td2lzaGxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8sXG4gIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG86ZW1wdHkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBmaWxsOiAjODg4OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIC8qIDEgKi8gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjZTQxZjEyOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgICAgICBvcmRlcjogLTE7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICAgICAgb3JkZXI6IC0xOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2UtZnJvbSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3g6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94LnByaWNlLWJveC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5jcy1wcm9kdWN0LXRpbGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtcHJvZHVjdC10aWxlOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDU7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlLS1jbGlja2FibGU6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1oaWRkZW4gLmNzLXByb2R1Y3QtdGlsZV9fbWFpbixcbiAgLmNzLXByb2R1Y3QtdGlsZS0taGlkZGVuIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZC5jcy1wcm9kdWN0LXRpbGUtLXN0YXRpYyAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiA0cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICBwYWRkaW5nOiAwIDRyZW0gMCAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC1ncm93OiBpbml0aWFsOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAgNHJlbSAwIDA7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbms6aG92ZXIsIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwNS43MTQyOSU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTByZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgICAgICAgd2lkdGg6IDVyZW07IH0gfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9faW1nIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcy0tZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwLjNyZW07XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjNyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBwYWRkaW5nOiAwIDAuN3JlbTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyMy4xMjVlbSkgYW5kIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLW5ldyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdiODQxO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0MWYxMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGFpbHlkZWFsIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAxcmVtIDAuM3JlbSAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbTplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZ2FsbGVyeSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3BhY2l0eTogaW5pdGlhbDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgICAgIGZsZXg6IDAgMCAyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YwZjBmMDsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxleDogMCAwIDI1cmVtO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YwZjBmMDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmc6IGNhbGMoMTM1JSArIDEwcmVtKSA0cmVtIDRyZW07XG4gICAgICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtM3JlbSwgMCk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4zM3MgY3ViaWMtYmV6aWVyKDAsIDAuNjYsIDAuMzIsIDAuOTkpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMgLmNzLXByb2R1Y3QtdGlsZS5uby10cmFuc2l0aW9uLFxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLXN0YXRpYyAuY3MtcHJvZHVjdC10aWxlOmhvdmVyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy10b3Age1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtdG9wIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXNpZGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtYm90dG9tIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWJvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtYm90dG9tIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtbGVmdCB7XG4gICAgICB3aWR0aDogNzAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtbGVmdCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tZ3JpZCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1saXN0IHtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMnJlbTsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCArIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycmVtOyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICByaWdodDogaW5pdGlhbDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3Qge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXctLWxpc3QgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycmVtOyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3JldmlldzplbXB0eSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLWluIHtcbiAgICAgIGNvbG9yOiAjMzdiODQxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLW91dCB7XG4gICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1saXN0LmNzLWRhaWx5ZGVhbC0tdGlsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvdHRvbTogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiAxMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBub3JtYWw7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXg6IDEgMSAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICAgIG1hcmdpbjogMS41cmVtIDAgMXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNnJlbTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyxcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAwLjVyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXM6ZW1wdHkge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMsXG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcy0tbGlzdDplbXB0eSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAgIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19icmFuZC0tZW1wdHkge1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19icmFuZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcmRlcjogLTI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyA+IC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19icmFuZC0tZW1wdHkgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIGhlaWdodDogNy42cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgb3JkZXI6IC0xOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluayB7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWluLWhlaWdodDogN3JlbTtcbiAgICAvKiBkaXNhYmxlZCBiZWNhdXNlIGF1dG9wcmVmaXhlciBjYW4ndCBidWlsZCB0aGlzICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgbGluZS1jbGFtcDogMztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uOmVtcHR5IHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgIG1hcmdpbjogYXV0byAwIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLFxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvOmVtcHR5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0tLXdpc2hsaXN0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG8tLWdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19hZGR0b2NhcnQtYnV0dG9uLmJ1dHRvbl9jb25maWd1cmUge1xuICAgICAgei1pbmRleDogLTk5OTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0cmVtOyB9XG4gICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBmaWxsOiAjODg4OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIC8qIDEgKi8gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjZTQxZjEyOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcbiAgICAgICAgbWluLWhlaWdodDogNzBweDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICAgICAgb3JkZXI6IC0xOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICAgICAgb3JkZXI6IC0xOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2UtZnJvbSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3g6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94LnByaWNlLWJveC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4iLCIvKipcbiAqIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4gKiBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC85ZmExOWQyNTQ4NjRmMzNkNGE4MFxuICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICAgICAkXzogbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICAgIH1cblxuICAgICRyZXN1bHQ6IDA7XG4gICAgJGRpZ2l0czogMDtcbiAgICAkbWludXM6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpID09ICctJztcbiAgICAkbnVtYmVyczogKFxuICAgICAgICAnMCc6IDAsXG4gICAgICAgICcxJzogMSxcbiAgICAgICAgJzInOiAyLFxuICAgICAgICAnMyc6IDMsXG4gICAgICAgICc0JzogNCxcbiAgICAgICAgJzUnOiA1LFxuICAgICAgICAnNic6IDYsXG4gICAgICAgICc3JzogNyxcbiAgICAgICAgJzgnOiA4LFxuICAgICAgICAnOSc6IDksXG4gICAgKTtcblxuICAgIEBmb3IgJGkgZnJvbSBpZigkbWludXMsIDIsIDEpIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgICAgICBAaWYgbm90KGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKFxuICAgICAgICAgICAgICAgIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLFxuICAgICAgICAgICAgICAgIHN0ci1zbGljZSgkdmFsdWUsICRpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgICAgICAgICRkaWdpdHM6IDE7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRkaWdpdHMgPT0gMCkge1xuICAgICAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9hc3BlY3QtcmF0aW8nO1xuQGltcG9ydCAndXRpbHMvc3RyaW5nLXRvLW51bWJlcic7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbi8vIEdlbmVyYWxcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjogMS41cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjogMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb246IHRydWUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uLWJyZWFrcG9pbnQ6ICc+PWxhcHRvcCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7IC8vIGxlZnQgfCBjZW50ZXIgfCByaWdodFxuJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHM6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMtYnJlYWtwb2ludDogJz49bGFwdG9wJyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3BhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudDogbGVmdCAhZGVmYXVsdDsgLy8gbGVmdCB8IGNlbnRlciB8IHJpZ2h0XG4kcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50OiAndGFibGV0JyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50OiAnbGFwdG9wJyAhZGVmYXVsdDtcblxuLy8gUHJvZHVjdCBuYW1lXG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXNpemU6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXk6IDIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDogMS44cmVtICFkZWZhdWx0OyAvLyBNVVNUIEJFIGEgbnVtYmVyIHZhbHVlIHdpdGggdW5pdCwgY2Fubm90IGJlICdpbmhlcml0J1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvcjogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItdmlzaXRlZDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtbWFyZ2luOiAwIDAgMS41cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gQmFkZ2VzXG4kcHJvZHVjdC10aWxlX2JhZGdlcy16LWluZGV4OiAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy1kaXJlY3Rpb246ICd2ZXJ0aWNhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXByb3A6IHRvcCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3A6IGxlZnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi12YWx1ZTogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXZhbHVlOiAwLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICA0fSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3A6IGxlZnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLW1hcmdpbjogMCAwIDAgMC4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1pdGVtLW1hcmdpbjogMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9IDAuM3JlbSAwICFkZWZhdWx0O1xuXG4vLyBTd2F0Y2hlc1xuJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWNvbnRhaW5lci1taW4taGVpZ2h0OiAyLjZyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtbWFyZ2luOiAxLjVyZW0gMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1tYXJnaW46IDAgMCAwLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBCcmFuZFxuJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JyYW5kLWFsaWdubWVudDogY2VudGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLWFsaWdubWVudDogbGVmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtb3JkZXI6IC0yICFkZWZhdWx0O1xuXG4vLyBBZGRvbnNcbiRwcm9kdWN0LXRpbGVfYWRkb25zLWJhY2tncm91bmQ6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy16aW5kZXgtaG92ZXI6IDUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkb25zLXNob3ctZm9yLXN0YXRpYy10aWxlOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtaGVpZ2h0LW9uLWhvdmVyOiBjYWxjKDEzMCUgKyAxMHJlbSlcbiAgICAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy13aWR0aDogMjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLWJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLW9uZS1jb2x1bW4tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9IDAgMCAhZGVmYXVsdDtcblxuLy8gQWRkaXRpb25hbCBzZWN0aW9uXG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkaXRpb25hbC1tYXJnaW46IGF1dG8gMCAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkaXRpb25hbC1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIFJldmlld1xuJHByb2R1Y3QtdGlsZS1ncmlkX3Jldmlldy1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDBcbiAgICAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Jldmlldy1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuXG4vLyBBZGR0b1xuJHByb2R1ZGN0LXRpbGVfYWRkdG8tZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkdG8tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkdG8tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG5cbi8vIFF0eSBzd2ljdGhlclxuJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXdpZHRoOiAxMXJlbSAhZGVmYXVsdDtcbiRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci1zcGFjZS1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIEFkZHRvY2FydFxuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvY2FydC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9XG4gICAgMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvY2FydC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDR9XG4gICAgMCAwICFkZWZhdWx0O1xuXG4vLyBTdG9ja1xuJHByb2R1Y3QtdGlsZV9zdG9jay1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3RvY2staW4tY29sb3I6ICRjb2xvcl9hcHBsZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3RvY2stb3V0LW9mLWNvbG9yOiAkY29sb3JfY3JpbXNvbiAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1ncmlkX3N0b2NrLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zdG9jay1tYXJnaW46IDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMFxuICAgIDAgIWRlZmF1bHQ7XG5cbi8vIERhaWx5IERlYWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9kYWlseWRlYWwtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2RhaWx5ZGVhbC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9XG4gICAgMCAwIDAgIWRlZmF1bHQ7XG5cbi8vIFdpc2hsaXN0XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWNvbW1lbnQtdmlzaWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWNvbW1lbnQtdGV4dGFyZWEtaGVpZ2h0OiA1cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWZpbGw6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuXG4vLyBEZXNjcmlwdGlvblxuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1jb2xvcjogJGNvbG9yX2RvdmUtZ3JheSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1saXN0X2Rlc2NyaXB0aW9uLXRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIFRodW1ibmFpbFxuJHByb2R1Y3QtdGlsZS1ncmlkX2xpbWl0LWNvbnRhaW5lci10by1pbWFnZS1zaXplOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoLW1vYmlsZTogI3skcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aCAvXG4gICAgMn0gIWRlZmF1bHQ7XG5cbi8vIFByaWNlc1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X29sZC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uOiAkcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0OiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJpY2VzLWRpcmVjdGlvbjogJ3ZlcnRpY2FsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1saXN0X3ByaWNlcy1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEhlbHBlcnMgKGRvbid0IGVkaXQpXG4kcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW46ICc+PSN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWF4OiAnPCN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluOiAnPj0jeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50fSc7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1tYXg6ICc8I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludH0nO1xuXG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIG1lZGlhLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZSxcbiAgICBjYXRlZ29yeV9wYWdlX2dyaWRcbik7XG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS13aWR0aDogdG8tbnVtYmVyKFxuICAgICN7bWFwLWdldCgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZSwgd2lkdGgpfVxuKTtcbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLWhlaWdodDogdG8tbnVtYmVyKFxuICAgICN7bWFwLWdldCgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZSwgaGVpZ2h0KX1cbik7XG5cbi4jeyRuc31wcm9kdWN0LXRpbGUge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYmFja2dyb3VuZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24tYnJlYWtwb2ludCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6ICRwcm9kdWN0LXRpbGVfYWRkb25zLXppbmRleC1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNsaWNrYWJsZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgI3skcm9vdH1fX21haW4sXG4gICAgICAgICN7JHJvb3R9X19hZGRvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saXN0IHtcbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItZWZmZWN0cykge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAjey0kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgKyAyICogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWdyaWQge1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtc2hvdy1mb3Itc3RhdGljLXRpbGUgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICYjeyRyb290fS0tc3RhdGljIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fYWRkb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1saXN0X3BhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgMCAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZmxleC1ncm93OiBpbml0aWFsO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gSUUxMSAtIHByZXZlbnRzIGZyb20gZXhjZXNzaXZlIHRyYW5zaXRpb24gZWZmZWN0XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgLy8gSUUxMSBkbyBub3QgcmVzcGVjdCBjZW50ZXIgdmFsdWUgdW50aWwgcGFyZW50IGhhcyBmbGV4LWRpcmVjdGlvbiBzZXQgdG8gY29sdW1uLlxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfbGltaXQtY29udGFpbmVyLXRvLWltYWdlLXNpemUpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS13aWR0aCAvIDEwKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogKCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLWhlaWdodCAvIDEwKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFzcGVjdCByYXRpbyBmb3IgdGlsZSB0aHVtYm5haWwgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiBpbWFnZSAnY2F0ZWdvcnlfcGFnZV9ncmlkJyBzaXplcyBpbiBldGMvdmlldy54bWxcbiAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyhcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS13aWR0aCxcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQsXG4gICAgICAgICAgICAgICAgI3skbnN9cHJvZHVjdC10aWxlX190aHVtYm5haWwtbGlua1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIElFMTEgZG8gbm90IHJlc3BlY3QgY2VudGVyIHZhbHVlIHVudGlsIHBhcmVudCBoYXMgZmxleC1kaXJlY3Rpb24gc2V0IHRvIGNvbHVtbi5cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoLW1vYmlsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fYmFkZ2VzIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6ICRwcm9kdWN0LXRpbGVfYmFkZ2VzLXotaW5kZXg7XG5cbiAgICAgICAgICAgICN7JHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy15LWFzaXMtcG9zaXRpb24tcHJvcH06ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXZhbHVlO1xuICAgICAgICAgICAgI3skcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wfTogJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tdmFsdWU7XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy1kaXJlY3Rpb24gPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1tYXJnaW47XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWZcbiAgICAgICAgICAgICAgICAoJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcCA9PSAnY2VudGVyJylcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLWRpcmVjdGlvbiA9PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2UoKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnLCAnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2NvdW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2Rpc2NvdW50Jyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdkaXNjb3VudCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV3IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ25ldycpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignbmV3Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2ZyZWUtc2hpcHBpbmcnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2ZyZWUtc2hpcHBpbmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBvcHVsYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgncG9wdWxhcicpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigncG9wdWxhcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGFpbHlkZWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2RhaWx5ZGVhbCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZGFpbHlkZWFsJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAvLyBTZXQgd2lkdGggZXhwbGljaXRseSB0byBhdm9pZCBFZGdlIGJ1Z3NcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLWl0ZW0tbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oKTtcbiAgICB9XG5cbiAgICAmX19nYWxsZXJ5IHtcbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZHVjdC10aWxlX2FkZG9ucy1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2FkZG9ucy1ib3JkZXItcmFkaXVzO1xuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1vbmUtY29sdW1uLW1hcmdpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvcGFjaXR5OiBpbml0aWFsO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy13aWR0aDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtYm9yZGVyLWxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLW9uZS1jb2x1bW4tbWFyZ2luO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy13aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1ib3JkZXItbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtaGVpZ2h0LW9uLWhvdmVyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWJveC1zaGFkb3c7XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTNyZW0sIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH06aG92ZXIgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMzNzICR0cmFuc2l0aW9uLWVhc2luZ19zbG93ZG93bi05MDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy9kaXNhYmxpbmcgaG92ZXIgZWZmZWN0IG9uIGlwYWRzXG4gICAgICAgICAgICAgICAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0ubm8tdHJhbnNpdGlvbixcbiAgICAgICAgICAgICN7JHJvb3R9LS1zdGF0aWMgJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucy10b3Age1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtc2lkZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19hZGRvbnMtcmlnaHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwcm9kdWN0LXRpbGVfYWRkb25zLWhvcml6b250YWwtcGFkZGluZztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLWJvdHRvbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLWxlZnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JldmlldyB7XG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcmV2aWV3LW1hcmdpbjtcblxuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfcmV2aWV3LW1hcmdpbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjtcblxuICAgICAgICAgICAgICAgICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9yZXZpZXctbWFyZ2luO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICArIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RvY2sge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9zdG9jay1mb250LXNpemU7XG5cbiAgICAgICAgJi0taW4ge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfc3RvY2staW4tY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1vdXQge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfc3RvY2stb3V0LW9mLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9zdG9jay1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X3N0b2NrLW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RhaWx5ZGVhbCB7XG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jcy1kYWlseWRlYWwtLXRpbGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2RhaWx5ZGVhbC1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2RhaWx5ZGVhbC1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItc3BhY2UtYm90dG9tO1xuICAgICAgICB3aWR0aDogJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N3YXRjaGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLW1hcmdpbjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1jb250YWluZXItbWluLWhlaWdodDtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtbWFyZ2luO1xuXG4gICAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtYWxpZ25tZW50ID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JyYW5kIHtcbiAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX2JyYW5kLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWdyaWRfYnJhbmQtYWxpZ25tZW50O1xuXG4gICAgICAgICYtLWVtcHR5IHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtbWFyZ2luO1xuICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1vcmRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1hbGlnbm1lbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA9PSAxKSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGhlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXkgKlxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0ICsgMC4yO1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLW1hcmdpbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtYWxpZ25tZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgI3skcm9vdH1fX2RldGFpbHMgPiAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gI3skcm9vdH1fX2JyYW5kICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgI3skcm9vdH1fX2RldGFpbHMgPiAjeyRyb290fV9fYnJhbmQtLWVtcHR5ICsgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5ICpcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5lLWhlaWdodCArIDAuMiArXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1tYXJnaW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWxpc3RfcHJvZHVjdC1uYW1lLWFsaWdubWVudDtcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hbWUtbGluayB7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yO1xuXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yICE9XG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvci1ob3ZlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGRpc2FibGVkIGJlY2F1c2UgYXV0b3ByZWZpeGVyIGNhbid0IGJ1aWxkIHRoaXMgKi9cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXkgPiAxKSB7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5O1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgbGluZS1jbGFtcDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvci12aXNpdGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tY29sb3I7XG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1tYXJnaW47XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtbGlzdF9kZXNjcmlwdGlvbi10ZXh0LWFsaWduO1xuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZGl0aW9uYWwge1xuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZGl0aW9uYWwtbWFyZ2luO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG8ge1xuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkdG8tbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1ZGN0LXRpbGVfYWRkdG8tZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0ICYsXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydCB7XG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1ncmlkX3BhZGRpbmc7XG5cbiAgICAgICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTtcbiAgICAgICAgZmlsbDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1maWxsO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgICBAaWYgbm90KCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtbWFyZ2luO1xuICAgICAgICBkaXNwbGF5OiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTtcblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5ID09IGZsZXgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWp1c3RpZnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1tYXJnaW47XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1kaXJlY3Rpb24gPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50ID09ICdyaWdodCcpXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X3ByaWNlcy1tYXJnaW47XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtZnJvbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnByaWNlLWZyb20sXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS10byB7XG4gICAgICAgICAgICAgICAgICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveCB7XG4gICAgICAgICAgICAmOm5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wcmljZS1ib3gtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9hc3BlY3QtcmF0aW8nO1xuQGltcG9ydCAndXRpbHMvc3RyaW5nLXRvLW51bWJlcic7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbkBpbXBvcnQgJ35DcmVhdGl2ZXNob3AvY29tcG9uZW50cy9wcm9kdWN0LXRpbGUvcHJvZHVjdC10aWxlLnNjc3MnO1xuXG4vLyBHZW5lcmFsXG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI6IDRyZW07XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyOiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbi1icmVha3BvaW50OiAnPj1sYXB0b3AnICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWJveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudDogbGVmdDsgLy8gbGVmdCB8IGNlbnRlciB8IHJpZ2h0XG4kcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItZWZmZWN0czogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItZWZmZWN0cy1icmVha3BvaW50OiAnPj1sYXB0b3AnICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWJveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0OyAvLyBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbiRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQ6ICd0YWJsZXQnICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnQ6ICdsYXB0b3AnICFkZWZhdWx0O1xuXG4vLyBQcm9kdWN0IG5hbWVcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZTogMS44cmVtO1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ6IDcwMDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5OiAzO1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ6IDEuOHJlbSAhZGVmYXVsdDsgLy8gTVVTVCBCRSBhIG51bWJlciB2YWx1ZSB3aXRoIHVuaXQsIGNhbm5vdCBiZSAnaW5oZXJpdCdcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvci12aXNpdGVkOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yO1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvci1ob3ZlcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1tYXJnaW46IDAgMCAxLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9wcm9kdWN0LW5hbWUtbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyfSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9wcm9kdWN0LW5hbWUtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBCYWRnZXNcbiRwcm9kdWN0LXRpbGVfYmFkZ2VzLXotaW5kZXg6IDIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWRpcmVjdGlvbjogJ3ZlcnRpY2FsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy15LWFzaXMtcG9zaXRpb24tcHJvcDogdG9wICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcDogbGVmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXZhbHVlOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tdmFsdWU6IDAuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtaXRlbS1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNH0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLWRpcmVjdGlvbjogJ2hvcml6b250YWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wOiBsZWZ0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1tYXJnaW46IDAgMCAwIDAuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtaXRlbS1tYXJnaW46IDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyfSAwLjNyZW0gMCAhZGVmYXVsdDtcblxuLy8gU3dhdGNoZXNcbiRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1jb250YWluZXItbWluLWhlaWdodDogMi42cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLW1hcmdpbjogMS41cmVtIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50O1xuJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLW1hcmdpbjogMCAwIDAuNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIEJyYW5kXG4kcHJvZHVjdC10aWxlX2JyYW5kLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYnJhbmQtYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1vcmRlcjogLTIgIWRlZmF1bHQ7XG5cbi8vIEFkZG9uc1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy1ib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkb25zLXppbmRleC1ob3ZlcjogNSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkb25zLWhvcml6b250YWwtcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZG9ucy1zaG93LWZvci1zdGF0aWMtdGlsZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkb25zLWhlaWdodC1vbi1ob3ZlcjogY2FsYygxMzUlICsgMTByZW0pXG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy13aWR0aDogMjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLWJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLW9uZS1jb2x1bW4tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyfSAwIDAgIWRlZmF1bHQ7XG5cbi8vIEFkZGl0aW9uYWwgc2VjdGlvblxuJHByb2R1Y3QtdGlsZS1saXN0X2FkZGl0aW9uYWwtbWFyZ2luOiBhdXRvIDAgMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZGl0aW9uYWwtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBSZXZpZXdcbiRwcm9kdWN0LXRpbGUtZ3JpZF9yZXZpZXctbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwXG4wICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Jldmlldy1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJ9ICFkZWZhdWx0O1xuXG4vLyBBZGR0b1xuJHByb2R1ZGN0LXRpbGVfYWRkdG8tZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkdG8tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkdG8tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG5cbi8vIFF0eSBzd2ljdGhlclxuJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXdpZHRoOiAxMXJlbSAhZGVmYXVsdDtcbiRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci1zcGFjZS1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIEFkZHRvY2FydFxuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvY2FydC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9XG4wIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkdG9jYXJ0LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gNH1cbjAgMCAhZGVmYXVsdDtcblxuLy8gU3RvY2tcbiRwcm9kdWN0LXRpbGVfc3RvY2stZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N0b2NrLWluLWNvbG9yOiAkY29sb3JfYXBwbGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N0b2NrLW91dC1vZi1jb2xvcjogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGUtZ3JpZF9zdG9jay1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc3RvY2stbWFyZ2luOiAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDBcbjAgIWRlZmF1bHQ7XG5cbi8vIERhaWx5IERlYWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9kYWlseWRlYWwtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2RhaWx5ZGVhbC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9XG4wIDAgMCAhZGVmYXVsdDtcblxuLy8gV2lzaGxpc3RcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC10ZXh0YXJlYS1oZWlnaHQ6IDVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyfSAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWZpbGw6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuXG4vLyBEZXNjcmlwdGlvblxuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1jb2xvcjogJGNvbG9yX2RvdmUtZ3JheSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyfSAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1saXN0X2Rlc2NyaXB0aW9uLXRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIFRodW1ibmFpbFxuJHByb2R1Y3QtdGlsZS1ncmlkX2xpbWl0LWNvbnRhaW5lci10by1pbWFnZS1zaXplOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoLW1vYmlsZTogI3skcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aCAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gIWRlZmF1bHQ7XG5cbi8vIFByaWNlc1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X29sZC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uOiAkcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0OiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJpY2VzLWRpcmVjdGlvbjogJ3ZlcnRpY2FsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1saXN0X3ByaWNlcy1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEhlbHBlcnMgKGRvbid0IGVkaXQpXG4kcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW46ICc+PSN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWF4OiAnPCN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluOiAnPj0jeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50fSc7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1tYXg6ICc8I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludH0nO1xuXG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZTogZGVlcC1nZXQoXG4kdmlldy14bWwsXG5tZWRpYSxcbmltYWdlcyxcbmltYWdlLFxuY2F0ZWdvcnlfcGFnZV9ncmlkXG4pO1xuJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGg6IHRvLW51bWJlcihcbiN7bWFwLWdldCgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZSwgd2lkdGgpfVxuKTtcbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLWhlaWdodDogdG8tbnVtYmVyKFxuI3ttYXAtZ2V0KCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLCBoZWlnaHQpfVxuKTtcblxuLiN7JG5zfXByb2R1Y3QtdGlsZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbi1icmVha3BvaW50KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgei1pbmRleDogJHByb2R1Y3QtdGlsZV9hZGRvbnMtemluZGV4LWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY2xpY2thYmxlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oaWRkZW4ge1xuICAgICAgICAjeyRyb290fV9fbWFpbixcbiAgICAgICAgI3skcm9vdH1fX2FkZG9ucyB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxpc3Qge1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItZWZmZWN0cy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwICN7LSRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcn07XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSArIDIgKiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcn1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZ3JpZCB7XG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2FkZG9ucy1zaG93LWZvci1zdGF0aWMtdGlsZSA9PSBmYWxzZSkge1xuICAgICAgICAgICAgJiN7JHJvb3R9LS1zdGF0aWMge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19hZGRvbnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1ncmlkX3BhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlLWxpc3RfcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAwIDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IGluaXRpYWw7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBJRTExIC0gcHJldmVudHMgZnJvbSBleGNlc3NpdmUgdHJhbnNpdGlvbiBlZmZlY3RcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyAvLyBJRTExIGRvIG5vdCByZXNwZWN0IGNlbnRlciB2YWx1ZSB1bnRpbCBwYXJlbnQgaGFzIGZsZXgtZGlyZWN0aW9uIHNldCB0byBjb2x1bW4uXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9saW1pdC1jb250YWluZXItdG8taW1hZ2Utc2l6ZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogKCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLXdpZHRoIC8gMTApICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0IC8gMTApICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQXNwZWN0IHJhdGlvIGZvciB0aWxlIHRodW1ibmFpbCBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIGltYWdlICdjYXRlZ29yeV9wYWdlX2dyaWQnIHNpemVzIGluIGV0Yy92aWV3LnhtbFxuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGgsXG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQgLSA3MCxcbiAgICAgICAgICAgICN7JG5zfXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmtcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBJRTExIGRvIG5vdCByZXNwZWN0IGNlbnRlciB2YWx1ZSB1bnRpbCBwYXJlbnQgaGFzIGZsZXgtZGlyZWN0aW9uIHNldCB0byBjb2x1bW4uXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aC1tb2JpbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19iYWRnZXMge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogJHByb2R1Y3QtdGlsZV9iYWRnZXMtei1pbmRleDtcblxuICAgICAgICAgICAgI3skcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi1wcm9wfTogJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy15LWFzaXMtcG9zaXRpb24tdmFsdWU7XG4gICAgICAgICAgICAjeyRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3B9OiAkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi12YWx1ZTtcblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWRpcmVjdGlvbiA9PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLW1hcmdpbjtcblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfSBAZWxzZSBpZlxuICAgICAgICAgICAgKCRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3AgPT0gJ2NlbnRlcicpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1kaXJlY3Rpb24gPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlKCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJywgJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNjb3VudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkaXNjb3VudCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZGlzY291bnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ldyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCduZXcnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ25ldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhaWx5ZGVhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkYWlseWRlYWwnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2RhaWx5ZGVhbCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgLy8gU2V0IHdpZHRoIGV4cGxpY2l0bHkgdG8gYXZvaWQgRWRnZSBidWdzXG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1pdGVtLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeSB7XG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZHVjdC10aWxlX2FkZG9ucy1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2FkZG9ucy1ib3JkZXItcmFkaXVzO1xuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy1vbmUtY29sdW1uLW1hcmdpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvcGFjaXR5OiBpbml0aWFsO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy13aWR0aDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtYm9yZGVyLWxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLXdpdGgtc2lkZWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLW9uZS1jb2x1bW4tbWFyZ2luO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAkcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLWJvcmRlci1sZWZ0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1ncmlkX2FkZG9ucy1oZWlnaHQtb24taG92ZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYm94LXNoYWRvdztcblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtM3JlbSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fTpob3ZlciAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24tYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4zM3MgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvL2Rpc2FibGluZyBob3ZlciBlZmZlY3Qgb24gaXBhZHNcbiAgICAgICAgICAgICAgICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS5uby10cmFuc2l0aW9uLFxuICAgICAgICAgICAgI3skcm9vdH0tLXN0YXRpYyAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXRvcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucy1zaWRlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2FkZG9ucy1yaWdodCB7XG4gICAgICAgIC8vIExpbWl0IHdpZHRoIHRvIHByZXZlbnQgb3ZlcmxhcHBpbmcgcHJvYmxlbXMgaW4gSUVcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucy1ib3R0b20ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLWxlZnQge1xuICAgICAgICAvLyBMaW1pdCB3aWR0aCB0byBwcmV2ZW50IG92ZXJsYXBwaW5nIHByb2JsZW1zIGluIElFXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwcm9kdWN0LXRpbGVfYWRkb25zLWhvcml6b250YWwtcGFkZGluZztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmV2aWV3IHtcbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9yZXZpZXctbWFyZ2luO1xuXG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9yZXZpZXctbWFyZ2luO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW4pIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyO1xuXG4gICAgICAgICAgICAgICAgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLWJyZWFrcG9pbnQgIT1cbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfcmV2aWV3LW1hcmdpbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0b2NrIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfc3RvY2stZm9udC1zaXplO1xuXG4gICAgICAgICYtLWluIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3N0b2NrLWluLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tb3V0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3N0b2NrLW91dC1vZi1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfc3RvY2stbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9zdG9jay1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kYWlseWRlYWwge1xuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3MtZGFpbHlkZWFsLS10aWxlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9kYWlseWRlYWwtbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9kYWlseWRlYWwtbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXNwYWNlLWJvdHRvbTtcbiAgICAgICAgd2lkdGg6ICRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N3YXRjaGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLW1hcmdpbjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1jb250YWluZXItbWluLWhlaWdodDtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLW1hcmdpbjtcblxuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtYWxpZ25tZW50ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLWFsaWdubWVudCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJRSBuZWVkcyB0byBoYXZlIHdpZHRoIHNldCBleHBsaWNpdGx5XG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZCB7XG4gICAgICAgIGhlaWdodDogJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1ncmlkX2JyYW5kLWFsaWdubWVudDtcblxuICAgICAgICAmLS1lbXB0eSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLW1hcmdpbjtcbiAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtb3JkZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtYWxpZ25tZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2JyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXNpemU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAvL2JvcmRlci10b3A6MXB4IHNvbGlkICNFMkUyRTI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG5cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA9PSAxKSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1tYXJnaW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLWFsaWdubWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAjeyRyb290fV9fZGV0YWlscyA+ICN7JHJvb3R9X19icmFuZCArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gI3skcm9vdH1fX2JyYW5kLS1lbXB0eSArICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSAqXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQgKyAwLjIgK1xuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9wcm9kdWN0LW5hbWUtbWFyZ2luO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lLWxpbmsge1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnRfZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWluLWhlaWdodDo3cmVtO1xuICAgICAgICBAaWYgKFxuICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yICE9XG4gICAgICAgICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBkaXNhYmxlZCBiZWNhdXNlIGF1dG9wcmVmaXhlciBjYW4ndCBidWlsZCB0aGlzICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5ID4gMSkge1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGxpbmUtY2xhbXA6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItdmlzaXRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbWFyZ2luO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWxpc3RfZGVzY3JpcHRpb24tdGV4dC1hbGlnbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRpdGlvbmFsIHtcbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLW1hcmdpbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWluKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludCAhPVxuICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW5cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG8ge1xuICAgICAgICAvLyBJRSBuZWVkcyB0byBoYXZlIHdpZHRoIHNldCBleHBsaWNpdGx5XG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkdG8tbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1ZGN0LXRpbGVfYWRkdG8tZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0ICYsXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElFIG5lZWRzIHRvIGhhdmUgd2lkdGggc2V0IGV4cGxpY2l0bHlcbiAgICAgICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICAgICAgICAgICZfX2l0ZW0tLXdpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0IHtcbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0b2NhcnQtbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9hZGR0b2NhcnQtbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmLmJ1dHRvbl9jb25maWd1cmUge1xuICAgICAgICAgICAgei1pbmRleDogLTk5OTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LXJlbW92ZS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWJhY2tncm91bmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlLWdyaWRfcGFkZGluZztcblxuICAgICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1yZW1vdmUtaWNvbi1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplO1xuICAgICAgICBmaWxsOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWZpbGw7XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtY29tbWVudCB7XG4gICAgICAgIEBpZiBub3QoJHByb2R1Y3QtdGlsZV93aXNobGlzdC1jb21tZW50LXZpc2libGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1tYXJnaW47XG4gICAgICAgIGRpc3BsYXk6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWRpc3BsYXkgPT0gZmxleCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtanVzdGlmeS1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRjb2xvcl9saWdodF9ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLW1hcmdpbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjcwcHg7XG4gICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7ICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtbWFyZ2luO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X3ByaWNlcy1kaXJlY3Rpb24gPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtbGlzdF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1mcm9tLFxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtdG8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgJjpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucHJpY2UtYm94LS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXByb2R1Y3RzLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0ge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdHMtbGlzdDpub3QoLmNzLXByb2R1Y3RzLWxpc3QtLWNhcm91c2VsKSAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0Om5vdCguY3MtcHJvZHVjdHMtbGlzdC0tY2Fyb3VzZWwpIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wcm9kdWN0cy1saXN0LS1jYXJvdXNlbCAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS1jYXJvdXNlbCAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJHByb2R1Y3RfbGlzdC1pdGVtLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0X2xpc3QtaXRlbS1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHByb2R1Y3RfbGlzdC1jYXJvdXNlbC1icmVha3BvaW50OiAnPj10YWJsZXQnICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdHMtbGlzdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICY6bm90KCN7JHJvb3R9LS1jYXJvdXNlbCkge1xuICAgICAgICAjeyRyb290fV9faXRlbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdF9saXN0LWl0ZW0tYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0X2xpc3QtaXRlbS1wYWRkaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jYXJvdXNlbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0X2xpc3QtY2Fyb3VzZWwtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgI3skcm9vdH1fX2l0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0X2xpc3QtaXRlbS1ib3JkZXItYm90dG9tO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0X2xpc3QtaXRlbS1wYWRkaW5nO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXB1c2gtbm90aWZpY2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHVzaC1ub3RpZmljYXRpb24uX2FjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBtYXJnaW46IDEuNXJlbSAwOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIC0ycHggLTJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19pY29ucyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9faWNvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19pY29uIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMy41cmVtOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19pY29uLS1hbmltYXRlIHtcbiAgICAgIGFuaW1hdGlvbjogcmluZ2luZyA2cyBpbmZpbml0ZTsgfVxuICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX21lc3NhZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsZXg6IDE7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMCAxLjVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX21lc3NhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fbWVzc2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19hY3Rpb25zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2FjdGlvbnMge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEuNXJlbSAwIDA7IH0gfVxuICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQsIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQgKiwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0IC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLXNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi1pY29uIHtcbiAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdCwgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OnZpc2l0ZWQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0ICosIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tYWNjZXB0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdFtkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWFjY2VwdCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1hY2NlcHQgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24taWNvbiB7XG4gICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmU6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lLCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmUgKiwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmU6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2J1dHRvbi0tZGVjbGluZVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLS1kZWNsaW5lIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fYnV0dG9uLXNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24tLWRlY2xpbmUgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19idXR0b24taWNvbiB7XG4gICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19wZXJtaXNzaW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSksIC0ycHggLTJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fcGVybWlzc2lvbi1pY29uIHtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19wZXJtaXNzaW9uLWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fcGVybWlzc2lvbi1idXR0b24ge1xuICAgICAgcGFkZGluZzogMC4ycmVtIDJyZW07XG4gICAgICBtYXJnaW46IDAgMC4ycmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fcGVybWlzc2lvbi1idXR0b24tLWJsb2NrIHtcbiAgICAgICAgb3BhY2l0eTogMC4zOyB9XG4gIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fY2xvc2Uge1xuICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZyAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2Nsb3NlIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtcHVzaC1ub3RpZmljYXRpb25fX2Nsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmcgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19jbG9zZSB7XG4gICAgICAgICAgcmlnaHQ6IDEuNXJlbTsgfSB9XG4gICAgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19jbG9zZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgZmlsbDogIzg4ODsgfVxuICAgIC5jcy1wdXNoLW5vdGlmaWNhdGlvbl9fY2xvc2U6aG92ZXIgLmNzLXB1c2gtbm90aWZpY2F0aW9uX19jbG9zZS1pY29uIHtcbiAgICAgIGZpbGw6ICMwMDA7IH1cblxuQGtleWZyYW1lcyByaW5naW5nIHtcbiAgMCUsXG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMGRlZyk7IH1cbiAgMyUsXG4gIDclIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKDI3ZGVnKTsgfVxuICA1JSxcbiAgOSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoLTI3ZGVnKTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRwdXNoLW5vdGlmaWNhdGlvbl9ndXR0ZXI6IDAgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2d1dHRlcjogMCAxLjVyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2JveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2JveC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoJGNvbG9yX2JsYWNrLCAwLjEpLFxuICAgIC0ycHggLTJweCAzcHggcmdiYSgkY29sb3JfYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fcGFkZGluZzogMCAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfcGFkZGluZzogMnJlbSAxLjVyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fbWFyZ2luOiAxLjVyZW0gMCAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcblxuJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tc3RhdHVzLXdpZHRoOiAzLjVyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25faWNvbi1zdGF0dXMtaGVpZ2h0OiAzLjVyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25faWNvbi1zdGF0dXMtYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tc3RhdHVzLWFuaW1hdGlvbi1yZXBlYXQ6IDZzICFkZWZhdWx0O1xuXG4kcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS10aXRsZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS10aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtdGl0bGUtcmVxdWVzdC1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtdGl0bGUtYnJvd3Nlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtdGl0bGUtZW5hYmxlZC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuXG4kcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS1kZXNjcmlwdGlvbi1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9tZXNzYWdlLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS1kZXNjcmlwdGlvbi1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kcHVzaC1ub3RpZmljYXRpb25fYWN0aW9ucy1mbGV4LWp1c3RpZnk6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2FjdGlvbnMtZmxleC1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuXG4kcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWFjY2VwdC10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYnV0dG9uLWFjY2VwdC10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tYWNjZXB0LWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1kZWNsaW5lLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1kZWNsaW5lLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1ib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKCRjb2xvcl9ibGFjaywgMC4xKSxcbiAgICAtMnB4IC0ycHggNXB4IHJnYmEoJGNvbG9yX2JsYWNrLCAwLjEpICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1wYWRkaW5nOiAxcmVtIDJyZW0gIWRlZmF1bHQ7XG4kcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYnV0dG9uLWZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYnV0dG9uLXBhZGRpbmc6IDAuMnJlbSAycmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJ1dHRvbi1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24taWNvbi13aWR0aDogMS4ycmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24taWNvbi1oZWlnaHQ6IDEuMnJlbSAhZGVmYXVsdDtcblxuJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tY2xvc2Utd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tY2xvc2UtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLWNvbG9yLS1ob3ZlcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4uI3skbnN9cHVzaC1ub3RpZmljYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuX2FjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6ICRwdXNoLW5vdGlmaWNhdGlvbl9kaXNwbGF5O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHVzaC1ub3RpZmljYXRpb25fYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogJHB1c2gtbm90aWZpY2F0aW9uX3BhZGRpbmc7XG4gICAgICAgIGJvcmRlcjogJHB1c2gtbm90aWZpY2F0aW9uX2JvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHB1c2gtbm90aWZpY2F0aW9uX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6ICRwdXNoLW5vdGlmaWNhdGlvbl9ib3gtc2hhZG93O1xuICAgICAgICBtYXJnaW46ICRwdXNoLW5vdGlmaWNhdGlvbl9tYXJnaW47XG5cbiAgICAgICAgI3skcm9vdH0tLXNoaXBwaW5nICYge1xuICAgICAgICAgICAgZGlzcGxheTogJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19kaXNwbGF5O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYm94LXNoYWRvdztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb25zIHtcbiAgICAgICAgbWFyZ2luOiAkcHVzaC1ub3RpZmljYXRpb25fZ3V0dGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6ICRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLXN0YXR1cy13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkcHVzaC1ub3RpZmljYXRpb25faWNvbi1zdGF0dXMtaGVpZ2h0O1xuXG4gICAgICAgICYtLWFuaW1hdGUge1xuICAgICAgICAgICAgQGlmICRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLXN0YXR1cy1hbmltYXRpb24ge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogcmluZ2luZ1xuICAgICAgICAgICAgICAgICAgICAkcHVzaC1ub3RpZmljYXRpb25faWNvbi1zdGF0dXMtYW5pbWF0aW9uLXJlcGVhdFxuICAgICAgICAgICAgICAgICAgICBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogJHB1c2gtbm90aWZpY2F0aW9uX2d1dHRlcjtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICAjeyRyb290fS0tc2hpcHBpbmcgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyICpcbiAgICAgICAgICAgICAgICAoZ2V0LXZhbHVlLWZyb20tbGlzdCgkcHVzaC1ub3RpZmljYXRpb25fcGFkZGluZywgJ3JpZ2h0JykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwdXNoLW5vdGlmaWNhdGlvbl9tZXNzYWdlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS10aXRsZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHVzaC1ub3RpZmljYXRpb25fbWVzc2FnZS1kZXNjcmlwdGlvbi1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogJHB1c2gtbm90aWZpY2F0aW9uX21lc3NhZ2UtZGVzY3JpcHRpb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkcHVzaC1ub3RpZmljYXRpb25fYWN0aW9ucy1mbGV4LWp1c3RpZnk7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAjeyRyb290fS0tc2hpcHBpbmcgJiB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYWN0aW9ucy1mbGV4LWp1c3RpZnk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZ2V0LXZhbHVlLWZyb20tbGlzdCgkcHVzaC1ub3RpZmljYXRpb25fcGFkZGluZywgJ3VwJyk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwXG4gICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoJHB1c2gtbm90aWZpY2F0aW9uX2d1dHRlciwgJ3JpZ2h0JykgMCAwO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLXNoaXBwaW5nICYge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19ndXR0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjY2VwdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tYWNjZXB0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tYWNjZXB0LXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHB1c2gtbm90aWZpY2F0aW9uX2J1dHRvbi1hY2NlcHQtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1zaGlwcGluZyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX2J1dHRvbi1hY2NlcHQtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOlxuICAgICAgICAgICAgICAgICAgICAgICAgJHB1c2gtbm90aWZpY2F0aW9uLS1zaGlwcGluZ19idXR0b24tYWNjZXB0LWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYnV0dG9uLWFjY2VwdC10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYnV0dG9uLWFjY2VwdC10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlY2xpbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWRlY2xpbmUtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tZGVjbGluZS1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tZGVjbGluZS10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwdXNoLW5vdGlmaWNhdGlvbl9idXR0b24tZGVjbGluZS1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWRlY2xpbmUtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHVzaC1ub3RpZmljYXRpb25fYnV0dG9uLWRlY2xpbmUtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGVybWlzc2lvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJvcmRlcjogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1ib3gtc2hhZG93O1xuICAgICAgICBmb250LXNpemU6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAkcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1wYWRkaW5nO1xuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24taWNvbi13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24taWNvbi1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYnV0dG9uLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC4ycmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAkcHVzaC1ub3RpZmljYXRpb25fcGVybWlzc2lvbi1idXR0b24tYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRwdXNoLW5vdGlmaWNhdGlvbl9wZXJtaXNzaW9uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHB1c2gtbm90aWZpY2F0aW9uX3Blcm1pc3Npb24tYnV0dG9uLWZvbnQtc2l6ZTtcblxuICAgICAgICAgICAgJi0tYmxvY2sge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBnZXQtdmFsdWUtZnJvbS1saXN0KCRwdXNoLW5vdGlmaWNhdGlvbl9wYWRkaW5nLCAncmlnaHQnKTtcbiAgICAgICAgcGFkZGluZzogZ2V0LXZhbHVlLWZyb20tbGlzdCgkcHVzaC1ub3RpZmljYXRpb25fcGFkZGluZywgJ3JpZ2h0Jyk7XG5cbiAgICAgICAgI3skcm9vdH0tLXNoaXBwaW5nICYge1xuICAgICAgICAgICAgcGFkZGluZzogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAkcHVzaC1ub3RpZmljYXRpb24tLXNoaXBwaW5nX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoJHB1c2gtbm90aWZpY2F0aW9uX3BhZGRpbmcsICdyaWdodCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fS0tc2hpcHBpbmcgJiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRwdXNoLW5vdGlmaWNhdGlvbi0tc2hpcHBpbmdfcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tY2xvc2Utd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLWhlaWdodDtcbiAgICAgICAgICAgIGZpbGw6ICRwdXNoLW5vdGlmaWNhdGlvbl9pY29uLWNsb3NlLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAjeyRyb290fV9fY2xvc2UtaWNvbiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHB1c2gtbm90aWZpY2F0aW9uX2ljb24tY2xvc2UtY29sb3ItLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJpbmdpbmcge1xuICAgIDAlLFxuICAgIDEyJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAzJSxcbiAgICA3JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoMjdkZWcpO1xuICAgIH1cbiAgICA1JSxcbiAgICA5JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoLTI3ZGVnKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgYmFja2dyb3VuZDogI2RjZGNkYztcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAxcmVtOyB9XG4gIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICMyZDNlNTA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIGJhY2tncm91bmQgMC4zcztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfVxuICAgIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZS51aS1zdGF0ZS1ob3ZlciwgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlLnVpLXN0YXRlLWZvY3VzIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAgIGJhY2tncm91bmQ6ICMyZDNlNTA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kc2xpZGVyLS1ob3Jpem9udGFsX2hlaWdodDogMXJlbSAhZGVmYXVsdDtcbiRzbGlkZXItLWhvcml6b250YWxfYmFja2dyb3VuZDogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtYmFja2dyb3VuZC1hY3RpdmU6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLS1ob3Jpem9udGFsX2JhY2tncm91bmQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLS1ob3Jpem9udGFsX2hlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemUgLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICgkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplIC8gMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItLWhvcml6b250YWxfaGVpZ2h0O1xuXG4gICAgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgICAgICB3aWR0aDogJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgYmFja2dyb3VuZCAwLjNzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplIC8gMik7XG5cbiAgICAgICAgJi51aS1zdGF0ZS1ob3ZlcixcbiAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmUsXG4gICAgICAgICYudWktc3RhdGUtZm9jdXMge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1zb2NpYWwtbWVkaWEtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMS41cmVtIDAgMS41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtIHtcbiAgICBtYXJnaW46IDAgMC40ZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMy41ZW07XG4gICAgbWluLXdpZHRoOiA0ZW07XG4gICAgYmFja2dyb3VuZDogIzIxMjEyMTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2xpbms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfVxuICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01NSUsIC01NSUsIDApO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDU1JTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tZmIgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAwLjllbTtcbiAgICAgIGhlaWdodDogMS44ZW07IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0tLXR3IC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgICB3aWR0aDogMi41ZW07XG4gICAgICBoZWlnaHQ6IDJlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0teXQgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAxLjhlbTtcbiAgICAgIGhlaWdodDogMi4xZW07IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0tLWdwIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgICB3aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjFlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ZsZXgtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfZmxleC1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X3BhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyIDAgJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9saXN0LWl0ZW0tbWFyZ2luOiAwIDAuNGVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaGVpZ2h0OiAzLjVlbSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLW1pbi13aWR0aDogNGVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYmFja2dyb3VuZDogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb246IGFic29sdXRlICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTUlLCAtNTUlLCAwKSAhZGVmYXVsdDtcblxuQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXBvc2l0aW9uID09IGFic29sdXRlIHtcbiAgICAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApICFkZWZhdWx0O1xufVxuXG4uI3skbnN9c29jaWFsLW1lZGlhLWxpc3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgZGlzcGxheTogJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXk7XG4gICAgcGFkZGluZzogJHNvY2lhbC1tZWRpYS1saXN0X3BhZGRpbmc7XG5cbiAgICBAaWYgJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXkgPT1cbiAgICAgICAgZmxleCBvclxuICAgICAgICAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheSA9PVxuICAgICAgICBpbmxpbmUtZmxleFxuICAgIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkc29jaWFsLW1lZGlhLWxpc3RfZmxleC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkc29jaWFsLW1lZGlhLWxpc3RfZmxleC1hbGlnbi1pdGVtcztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAkc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLW1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1wYWRkaW5nO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1kaXNwbGF5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaGVpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLW1pbi13aWR0aDtcbiAgICAgICAgYmFja2dyb3VuZDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLXRyYW5zaXRpb247XG5cbiAgICAgICAgQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWhvdmVyLWJhY2tncm91bmQgIT1cbiAgICAgICAgICAgICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWJhY2tncm91bmRcbiAgICAgICAge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb247XG4gICAgICAgIHRyYW5zZm9ybTogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tdHJhbnNmb3JtO1xuXG4gICAgICAgIEBpZiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbiA9PSBhYnNvbHV0ZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDU1JTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1mYiAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAwLjllbTtcbiAgICAgICAgICAgIGhlaWdodDogMS44ZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faXRlbS0tdHcgJiB7XG4gICAgICAgICAgICB3aWR0aDogMi41ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS15dCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjhlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi4xZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faXRlbS0tZ3AgJiB7XG4gICAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjFlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy1zdGFyLXJhdGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19zdGFycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNy4ycmVtO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tc3VtbWFyeSAuY3Mtc3Rhci1yYXRpbmdfX3N0YXJzIHtcbiAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmctLXJldmlldyAuY3Mtc3Rhci1yYXRpbmdfX3N0YXJzIHtcbiAgICAgIHdpZHRoOiA3LjJyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmaWxsOiAjODg4OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyLS1hY3RpdmUge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fc3Rhci0taGFsZi1hY3RpdmUgLnN0YXItbGVmdCB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyLS1oYWxmLWFjdGl2ZSAuc3Rhci1yaWd0aCB7XG4gICAgICBmaWxsOiAjODg4OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1zdW1tYXJ5IC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgICB3aWR0aDogMnJlbTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tcmV2aWV3IC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgICB3aWR0aDogMS41cmVtOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyIHBhdGgge1xuICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgZmlsbDogaW5oZXJpdDsgfVxuICAuY3Mtc3Rhci1yYXRpbmcgaW1nIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsbDogIzg4ODtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyLS1hY3RpdmUge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHBhdGgge1xuICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgZmlsbDogaW5oZXJpdDsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyOm50aC1sYXN0LW9mLXR5cGUoKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXJzOmhvdmVyIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHtcbiAgICAgIGZpbGw6ICNmY2I3Mzk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcnMgbGFiZWw6aG92ZXIgfiBsYWJlbCAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciB7XG4gICAgICBmaWxsOiAjODg4OyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMS41cmVtICogMC4xKTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fdGV4dC0tY291bnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fdGV4dC0tY291bnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX190ZXh0LS1lbXB0eSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmNzLXN0YXItcmF0aW5nX190ZXh0LWFubm90YXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUgLmNzLXN0YXItcmF0aW5nX190ZXh0LWFubm90YXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX2xhYmVsIHtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMS41cmVtICogMC4yKTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0xIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0xOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMiB7XG4gICAgei1pbmRleDogMjsgfVxuICAgIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTMge1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy00IHtcbiAgICB6LWluZGV4OiA0OyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy00OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctNSB7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctNTpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWwge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWwge1xuICAgICAgICB3aWR0aDogMi42cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjZyZW07IH0gfVxuICAgIC5yZXZpZXctY29udHJvbC12b3RlIGxhYmVsOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWwgc3BhbiB7XG4gICAgICBjbGlwOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuJHN0YXItcmF0aW5nX2NvbG9yLWFjdGl2ZTogJGNvbG9yX3Jldmlldy1hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfY29sb3ItaW5hY3RpdmU6ICRjb2xvcl9yZXZpZXctaW5hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWFjdGl2ZTogJGNvbG9yX3Jldmlldy1hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlOiAkY29sb3JfcmV2aWV3LWNvbnRyb2wtaW5hY3RpdmUgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBmbGV4IGp1c3RpZmljYXRpb24gb2Ygc3RhcnNcbiRzdGFyLXJhdGluZ19qdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyB3aWR0aCBvZiBhIHNpbmdsZSBzdGFyXG4kc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXdzLXN1bW1hcnk6IDJyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXc6IDEuNXJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtOiAycmVtICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyB3aWR0aCBvZiByZXZpZXcgc3RhcnMgY29udGFpbmVyXG4kc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLWRlZmF1bHQ6IDcuMnJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5OiAxMHJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3OiA3LjJyZW0gIWRlZmF1bHQ7XG4vLyBQYWRkaW5nIGZvciByZXZpZXcgZm9ybSBzdGFyc1xuJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybTogMC42cmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybS1tb2JpbGU6IDFyZW0gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHBhZGRpbmcgcnVsZXNldFxuJHN0YXItcmF0aW5nX3BhZGRpbmctZGVmYXVsdDogMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlld3Mtc3VtbWFyeTogMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlldzogMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlldy1mb3JtOiAwICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBzY29yZSBhbmQgY291bnQgdGV4dGZpZWxkIGRpc3BsYXkgcnVsZXNldFxuJHN0YXItcmF0aW5nX2hpZGUtdGV4dC1wZHA6IGZhbHNlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2hpZGUtdGV4dC10aWxlOiBmYWxzZSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgZGlzcGxheSBydWxlc2V0IGZvciBcInJldmlld1wiIGFubm90YXRpb25cbiRzdGFyLXJhdGluZ19oaWRlLWFubm90YXRpb24tcGRwOiBmYWxzZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19oaWRlLWFubm90YXRpb24tdGlsZTogdHJ1ZSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgcmF0aW5nIGxhYmVsIGRldGFpbHNcbiRzdGFyLXJhdGluZ19sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtc2l6ZTogMC43NWVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLiN7JG5zfXN0YXItcmF0aW5nIHtcbiAgICAkcm9vdDogJjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1kZWZhdWx0O1xuICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRzdGFyLXJhdGluZ19qdXN0aWZ5O1xuXG4gICAgICAgICN7JHJvb3R9LS1zdW1tYXJ5ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5O1xuICAgICAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3cy1zdW1tYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXJldmlldyAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLXJldmlldztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlldztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0YXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItaW5hY3RpdmU7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oYWxmLWFjdGl2ZSB7XG4gICAgICAgICAgICAuc3Rhci1sZWZ0IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3Rhci1yaWd0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2NvbG9yLWluYWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXN1bW1hcnkgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXJldmlldyAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXc7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX2Zvcm0tc3RhcnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3LWZvcm07XG4gICAgfVxuXG4gICAgJl9fZm9ybS1zdGFyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1pbmFjdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWxsOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mb3JtLXN0YXJzOmhvdmVyICYge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fZm9ybS1zdGFycyBsYWJlbDpob3ZlciB+IGxhYmVsICYge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1pbmFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkc3Rhci1yYXRpbmdfdGV4dC1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdH0gKiAwLjEpO1xuXG4gICAgICAgICYtLWNvdW50IHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXBkcCB7XG4gICAgICAgICAgICAuI3skbnN9YnV5Ym94ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtdGV4dC10aWxlIHtcbiAgICAgICAgICAgIC4jeyRuc31wcm9kdWN0LXRpbGUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi1wZHAge1xuICAgICAgICAgICAgLiN7JG5zfWJ1eWJveCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzdGFyLXJhdGluZ19oaWRlLWFubm90YXRpb24tdGlsZSB7XG4gICAgICAgICAgICAuI3skbnN9cHJvZHVjdC10aWxlICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogJHN0YXItcmF0aW5nX2xhYmVsLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRzdGFyLXJhdGluZ19sYWJlbC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3Rhci1yYXRpbmdfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkc3Rhci1yYXRpbmdfbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdH0gKiAwLjIpO1xuICAgIH1cbn1cblxuLnJldmlldy1jb250cm9sLXZvdGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDUge1xuICAgICAgICAucmF0aW5nLSN7JGl9IHtcbiAgICAgICAgICAgIHotaW5kZXg6ICN7JGl9O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXctZm9ybSArXG4gICAgICAgICAgICAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybS1tb2JpbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXctZm9ybSArXG4gICAgICAgICAgICAgICAgJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm07XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktdmlzaWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbltjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICBmb250LXNpemU6IDAuNDVlbTtcbiAgbWluLWhlaWdodDogY2FsYyggMSAqICgyLjhlbSArIDhweCkpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfSB9XG4gIFtjbGFzc149J3N3YXRjaC1vcHQtJ106ZW1wdHkge1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLnN3YXRjaC1vcHQge1xuICBmb250LXNpemU6IDAuOWVtOyB9XG4gIC5zd2F0Y2gtb3B0IC5tYWdlLWVycm9yIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMHJlbSArIDEuNXJlbSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN3YXRjaC1vcHQgLm1hZ2UtZXJyb3Ige1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyggMTFyZW0gKyAxLjVyZW0pOyB9IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUuc3dhdGNoLWxheWVyZWQge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUgKyAuc3dhdGNoLWF0dHJpYnV0ZSB7XG4gICAgbWFyZ2luLXRvcDogMC44ZW07IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHdpZHRoOiAxMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gICAgICB3aWR0aDogMTFyZW07IH0gfVxuICAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJzogJztcbiAgICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi8gfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTAuMmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC40ZW07XG4gIG1pbi13aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9uczpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAtIDEuNXJlbSAtIDEwcmVtKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gMS41cmVtIC0gMTFyZW0pOyB9IH1cblxuLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgZm9udC1zaXplOiAxZW07IH1cbiAgLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnN3YXRjaC1vcHRpb24ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogMy4yZW07XG4gIGhlaWdodDogMi44ZW07XG4gIHBhZGRpbmc6IDAgMC4zNWVtO1xuICBtYXJnaW46IDFweCBjYWxjKCAxcHggKyAwLjJlbSkgY2FsYygxcHggKyAwLjRlbSk7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2YwZjBmMDtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoIDIuOGVtIC0gNnB4ICsgMC4xZW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyLWNvbG9yIDAuM3MsIG9wYWNpdHkgMC4zcywgY29sb3IgMC4zcztcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuc3dhdGNoLW9wdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC00cHg7XG4gICAgbGVmdDogLTRweDtcbiAgICByaWdodDogLTRweDtcbiAgICBib3R0b206IC00cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7IH1cbiAgLnN3YXRjaC1vcHRpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3dhdGNoZXMvZGlzYWJsZWQuc3ZnKSByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuNSkgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogY2FsYygyLjhlbSAtIDEuMmVtKTtcbiAgICBoZWlnaHQ6IGNhbGMoMi44ZW0gLSAxLjJlbSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjZlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZCwgLnN3YXRjaC1vcHRpb24uYmlzLXNlbGVjdGVkIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZDpiZWZvcmUsIC5zd2F0Y2gtb3B0aW9uLmJpcy1zZWxlY3RlZDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDsgfVxuICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkudGV4dCwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkudGV4dCB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY29sb3I6ICM4ODg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLnRleHQ6YmVmb3JlLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KS50ZXh0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLmltYWdlOmFmdGVyLCAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLmNvbG9yOmFmdGVyLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KS5pbWFnZTphZnRlciwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkuY29sb3I6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc3dhdGNoLW9wdGlvbi5iYWNrLWluLXN0b2NrLWFsZXJ0OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuNTUpIHVybCguLi9pbWFnZXMvaWNvbnMvcHVzaC1ub3RpZmljYXRpb24vaWNvbl9ub3RpZmljYXRpb24tb3V0bGluZS5zdmcpIGNlbnRlci82NCUgbm8tcmVwZWF0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnN3YXRjaC1vcHRpb24uYmFjay1pbi1zdG9jay1hbGVydC50ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5iYWNrLWluLXN0b2NrLWFsZXJ0LnRleHQ6YWZ0ZXIge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwLjM1ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuc3dhdGNoLW9wdGlvbjpub3QoLmRpc2FibGVkKTpub3QoLnNlbGVjdGVkKTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5zd2F0Y2gtb3B0aW9uLmJhY2staW4tc3RvY2stYWxlcnQ6aG92ZXIge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0ZWQpOm5vdChbZGlzYWJsZWRdKTpob3ZlcjpiZWZvcmUsIC5zd2F0Y2gtb3B0aW9uLmJhY2staW4tc3RvY2stYWxlcnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7IH1cblxuLnN3YXRjaC1pbnB1dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiAxICovXG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2F0Y2gtbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCxcbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAycmVtO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZGNkY2RjOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLmltYWdlLFxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDsgfVxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwIC5jb3JuZXI6YWZ0ZXIsXG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCAuY29ybmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCAjZGNkY2RjO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoIC0wLjVyZW0gKyAwLjFyZW0pOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubWlzc2luZy1zd2F0Y2hlcy1tb2RhbCB7XG4gIG1heC13aWR0aDogNDByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5taXNzaW5nLXN3YXRjaGVzLW1vZGFsIC5tYWdlLWVycm9yIHtcbiAgICBwYWRkaW5nLXRvcDogMC44cmVtOyB9XG4gIC5taXNzaW5nLXN3YXRjaGVzLW1vZGFsIC5zd2F0Y2gtYXR0cmlidXRlICsgLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdC5zY3NzJztcblxuJHN3YXRjaGVzLS1jbGlja2FibGU6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2F0YWxvZyxcbiAgICBjb25maWd1cmFibGVfdGlsZV9zd2F0Y2hlcyxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4vLyBLZWVwIGluIHN5bmMgd2l0aCBxdWFudGl0eSB3cmFwcGVyIGluIGJ1eWJveC5cbiRzd2F0Y2hlc19sYWJlbC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwOiAxMXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC1ndXR0ZXI6IDEuNXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC1mb250LXNpemU6IDEuMWVtICFkZWZhdWx0O1xuLy8gS2VlcCBpbiBzeW5jIHdpZHRoIHF1YW50aXR5IHdyYXBwZXIgaW4gYnV5Ym94IGVuZC5cblxuLy8gU2NlbmFyaW8gd2l0aCBzd2F0Y2hlcyBiZWxvdyBsYWJlbCwgd2hpY2ggaXMgMTAwJSB3aWRlXG4vLyB3aXRoIHRoaXMgdmFyaWFibGUgc2V0IHRvIHRydWUgJHN3YXRjaGVzX2xhYmVsLXdpZHRoXG4vLyBhbmQgJHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cCB3aWxsIGJlIG92ZXJyaWRlbiAtIGFsd2F5cyAxMDAlIHdpZHRoXG4kc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZTogdHJ1ZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyOiAwLjRlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0OiAyLjhlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtd2lkdGg6IDMuMmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1wYWRkaW5nOiAwIDAuMzVlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXQ6IDAuMWVtICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGg6IDNweCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggc29saWRcbiAgICAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtb3BhY2l0eTogMC42NSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC0tYmFja2luc3RvY2stYmFja2dyb3VuZDogcmdiYSgkY29sb3JfYmFja2dyb3VuZC02MDAsIDAuNTUpXG4gICAgdXJsKC4uL2ltYWdlcy9pY29ucy9wdXNoLW5vdGlmaWNhdGlvbi9pY29uX25vdGlmaWNhdGlvbi1vdXRsaW5lLnN2ZylcbiAgICBjZW50ZXIvNjQlIG5vLXJlcGVhdCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0OiAoXG4gICAgJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKyAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGhcbikgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmU6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLW91dGxpbmU6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aCBzb2xpZFxuICAgICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLW91dGxpbmU6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aCBzb2xpZFxuICAgICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3Jvd3MtZ3V0dGVyOiAkc3dhdGNoZXNfc3dhdGNoLWd1dHRlciAqIDIgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlcy0tdGlsZV9mb250LXNpemU6IDAuNDVlbSAhZGVmYXVsdDtcbi8vIFRlbGxzIGhvdyBtYW55IHJvd3Mgb2Ygc3dhdGNoZXMgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHRpbGUgY29tcG9uZW50LlxuJHN3YXRjaGVzLS10aWxlX251bS1vZi1yb3dzOiAxICFkZWZhdWx0O1xuLy8gQ2FsY3VsYXRlcyBob3cgbXVjaCBzcGFjZSBzaG91bGQgYmUgcmVzZXJ2ZWQgaW4gdGlsZSBmb3Igc3dhdGNoZXMgdG8gcHJldmVudCBjb250ZW50IGZyb20ganVtcGluZy5cbiRzd2F0Y2hlcy0tdGlsZV9taW4taGVpZ2h0OiBjYWxjKFxuICAgICN7JHN3YXRjaGVzLS10aWxlX251bS1vZi1yb3dzfSAqICgjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSArICN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldCAqXG4gICAgICAgICAgICAgICAgMn0pXG4pICFkZWZhdWx0O1xuJHN3YXRjaGVzLS1wZHBfZm9udC1zaXplOiAwLjllbSAhZGVmYXVsdDtcbiRzd2F0Y2hlcy0tZmlsdGVyc19mb250LXNpemU6IDAuOGVtICFkZWZhdWx0O1xuXG4vLyBUb29sdGlwcyBmb3Igc3dhdGNoZXNcbiRzd2F0Y2hlc190b29sdGlwLWJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1yYWRpdXM6IDAuNXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplOiAwLjFyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLW1pbi13aWR0aDogMnJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWFycm93LXNob3c6IHRydWUgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LXg6IDUwJSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWRhdGE6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICBtZWRpYSxcbiAgICBpbWFnZXMsXG4gICAgaW1hZ2UsXG4gICAgc3dhdGNoX3RodW1iXG4pICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtd2lkdGg6ICN7bWFwLWdldChcbiAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWRhdGEsXG4gICAgICAgIHdpZHRoXG4gICAgKX0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtaGVpZ2h0OiAje21hcC1nZXQoXG4gICAgICAgICRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1kYXRhLFxuICAgICAgICBoZWlnaHRcbiAgICApfSAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHNlbGVjdG9yIGZvciBzd2F0Y2hlcyBpbiB0aWxlIGFuZCBkYWlseSBkZWFsIHRlYXNlci5cbltjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzLS10aWxlX2ZvbnQtc2l6ZTtcbiAgICBtaW4taGVpZ2h0OiAkc3dhdGNoZXMtLXRpbGVfbWluLWhlaWdodDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBpZiAkc3dhdGNoZXMtLWNsaWNrYWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi8vIENvbnRhaW5lciBzZWxlY3RvciBmb3Igc3dhdGNoZXMgb24gUERQXG4uc3dhdGNoLW9wdCB7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLXBkcF9mb250LXNpemU7XG5cbiAgICAvLyBTZWxlY3RvciBmb3IgZXJyb3IgY29udGFpbmVyIHdoZW4gc3dhdGNoZXMgYXJlIHJlcXVpcmVkIGJ1dCBub3Qgc2VsZWN0ZWQuXG4gICAgLm1hZ2UtZXJyb3Ige1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JHN3YXRjaGVzX2xhYmVsLXdpZHRofSArICN7JHN3YXRjaGVzX2xhYmVsLWd1dHRlcn0pO1xuXG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyhcbiAgICAgICAgICAgICAgICAjeyRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXB9ICsgI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFRoZSBvbmx5IHNlbGVjdG9yIHdlIGhhdmUgdG8gdGVsbCB0aGF0IHN3YXRjaGVzIGFyZSBpbnNpZGUgYWZ0ZXJzZWFyY2ggbmF2aWdhdGlvbi5cbiAgICAmLnN3YXRjaC1sYXllcmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLWZpbHRlcnNfZm9udC1zaXplO1xuICAgIH1cblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHN3YXRjaGVzX3Jvd3MtZ3V0dGVyO1xuICAgIH1cbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gI3skc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCAqIDJ9ICsgI3skc3dhdGNoZXNfc3dhdGNoLXRleHQtb2Zmc2V0fVxuICAgICk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlc19sYWJlbC1mb250LXNpemU7XG4gICAgd2lkdGg6ICRzd2F0Y2hlc19sYWJlbC13aWR0aDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzd2F0Y2hlc19sYWJlbC1ndXR0ZXI7XG5cbiAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogJHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cDtcblxuICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAjeyRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICogMn0gK1xuICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldH1cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlLXNlbGVjdGVkLW9wdGlvbiB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiAtI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlciAvIDJ9O1xuICAgIG1hcmdpbi1ib3R0b206IC0jeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyfTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuc3dhdGNoLW9wdCAmIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyhcbiAgICAgICAgICAgIDEwMCUgLSAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9IC0gI3skc3dhdGNoZXNfbGFiZWwtd2lkdGh9XG4gICAgICAgICk7XG5cbiAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwJSAtICN7JHN3YXRjaGVzX2xhYmVsLWd1dHRlcn0gLSAjeyRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXB9XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEVsZW1lbnQgYWRkZWQgYXMgYSBwYXJlbnQgb2YgLnN3YXRjaC1vcHRpb24gaW4gZmlsdGVycy5cbi5zd2F0Y2gtb3B0aW9uLWxpbmstbGF5ZXJlZCB7XG4gICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLnN3YXRjaC1vcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogJHN3YXRjaGVzX3N3YXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRzd2F0Y2hlc19zd2F0Y2gtcGFkZGluZztcbiAgICBtYXJnaW46ICN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRofSBjYWxjKFxuICAgICAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGh9ICsgI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlciAvIDJ9XG4gICAgICAgICkgY2FsYygjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aH0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyfSk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2F0Y2hlc19zd2F0Y2gtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyO1xuICAgIGNvbG9yOiAkc3dhdGNoZXNfc3dhdGNoLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogY2FsYyhcbiAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAjeyRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICogMn0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXR9XG4gICAgKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXItY29sb3IgMC4zcywgb3BhY2l0eSAwLjNzLFxuICAgICAgICBjb2xvciAwLjNzO1xuXG4gICAgQGlmICRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICBsZWZ0OiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgcmlnaHQ6IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICBib3R0b206IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3N3YXRjaGVzL2Rpc2FibGVkLnN2ZylcbiAgICAgICAgICAgIHJnYmEoJGNvbG9yX2JhY2tncm91bmQtNjAwLCAwLjUpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtIDEuMmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gMS4yZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCxcbiAgICAmLmJpcy1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtb3V0bGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQ6bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KSxcbiAgICAmW2Rpc2FibGVkXTpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICAmLnRleHQge1xuICAgICAgICAgICAgb3BhY2l0eTogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1vcGFjaXR5O1xuICAgICAgICAgICAgY29sb3I6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pbWFnZSxcbiAgICAgICAgJi5jb2xvciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5iYWNrLWluLXN0b2NrLWFsZXJ0IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS1iYWNraW5zdG9jay1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGV4dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoJHN3YXRjaGVzX3N3YXRjaC1wYWRkaW5nLCAncmlnaHQnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0ZWQpOm5vdChbZGlzYWJsZWRdKSxcbiAgICAmLmJhY2staW4tc3RvY2stYWxlcnQge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItb3V0bGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3YXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG5cbiAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIHN0eWxlcyBmcm9tIE1hZ2VudG8uXG4gICAgLy8gSXQgcHJldmVudHMga2V5Ym9hcmQgb24gbW9iaWxlIHRvIGJlIHNob3duIGFmdGVyIHN3YXRjaCBpcyBjbGlja2VkXG4gICAgbGVmdDogLTEwMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc3dhdGNoLW1vcmUge1xuICAgIEBpZiAkc3dhdGNoZXNfZGlzYWJsZS1zaG93LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCxcbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAkc3dhdGNoZXNfdG9vbHRpcC1tYXJnaW47XG4gICAgei1pbmRleDogOTk5O1xuICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc190b29sdGlwLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHN3YXRjaGVzX3Rvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXNfdG9vbHRpcC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLWZvbnQtd2VpZ2h0O1xuICAgIHBhZGRpbmc6ICRzd2F0Y2hlc190b29sdGlwLXBhZGRpbmc7XG4gICAgdGV4dC1hbGlnbjogJHN3YXRjaGVzX3Rvb2x0aXAtdGV4dC1hbGlnbjtcbiAgICBtaW4td2lkdGg6ICRzd2F0Y2hlc190b29sdGlwLW1pbi13aWR0aDtcblxuICAgIEBpZiAoXG4gICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplICE9XG4gICAgICAgICAgICAwIGFuZFxuICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgICdub25lJ1xuICAgICkge1xuICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6ICRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC13aWR0aCArICdweCc7XG4gICAgICAgIGhlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWhlaWdodCArICdweCc7XG4gICAgfVxuXG4gICAgLmNvcm5lciB7XG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2hvdykge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN3YXRjaGVzX3Rvb2x0aXAtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteDtcbiAgICAgICAgICAgICAgICBAaWYgKHVuaXQoJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LXgpID09ICclJykge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSN7JHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LXh9KVxuICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplICE9XG4gICAgICAgICAgICAgICAgICAgICAgICAwIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgICAgICAgICAgICAgICdub25lJ1xuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZVxuICAgICAgICAgICAgICAgICAgICAgICAgc29saWRcbiAgICAgICAgICAgICAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZVxuICAgICAgICAgICAgICAgICAgICAgICAgc29saWRcbiAgICAgICAgICAgICAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIC0jeyRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemUgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJ9ICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplIC8gMn07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5taXNzaW5nLXN3YXRjaGVzLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIFxuICAgIC5tYWdlLWVycm9yIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOHJlbTtcbiAgICB9XG5cbiAgICAuc3dhdGNoLWF0dHJpYnV0ZSArIC5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3MtdG9wYmFyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuMXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy10b3BiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHotaW5kZXg6IDMwMjsgfSB9XG4gIC5jcy10b3BiYXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMi43cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy10b3BiYXJfX3dyYXBwZXIge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5jcy10b3BiYXJfX2l0ZW0ge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtdG9wYmFyX19pdGVtLS11c3BzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLXVzcHMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmNzLXRvcGJhcl9faXRlbS0tbGFuZ3VhZ2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy10b3BiYXJfX2xpc3QsXG4gIC5jcy10b3BiYXJfX2l0ZW0gPiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy10b3BiYXJfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDIuN3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLXRvcGJhcl9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuM3JlbSAwIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXRvcGJhcl9fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjNyZW0gMCAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuN3JlbTsgfSB9XG4gICAgLmNzLXRvcGJhcl9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuMnJlbSBzb2xpZCAjZmZmOyB9XG4gIC5jcy10b3BiYXJfX3RleHQge1xuICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy10b3BiYXJfX2xpbmsge1xuICAgIG1hcmdpbi1yaWdodDogMC45cmVtOyB9XG4gICAgLmNzLXRvcGJhcl9fbGluaywgLmNzLXRvcGJhcl9fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLXRvcGJhcl9fbGluazpob3ZlciwgLmNzLXRvcGJhcl9fbGluazpmb2N1cywgLmNzLXRvcGJhcl9fbGluazphY3RpdmUsIC5jcy10b3BiYXJfX2xpbms6dmlzaXRlZDpob3ZlciwgLmNzLXRvcGJhcl9fbGluazp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy10b3BiYXJfX2hvdGxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtdG9wYmFyX19waG9uZS1udW1iZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07IH1cbiAgICAuY3MtdG9wYmFyX19waG9uZS1udW1iZXIsIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOmhvdmVyLCAuY3MtdG9wYmFyX19waG9uZS1udW1iZXI6Zm9jdXMsIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjphY3RpdmUsIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjp2aXNpdGVkOmhvdmVyLCAuY3MtdG9wYmFyX19waG9uZS1udW1iZXI6dmlzaXRlZDpmb2N1cyB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY3MtY29udGFpbmVyLS10b3AtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiR0b3BiYXJfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdG9wYmFyX2hlaWdodDogMi43cmVtICFkZWZhdWx0O1xuXG4kdG9wYmFyX2l0ZW0tZm9udC1zaXplOiAxLjFyZW0gIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tdGV4dC1jb2xvcjogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcbiR0b3BiYXJfZW5hYmxlLWJvcmRlcnM6IHRydWUgIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tYm9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHRvcGJhcl9pdGVtLXBob25lX251bWJlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4kdG9wYmFyX2xpbmstY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyX2xpbmstY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kdG9wYmFyX2xpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiR0b3BiYXJfbGluay1ob3Zlci1kZWNvcmF0aW9uOiAkdG9wYmFyX2xpbmstZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJGNvbnRhaW5lcl9iYWNrZ3JvdW5kLXRvcC1iYXI6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfXRvcGJhciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyX2JhY2tncm91bmQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6ICR0b3BiYXJfaXRlbS1mb250LXNpemU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHotaW5kZXg6IDMwMjtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogJHRvcGJhcl9oZWlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgY29sb3I6ICR0b3BiYXJfaXRlbS10ZXh0LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICYtLXVzcHMge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhvdGxpbmUge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCxcbiAgICAmX19pdGVtID4gdWwge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogJHRvcGJhcl9oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuM3JlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuM3JlbSAwIDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuN3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHRvcGJhcl9lbmFibGUtYm9yZGVycykge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdG9wYmFyX2l0ZW0tYm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBjb2xvcjogJHRvcGJhcl9pdGVtLXRleHQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAkY29sb3I6ICR0b3BiYXJfbGluay1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJHRvcGJhcl9saW5rLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgJGRlY29yYXRpb246ICR0b3BiYXJfbGluay1kZWNvcmF0aW9uLFxuICAgICAgICAgICAgJGRlY29yYXRpb24taG92ZXI6ICR0b3BiYXJfbGluay1ob3Zlci1kZWNvcmF0aW9uXG4gICAgICAgICk7XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07XG4gICAgfVxuXG4gICAgJl9faG90bGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fcGhvbmUtbnVtYmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICRjb2xvcjogJHRvcGJhcl9pdGVtLXBob25lX251bWJlci1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJHRvcGJhcl9pdGVtLXBob25lX251bWJlci1jb2xvclxuICAgICAgICApO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45cmVtO1xuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tdG9wLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250YWluZXJfYmFja2dyb3VuZC10b3AtYmFyO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMi42cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzJkM2U1MDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuaDMge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmg0IHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzJkM2U1MDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuaDYge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5hLCBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzJkM2U1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmE6aG92ZXIsIGE6Zm9jdXMsIGE6YWN0aXZlLCBhOnZpc2l0ZWQ6aG92ZXIsIGE6dmlzaXRlZDpmb2N1cyB7XG4gIGNvbG9yOiAjMmQzZTUwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgcGFkZGluZzogMCAwIDAgNHJlbTsgfVxuICB1bCA+IGxpLFxuICBvbCA+IGxpIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbmgxIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMSk7XG59XG5cbmgyIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMik7XG59XG5cbmgzIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMyk7XG59XG5cbmg0IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCk7XG59XG5cbmg1IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNSk7XG59XG5cbmg2IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNik7XG59XG5cbmEge1xuICAgIEBpbmNsdWRlIGxpbmsoKTtcbn1cblxudWwsXG5vbCB7XG4gICAgQGluY2x1ZGUgbGlzdCgpO1xuXG4gICAgPiBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGxpc3QtaXRlbSgpO1xuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy12aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogMSAqLyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbi4jeyRuc312aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXNlbGVjdCB7XG4gIG1pbi13aWR0aDogMC41cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuY3Mtc2VsZWN0LS1tb2JpbGUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDQ7IH1cblxuLmNzLWh0bWwtc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAxNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuICAuY3MtaHRtbC1zZWxlY3Qub3BlbiB7XG4gICAgei1pbmRleDogOTk7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEzcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgei1pbmRleDogMztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItLWRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1lcnJvciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ2NjY3O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlcixcbiAgICAuY3MtaHRtbC1zZWxlY3Qub3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci10ZXh0IHtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSwgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6aG92ZXI6YmVmb3JlLCAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6aG92ZXI6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlLCAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAxLjdyZW07IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAxLjJyZW07IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDFweCA1cHggMCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMik7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3Q6bm90KC5jcy1odG1sLXNlbGVjdC0tb3BlbikgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbS0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxZW07XG4gICAgaGVpZ2h0OiAyLjhlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhciwgY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0tLXNlbGVjdGVkIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rOmhvdmVyLCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluazpmb2N1cyxcbiAgICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbS0tZm9jdXNlZCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RleHQtaW1hZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdGh1bWJuYWlsIHtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdCAuY3MtaHRtbC1zZWxlY3RfX21lbnUge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgbWF4LWhlaWdodDogMjIwcHg7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0IC5jcy1odG1sLXNlbGVjdF9fbWVudS1saXN0IHtcbiAgICAgIG1heC1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdDpub3QoLmNzLWh0bWwtc2VsZWN0LS1hbmltYXRlKSAuY3MtaHRtbC1zZWxlY3RfX21lbnUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC1zaXplOiAkZmllbGRfc2VsZWN0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWxpbmUtaGVpZ2h0OiAkZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLXNlbGVjdF9jb2xvcjogJGZpZWxkX3NlbGVjdC1jb2xvciAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmc6ICRmaWVsZF9zZWxlY3QtcGFkZGluZyAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmctcmlnaHQ6ICRmaWVsZF9zZWxlY3QtcGFkZGluZy1yaWdodCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXI6ICRmaWVsZF9zZWxlY3QtYm9yZGVyICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5XzUwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJveC1zaGFkb3c6ICRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2NhcmV0LWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9jYXJldC1hY3RpdmUtY29sb3I6ICRjb2xvci1wcmltYXJ5XzUwMCAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2l0ZW0tYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kaHRtbC1zZWxlY3RfbWVudS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfbWVudS1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X21lbnUtYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4kaHRtbC1zZWxlY3RfaXRlbS1ib3JkZXItdG9wOiBub25lICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0taGVpZ2h0OiAyLjhlbSAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2Rpc2FibGVkLW9wYWNpdHk6ICRmaWVsZF9zZWxlY3QtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuLy8gc2VsZWN0XG4vLyBDdXN0b20gSFRNTCBzZWxlY3QgdmVyc2lvbiBvZiBuYXRpdmUgc2VsZWN0IHdpdGggbmF0aXZlIGZhbGxiYWNrIG9uIG1vYmlsZXNcbi8vXG4vLyBTZWUgaHR0cDovL3dhcnBzcGlyZS5jb20va3NzLyBmb3IgZG9jdW1lbnRhdGlvbiBndWlkZWxpbmVzLlxuLy8gVmVyc2lvbiAwLjAuMVxuXG4uI3skbnN9c2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDAuNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJi0tbW9iaWxlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgfVxufVxuXG4uI3skbnN9aHRtbC1zZWxlY3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi13aWR0aDogMTVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxM3JlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZDogJGh0bWwtc2VsZWN0X3RyaWdnZXItYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6ICRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJveC1zaGFkb3c7XG4gICAgICAgIGZvbnQtc2l6ZTogJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC1zaXplO1xuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRodG1sLXNlbGVjdF9kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1lcnJvciAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Y0NjY2NztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1vcGVuICYsXG4gICAgICAgICN7JHJvb3R9Lm9wZW4gJiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXI6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyLXRleHQge1xuICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X3RyaWdnZXItc2VsZWN0X2NvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogJGh0bWwtc2VsZWN0X3RyaWdnZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXdlaWdodDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZpZWxkX3NlbGVjdC1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICAmX190cmlnZ2VyLWNhcmV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAmX190cmlnZ2VyLWNhcmV0LWFycm93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICR0eXBlOiAnYXJyb3cnLFxuICAgICAgICAgICAgJGNvbG9yOiAkaHRtbC1zZWxlY3RfY2FyZXQtY29sb3IsXG4gICAgICAgICAgICAkY29sb3ItZXhwYW5kZWQ6ICRodG1sLXNlbGVjdF9jYXJldC1hY3RpdmUtY29sb3IsXG4gICAgICAgICAgICAkd2lkdGg6IDAuN3JlbSxcbiAgICAgICAgICAgICRoZWlnaHQ6IDFweCxcbiAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAnZG93bicsXG4gICAgICAgICAgICAkYXJyb3ctYWN0aXZlOiAndXAnLFxuICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAxLjJyZW0sXG4gICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAxLjdyZW0sXG4gICAgICAgICAgICAkYWN0aXZlLXNlbGVjdG9yOiAnI3skcm9vdH0tLW9wZW4gJidcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItdG9wOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRodG1sLXNlbGVjdF9tZW51LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkaHRtbC1zZWxlY3RfbWVudS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfbWVudS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAkaHRtbC1zZWxlY3RfbWVudS1ib3gtc2hhZG93O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgICAgICAgI3skcm9vdH0tLW9wZW4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tYXV0b3N1Z2dlc3Q6bm90KCN7JHJvb3R9LS1vcGVuKSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgfVxuXG4gICAgJl9fbWVudS1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAkaHRtbC1zZWxlY3RfaXRlbS1ib3JkZXItdG9wO1xuXG4gICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgICAgaGVpZ2h0OiAkaHRtbC1zZWxlY3RfaXRlbS1oZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhciwgY29sb3IgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICN7JHJvb3R9X19tZW51LWl0ZW0tLXNlbGVjdGVkICYge1xuICAgICAgICAgICAgY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLXNlbGVjdGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICN7JHJvb3R9X19tZW51LWl0ZW0tLWZvY3VzZWQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUtaXRlbS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgICZfX3RleHQtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgJi0tYXV0b3N1Z2dlc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICN7JHJvb3R9X19tZW51IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX21lbnUtbGlzdCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KCN7JHJvb3R9LS1hbmltYXRlKSAjeyRyb290fV9fbWVudSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXRvb2xiYXIge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtdG9vbGJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLXRvb2xiYXJfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAuY3MtdG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy10b29sYmFyX19pdGVtLS1vZmZjYW52YXMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgei1pbmRleDogMTsgfVxuICAuY3MtdG9vbGJhciAuZmllbGQgLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXRvb2xiYXIgLmNzLWh0bWwtc2VsZWN0IHtcbiAgICBtYXgtd2lkdGg6IDIwcmVtOyB9IH1cbiAgLmNzLXRvb2xiYXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07IH1cbiAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5jcy10b29sYmFyX19maWx0ZXJzLWJ1dHRvbjo6YmVmb3JlLCAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy10b29sYmFyX19maWx0ZXJzLWJ1dHRvbiwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b24gKiwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtdG9vbGJhcl9fZmlsdGVycy1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy10b29sYmFyX19maWx0ZXJzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGVmdDogMWVtO1xuICAgICAgbWF4LXdpZHRoOiAyLjNyZW07XG4gICAgICBtYXgtaGVpZ2h0OiAyLjNyZW07IH1cbiAgLmNzLXRvb2xiYXJfX2ZpbHRlcnMtYnV0dG9uLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRlbTsgfVxuXG4udG9vbGJhci1hbW91bnQge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtc29ydGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3Mtc29ydGVyX19sYWJlbCB7XG4gICAgcGFkZGluZzogMCAxcmVtIDAgMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5jcy1zb3J0ZXJfX3NlbGVjdCB7XG4gICAgd2lkdGg6IDBweDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWxpbWl0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmNzLWxpbWl0ZXJfX2xhYmVsLFxuICAuZmllbGQgLmNzLWxpbWl0ZXJfX2xhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWxpbWl0ZXJfX2xhYmVsLS1wcmVmaXgsXG4gICAgLmZpZWxkIC5jcy1saW1pdGVyX19sYWJlbC0tcHJlZml4IHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDFyZW07IH1cbiAgICAuY3MtbGltaXRlcl9fbGFiZWwtLXN1ZmZpeCxcbiAgICAuZmllbGQgLmNzLWxpbWl0ZXJfX2xhYmVsLS1zdWZmaXgge1xuICAgICAgcGFkZGluZzogMCAwIDAgMXJlbTsgfVxuICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgfVxuICAgIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDsgfVxuICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciwgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6aG92ZXIsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjpmb2N1cywgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciwgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24taXRlbS0tY3VycmVudCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6aG92ZXIsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmZvY3VzLCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjphY3RpdmUge1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5jcy1saW1pdGVyIC5jcy1odG1sLXNlbGVjdCxcbiAgLmNzLWxpbWl0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLFxuICAuY3MtbGltaXRlciBzZWxlY3Qge1xuICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07IH1cblxuLmNzLWRhc2hib2FyZCAubGltaXRlci1sYWJlbCxcbi5jcy1kYXNoYm9hcmQgLmxpbWl0ZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uY3MtZGFzaGJvYXJkIC5saW1pdGVyLXRleHQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5jcy1kYXNoYm9hcmQgLmxpbWl0ZXItb3B0aW9ucyB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXBhZ2luYXRpb24ge1xuICAvKipcbiAgICAgKiBJbnB1dCBtb2RlXG4gICAgICovXG4gIC8qKlxuICAgICAqIEJ1bGxldCBwb2ludHMgbW9kZVxuICAgICAqLyB9XG4gIC5jcy1wYWdpbmF0aW9uX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXBhZ2luYXRpb25fX3ByZWZpeC1sYWJlbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMXJlbSAwIDA7IH1cbiAgLmNzLXBhZ2luYXRpb25fX3BhZ2UtcHJvdmlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jcy1wYWdpbmF0aW9uX19wYWdlLXByb3ZpZGVyLWlucHV0LmlucHV0LXRleHQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtaGVpZ2h0OiAzLjVyZW07XG4gICAgd2lkdGg6IDQuNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVlbTsgfVxuICAuY3MtcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlci1sYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXBhZ2luYXRpb25fX2l0ZW1zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmNzLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4OyB9XG4gIC5jcy1wYWdpbmF0aW9uX19udW1iZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19udW1iZXIsIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6aG92ZXIsIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6Zm9jdXMsIC5jcy1wYWdpbmF0aW9uX19udW1iZXI6YWN0aXZlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXIsIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXI6aG92ZXIsIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXI6Zm9jdXMsIC5jcy1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5jcy1wYWdpbmF0aW9uX19udW1iZXI6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuY3MtcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmNzLXBhZ2luYXRpb25fX25leHQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgLmNzLXBhZ2luYXRpb25fX2FjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY3MtcGFnaW5hdGlvbl9fYWN0aW9uLWljb24ge1xuICAgIHdpZHRoOiAxLjNyZW07XG4gICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgZmlsbDogIzJkM2U1MDtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1wYWdpbmF0aW9uX19hY3Rpb24tLWRpc2FibGVkIC5jcy1wYWdpbmF0aW9uX19hY3Rpb24taWNvbiB7XG4gICAgICBmaWxsOiAjZGNkY2RjOyB9XG4gICAgLmNzLXBhZ2luYXRpb25fX2FjdGlvbjpub3QoLmNzLXBhZ2luYXRpb25fX2FjdGlvbi0tZGlzYWJsZWQpOmhvdmVyIC5jcy1wYWdpbmF0aW9uX19hY3Rpb24taWNvbixcbiAgICAuY3MtcGFnaW5hdGlvbl9fYWN0aW9uOm5vdCguY3MtcGFnaW5hdGlvbl9fYWN0aW9uLS1kaXNhYmxlZCk6Zm9jdXMgLmNzLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uLFxuICAgIC5jcy1wYWdpbmF0aW9uX19hY3Rpb246bm90KC5jcy1wYWdpbmF0aW9uX19hY3Rpb24tLWRpc2FibGVkKTphY3RpdmUgLmNzLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uIHtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy12aWV3bW9kZS1zd2l0Y2hlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19sYWJlbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMXJlbSAwIDA7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGVzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4OyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuNXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuM2VtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuN2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuN2VtOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbiwgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpob3ZlciwgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpmb2N1cywgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjphY3RpdmUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLS1jdXJyZW50IC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1hY3Rpb24sIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS0tY3VycmVudCAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uOmhvdmVyLCAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtLWN1cnJlbnQgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbjpmb2N1cywgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLS1jdXJyZW50IC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1hY3Rpb246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbiB7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24tLWdyaWQge1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS4xcmVtOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24tLWxpc3Qge1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS4xcmVtOyB9XG4gICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLS1jdXJyZW50IC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uIHtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbiArIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuN3JlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJHRvb2xiYXJfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiR0b29sYmFyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcbiR0b29sYmFyX2ZsZXgtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfZmxleC13cmFwOiB3cmFwICFkZWZhdWx0O1xuJHRvb2xiYXJfZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kdG9vbGJhcl9mb250LXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcbiR0b29sYmFyX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiR0b29sYmFyX2VsZW1lbnRzLXBhZGRpbmctdGFibGV0LXVwOiAwICFkZWZhdWx0O1xuJHRvb2xiYXJfZWxlbWVudHMtbWFyZ2luOiAwIDAgMS41cmVtICFkZWZhdWx0O1xuJHRvb2xiYXJfZWxlbWVudHMtbWFyZ2luLXRhYmxldC11cDogMCAwIDEuNXJlbSAhZGVmYXVsdDtcblxuJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQ6IDMuNXJlbSAhZGVmYXVsdDtcbiR0b29sYmFyX2lucHV0LW1heC1oZWlnaHQ6ICR0b29sYmFyX3NlbGVjdC1taW4taGVpZ2h0ICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9zZWxlY3RzLW1heC13aWR0aC10YWJsZXQ6IDIwcmVtICFkZWZhdWx0OyAvLyBzZXQgJ25vbmUnIHRvIGRpc2FibGVcblxuJHRvb2xiYXJfY29tcG9uZW50cy1hbGlnbm1lbnQ6IChcbiAgICBhbW91bnQ6IGxlZnQsXG4gICAgc29ydGVyOiBsZWZ0LFxuICAgIGxpbWl0ZXI6IGxlZnQsXG4gICAgdmlld21vZGUtc3dpdGNoZXI6IGxlZnQsXG4gICAgcGFnaW5hdGlvbjogcmlnaHQsXG4pICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9hbW91bnQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9zb3J0ZXItYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9saW1pdGVyLWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfdmlld21vZGUtc3dpdGNoZXItYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9wYWdpbmF0aW9uLWFsaWduOiByaWdodCAhZGVmYXVsdDtcblxuJHRvb2xiYXJfZmlsdGVycy1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kdG9vbGJhcl9maWx0ZXJzLWJ1dHRvbi1pY29uLXBvczogJ2xlZnQnICFkZWZhdWx0O1xuXG4uI3skbnN9dG9vbGJhciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBmb250LXNpemU6ICR0b29sYmFyX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRvb2xiYXJfZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0b29sYmFyX3RleHQtdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiAkdG9vbGJhcl9kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAkdG9vbGJhcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICR0b29sYmFyX2ZsZXgtYWxpZ24taXRlbXM7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR0b29sYmFyX2ZsZXgtanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgZmxleC13cmFwOiAkdG9vbGJhcl9mbGV4LXdyYXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICR0b29sYmFyX2VsZW1lbnRzLW1hcmdpbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW46ICR0b29sYmFyX2VsZW1lbnRzLW1hcmdpbi10YWJsZXQtdXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdG9vbGJhcl9lbGVtZW50cy1wYWRkaW5nLXRhYmxldC11cDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbW9kaWZpZXIsICR2YWx1ZSBpbiAkdG9vbGJhcl9jb21wb25lbnRzLWFsaWdubWVudCB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlID09IHJpZ2h0IHtcbiAgICAgICAgICAgICAgICAmLS0jeyRtb2RpZmllcn0ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHRvb2xiYXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbWl0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1vZmZjYW52YXMge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZCAubGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogJHRvb2xiYXJfZm9udC13ZWlnaHQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC4jeyRuc31odG1sLXNlbGVjdCB7XG4gICAgICAgIEBpZiAkdG9vbGJhcl9zZWxlY3RzLW1heC13aWR0aC10YWJsZXQgIT0gbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR0b29sYmFyX3NlbGVjdHMtbWF4LXdpZHRoLXRhYmxldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RyaWdnZXIge1xuICAgICAgICAgICAgbWluLWhlaWdodDogJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWx0ZXJzLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkdG9vbGJhcl9maWx0ZXJzLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkdG9vbGJhcl9maWx0ZXJzLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHRvb2xiYXJfZmlsdGVycy1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICR0b29sYmFyX2ZpbHRlcnMtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIuM3JlbTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIuM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbHRlcnMtYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJHRvb2xiYXJfZmlsdGVycy1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHRvb2xiYXJfZmlsdGVycy1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9hbW91bnQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvc29ydGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL2xpbWl0ZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvcGFnaW5hdGlvbi5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci92aWV3bW9kZS1zd2l0Y2hlci5zY3NzJztcbiIsIi50b29sYmFyLWFtb3VudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kc29ydGVyX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29ydGVyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcblxuJHNvcnRlcl9sYWJlbC1wYWRkaW5nOiAwIDFyZW0gMCAwICFkZWZhdWx0O1xuJHNvcnRlcl9sYWJlbC13aGl0ZS1zcGFjZTogbm93cmFwICFkZWZhdWx0O1xuXG4uI3skbnN9c29ydGVyIHtcbiAgICBkaXNwbGF5OiAkc29ydGVyX2Rpc3BsYXk7XG5cbiAgICBAaWYgJHNvcnRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogJHNvcnRlcl9mbGV4LWFsaWduLWl0ZW1zO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgcGFkZGluZzogJHNvcnRlcl9sYWJlbC1wYWRkaW5nO1xuICAgICAgICB3aGl0ZS1zcGFjZTogJHNvcnRlcl9sYWJlbC13aGl0ZS1zcGFjZTtcbiAgICB9XG5cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMHB4O1xuICAgIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gcGFnaW5hdGlvbi1saXN0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0taG9vaygpIHtcbn1cblxuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyLWhvb2soKSB7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudC1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9taXhpbnMuc2Nzcyc7XG5cbiRsaW1pdGVyX2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kbGltaXRlcl9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRsaW1pdGVyX2xhYmVscy13aGl0ZS1zcGFjZTogbm93cmFwICFkZWZhdWx0O1xuJGxpbWl0ZXJfbWFyZ2luOiAwIDFyZW0gMCAwO1xuJGxpbWl0ZXJfcHJlZml4LWxhYmVsLXBhZGRpbmc6IDAgMXJlbSAwIDFyZW0gIWRlZmF1bHQ7XG4kbGltaXRlcl9zdWZmaXgtbGFiZWwtcGFkZGluZzogMCAwIDAgMXJlbSAhZGVmYXVsdDtcblxuJHNvcnRlcl9zZWxlY3QtbWluLWhlaWdodDogJHRvb2xiYXJfc2VsZWN0LW1pbi1oZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc31saW1pdGVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6ICRsaW1pdGVyX2Rpc3BsYXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogJGxpbWl0ZXJfbWFyZ2luO1xuXG4gICAgQGlmICRsaW1pdGVyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkbGltaXRlcl9mbGV4LWFsaWduLWl0ZW1zO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgICYsXG4gICAgICAgIC5maWVsZCAmIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiAkbGltaXRlcl9sYWJlbHMtd2hpdGUtc3BhY2U7XG5cbiAgICAgICAgICAgICYtLXByZWZpeCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxpbWl0ZXJfcHJlZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXN1ZmZpeCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxpbWl0ZXJfc3VmZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1saXN0KCk7XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtKCk7XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlcigpO1xuXG4gICAgICAgICN7JHJvb3R9X19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLiN7JG5zfWh0bWwtc2VsZWN0LFxuICAgIC4jeyRuc31odG1sLXNlbGVjdF9fdHJpZ2dlcixcbiAgICBzZWxlY3Qge1xuICAgICAgICBtaW4td2lkdGg6IDNyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRzb3J0ZXJfc2VsZWN0LW1pbi1oZWlnaHQ7XG4gICAgfVxufVxuXG4vL3VzZXIgYXJlYSBsaW1pdGVyIGFmdGVyIHJlZmFjdG9yXG5cbi4jeyRuc31kYXNoYm9hcmQge1xuICAgIC5saW1pdGVyLWxhYmVsLFxuICAgIC5saW1pdGVyLXRleHQge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmxpbWl0ZXItdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmxpbWl0ZXItb3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9ob29rcy5zY3NzJztcblxuJHBhZ2luYXRpb24tbGlzdF9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGlzdF9mbGV4LWFsaWduLWl0ZW1zOiBzdHJldGNoICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbGlzdCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIGRpc3BsYXk6ICRwYWdpbmF0aW9uLWxpc3RfZGlzcGxheTtcblxuICAgIEBpZiAkbGltaXRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogJHBhZ2luYXRpb24tbGlzdF9mbGV4LWFsaWduLWl0ZW1zO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbGlzdC1ob29rKCk7XG59XG5cbiRwYWdpbmF0aW9uLWl0ZW1fbWFyZ2luOiAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyOiAkcGFnaW5hdGlvbi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRwYWdpbmF0aW9uLWl0ZW0tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9yb3VuZC1lZGdlczogdHJ1ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9hcy1jaXJjbGU6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtIHtcbiAgICBtYXJnaW46ICRwYWdpbmF0aW9uLWl0ZW1fbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW1fcGFkZGluZztcbiAgICBib3JkZXI6ICRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1pdGVtX21hcmdpbiA9PVxuICAgICAgICAwIGFuZFxuICAgICAgICAkcGFnaW5hdGlvbi1pdGVtX2JvcmRlci13aWR0aCAhPVxuICAgICAgICAwIGFuZFxuICAgICAgICAkcGFnaW5hdGlvbi1pdGVtX2JvcmRlciAhPVxuICAgICAgICBub25lXG4gICAge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHBhZ2luYXRpb24taXRlbV9ib3JkZXItd2lkdGh9O1xuICAgIH1cblxuICAgIEBpZiAkcGFnaW5hdGlvbi1pdGVtX3JvdW5kLWVkZ2VzIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHBhZ2luYXRpb24taXRlbV9yb3VuZC1lZGdlcy1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWdpbmF0aW9uLWl0ZW1fYXMtY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1ob29rKCk7XG59XG5cbiRwYWdpbmF0aW9uLW51bWJlcl9taW4td2lkdGg6IDMuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1udW1iZXJfbWluLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX3BhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX2NvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXJfdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX3RyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0ICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAkcGFnaW5hdGlvbi1udW1iZXJfbWluLXdpZHRoO1xuICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24tbnVtYmVyX3BhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbnVtYmVyX2JhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tbnVtYmVyX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbnVtYmVyX2ZvbnQtd2VpZ2h0O1xuICAgIHRyYW5zaXRpb246ICRwYWdpbmF0aW9uLW51bWJlcl90cmFuc2l0aW9uO1xuXG4gICAgJixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyX2NvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLW51bWJlcl90ZXh0LWRlY29yYXRpb247XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyLS1ob3Zlcl9jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbnVtYmVyLS1ob3Zlcl9iYWNrZ3JvdW5kO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfdGV4dC1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLWhvb2soKTtcbn1cblxuJHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50X2NvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50IHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudF9iYWNrZ3JvdW5kO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQtaG9vaygpO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL21peGlucy5zY3NzJztcblxuJHBhZ2luYXRpb25fY29udGVudC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb25fY29udGVudC1mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uX3ByZWZpeC1sYWJlbC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9wcmVmaXgtbGFiZWwtcGFkZGluZzogMCAxcmVtIDAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb25fcGFnZS1wcm92aWRlci1pbnB1dC13aWR0aDogNC41ZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9wYWdlLXByb3ZpZGVyLWlucHV0LWZvbnQtc2l6ZTogMC44NWVtICFkZWZhdWx0O1xuXG4vLyBwcmV2L25leHQgYXJyb3dzXG4kcGFnaW5hdGlvbl9hY3Rpb24tZ3V0dGVyOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi13aWR0aDogMS4zcmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb25fYWN0aW9uLWljb24taGVpZ2h0OiAyLjRyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi10cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGlvbi0taG92ZXJfaWNvbi1maWxsOiAkY29sb3JfdG9yZWEtYmF5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aW9uLS1kaXNhYmxlZF9pY29uLWZpbGw6ICRjb2xvcl9hbHRvICFkZWZhdWx0O1xuXG4uI3skbnN9cGFnaW5hdGlvbiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogJHBhZ2luYXRpb25fY29udGVudC1kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAkbGltaXRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRwYWdpbmF0aW9uX2NvbnRlbnQtZmxleC1hbGlnbi1pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZWZpeC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogJHBhZ2luYXRpb25fcHJlZml4LWxhYmVsLW1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogJHBhZ2luYXRpb25fcHJlZml4LWxhYmVsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5wdXQgbW9kZVxuICAgICAqL1xuICAgICZfX3BhZ2UtcHJvdmlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fcGFnZS1wcm92aWRlci1pbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAkdG9vbGJhcl9pbnB1dC1tYXgtaGVpZ2h0OyAvLyB2YXIgaW5oZXJpdGVkIGZyb20gLi90b29sYmFyXG4gICAgICAgIHdpZHRoOiAkcGFnaW5hdGlvbl9wYWdlLXByb3ZpZGVyLWlucHV0LXdpZHRoO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb25fcGFnZS1wcm92aWRlci1pbnB1dC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fcGFnZS1wcm92aWRlci1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCdWxsZXQgcG9pbnRzIG1vZGVcbiAgICAgKi9cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbGlzdCgpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0oKTtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlcigpO1xuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1jdXJyZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZXYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwYWdpbmF0aW9uX2FjdGlvbi1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fbmV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbl9hY3Rpb24tZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1pbi13aWR0aDogJHBhZ2luYXRpb24tbnVtYmVyX21pbi13aWR0aDsgLy8gdmFyIGluaGVyaXRlZCBmcm9tIC4vbWl4aW5zXG4gICAgICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0OyAvLyB2YXIgaW5oZXJpdGVkIGZyb20gLi9taXhpbnNcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogJHBhZ2luYXRpb25fYWN0aW9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJHBhZ2luYXRpb25fYWN0aW9uLWljb24taGVpZ2h0O1xuICAgICAgICBmaWxsOiAkcGFnaW5hdGlvbl9hY3Rpb24taWNvbi1maWxsO1xuICAgICAgICB0cmFuc2l0aW9uOiAkcGFnaW5hdGlvbl9hY3Rpb24taWNvbi10cmFuc2l0aW9uO1xuXG4gICAgICAgICN7JHJvb3R9X19hY3Rpb24tLWRpc2FibGVkICYge1xuICAgICAgICAgICAgZmlsbDogJHBhZ2luYXRpb24tYWN0aW9uLS1kaXNhYmxlZF9pY29uLWZpbGw7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fYWN0aW9uOm5vdCgjeyRyb290fV9fYWN0aW9uLS1kaXNhYmxlZCk6aG92ZXIgJixcbiAgICAgICAgI3skcm9vdH1fX2FjdGlvbjpub3QoI3skcm9vdH1fX2FjdGlvbi0tZGlzYWJsZWQpOmZvY3VzICYsXG4gICAgICAgICN7JHJvb3R9X19hY3Rpb246bm90KCN7JHJvb3R9X19hY3Rpb24tLWRpc2FibGVkKTphY3RpdmUgJiB7XG4gICAgICAgICAgICBmaWxsOiAkcGFnaW5hdGlvbi1hY3Rpb24tLWhvdmVyX2ljb24tZmlsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvbWl4aW5zLnNjc3MnO1xuXG4kdmlld21vZGUtc3dpdGNoZXJfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiR2aWV3bW9kZS1zd2l0Y2hlcl9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kdmlld21vZGUtc3dpdGNoZXJfY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2xhYmVsLXBhZGRpbmc6IDAgMXJlbSAwIDAgIWRlZmF1bHQ7XG5cbiR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24teC1heGlzLXBhZGRpbmc6IDAuN2VtICFkZWZhdWx0O1xuXG4kdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZmlsbDogY3VycmVudENvbG9yICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLS1jdXJyZW50LWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLWhlaWdodDogMS4xcmVtICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3Qtd2lkdGg6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLXdpZHRoICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3QtaGVpZ2h0OiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc312aWV3bW9kZS1zd2l0Y2hlciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBkaXNwbGF5OiAkdmlld21vZGUtc3dpdGNoZXJfZGlzcGxheTtcblxuICAgIEBpZiAkc29ydGVyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkdmlld21vZGUtc3dpdGNoZXJfZmxleC1hbGlnbi1pdGVtcztcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJHZpZXdtb2RlLXN3aXRjaGVyX2xhYmVsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fbW9kZXMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbGlzdCgpO1xuICAgIH1cblxuICAgICZfX21vZGUge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0oKTtcbiAgICB9XG5cbiAgICAmX19tb2RlLWFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyKCk7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBzZXQgaGVpZ2h0IGV4cGxpY2l0bHkgZm9yIElFXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi14LWF4aXMtcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi14LWF4aXMtcGFkZGluZztcblxuICAgICAgICAjeyRyb290fV9fbW9kZS0tY3VycmVudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tb2RlLWljb24ge1xuICAgICAgICBmaWxsOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZmlsbDtcblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3Qtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1saXN0LWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19tb2RlLS1jdXJyZW50ICYge1xuICAgICAgICAgICAgZmlsbDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLS1jdXJyZW50LWZpbGw7XG4gICAgICAgIH1cblxuICAgICAgICArICN7JHJvb3R9X19tb2RlLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3MtaWUxMS1tb2RhbC5tb2RhbC1zbGlkZSB7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA3OHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWllMTEtbW9kYWwubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjhyZW0gMS44cmVtO1xuICAgIG1hcmdpbjogMi41cmVtOyB9XG4gIC5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICBtYXJnaW46IDAgM3JlbTtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmNzLWllMTEtbW9kYWwuX3Nob3cgLmNzLWllMTEtbW9kYWxfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faW5uZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwIDNyZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogIzJkM2U1MDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jcy1pZTExLW1vZGFsX19oZWFkZXIsIC5jcy1pZTExLW1vZGFsX19ib2R5IHtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG5cbi5jcy1pZTExLW1vZGFsX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5jcy1pZTExLW1vZGFsX19oZWFkZXItaWNvbiB7XG4gIHdpZHRoOiA3cmVtO1xuICBoZWlnaHQ6IDdyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLmNzLWllMTEtbW9kYWxfX2hlYWRlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNzLWllMTEtbW9kYWxfX2JvZHkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cblxuLmNzLWllMTEtbW9kYWxfX3BhcmFncmFwaCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuY3MtaWUxMS1tb2RhbF9fcGFyYWdyYXBoLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNzLWllMTEtbW9kYWxfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5jcy1pZTExLW1vZGFsX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTMwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jcy1pZTExLW1vZGFsX19pdGVtLWxvZ28ge1xuICB3aWR0aDogMy44cmVtO1xuICBoZWlnaHQ6IDMuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAwOyB9XG4gIC5pZTExIC5jcy1pZTExLW1vZGFsX19pdGVtLWxvZ28ge1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faXRlbS1uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uaWUxMSAubW9kYWwtcG9wdXA6bm90KC5jcy12aWRlLXBsYXllcl9fbW9kYWwpIC5tb2RhbC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRpZTExX21vZGFsLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRpZTExX21vZGFsLXBhZGRpbmctLXZlcnRpY2FsOiAycmVtICFkZWZhdWx0O1xuJGllMTFfbW9kYWwtcGFkZGluZy0taG9yaXpvbnRhbDogM3JlbSAhZGVmYXVsdDtcbiRpZTExX21vZGFsLXNlY3Rpb24tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kaWUxMV9tb2RhbC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGllMTFfbW9kYWwtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi5jcy1pZTExLW1vZGFsIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYubW9kYWwtc2xpZGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3OHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpZTExX21vZGFsLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuOHJlbSAxLjhyZW07XG4gICAgICAgICAgICBtYXJnaW46IDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogJGllMTFfbW9kYWwtcGFkZGluZy0tdmVydGljYWwgMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAkaWUxMV9tb2RhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuX3Nob3cge1xuICAgICAgICAjeyRyb290fV9faW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAkaWUxMV9tb2RhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgICBmb250LXNpemU6ICRpZTExX21vZGFsLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRpZTExX21vZGFsLWNvbG9yO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLFxuICAgICZfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiAkaWUxMV9tb2RhbC1wYWRkaW5nLS12ZXJ0aWNhbCAwO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLWljb24ge1xuICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgaGVpZ2h0OiA3cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaWUxMV9tb2RhbC1wYWRkaW5nLS12ZXJ0aWNhbDtcbiAgICB9XG5cbiAgICAmX19oZWFkZXItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBib3JkZXItdG9wOiAkaWUxMV9tb2RhbC1zZWN0aW9uLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGllMTFfbW9kYWwtc2VjdGlvbi1ib3JkZXI7XG4gICAgfVxuXG4gICAgJl9fcGFyYWdyYXBoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaWUxMV9tb2RhbC1wYWRkaW5nLS12ZXJ0aWNhbDtcblxuICAgICAgICAmLS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbiAgICAmX19saXN0LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0tbG9nbyB7XG4gICAgICAgIHdpZHRoOiAzLjhyZW07XG4gICAgICAgIGhlaWdodDogMy44cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4uaWUxMSAubW9kYWwtcG9wdXA6bm90KC5jcy12aWRlLXBsYXllcl9fbW9kYWwpIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1wd2Etbm90aWZpY2F0aW9uLl9zaG93IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHRvcDogYXV0bztcbiAgaGVpZ2h0OiAxNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi5fc2hvdyAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAubW9kYWwtaW5uZXItd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAubW9kYWwtaW5uZXItd3JhcDphZnRlciB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDcsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmMmYyZjc7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjZyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAubW9kYWwtdGV4dC1jb250ZW50IHtcbiAgcGFkZGluZzogMC40cmVtIDEuNHJlbSAxLjFyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZS5fc2hvdyB7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogMS41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGUuX3Nob3cgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjc7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZS5kZXZpY2UtaVBhZCB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxLjVyZW07XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDM4cmVtOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGUuZGV2aWNlLWlQYWQgLm1vZGFsLWlubmVyLXdyYXA6YWZ0ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2YyZjJmNztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMi44dnc7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZS5kZXZpY2UtaVBhZCAubW9kYWwtaW5uZXItd3JhcDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxMXZ3OyB9IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycmVtO1xuICBmb250LXNpemU6IDEuOHJlbTsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX2lvcy10cmFuc2Zlci1pY29uIHtcbiAgd2lkdGg6IDEuOHJlbTtcbiAgaGVpZ2h0OiAyLjRyZW07XG4gIG1hcmdpbjogMCAwLjNyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX2Zvb3RlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAycmVtIDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZSAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fZm9vdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q5ZDllNzsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b24sIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uICosIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uLWljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5jcy1wd2Etbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuOHJlbTsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbiArIC5tb2RhbHMtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwd2Etbm90aWZpY2F0aW9uX2JveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25fYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGU6ICdwcmltYXJ5JyAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2hpZGUtbW9kYWwtb3ZlcmxheTogdHJ1ZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2hlYWRsaW5lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQ6ICNmMmYyZjcgIWRlZmF1bHQ7IC8vIGlvcy1saWtlIHN5c3RlbSBiYWNrZ3JvdW5kIGNvbG9yXG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2ZpbHRlci1zaGFkb3c6IDAgMCAwLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9ib3JkZXItcmFkaXVzOiA2cHggIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2xvY2FsaXphdGlvbi1hcnJvdy1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX21vZGFsLWVkZ2UtcGFkZGluZzogMnJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY29udGVudC1wYWRkaW5nOiAwLjRyZW0gMS40cmVtIDEuMXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLS1pb3MtdHJhbnNmZXItaWNvbi13aWR0aDogMS44cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tLWlvcy10cmFuc2Zlci1pY29uLWhlaWdodDogMi40cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9zZXBhcmF0b3ItY29sb3I6IGRhcmtlbihcbiAgICAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQsXG4gICAgOCVcbikgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2Nsb3NlLWJ1dHRvbi1wYWRkaW5nOiAxLjhyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2Nsb3NlLWljb24td2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY2xvc2UtaWNvbi1oZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY2xvc2UtaWNvbi13aWR0aCAhZGVmYXVsdDtcblxuLiN7JG5zfXB3YS1ub3RpZmljYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgJi5fc2hvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG5cbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHdhLW5vdGlmaWNhdGlvbl9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHB3YS1ub3RpZmljYXRpb25fYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWlvcy1ndWlkZSB7XG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfYmFja2dyb3VuZCwgMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9sb2NhbGl6YXRpb24tYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9sb2NhbGl6YXRpb24tYXJyb3ctc2l6ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtdGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5fc2hvdyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9tb2RhbC1lZGdlLXBhZGRpbmc7XG5cbiAgICAgICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9maWx0ZXItc2hhZG93KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kZXZpY2UtaVBhZCB7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX21vZGFsLWVkZ2UtcGFkZGluZztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM4cmVtO1xuXG4gICAgICAgICAgICAubW9kYWwtaW5uZXItd3JhcDphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi0taW9zLWd1aWRlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMTIuOHZ3O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTF2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkcHdhLW5vdGlmaWNhdGlvbl9oZWFkbGluZS1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07XG4gICAgfVxuXG4gICAgJl9faW9zLXRyYW5zZmVyLWljb24ge1xuICAgICAgICB3aWR0aDogJHB3YS1ub3RpZmljYXRpb24tLWlvcy10cmFuc2Zlci1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtdHJhbnNmZXItaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwLjNyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW0gMnJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAjeyRyb290fS0taW9zLWd1aWRlICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbl9idXR0b24tdHlwZVxuICAgICAgICApO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6ICRwd2Etbm90aWZpY2F0aW9uLS1pb3MtZ3VpZGVfY2xvc2UtaWNvbi13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9jbG9zZS1pY29uLWhlaWdodDtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJHB3YS1ub3RpZmljYXRpb24tLWlvcy1ndWlkZV9jbG9zZS1idXR0b24tcGFkZGluZztcbiAgICB9XG5cbiAgICBAaWYgKCRwd2Etbm90aWZpY2F0aW9uX2hpZGUtbW9kYWwtb3ZlcmxheSA9PSB0cnVlKSB7XG4gICAgICAgICYgKyAubW9kYWxzLW92ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uY3MtZ29vZ2xlLXJlY2FwdGNoYSB7XG4gIG1hcmdpbjogMXJlbSAwOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19iYWRnZS0taW52aXNpYmxlIC5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYSwgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpmb2N1cywgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTphY3RpdmUsIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZDpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG4gICAgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYSwgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTpmb2N1cywgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTphY3RpdmUsIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZDpob3ZlciwgLmNzLWdvb2dsZS1yZWNhcHRjaGEtLW5ld3NsZXR0ZXIgLmNzLWdvb2dsZS1yZWNhcHRjaGFfX25vdGUgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1jdXN0b21lcl9jcmVhdGUge1xuICAgIG1hcmdpbi10b3A6IC0ycmVtOyB9XG4gIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1jdXN0b21lcl9sb2dpbiAuZy1yZWNhcHRjaGEge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kZ29vZ2xlLXJlY2FwdGNoYV9tYXJnaW46IDFyZW0gMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX3RleHQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX2xpbmstY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbGluay1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbGluay1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLyBuZXdzbGV0dGVyXG4kZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLW1hcmdpbjogMXJlbSAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LW1hcmdpbjogMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1saW5rLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLWxpbmstY29sb3ItaG92ZXI6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1saW5rLWRlY29yYXRpb24taG92ZXI6IHVuZGVybGluZSAhZGVmYXVsdDtcblxuLiN7JG5zfWdvb2dsZS1yZWNhcHRjaGEge1xuICAgICRyb290OiAmO1xuXG4gICAgbWFyZ2luOiAkZ29vZ2xlLXJlY2FwdGNoYV9tYXJnaW47XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgICYtLWludmlzaWJsZSB7XG4gICAgICAgICAgICAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25vdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1tYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkZ29vZ2xlLXJlY2FwdGNoYV90ZXh0LWNvbG9yO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRnb29nbGUtcmVjYXB0Y2hhX2xpbmstY29sb3IsXG4gICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICRkZWNvcmF0aW9uOiAkZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWRlY29yYXRpb24sXG4gICAgICAgICAgICAgICAgJGRlY29yYXRpb24taG92ZXI6ICRnb29nbGUtcmVjYXB0Y2hhX2xpbmstZGVjb3JhdGlvbi1ob3ZlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5ld3NsZXR0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbWFyZ2luO1xuXG4gICAgICAgICN7JHJvb3R9X19ub3RlIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LW1hcmdpbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLXRleHQtY29sb3I7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1saW5rLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJGRlY29yYXRpb246ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1kZWNvcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAkZGVjb3JhdGlvbi1ob3ZlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1kZWNvcmF0aW9uLWhvdmVyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWN1c3RvbWVyX2NyZWF0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgIH1cblxuICAgICYtLWN1c3RvbWVyX2xvZ2luIHtcbiAgICAgICAgLmctcmVjYXB0Y2hhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sb2FkaW5nLW1hc2sge1xuICAgICZbZGF0YS1yb2xlPSdtYWluLWNzcy1sb2FkZXInXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLWRhc2hib2FyZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWRhc2hib2FyZF9fY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2NvbHVtbnM6YmVmb3JlLCAuY3MtZGFzaGJvYXJkX19jb2x1bW5zOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1kYXNoYm9hcmRfX21lc3NhZ2VzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICBvcmRlcjogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpOyB9IH1cbiAgLmNzLWRhc2hib2FyZF9fbWFpbiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fbWFpbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMTAwJSAvIDMpKTtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDAgMCAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgxMDAlIC8gNCkpO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMCAwIDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX21haW4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKDEwMCUgLyA0KSk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgxMDAlIC8gNCkpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX21haW4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKDEwMCUgLyA0KSk7IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5jcy1wYWdlLWNhdGVnb3J5X19tYWluLS1zZWFyY2gtbm8tcmVzdWx0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZGFzaGJvYXJkX19jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzcmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAycmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMy41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLndpc2hsaXN0LWluZGV4LWluZGV4LnBhZ2UtbGF5b3V0LTFjb2x1bW4gLmNzLWRhc2hib2FyZF9fbWFpbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAuY3MtZGFzaGJvYXJkX190b3Age1xuICAgIHBhZGRpbmc6IDAgMCAzcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX3BhZ2UtdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMXJlbSAwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLm1lc3NhZ2UtZXJyb3IsXG4gIC5jcy1kYXNoYm9hcmQgLm1lc3NhZ2Utc3VjY2VzcyxcbiAgLmNzLWRhc2hib2FyZCAubWVzc2FnZS1ub3RpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY3MtZGFzaGJvYXJkX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RjZGNkYzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19ib3R0b20ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1saW5lIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtcHJvZHVjdHMtZ3JpZCB7XG4gICAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gICAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtcHJvZHVjdHMtZ3JpZC0tc2tpcC1zcGFjaW5nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1ndWVzdC1jb2RlIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCB7XG4gICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LS1za2lwLXNwYWNpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMlOyB9IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtOm50aC1jaGlsZChuICsgNCkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2xvZ2luIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4ge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb24ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgICAuY3MtZGFzaGJvYXJkX19sb2dpbi1zZWN0aW9uOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gICAgICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbjpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkX19jb250YWN0LWZvcm0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY3MtZGFzaGJvYXJkIC5maWVsZHNldCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5jcy1kYXNoYm9hcmQgLmZpZWxkc2V0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA0NXJlbSAhaW1wb3J0YW50OyB9XG4gIC5jcy1kYXNoYm9hcmQgLmZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmxpbWl0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWRhc2hib2FyZCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM2RjZGNkYyclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhlbSB0b3AgNTIlLCAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjdlbSBhdXRvLCAxMDAlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzOyB9XG4gICAgLmNzLWRhc2hib2FyZCBzZWxlY3Q6LW1vei1mb2N1c3JpbmcsIC5jcy1kYXNoYm9hcmQgc2VsZWN0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWRhc2hib2FyZCBzZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyMzJkM2U1MCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgLmNzLWRhc2hib2FyZCBzZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIHNlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogaW5pdGlhbDsgfVxuICAuY3MtZGFzaGJvYXJkIC5jaG9pY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5jaG9pY2UgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuY2hvaWNlIC5jaGVja2JveCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGQtbmFtZS1wcmVmaXgge1xuICAgIG1heC13aWR0aDogMTJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbixcbiAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBtaW4td2lkdGg6IDEycmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b24sIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246dmlzaXRlZCxcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUsXG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbiAqLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOnZpc2l0ZWQgKixcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZSAqLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbltkaXNhYmxlZF0sXG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLndpc2hsaXN0LWluZGV4LWluZGV4IC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b24sIC53aXNobGlzdC1pbmRleC1pbmRleFxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZSB7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbiBzcGFuLFxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uLmFjdGlvbi51cGRhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZCAucmVtaW5kLFxuICAuY3MtZGFzaGJvYXJkIC5iYWNrIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjdyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNvdW50ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcmVtKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5jb3VudGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5jb3VudGVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcpJzsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAyLjVyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrIHtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCA0cmVtOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stdGl0bGUsXG4gIC5jcy1kYXNoYm9hcmQgLmxlZ2VuZCxcbiAgLmNzLWRhc2hib2FyZCAub3JkZXItdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuYmxvY2stdGl0bGUgc3Ryb25nLFxuICAgIC5jcy1kYXNoYm9hcmQgLmxlZ2VuZCBzdHJvbmcsXG4gICAgLmNzLWRhc2hib2FyZCAub3JkZXItdGl0bGUgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stdGl0bGUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuY3MtZGFzaGJvYXJkIC5ib3gtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAycmVtIDAgMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuc2FsZXMtb3JkZXItaGlzdG9yeSAuY3MtZGFzaGJvYXJkIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAuYmxvY2stY29udGVudC5uby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stbmV3LWN1c3RvbWVyIC5ibG9jay1jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuYmxvY2stbmV3LWN1c3RvbWVyIC5ibG9jay1jb250ZW50IC5maWVsZHNldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAuYmxvY2stcmV3YXJkLWhpc3RvcnkgLmNzLXRvb2xiYXJfX2l0ZW0tLWFtb3VudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stcmV3YXJkLWhpc3RvcnkgLmNzLXRvb2xiYXJfX2l0ZW0tLWFtb3VudDpudGgtY2hpbGQoMSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAucGFnZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDAuN3JlbSAwIDJyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAucGFnZXM6bnRoLWNoaWxkKDIpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAuYmxvY2stcmV3YXJkLWhpc3RvcnkgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAuY3MtdG9vbGJhcl9faXRlbS0tbGltaXRlcjpudGgtY2hpbGQoMykge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZCAuYm94LWFjdGlvbnMgYSArIGE6YmVmb3JlLFxuICAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIGEgKyBhOmJlZm9yZSB7XG4gICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJveC1hY3Rpb25zIGEsXG4gIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuY3MtZGFzaGJvYXJkIC50YWJsZS13cmFwcGVyLFxuICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeSxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS13cmFwcGVyICsgLnRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciArIC5hY3Rpb25zLXRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAub3JkZXJzLWhpc3RvcnkgKyAudG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeSArIC5hY3Rpb25zLXRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIub3JkZXItaXRlbXMgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5Lm9yZGVyLWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zLm9yZGVyLWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5ICsgLnRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyArIC50b29sYmFyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciAuYWN0aW9uLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5IC5hY3Rpb24sXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyAuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSAuYWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLXB3YW5vdGlmaWNhdGlvbnMtbWFuYWdlIC5maWVsZHNldCB7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1wd2Fub3RpZmljYXRpb25zLW1hbmFnZSAuZmllbGQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tcHdhbm90aWZpY2F0aW9ucy1tYW5hZ2UgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhcjo6YWZ0ZXIsIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXI6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0gcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0tLWFtb3VudCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50ICsgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAudG9vbGJhci1hbW91bnQge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAucGFnZXMge1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLnBhZ2VzIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAubGltaXRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAubGltaXRlciAubGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhci53aXNobGlzdC10b29sYmFyIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucy10b29sYmFyID4gLnNlY29uZGFyeSAuYWN0aW9uLmJhY2ssXG4gIC5jcy1kYXNoYm9hcmQgLnNlY29uZGFyeSAuYWN0aW9uLmVkaXQtZW1haWwtcHJlZmVyZW5jZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZCAuYm94LFxuICAuY3MtZGFzaGJvYXJkIC5hZGRyZXNzZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuYm94LFxuICAgICAgLmNzLWRhc2hib2FyZCAuYWRkcmVzc2VzIHtcbiAgICAgICAgd2lkdGg6IDQ4JTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmJveC1jb250ZW50LFxuICAuY3MtZGFzaGJvYXJkIC5hZGRyZXNzZXMgLml0ZW0ge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLnRvb2x0aXAud3JhcHBlciB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNob2ljZS5wZXJzaXN0ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLmNzLXRhYmxlX19jb2w6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5pdGVtcy1xdHksXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5jcy1jYXJ0LWl0ZW1fX29wdGlvbnMtbGFiZWwge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLmNzLWNhcnQtaXRlbV9fb3B0aW9ucy1sYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5jcy10YWJsZV9fY29sLnN1YnRvdGFsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5pdGVtcy1xdHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuaXRlbXMtcXR5IC5pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLml0ZW1zLXF0eSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zLFxuICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zLFxuICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyLFxuICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcixcbiAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6dmlzaXRlZCxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcixcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjp2aXNpdGVkLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcixcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjp2aXNpdGVkICosXG4gICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciAqLFxuICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6dmlzaXRlZCAqLFxuICAgICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyICosXG4gICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyW2Rpc2FibGVkXSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcltkaXNhYmxlZF0sXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6OmJlZm9yZSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjo6YmVmb3JlLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciBzcGFuLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHNwYW4sXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50LFxuICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCxcbiAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6dmlzaXRlZCxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50ICosIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OnZpc2l0ZWQgKixcbiAgICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50ICosXG4gICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkICosXG4gICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludFtkaXNhYmxlZF0sXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnRbZGlzYWJsZWRdLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OjpiZWZvcmUsXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6OmJlZm9yZSxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQgc3BhbixcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCBzcGFuLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXZpZXdzLWRhc2hib2FyZCAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLnJhdGluZy1yZXN1bHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmNzLWRhc2hib2FyZCAucmF0aW5nLXJlc3VsdDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZCAucmF0aW5nLXN1bW1hcnkuaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcgLnJldmlldy10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcudmlldyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldy52aWV3IC5yZXZpZXcudGl0bGUsXG4gICAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3LnZpZXcgLnJhdGluZ3Mtc3VtbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcudmlldyAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5wcm9kdWN0LWRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5wcm9kdWN0LW1lZGlhIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgIG1heC13aWR0aDogMjguNXJlbTtcbiAgICB3aWR0aDogMzAlOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucmV2aWV3LWRldGFpbHMgLmN1c3RvbWVyLXJldmlldy1yYXRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcgLnJldmlldy1kZXRhaWxzIC5jdXN0b21lci1yZXZpZXctcmF0aW5nIC5pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucmV2aWV3LWRldGFpbHMgLmN1c3RvbWVyLXJldmlldy1yYXRpbmcgLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctZGV0YWlscyAucmV2aWV3LXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctZGV0YWlscyAucmV2aWV3LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSAucmF0aW5nLXN1bW1hcnksXG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkgLnJldmlld3MtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0LFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCxcbiAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50LFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQsXG4gICAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCBicixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5mdWxsbmFtZSAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmZ1bGxuYW1lIC5sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5mdWxsbmFtZSA+IC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZnVsbG5hbWUgPiAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgLmZ1bGxuYW1lID4gLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmZ1bGxuYW1lID4gLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZ1bGxuYW1lID4gLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5mdWxsbmFtZSA+IC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5mdWxsbmFtZSA+IC5sYWJlbCB7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuZnVsbG5hbWUgLmNvbnRyb2wsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZnVsbG5hbWUgLmNvbnRyb2wsXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuZnVsbG5hbWUgLmNvbnRyb2wge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5hY3Rpb24ucHJpbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5hY3Rpb24ucHJpbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5hY3Rpb24ucHJpbWFyeSB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5iYWNrLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5iYWNrLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmJhY2sge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmZpZWxkc2V0LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmZpZWxkc2V0LFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmZpZWxkc2V0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5maWVsZHNldC1mdWxsbmFtZSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5maWVsZHNldC1mdWxsbmFtZSxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5maWVsZHNldC1mdWxsbmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmFkZHJlc3NlcyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1kYXNoYm9hcmQgLmJveC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLnRhYmxlLWFkZGl0aW9uYWwtYWRkcmVzc2VzLWl0ZW1zIC5jb2wuc3RhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyB0aDpmaXJzdC1jaGlsZCxcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtYWRkaXRpb25hbC1hZGRyZXNzZXMtaXRlbXMgdGg6bGFzdC1jaGlsZCxcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTllbSkge1xuICAuY3MtZGFzaGJvYXJkIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyAuYWN0aW9uLmRlbGV0ZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyAuYWN0aW9uLmRlbGV0ZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OWVtKSB7XG4gIC5jcy1kYXNoYm9hcmQgLnRhYmxlLWFkZGl0aW9uYWwtYWRkcmVzc2VzLWl0ZW1zIC5hY3Rpb24uZWRpdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLW5ld3NsZXR0ZXItbWFuYWdlIC5maWVsZHNldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuY3MtZGFzaGJvYXJkX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbiwgLmNzLWRhc2hib2FyZF9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uICosIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWRhc2hib2FyZF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZGFzaGJvYXJkX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtZGFzaGJvYXJkX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtZGFzaGJvYXJkX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtZ3Vlc3Qge1xuICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LWd1ZXN0LWNvcHkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtZ3Vlc3QtY29weS1pY29uIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgZmlsbDogIzY5Njk2OTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSwgLmNzLWNvbnRhaW5lci0tY29udGFjdC1wYWdlIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSwgLmNzLWNvbnRhaW5lci0tY29udGFjdC1wYWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0tbXktYWNjb3VudC1wYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuXG4uYWNjb3VudCAudGFibGUtd3JhcHBlcjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuYWN0aW9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5ibG9jayBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7IH1cblxuLmJsb2NrIC5ib3gtYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4uYWNjb3VudC5wYWdlLXByaW50IC5pdGVtcy1xdHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNzLXBhZ2Utc3VjY2VzcyB7XG4gIG1hcmdpbjogMnJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhZ2Utc3VjY2VzcyB7XG4gICAgICBtYXJnaW46IDRyZW0gYXV0byAycmVtOyB9IH1cbiAgLmNzLXBhZ2Utc3VjY2Vzc19faW5uZXIge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjBmMGYwO1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfSB9XG4gIC5jcy1wYWdlLXN1Y2Nlc3NfX3NlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXBhZ2Utc3VjY2Vzc19fc2VjdGlvbjpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX3NlY3Rpb24ge1xuICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgICAgICAuY3MtcGFnZS1zdWNjZXNzX19zZWN0aW9uOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtOyB9XG4gICAgICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX3NlY3Rpb246bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcGFnZS1zdWNjZXNzX19zZWN0aW9uOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXBhZ2Utc3VjY2Vzc19fc2VjdGlvbjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07IH1cbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX3NlY3Rpb246bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZyZW07IH0gfVxuICAuY3MtcGFnZS1zdWNjZXNzX19zdWJoZWFkbGluZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuY3MtcGFnZS1zdWNjZXNzX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuY3MtcGFnZS1zdWNjZXNzX19idXR0b246OmJlZm9yZSwgLmNzLXBhZ2Utc3VjY2Vzc19fYnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmNzLXBhZ2Utc3VjY2Vzc19fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcGFnZS1zdWNjZXNzX19idXR0b24sIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXBhZ2Utc3VjY2Vzc19fYnV0dG9uICosIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgLmNzLXBhZ2Utc3VjY2Vzc19fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcGFnZS1zdWNjZXNzX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbi1zcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3NfX2J1dHRvbi1pY29uIHtcbiAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IGJyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLmZpZWxkc2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAuZmllbGRzZXQuaW5mbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5maWVsZHNldC5pbmZvIC5sZWdlbmQsXG4gICAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5maWVsZHNldC5pbmZvIC5maWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5maWVsZHNldC5hY2NvdW50IC5maWVsZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5maWVsZHNldC5hY2NvdW50IC5wYXNzd29yZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAuZmllbGRzZXQuYWNjb3VudCAjcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAubGVnZW5kIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLmxlZ2VuZCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jaG9pY2UgLmxhYmVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgPiBidXR0b24sXG4gIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgPiBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAucHJpbWFyeSAuY3JlYXRlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5ID4gYnV0dG9uLCAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5ID4gYnV0dG9uOnZpc2l0ZWQsXG4gICAgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAucHJpbWFyeSAuY3JlYXRlLFxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgPiBidXR0b24gKiwgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAucHJpbWFyeSA+IGJ1dHRvbjp2aXNpdGVkICosXG4gICAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5IC5jcmVhdGUgKixcbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgPiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5ID4gYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAucHJpbWFyeSA+IGJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAucHJpbWFyeSAuY3JlYXRlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5IC5jcmVhdGU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5ID4gYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5ID4gYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5ID4gYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgPiBidXR0b25bZGlzYWJsZWRdLFxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgLmNyZWF0ZVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnByaW1hcnkgPiBidXR0b24gc3BhbixcbiAgICAuY3MtcGFnZS1zdWNjZXNzIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wcmltYXJ5IC5jcmVhdGUgc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLmNzLXBhZ2Utc3VjY2VzcyAuZm9ybS1jcmVhdGUtYWNjb3VudCAucHJpbWFyeSA+IGJ1dHRvbi5hY3Rpb24udXBkYXRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wYWdlLXN1Y2Nlc3MgLmZvcm0tY3JlYXRlLWFjY291bnQgLnNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAncGFnZXMvbGF5b3V0LzJjb2x1bW5zLWxlZnQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRkYXNoYm9hcmQtYnV0dG9uX3R5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGRhc2hib2FyZC1idXR0b25fc2Vjb25kYXJ5LXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYnV0dG9uX2Zvcm1zLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZC1idXR0b25fc21hbGwtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfbWFpbi1zZXBhcmF0b3ItYXBwbHk6IGZhbHNlICFkZWZhdWx0O1xuJGRhc2hib2FyZF9zaWRlYmFyLW1haW4tc3BhY2U6IDMuNXJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYm90dG9tLWJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtbGlua3Mtc2VwYXJhdG9yOiAycHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2xvZ2luLXNlY3Rpb25zLXNlcGFyYXRvcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX2hlYWRsaW5lLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1wYWRkaW5nLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtbGluay1mb250LXNpemU6ICRmb250LXNpemVfcGFyYWdyYXBoICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX2JveC10aXRsZS1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYm94LXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2JveC10aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX3RleHQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF90ZXh0LWxpbmUtaGVpZ2h0OiAyLjVyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbi8vIEZvciBzaG9wcyB3aXRoIGRhcmtlciBiYWNrZ3JvdW5kIGVsZW1lbnRzIGluIHVzZXIgYXJlYSBhcmUgcGxhY2VkIGluIHNlcGFyYXRlIGJveGVzXG5cbi8vIFZhbHVlcyBzcGVjaWZpYyBmb3Igc2hvcHMgd2l0aCBiYWNrZ3JvdW5kXG4kZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXRpdGxlcy1zZXBhcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFNldCB2YWx1ZSBpZiAkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCBpcyBzZXQgdG8gdHJ1ZVxuJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nOiAwICFkZWZhdWx0O1xuLy8gRm9yIHNob3BzIHdoaXRlIHdoaXRlIGJhY2tncm91bmQgaXQgaXMgYWxzbyBuZWVkZWQgYXMgaXQgaXMgcGFydCBvZiBzcGFjaW5nIHN5c3RlbS5cbi8vIEZvciBzaG9wcyB3aXRoIGRhcmtlciBiYWNrZ3JvdW5kIHZhbHVlIGhlcmUgY2FuIGJlIHNtYWxsZXIgb2YgaGlnaGVyXG4kZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vIE9yZGVyIHRhYmxlXG4kZGFzaGJvYXJkX3ByaWNlLWZvbnQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWRhc2hib2FyZCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSB0d28tY29sdW1ucy1sZWZ0KCRkYXNoYm9hcmRfbWFpbi1zZXBhcmF0b3ItYXBwbHkpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJl9fY29sdW1ucyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaWRlYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRkYXNoYm9hcmRfc2lkZWJhci1tYWluLXNwYWNlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gR3Vlc3Qgd2lzaGxpc3Qgd2l0aG91dCBzaWRlYmFyXG4gICAgICAgIC53aXNobGlzdC1pbmRleC1pbmRleC5wYWdlLWxheW91dC0xY29sdW1uICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGlkZS1zZWN0aW9ucy1zZXBhcmF0b3JzID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDNyZW07XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnMgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdlLXRpdGxlIHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2UtZXJyb3IsXG4gICAgLm1lc3NhZ2Utc3VjY2VzcyxcbiAgICAubWVzc2FnZS1ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkZGFzaGJvYXJkX2JvdHRvbS1ib3JkZXItdG9wO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdCB7XG4gICAgICAgICYtbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1ndWVzdC1jb2RlIHtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAmX19ib3R0b20td2lzaGxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChuICsgNCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtc2VjdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICgjeyRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlc30gLyAyKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGRhc2hib2FyZF9sb2dpbi1zZWN0aW9ucy1zZXBhcmF0b3I7XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb250YWN0LXBhZ2Uge1xuICAgICAgICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhY3QtZm9ybSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHZW5lcmFsIFVzZXIgQXJlYSBzdHlsZXNcblxuICAgIC5maWVsZHNldCxcbiAgICAuZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDE1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAubGltaXRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0KCk7XG4gICAgfVxuXG4gICAgLmNob2ljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9saW5rcy1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2hlY2tib3gge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLW5hbWUtcHJlZml4IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMnJlbTtcbiAgICB9XG5cbiAgICAucHJpbWFyeSB7XG4gICAgICAgID4gYnV0dG9uLFxuICAgICAgICAuY3JlYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uX2ljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgLndpc2hsaXN0LWluZGV4LWluZGV4ICYge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGJ1dHRvbi5hY3Rpb24udXBkYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVtaW5kLFxuICAgIC5iYWNrIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvdW50ZXIge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcmVtKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDAgMi41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS41cmVtIDAgNHJlbTtcblxuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLXRpdGxlLFxuICAgIC5sZWdlbmQsXG4gICAgLm9yZGVyLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGRhc2hib2FyZF9oZWFkbGluZS1ib3JkZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkYXNoYm9hcmRfaGVhZGxpbmUtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRkYXNoYm9hcmRfaGVhZGxpbmUtcGFkZGluZy1ib3R0b207XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfaGVhZGxpbmUtZm9udC1zaXplO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGlkZS10aXRsZXMtc2VwYXJhdG9ycyA9PSB0cnVlKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYmxvY2stdGl0bGUgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfaGVhZGxpbmUtbGluay1mb250LXNpemU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2JveC10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2JveC10aXRsZS1mb250LXdlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRkYXNoYm9hcmRfYm94LXRpdGxlLXRleHQtdHJhbnNmb3JtO1xuICAgIH1cblxuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG5cbiAgICAgICAgLnNhbGVzLW9yZGVyLWhpc3RvcnkgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uby1kaXNwbGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stbmV3LWN1c3RvbWVyIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1yZXdhcmQtaGlzdG9yeSB7XG4gICAgICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIG90aGVyIHdheSB0byByZW1vdmUgdG9wIHRvb2xiYXIgZWxlbWVudHNcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLjdyZW0gMCAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtYWN0aW9ucyxcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIGEgKyBhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC43cmVtIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1saW5rcy1zZXBhcmF0b3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGFibGVzIG5vdCBwbGFjZWQgaW5zaWRlIGJveCBpbiBtYXJrdXBcbiAgICAudGFibGUtd3JhcHBlcixcbiAgICAub3JkZXJzLWhpc3RvcnksXG4gICAgLmZvcm0td2lzaGxpc3QtaXRlbXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC50b29sYmFyLFxuICAgICAgICAmICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9yZGVyLWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC50b29sYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXJzLWhpc3RvcnksXG4gICAgLmZvcm0td2lzaGxpc3QtaXRlbXMsXG4gICAgLnJldmlld3MsXG4gICAgLnRyYW5zYWN0aW9ucyB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0td2lzaGxpc3QtaXRlbXMge1xuICAgICAgICAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgLmFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1wd2Fub3RpZmljYXRpb25zLW1hbmFnZSB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLiN7JG5zfXRvb2xiYXJfX2l0ZW0tLWFtb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvb2xiYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9dG9vbGJhcl9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYW1vdW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICsgLiN7JG5zfXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbGltaXRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvb2xiYXItYW1vdW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpbWl0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi53aXNobGlzdC10b29sYmFyIHtcbiAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkgLmFjdGlvbi5iYWNrLFxuICAgIC5zZWNvbmRhcnkgLmFjdGlvbi5lZGl0LWVtYWlsLXByZWZlcmVuY2VzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYm94LFxuICAgIC5hZGRyZXNzZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtY29udGVudCxcbiAgICAuYWRkcmVzc2VzIC5pdGVtIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkYXNoYm9hcmRfdGV4dC1mb250LXdlaWdodDtcbiAgICAgICAgY29sb3I6ICRkYXNoYm9hcmRfdGV4dC1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRkYXNoYm9hcmRfdGV4dC1saW5lLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudG9vbHRpcC53cmFwcGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtc2l6ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAuY2hvaWNlLnBlcnNpc3RlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgIC8vIE9yZGVyIHNjdGlvbiBhbmQgcGFnZVxuICAgIC50YWJsZS1vcmRlci1pdGVtcyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgLiN7JG5zfXRhYmxlX19jb2w6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgICAgICAgICAuaXRlbXMtcXR5LFxuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXNoYm9hcmRfcHJpY2UtZm9udC1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JG5zfWNhcnQtaXRlbV9fb3B0aW9ucy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRuc310YWJsZV9fY29sLnN1YnRvdGFsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbXMtcXR5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgICAuc2FsZXMtb3JkZXItdmlldyAmLFxuICAgICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAmLFxuICAgICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyIHtcbiAgICAgICAgICAgIC5zYWxlcy1vcmRlci12aWV3ICYsXG4gICAgICAgICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAmLFxuICAgICAgICAgICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZC1idXR0b25fc21hbGwtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmludCB7XG4gICAgICAgICAgICAuc2FsZXMtb3JkZXItdmlldyAmLFxuICAgICAgICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgJixcbiAgICAgICAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl9zZWNvbmRhcnktdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkLWJ1dHRvbl9zbWFsbC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3NlY29uZGFyeS10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldmlld3Mgc2VjdGlvbiBhbmQgcGFnZVxuICAgIC5ibG9jay1yZXZpZXdzLWRhc2hib2FyZCB7XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkYXNoYm9hcmRfbGlua3MtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmF0aW5nLXJlc3VsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yYXRpbmctc3VtbWFyeS5pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmN1c3RvbWVyLXJldmlldyB7XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi52aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIC5yZXZpZXcudGl0bGUsXG4gICAgICAgICAgICAucmF0aW5ncy1zdW1tYXJ5LFxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW1lZGlhIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjguNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LWRldGFpbHMgLmN1c3RvbWVyLXJldmlldy1yYXRpbmcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXctZGV0YWlscyAucmV2aWV3LXRpdGxlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJldmlldy1kZXRhaWxzIC5yZXZpZXctY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IC5yYXRpbmctc3VtbWFyeSxcbiAgICAgICAgLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IC5yZXZpZXdzLWFjdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGRyZXNzIGZvcm1zIHNlY3Rpb25zXG4gICAgLmZvcm0uY3JlYXRlLmFjY291bnQsXG4gICAgLmZvcm0tYWRkcmVzcy1lZGl0LFxuICAgIC5mb3JtLWVkaXQtYWNjb3VudCxcbiAgICAuZm9ybS5wYXNzd29yZC5yZXNldCxcbiAgICAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbixcbiAgICAuZm9ybS5wYXNzd29yZC5mb3JnZXQsXG4gICAgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZnVsbG5hbWUge1xuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbiB0aGVtZS1mcm9udGVuZC1ibGFuay9NYWdlbnRvX0N1c3RvbWVyL3dlYi9jc3Mvc291cmNlL19tb2R1bGUubGVzcyB0aGlzIGxhYmVsIGlzIHZpc3VhbGx5IGhpZGRlbixcbiAgICAgICAgICAgIC8vIGFuZCBmaXJzdCBsYWJlbCB3aWR0aCBtdXN0IGJlIDFweCBoZXJlXG4gICAgICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9idXR0b25fZm9ybXMtZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0LWZ1bGxuYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1lZGl0LWFjY291bnQsXG4gICAgLmZvcm0tYWRkcmVzcy1lZGl0IHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkcmVzc2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0IHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0ICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBcbiAgICAgICAgICAgICAgICAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmdcbiAgICAgICAgICAgICAgICAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyB7XG4gICAgICAgIC5jb2wuc3RhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi5kZWxldGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJywgJzxsYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24uZWRpdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnLCAnPGxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5ld3NsZXR0ZXIgc2VjdGlvblxuICAgIC5mb3JtLW5ld3NsZXR0ZXItbWFuYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuXG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC5vcmRlci1kZXRhaWxzLWl0ZW1zLm9yZGVyZWQge1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGlkZS1zZWN0aW9ucy1zZXBhcmF0b3JzID09IHRydWUpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItbGlua3Mge1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSB0cnVlKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtZ3Vlc3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1ndWVzdC1jb3B5IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtZ3Vlc3QtY29weS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgZmlsbDogJGRhc2hib2FyZF90ZXh0LWNvbG9yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1jcmVhdGUtYWNjb3VudC1wYWdlLFxuICAgICYtLWxvZ2luLXBhZ2UsXG4gICAgJi0tc3VjY2Vzcy1wYWdlLFxuICAgICYtLWxvZ291dC1wYWdlLFxuICAgICYtLWNvbnRhY3QtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbXktYWNjb3VudC1wYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5hY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYmxvY2sgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5ibG9jayAuYm94LWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmFjY291bnQucGFnZS1wcmludCB7XG4gICAgLml0ZW1zLXF0eSB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4kbGF5b3V0LTJjb2wtbGVmdF9jb2x1bW5zLXBlci1yb3c6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VTdWl0ZV9Db250ZW50Q29uc3RydWN0b3IsXG4gICAgY29sdW1ucyxcbiAgICBvbmUtY29sdW1uXG4pICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfd2FzLXNlcGFyYXRvci1jYWxsZWQteWV0OiBmYWxzZSAhZGVmYXVsdDtcblxuJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtZ3V0dGVyLXRhYmxldDogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItZGVza3RvcDogJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtZ3V0dGVyLXRhYmxldCAhZGVmYXVsdDtcbiRsYXlvdXQtMmNvbC1sZWZ0X2VsZW1lbnRzLWd1dHRlci1kZXNrdG9wOiAyICpcbiAgICAkbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItdGFibGV0ICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtc2VwYXJhdG9yLWFwcGx5OiB0cnVlICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtc2VwYXJhdG9yLWNvbG9yOiAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcblxuJGxheW91dC0yY29sLWxlZnRfbGF5b3V0LWFsaWduLWl0ZW1zOiBzdHJldGNoICFkZWZhdWx0O1xuXG4kbGF5b3V0LTJjb2wtbGVmdF9zaWRlYmFyLXBhZGRpbmctdGFibGV0OiAwXG4gICAgJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtZ3V0dGVyLXRhYmxldCAwIDAgIWRlZmF1bHQ7XG4kbGF5b3V0LTJjb2wtbGVmdF9zaWRlYmFyLXBhZGRpbmctZGVza3RvcDogMFxuICAgICRsYXlvdXQtMmNvbC1sZWZ0X2VsZW1lbnRzLWd1dHRlci1kZXNrdG9wIDAgMCAhZGVmYXVsdDtcbiRsYXlvdXQtMmNvbC1sZWZ0X3NpZGViYXItYm9yZGVyLXJpZ2h0OiAycHggc29saWRcbiAgICAkbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1zZXBhcmF0b3ItY29sb3IgIWRlZmF1bHQ7XG5cbiRsYXlvdXQtMmNvbC1sZWZ0X21haW4tdG9wLXNwYWNpbmc6IDEuNXJlbSAhZGVmYXVsdDtcbiRsYXlvdXQtMmNvbC1sZWZ0X21haW4tcGFkZGluZzogJGxheW91dC0yY29sLWxlZnRfbWFpbi10b3Atc3BhY2luZyAwIDBcbiAgICAkbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItdGFibGV0ICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfbWFpbi1wYWRkaW5nLXRhYmxldDogJGxheW91dC0yY29sLWxlZnRfbWFpbi10b3Atc3BhY2luZyAwIDBcbiAgICAkbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItdGFibGV0ICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfbWFpbi1wYWRkaW5nLWRlc2t0b3A6ICRsYXlvdXQtMmNvbC1sZWZ0X21haW4tdG9wLXNwYWNpbmcgMCAwXG4gICAgJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtZ3V0dGVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbkBtaXhpbiB0d28tY29sdW1ucy1sZWZ0KCRhcHBseS1ib3JkZXI6IHRydWUpIHtcbiAgICAmX19jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkbGF5b3V0LTJjb2wtbGVmdF9sYXlvdXQtYWxpZ24taXRlbXM7XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkaXRlbXNQZXJSb3cgaW4gJGxheW91dC0yY29sLWxlZnRfY29sdW1ucy1wZXItcm93IHtcbiAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCAhPSBwaG9uZSBhbmQgJGJyZWFrcG9pbnQgIT0gcGhvbmVMZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAjeyRpdGVtc1BlclJvd30pO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPlxuICAgICAgICAgICAgICAgICAgICAgICAgMSBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICRsYXlvdXQtMmNvbC1sZWZ0X3dhcy1zZXBhcmF0b3ItY2FsbGVkLXlldCA9PVxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGF5b3V0LTJjb2wtbGVmdF9zaWRlYmFyLWJvcmRlci1yaWdodCAhPVxuICAgICAgICAgICAgICAgICAgICAgICAgbm9uZVxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGFwcGx5LWJvcmRlciA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRsYXlvdXQtMmNvbC1sZWZ0X3NpZGViYXItYm9yZGVyLXJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGF5b3V0LTJjb2wtbGVmdF93YXMtc2VwYXJhdG9yLWNhbGxlZC15ZXQ6IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgJGJyZWFrcG9pbnQgPT0gJ3RhYmxldCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGxheW91dC0yY29sLWxlZnRfc2lkZWJhci1wYWRkaW5nLXRhYmxldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSAnbGFwdG9wJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGF5b3V0LTJjb2wtbGVmdF9zaWRlYmFyLXBhZGRpbmctZGVza3RvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGl0ZW1zUGVyUm93IGluICRsYXlvdXQtMmNvbC1sZWZ0X2NvbHVtbnMtcGVyLXJvdyB7XG4gICAgICAgICAgICBAaWYgJGJyZWFrcG9pbnQgIT0gcGhvbmUgYW5kICRicmVha3BvaW50ICE9IHBob25lTGcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKDEwMCUgLyAjeyRpdGVtc1BlclJvd30pKTtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgJGJyZWFrcG9pbnQgPT0gJ3RhYmxldCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGxheW91dC0yY29sLWxlZnRfbWFpbi1wYWRkaW5nLXRhYmxldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSAnbGFwdG9wJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGF5b3V0LTJjb2wtbGVmdF9tYWluLXBhZGRpbmctZGVza3RvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1wYWdlLWNhdGVnb3J5X19tYWluLS1zZWFyY2gtbm8tcmVzdWx0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGFzaGJvYXJkL2Rhc2hib2FyZCc7XG5cbiRwYWdlLXN1Y2Nlc3Nfc2VwYXJhdG9yOiAycHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kcGFnZS1zdWNjZXNzX3NlY3Rpb25zLXNlcGFyYXRvcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHBhZ2Utc3VjY2Vzc19zdWJoZWFkbGluZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRwYWdlLXN1Y2Nlc3NfY29udGludWUtYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJHBhZ2Utc3VjY2Vzc19jb250aW51ZS1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRwYWdlLXN1Y2Nlc3NfcmVnaXN0ZXItYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJHBhZ2Utc3VjY2Vzc19yZWdpc3Rlci1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuJHBhZ2Utc3VjY2Vzc19oZWFkbGluZS1ib3JkZXI6ICRkYXNoYm9hcmRfaGVhZGxpbmUtYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2Utc3VjY2Vzc19oZWFkbGluZS1tYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4kcGFnZS1zdWNjZXNzX2hlYWRsaW5lLXBhZGRpbmctYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLXBhZGRpbmctYm90dG9tICFkZWZhdWx0O1xuJHBhZ2Utc3VjY2Vzc19oZWFkbGluZS1mb250LXdlaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwYWdlLXN1Y2Nlc3NfaGVhZGxpbmUtZm9udC1zaXplOiAkZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHBhZ2Utc3VjY2Vzc19oaWRlLXRpdGxlcy1zZXBhcmF0b3JzOiAkZGFzaGJvYXJkX2hpZGUtdGl0bGVzLXNlcGFyYXRvcnMgIWRlZmF1bHQ7XG5cbiRwYWdlLXN1Y2Nlc3NfbGlua3MtZm9udC13ZWlnaHQ6ICRkYXNoYm9hcmRfbGlua3MtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcGFnZS1zdWNjZXNzX2xpbmtzLWZvbnQtc2l6ZTogJGRhc2hib2FyZF9saW5rcy1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRwYWdlLXN1Y2Nlc3NfaGlkZS1wZXJzb25hbC1zZWN0aW9uOiB0cnVlICFkZWZhdWx0O1xuJHBhZ2Utc3VjY2Vzc19zaG93LWRvYjogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZS1zdWNjZXNzX2hpZGUtZW1haWw6IHRydWUgIWRlZmF1bHQ7XG4kcGFnZS1zdWNjZXNzX2hpZGUtcGFzc3dvcmQtc3RyZW5ndGg6IHRydWUgIWRlZmF1bHQ7XG5cbi4jeyRuc31wYWdlLXN1Y2Nlc3Mge1xuICAgICRyb290OiAmO1xuICAgIG1hcmdpbjogMnJlbSAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXJnaW46IDRyZW0gYXV0byAycmVtO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHBhZ2Utc3VjY2Vzc19zZXBhcmF0b3I7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJHBhZ2Utc3VjY2Vzc19zZWN0aW9ucy1zZXBhcmF0b3I7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGxpbmUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRwYWdlLXN1Y2Nlc3Nfc3ViaGVhZGxpbmUtZm9udC1zaXplKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQ29udGludWUgc2hvcHBpbmcgYnV0dG9uXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRwYWdlLXN1Y2Nlc3NfY29udGludWUtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRwYWdlLXN1Y2Nlc3NfY29udGludWUtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkcGFnZS1zdWNjZXNzX2NvbnRpbnVlLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJHBhZ2Utc3VjY2Vzc19jb250aW51ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRwYWdlLXN1Y2Nlc3NfY29udGludWUtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcGFnZS1zdWNjZXNzX2NvbnRpbnVlLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWNyZWF0ZS1hY2NvdW50IHtcbiAgICAgICAgYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICAgICAmLmluZm8ge1xuICAgICAgICAgICAgICAgIEBpZiAkcGFnZS1zdWNjZXNzX2hpZGUtcGVyc29uYWwtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxlZ2VuZCxcbiAgICAgICAgICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgJHBhZ2Utc3VjY2Vzc19zaG93LWRvYiB7XG4gICAgICAgICAgICAgICAgICAgIC5sZWdlbmQsXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZC1kb2IsXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZC1kb2IgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmZpZWxkLWRvYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjY291bnQge1xuICAgICAgICAgICAgICAgIEBpZiAkcGFnZS1zdWNjZXNzX2hpZGUtZW1haWwge1xuICAgICAgICAgICAgICAgICAgICAvLyBTYWRseSwgdGhlcmUgaXMgbm8gYmV0dGVyIHdheSBvZiB0YXJnZXRpbmcgd2hvbGUgZW1haWwgZmllbGQuXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucGFzc3dvcmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAkcGFnZS1zdWNjZXNzX2hpZGUtcGFzc3dvcmQtc3RyZW5ndGgge1xuICAgICAgICAgICAgICAgICAgICAjcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGVnZW5kIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwYWdlLXN1Y2Nlc3NfaGVhZGxpbmUtYm9yZGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZ2Utc3VjY2Vzc19oZWFkbGluZS1tYXJnaW4tYm90dG9tO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWdlLXN1Y2Nlc3NfaGVhZGxpbmUtcGFkZGluZy1ib3R0b207XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHBhZ2Utc3VjY2Vzc19oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHBhZ2Utc3VjY2Vzc19oZWFkbGluZS1mb250LXNpemU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGlmICgkcGFnZS1zdWNjZXNzX2hpZGUtdGl0bGVzLXNlcGFyYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnZS1zdWNjZXNzX2hlYWRsaW5lLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaG9pY2Uge1xuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHBhZ2Utc3VjY2Vzc19saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwYWdlLXN1Y2Nlc3NfbGlua3MtZm9udC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgPiBidXR0b24sXG4gICAgICAgICAgICAuY3JlYXRlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcGFnZS1zdWNjZXNzX3JlZ2lzdGVyLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwYWdlLXN1Y2Nlc3NfcmVnaXN0ZXItYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwYWdlLXN1Y2Nlc3NfcmVnaXN0ZXItYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwYWdlLXN1Y2Nlc3NfcmVnaXN0ZXItYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGJ1dHRvbi5hY3Rpb24udXBkYXRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWNhcnQtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY2FydC1wYWdlIHtcbiAgICAgIG1heC13aWR0aDogNDVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLmNzLWNhcnQtcGFnZSAucGFnZS10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTsgfSB9XG4gIC5jcy1jYXJ0LXBhZ2UgLmNhcnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG5cbi5jcy1jb250YWluZXItLWNhcnQtcGFnZSAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY3MtY29udGFpbmVyLS1jYXJ0LXBhZ2UgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuLmNzLWNvbnRhaW5lcl9fdG9wIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNzLWNvbnRhaW5lcl9fYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIDMzLjMzMzMlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1jb250YWluZXJfX2JvdHRvbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuICAuY3MtY29udGFpbmVyX19ib3R0b20gPiBkaXYge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgLmNzLWNvbnRhaW5lcl9fYm90dG9tIC5jcy1kaXNjb3VudCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuY3MtY29udGFpbmVyX19ib3R0b20gLmNzLWRpc2NvdW50IC5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jcy1jb250YWluZXIgLmNzLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgbWFyZ2luOiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi4jeyRuc31jYXJ0LXBhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBtYXgtd2lkdGg6IDQ1cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYtLWNhcnQtcGFnZSB7XG4gICAgICAgICN7JHJvb3R9LS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXJ0LWNvdXBvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgIH0gICAgXG4gICAgJl9fYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBmbGV4OjEgMSAzMy4zMzMzJTtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgICAgPmRpdiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5jcy1kaXNjb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSAgICBcbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICBtYXJnaW46MDtcbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi51aS1kYXRlcGlja2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk5OTk5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAyNXJlbTtcbiAgYm94LXNoYWRvdzogMXB4IDNweCAzcmVtIDAgcmdiYSgzMywgMzMsIDMzLCAwLjI4KTtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4udWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICMyZDNlNTA7XG4gIHBhZGRpbmc6IDEuMnJlbSAycmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7IH1cblxuLnVpLWRhdGVwaWNrZXItcHJldixcbi51aS1kYXRlcGlja2VyLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnJlbTtcbiAgd2lkdGg6IDEuOGVtO1xuICBoZWlnaHQ6IDEuOGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLFxuICAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwLjJyZW07XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwOyB9XG5cbi51aS1kYXRlcGlja2VyLXByZXYge1xuICBsZWZ0OiAxLjVyZW07IH1cbiAgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuOmJlZm9yZSwgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAycmVtO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7IH1cbiAgICAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW46YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0xLjJyZW07XG4gICAgICBib3JkZXItdG9wOiAwLjhyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjhyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuOHJlbSBzb2xpZCAjMmQzZTUwO1xuICAgICAgbWFyZ2luLXRvcDogLTAuOHJlbTsgfVxuICAgIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbjphZnRlciB7XG4gICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMC42cmVtIHNvbGlkICMyZDNlNTA7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42cmVtOyB9XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuICByaWdodDogMS41cmVtOyB9XG4gIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbjpiZWZvcmUsIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDsgfVxuICAgIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IC0xLjJyZW07XG4gICAgICBib3JkZXItdG9wOiAwLjhyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjhyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMC44cmVtIHNvbGlkICMyZDNlNTA7XG4gICAgICBtYXJnaW4tdG9wOiAtMC44cmVtOyB9XG4gICAgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjZyZW0gc29saWQgIzJkM2U1MDtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjZyZW07IH1cblxuLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAxLjVyZW07IH1cblxuLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG5zZWxlY3QudWktZGF0ZXBpY2tlci1tb250aC15ZWFyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnVpLWRhdGVwaWNrZXItbW9udGgge1xuICB3aWR0aDogNDclO1xuICBtYXJnaW4tcmlnaHQ6IDYlOyB9XG5cbi51aS1kYXRlcGlja2VyLXllYXIge1xuICB3aWR0aDogNDclOyB9XG5cbi51aS1kYXRlcGlja2VyLXRhYmxlIHtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBtYXJnaW46IDFyZW0gMS41cmVtIDEuNXJlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB3aWR0aDogMjNyZW07IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQsXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGgge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgLnVpLWRhdGVwaWNrZXItd2Vlay1jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhLFxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0aCBzcGFuLFxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEsXG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIHNwYW4ge1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1zdGF0ZS1ob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzJkM2U1MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktc3RhdGUtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgLnVpLXN0YXRlLWRpc2FibGVkIHNwYW4ge1xuICAgICAgY29sb3I6ICNkY2RjZGM7IH1cbiAgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzJkM2U1MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4udWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJvcmRlci10b3A6ICNkY2RjZGMgMXB4IHNvbGlkOyB9XG4gIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIHJpZ2h0OiAycHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQge1xuICBsZWZ0OiAycHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcbiAgcmlnaHQ6IDFweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICBjbGVhcjogcmlnaHQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9XG5cbi51aS10aW1lcGlja2VyLWRpdiB7XG4gIHBhZGRpbmc6IDFyZW0gMCAwLjVyZW0gMDsgfVxuICAudWktdGltZXBpY2tlci1kaXYgLnVpLXdpZGdldC1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICAudWktdGltZXBpY2tlci1kaXYgZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAudWktdGltZXBpY2tlci1kaXYgZGwgZHQge1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMi4ycmVtOyB9XG4gICAgLnVpLXRpbWVwaWNrZXItZGl2IGRsIC51aV90cGlja2VyX3RpbWVfbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTIuNXJlbTsgfVxuICAgIC51aS10aW1lcGlja2VyLWRpdiBkbCBkZCB7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDYuNXJlbTsgfVxuICAudWktdGltZXBpY2tlci1kaXYgdGQge1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG5cbi51aS10cGlja2VyLWdyaWQtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udWktc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi51aS1zbGlkZXItaGFuZGxlIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICB3aWR0aDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYmFja2dyb3VuZDogIzJkM2U1MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gIGhlaWdodDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9XG4gIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07IH1cblxuLyogSUU2IElGUkFNRSBGSVggKHRha2VuIGZyb20gZGF0ZXBpY2tlciAxLjUuMyAqL1xuLnVpLWRhdGVwaWNrZXItY292ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qbXVzdCBoYXZlKi9cbiAgei1pbmRleDogLTE7XG4gIC8qbXVzdCBoYXZlKi9cbiAgZmlsdGVyOiBtYXNrKCk7XG4gIC8qbXVzdCBoYXZlKi9cbiAgdG9wOiAtNHB4O1xuICAvKm11c3QgaGF2ZSovXG4gIGxlZnQ6IC00cHg7XG4gIC8qbXVzdCBoYXZlKi9cbiAgd2lkdGg6IDIwMHB4O1xuICAvKm11c3QgaGF2ZSovXG4gIGhlaWdodDogMjAwcHg7XG4gIC8qbXVzdCBoYXZlKi8gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kY2FsZW5kYXJfYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRjYWxlbmRhcl9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGNhbGVuZGFyX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRjYWxlbmRhcl9oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeS01MDAgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfaGVhZGVyLWFycm93LWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGNhbGVuZGFyX3dlZWtkYXktY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRjYWxlbmRhcl9kYXRlLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfZGF0ZS1kaXNhYmxlZC1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kY2FsZW5kYXJfZGF0ZS1zZWxlY3RlZC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGNhbGVuZGFyX2RhdGUtc2VsZWN0ZWQtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4udWktZGF0ZXBpY2tlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5OTkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6ICRjYWxlbmRhcl9ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGNhbGVuZGFyX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDI1cmVtO1xuICAgIGJveC1zaGFkb3c6ICRjYWxlbmRhcl9ib3gtc2hhZG93O1xuICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhcl9iYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4vLyBIRUFERVJcbi51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhcl9oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMnJlbTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkY2FsZW5kYXJfYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGNhbGVuZGFyX2JvcmRlci1yYWRpdXM7XG59XG5cbi51aS1kYXRlcGlja2VyLXByZXYsXG4udWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycmVtO1xuICAgIHdpZHRoOiAxLjhlbTtcbiAgICBoZWlnaHQ6IDEuOGVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMC4ycmVtO1xuICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICB9XG59XG5cbi51aS1kYXRlcGlja2VyLXByZXYge1xuICAgIGxlZnQ6IDEuNXJlbTtcblxuICAgIHNwYW4ge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTEuMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMC44cmVtIHNvbGlkICRjYWxlbmRhcl9oZWFkZXItYXJyb3ctY29sb3I7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMC42cmVtIHNvbGlkICRjYWxlbmRhcl9oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIHJpZ2h0OiAxLjVyZW07XG5cbiAgICBzcGFuIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogLTEuMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwLjhyZW0gc29saWQgJGNhbGVuZGFyX2hlYWRlci1hcnJvdy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwLjZyZW0gc29saWQgJGNhbGVuZGFyX2hlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMS41cmVtO1xufVxuXG4udWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgteWVhciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51aS1kYXRlcGlja2VyLW1vbnRoIHtcbiAgICB3aWR0aDogNDclO1xuICAgIG1hcmdpbi1yaWdodDogNiU7XG59XG5cbi51aS1kYXRlcGlja2VyLXllYXIge1xuICAgIHdpZHRoOiA0NyU7XG59XG5cbi51aS1kYXRlcGlja2VyLXRhYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi8vIENhbGVuZGFyXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW46IDFyZW0gMS41cmVtIDEuNXJlbTtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgd2lkdGg6IDIzcmVtO1xuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY2FsZW5kYXJfd2Vla2RheS1jb2xvcjtcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci13ZWVrLWNvbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICB0ZCBhLFxuICAgIHRoIHNwYW4sXG4gICAgdGQgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgdGQgYSxcbiAgICB0ZCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRjYWxlbmRhcl9kYXRlLWNvbG9yO1xuICAgIH1cblxuICAgIC51aS1zdGF0ZS1ob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjYWxlbmRhcl9kYXRlLXNlbGVjdGVkLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkY2FsZW5kYXJfZGF0ZS1zZWxlY3RlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAudWktc3RhdGUtZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsZW5kYXJfZGF0ZS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY2FsZW5kYXJfZGF0ZS1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGNhbGVuZGFyX2RhdGUtc2VsZWN0ZWQtY29sb3I7XG4gICAgfVxufVxuXG4vLyBCdXR0b25zXG4udWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIGJvcmRlci10b3A6ICRjb2xvcl9ib3JkZXItNTAwIDFweCBzb2xpZDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4vLyBSVExcbi51aS1kYXRlcGlja2VyLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHtcbiAgICByaWdodDogMnB4O1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICBsZWZ0OiAycHg7XG4gICAgcmlnaHQ6IGF1dG87XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcbiAgICByaWdodDogMXB4O1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcbiAgICBsZWZ0OiAxcHg7XG4gICAgcmlnaHQ6IGF1dG87XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgICBjbGVhcjogcmlnaHQ7XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbn1cblxuLy8gVGltZXBpY2tlclxuLnVpLXRpbWVwaWNrZXItZGl2IHtcbiAgICBwYWRkaW5nOiAxcmVtIDAgMC41cmVtIDA7XG5cbiAgICAudWktd2lkZ2V0LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICB9XG5cbiAgICBkbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMi4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpX3RwaWNrZXJfdGltZV9sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSA2LjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cbn1cblxuLnVpLXRwaWNrZXItZ3JpZC1sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8vIFNsaWRlclxuLnVpLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi51aS1zbGlkZXItaGFuZGxlIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4udWktc2xpZGVyLWhvcml6b250YWwge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkY2FsZW5kYXJfYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgfVxufVxuXG4vKiBJRTYgSUZSQU1FIEZJWCAodGFrZW4gZnJvbSBkYXRlcGlja2VyIDEuNS4zICovXG4udWktZGF0ZXBpY2tlci1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvKm11c3QgaGF2ZSovXG4gICAgei1pbmRleDogLTE7IC8qbXVzdCBoYXZlKi9cbiAgICBmaWx0ZXI6IG1hc2soKTsgLyptdXN0IGhhdmUqL1xuICAgIHRvcDogLTRweDsgLyptdXN0IGhhdmUqL1xuICAgIGxlZnQ6IC00cHg7IC8qbXVzdCBoYXZlKi9cbiAgICB3aWR0aDogMjAwcHg7IC8qbXVzdCBoYXZlKi9cbiAgICBoZWlnaHQ6IDIwMHB4OyAvKm11c3QgaGF2ZSovXG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtY2FydC1ib251cyB7XG4gIHBhZGRpbmc6IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jYXJ0LWJvbnVzIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY2FydC1ib251cyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfSB9XG4gIC5jcy1jYXJ0LWJvbnVzLS1lbXB0eS1iYXNrZXQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY3MtY2FydC1ib251c19faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cbiAgLmNzLWNhcnQtYm9udXNfX2dpZnRzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5jcy1jYXJ0LWJvbnVzX19naWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY2FydC1ib251c19fZ2lmdCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTsgfSB9XG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQgKyAuY3MtY2FydC1ib251c19fZ2lmdCB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtY2FydC1ib251c19fZ2lmdCArIC5jcy1jYXJ0LWJvbnVzX19naWZ0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0ICsgLmNzLWNhcnQtYm9udXNfX2dpZnQgLmNzLWNhcnQtYm9udXNfX3Byb2dyZXNzLXdyYXBwZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMC4ycmVtIDAuMnJlbSAwOyB9IH1cbiAgICAuY3MtY2FydC1ib251c19fZ2lmdC0tYXdhcmRlZCAuY3MtY2FydC1ib251c19fcHJvZ3Jlc3MtZG9uZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQ6bnRoLW9mLXR5cGUoMSkgLmNzLWNhcnQtYm9udXNfX2ljb24tYm94LS1naWZ0IHBhdGgsXG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQ6bnRoLW9mLXR5cGUoMSkgLmNzLWNhcnQtYm9udXNfX2ljb24tYm94LS1zdGF0dXMsXG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQ6bnRoLW9mLXR5cGUoMSkgLmNzLWNhcnQtYm9udXNfX2xhYmVsLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDEpIC5jcy1jYXJ0LWJvbnVzX190b29sdGlwIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOHM7IH1cbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSgxKSAuY3MtY2FydC1ib251c19fcHJvZ3Jlc3MtZG9uZSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDIpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tZ2lmdCBwYXRoLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDIpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tc3RhdHVzLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDIpIC5jcy1jYXJ0LWJvbnVzX19sYWJlbCxcbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSgyKSAuY3MtY2FydC1ib251c19fdG9vbHRpcCB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxLjZzOyB9XG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQ6bnRoLW9mLXR5cGUoMikgLmNzLWNhcnQtYm9udXNfX3Byb2dyZXNzLWRvbmUge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC44czsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDMpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tZ2lmdCBwYXRoLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDMpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tc3RhdHVzLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDMpIC5jcy1jYXJ0LWJvbnVzX19sYWJlbCxcbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSgzKSAuY3MtY2FydC1ib251c19fdG9vbHRpcCB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyLjRzOyB9XG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQ6bnRoLW9mLXR5cGUoMykgLmNzLWNhcnQtYm9udXNfX3Byb2dyZXNzLWRvbmUge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMS42czsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDQpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tZ2lmdCBwYXRoLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDQpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tc3RhdHVzLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDQpIC5jcy1jYXJ0LWJvbnVzX19sYWJlbCxcbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSg0KSAuY3MtY2FydC1ib251c19fdG9vbHRpcCB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAzLjJzOyB9XG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQ6bnRoLW9mLXR5cGUoNCkgLmNzLWNhcnQtYm9udXNfX3Byb2dyZXNzLWRvbmUge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMi40czsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDUpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tZ2lmdCBwYXRoLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDUpIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tc3RhdHVzLFxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDUpIC5jcy1jYXJ0LWJvbnVzX19sYWJlbCxcbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSg1KSAuY3MtY2FydC1ib251c19fdG9vbHRpcCB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0czsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDUpIC5jcy1jYXJ0LWJvbnVzX19wcm9ncmVzcy1kb25lIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDMuMnM7IH1cbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSg2KSAuY3MtY2FydC1ib251c19faWNvbi1ib3gtLWdpZnQgcGF0aCxcbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSg2KSAuY3MtY2FydC1ib251c19faWNvbi1ib3gtLXN0YXR1cyxcbiAgICAuY3MtY2FydC1ib251c19fZ2lmdDpudGgtb2YtdHlwZSg2KSAuY3MtY2FydC1ib251c19fbGFiZWwsXG4gICAgLmNzLWNhcnQtYm9udXNfX2dpZnQ6bnRoLW9mLXR5cGUoNikgLmNzLWNhcnQtYm9udXNfX3Rvb2x0aXAge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogNC44czsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19naWZ0Om50aC1vZi10eXBlKDYpIC5jcy1jYXJ0LWJvbnVzX19wcm9ncmVzcy1kb25lIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDRzOyB9XG4gIC5jcy1jYXJ0LWJvbnVzX190b3Atd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWJvbnVzX190b3Atd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmNzLWNhcnQtYm9udXNfX2lubGluZS1hbW91bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAuOHJlbSAwIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzM3Yjg0MTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY2FydC1ib251c19fZ2lmdC0tY3VycmVudCAuY3MtY2FydC1ib251c19faW5saW5lLWFtb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY3MtY2FydC1ib251c19faWNvbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY2FydC1ib251c19faWNvbi13cmFwcGVyLS1hd2FyZGVkIC5jcy1jYXJ0LWJvbnVzX19pY29uLS1naWZ0IHBhdGgge1xuICAgICAgZmlsbDogIzM3Yjg0MTsgfVxuICAgICAgW2RhdGEtbWFnZS1pbml0XSAuY3MtY2FydC1ib251c19faWNvbi13cmFwcGVyLS1hd2FyZGVkIC5jcy1jYXJ0LWJvbnVzX19pY29uLS1naWZ0IHBhdGgge1xuICAgICAgICBmaWxsOiAjODg4OyB9XG4gICAgLmNzLWNhcnQtYm9udXNfX2ljb24td3JhcHBlci0tYXdhcmRlZCAuY3MtY2FydC1ib251c19faWNvbi1ib3gtLXN0YXR1cyB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgW2RhdGEtbWFnZS1pbml0XSAuY3MtY2FydC1ib251c19faWNvbi13cmFwcGVyLS1hd2FyZGVkIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tc3RhdHVzIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1jYXJ0LWJvbnVzX19pY29uLWJveC0tc3RhdHVzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzdiODQxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xuICAgIHJpZ2h0OiAtMC42cmVtO1xuICAgIGJvdHRvbTogLTAuMXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgdmlzaWJpbGl0eSAwLjNzOyB9XG4gIC5jcy1jYXJ0LWJvbnVzX19pY29uIHtcbiAgICB3aWR0aDogMi4zcmVtO1xuICAgIGhlaWdodDogMi4xcmVtO1xuICAgIHRyYW5zaXRpb246IGZpbGwgMC4zczsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19pY29uLS1oZWFkbGluZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAgIC5jcy1jYXJ0LWJvbnVzX19pY29uLS1oZWFkbGluZSBwYXRoIHtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19pY29uLS1naWZ0IHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19pY29uLS1zdGF0dXMge1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGhlaWdodDogMC43cmVtOyB9XG4gICAgICAuY3MtY2FydC1ib251c19faWNvbi0tc3RhdHVzIHBhdGgge1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1jYXJ0LWJvbnVzX19wcm9ncmVzcy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNhcnQtYm9udXNfX3Byb2dyZXNzLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjJyZW0gMCAwIDAuMnJlbTsgfSB9XG4gIC5jcy1jYXJ0LWJvbnVzX19wcm9ncmVzcy1wb3NzaWJsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMC44cmVtO1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZGNkY2RjLCAjZGNkY2RjIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCA1cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICB0b3A6IDAuMnJlbTtcbiAgICBsZWZ0OiAwLjJyZW07XG4gICAgcmlnaHQ6IDAuMnJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNzLWNhcnQtYm9udXNfX3Byb2dyZXNzLWRvbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMzdiODQxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgW2RhdGEtbWFnZS1pbml0XSAuY3MtY2FydC1ib251c19fcHJvZ3Jlc3MtZG9uZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKSAhaW1wb3J0YW50OyB9XG4gIC5jcy1jYXJ0LWJvbnVzX19sYWJlbC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMy4zcmVtKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvcjsgfVxuICAgIC5jcy1jYXJ0LWJvbnVzX19sYWJlbC13cmFwcGVyLS10b3Age1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07IH1cbiAgICAuY3MtY2FydC1ib251c19fbGFiZWwtd3JhcHBlci0tYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtY2FydC1ib251c19fbGFiZWwtd3JhcHBlci0tYXdhcmRlZCB7XG4gICAgICBjb2xvcjogIzM3Yjg0MTsgfVxuICAgICAgW2RhdGEtbWFnZS1pbml0XSAuY3MtY2FydC1ib251c19fbGFiZWwtd3JhcHBlci0tYXdhcmRlZCB7XG4gICAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWJvbnVzX19sYWJlbC13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAgICAgLmNzLWNhcnQtYm9udXNfX2xhYmVsLXdyYXBwZXItLXRvcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuY3MtY2FydC1ib251c19fbGFiZWwtd3JhcHBlci0tYm90dG9tIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1jYXJ0LWJvbnVzX190b29sdGlwIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMC44cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTEwMCUsIDApIHNjYWxlWSgxKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY2FydC1ib251c19fdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5jcy1jYXJ0LWJvbnVzX190b29sdGlwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjRyZW07XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjZyZW0gMC40cmVtIDA7XG4gICAgICBib3JkZXItY29sb3I6ICMzN2I4NDEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtY2FydC1ib251c19fdG9vbHRpcC0tZWRnZV9sZWZ0IC5jcy1jYXJ0LWJvbnVzX190b29sdGlwLWNvbnRlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM1JSk7IH1cbiAgICAuY3MtY2FydC1ib251c19fdG9vbHRpcC0tZWRnZV9yaWdodCAuY3MtY2FydC1ib251c19fdG9vbHRpcC1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzUlKTsgfVxuICAgIFtkYXRhLW1hZ2UtaW5pdF0gLmNzLWNhcnQtYm9udXNfX3Rvb2x0aXAge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtMTAwJSwgMCkgc2NhbGVZKDApOyB9XG4gIC5jcy1jYXJ0LWJvbnVzX190b29sdGlwLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICMzN2I4NDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC42cmVtIDAuN3JlbSAwLjVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGNhcnQtYm9udXNfcHJvZ3Jlc3MtYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0OyAvLyBUZWxscyBpZiBhbGwgcHJvZ3Jlc3MgYW5pbWF0aW9ucyBzaG91bGQgYmUgZW5hYmxlZC5cbiRjYXJ0LWJvbnVzX3Byb2dyZXNzLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0OyAvLyBIb3cgbXVjaCB0aW1lIGl0IHRha2VzIHRvIGZpbGwgc2luZ2xlIHByb2dyZXNzIGJhci5cblxuJGNhcnQtYm9udXNfYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRjYXJ0LWJvbnVzX2hlYWRsaW5lLXRleHQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRjYXJ0LWJvbnVzX2hlYWRsaW5lLWljb24tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJGNhcnQtYm9udXNfcHJvZ3Jlc3NiYXItYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAtNDVkZWcsXG4gICAgJGNvbG9yX2JvcmRlci01MDAsXG4gICAgJGNvbG9yX2JvcmRlci01MDAgMXB4LFxuICAgIHRyYW5zcGFyZW50IDFweCxcbiAgICB0cmFuc3BhcmVudCA1cHhcbikgIWRlZmF1bHQ7XG4kY2FydC1ib251c19wcm9ncmVzc2Jhci1kb25lLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcblxuJGNhcnQtYm9udXNfdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kY2FydC1ib251c190b29sdGlwLXRleHQtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGNhcnQtYm9udXNfaWNvbi1naWZ0LWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kY2FydC1ib251c19pY29uLWdpZnQtYXdhcmRlZC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuXG4kY2FydC1ib251c19pY29uLWNoZWNrbWFyay1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGNhcnQtYm9udXNfaWNvbi1jaGVja21hcmstYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuXG4kY2FydC1ib251c19sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGNhcnQtYm9udXNfbGFiZWwtYXdhcmRlZC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuXG4kY2FydC1ib251c19hbW91bnQtY29sb3I6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWNhcnQtYm9udXMge1xuICAgICRyb290OiAmO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkY2FydC1ib251c19ib3JkZXI7XG4gICAgfVxuXG4gICAgJi0tZW1wdHktYmFza2V0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGNhcnQtYm9udXNfYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkY2FydC1ib251c19oZWFkbGluZS10ZXh0LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICAgIH1cblxuICAgICZfX2dpZnRzLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICZfX2dpZnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIGNvbG9yOiAkY2FydC1ib251c19sYWJlbC1jb2xvcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAoMTAwJSAvIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fcHJvZ3Jlc3Mtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAuMnJlbSAwLjJyZW0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hd2FyZGVkIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19wcm9ncmVzcy1kb25lIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRjYXJ0LWJvbnVzX3Byb2dyZXNzLWFuaW1hdGlvbiB7XG4gICAgICAgICAgICAvLyBIZXJlIHdlIGFyZSBzZXR0aW5nIGRlbGF5cyBzbyB0aGF0IGV2ZXJ5IHByb2dyZXNzIGJhciB3YWl0c1xuICAgICAgICAgICAgLy8gZm9yIHRoZSBwcmV2aW91cyBvbmUgdG8gZmluaXNoLlxuICAgICAgICAgICAgQGZvciAkZWxlbWVudC1pbmRleCBmcm9tIDAgdG8gNiB7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRlbGVtZW50LWluZGV4ICsgMX0pIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2ljb24tYm94LS1naWZ0IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19pY29uLWJveC0tc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X190b29sdGlwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC1pbmRleCAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXJ0LWJvbnVzX3Byb2dyZXNzLWR1cmF0aW9uICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhcnQtYm9udXNfcHJvZ3Jlc3MtZHVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fcHJvZ3Jlc3MtZG9uZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQtaW5kZXggKiAkY2FydC1ib251c19wcm9ncmVzcy1kdXJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubGluZS1hbW91bnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMC44cmVtIDAgYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRjYXJ0LWJvbnVzX2Ftb3VudC1jb2xvcjtcblxuICAgICAgICAjeyRyb290fV9fZ2lmdC0tY3VycmVudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi0tYXdhcmRlZCB7XG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgJi0tZ2lmdCB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGNhcnQtYm9udXNfaWNvbi1naWZ0LWF3YXJkZWQtY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkY2FydC1ib251c19wcm9ncmVzcy1hbmltYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLW1hZ2UtaW5pdF0gJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjYXJ0LWJvbnVzX2ljb24tZ2lmdC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uLWJveCB7XG4gICAgICAgICAgICAgICAgJi0tc3RhdHVzIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgJGNhcnQtYm9udXNfcHJvZ3Jlc3MtYW5pbWF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLW1hZ2UtaW5pdF0gJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uLWJveCB7XG4gICAgICAgICYtLXN0YXR1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2FydC1ib251c19pY29uLWNoZWNrbWFyay1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMC42cmVtO1xuICAgICAgICAgICAgYm90dG9tOiAtMC4xcmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCB2aXNpYmlsaXR5IDAuM3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDIuM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjFyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcztcblxuICAgICAgICAmLS1oZWFkbGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjYXJ0LWJvbnVzX2hlYWRsaW5lLWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1naWZ0IHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjYXJ0LWJvbnVzX2ljb24tZ2lmdC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN0YXR1cyB7XG4gICAgICAgICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjdyZW07XG5cbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjYXJ0LWJvbnVzX2ljb24tY2hlY2ttYXJrLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZ3Jlc3Mtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAkY2FydC1ib251c19ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjJyZW07XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4ycmVtIDAgMCAwLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcm9ncmVzcy1wb3NzaWJsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAwLjhyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRjYXJ0LWJvbnVzX3Byb2dyZXNzYmFyLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICAgICAgdG9wOiAwLjJyZW07XG4gICAgICAgIGxlZnQ6IDAuMnJlbTtcbiAgICAgICAgcmlnaHQ6IDAuMnJlbTtcbiAgICAgICAgYm9yZGVyOiAkY2FydC1ib251c19ib3JkZXI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgJl9fcHJvZ3Jlc3MtZG9uZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNhcnQtYm9udXNfcHJvZ3Jlc3NiYXItZG9uZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkY2FydC1ib251c19wcm9ncmVzcy1kdXJhdGlvbiBsaW5lYXI7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGlmICRjYXJ0LWJvbnVzX3Byb2dyZXNzLWFuaW1hdGlvbiB7XG4gICAgICAgICAgICBbZGF0YS1tYWdlLWluaXRdICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRjYXJ0LWJvbnVzX2xhYmVsLWNvbG9yO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMuM3JlbSk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yO1xuXG4gICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJvdHRvbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXdhcmRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGNhcnQtYm9udXNfbGFiZWwtYXdhcmRlZC1jb2xvcjtcblxuICAgICAgICAgICAgQGlmICRjYXJ0LWJvbnVzX3Byb2dyZXNzLWFuaW1hdGlvbiB7XG4gICAgICAgICAgICAgICAgW2RhdGEtbWFnZS1pbml0XSAmIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjYXJ0LWJvbnVzX2xhYmVsLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYm90dG9tIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Rvb2x0aXAge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDAuOHJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC0xMDAlLCAwKSBzY2FsZVkoMSk7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjZyZW0gMC40cmVtIDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjYXJ0LWJvbnVzX3Rvb2x0aXAtYmFja2dyb3VuZC1jb2xvciB0cmFuc3BhcmVudFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZWRnZSB7XG4gICAgICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X190b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzUlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X190b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTM1JSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRjYXJ0LWJvbnVzX3Byb2dyZXNzLWFuaW1hdGlvbiB7XG4gICAgICAgICAgICBbZGF0YS1tYWdlLWluaXRdICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTEwMCUsIDApIHNjYWxlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Rvb2x0aXAtY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjYXJ0LWJvbnVzX3Rvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjdyZW0gMC41cmVtO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkY2FydC1ib251c190b29sdGlwLXRleHQtY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtY2FydC1pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jYXJ0LWl0ZW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMTFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH0gfVxuICB0Ym9keTpudGgtY2hpbGQoMykgLmNzLWNhcnQtaXRlbSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICB0Ym9keTpsYXN0LWNoaWxkIC5jcy1jYXJ0LWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHRib2R5Omxhc3QtY2hpbGQgLmNzLWNhcnQtaXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jYXJ0LWl0ZW0tLW5vLWljb25zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuY3MtY2FydC1pdGVtIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWl0ZW0gdGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cbiAgLmNzLWNhcnQtaXRlbV9fcHJvZHVjdCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtY2FydC1pdGVtX19pbWFnZSB7XG4gICAgd2lkdGg6IDEzcmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY2FydC1pdGVtX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWl0ZW1fX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDE1cmVtOyB9IH1cbiAgLmNzLWNhcnQtaXRlbV9fYnJhbmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgICAuY3MtY2FydC1pdGVtX19icmFuZCArIC5jcy1jYXJ0LWl0ZW1fX25hbWUge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmNzLWNhcnQtaXRlbV9fYnJhbmQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM4ODg7IH1cbiAgLmNzLWNhcnQtaXRlbV9fbmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtY2FydC1pdGVtX19uYW1lIGEge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC5jcy1jYXJ0LWl0ZW1fX25hbWUgYV9fbmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAwOyB9XG4gICAgICAuY3MtY2FydC1pdGVtX19uYW1lIGFfX25hbWUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1jYXJ0LWl0ZW1fX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgcGFkZGluZzogMCAwLjdyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jcy1jYXJ0LWl0ZW1fX2JhZGdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIC5jcy1jYXJ0LWl0ZW1fX2JhZGdlLS1mcmVlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzN2I4NDE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLWNhcnQtaXRlbV9fYmFkZ2UtLWZyZWUgLmNzLWNhcnQtaXRlbV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLWNhcnQtaXRlbV9fYmFkZ2UtLWZyZWUgLmNzLWNhcnQtaXRlbV9fYmFkZ2UtdGV4dCArIC5jcy1jYXJ0LWl0ZW1fX2JhZGdlLS1mcmVlIC5jcy1jYXJ0LWl0ZW1fX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtY2FydC1pdGVtX19iYWRnZSArIC5jcy1jYXJ0LWl0ZW1fX25hbWUge1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAuY3MtY2FydC1pdGVtX19iYWRnZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgLmNzLWNhcnQtaXRlbV9fYmFkZ2UtdGV4dCArIC5jcy1jYXJ0LWl0ZW1fX2JhZGdlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtY2FydC1pdGVtX19kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAwIDFyZW0gMXJlbSAycmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTllbSkge1xuICAuY3MtY2FydC1pdGVtX19kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWNhcnQtaXRlbV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDJyZW07IH0gfVxuICAuY3MtY2FydC1pdGVtX19vcHRpb25zIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5jcy1jYXJ0LWl0ZW1fX29wdGlvbnMtZ3JvdXAge1xuICAgIG1hcmdpbjogMCAycmVtIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWl0ZW1fX29wdGlvbnMtZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDAgMnJlbSAwIDA7IH0gfVxuICAuY3MtY2FydC1pdGVtX19vcHRpb25zLWxhYmVsIHtcbiAgICB3aWR0aDogN3JlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY2FydC1pdGVtX19vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4OyB9IH1cbiAgLmNzLWNhcnQtaXRlbV9fb3B0aW9ucy12YWx1ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNhcnQtaXRlbV9fb3B0aW9ucy12YWx1ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1jYXJ0LWl0ZW1fX3ByaWNlIHtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMCAwLjRyZW0gMnJlbSAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWl0ZW1fX3ByaWNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWl0ZW1fX3ByaWNlIHtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDEuNXJlbSAwLjRyZW0gMCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWNhcnQtaXRlbV9fcHJpY2Uge1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMnJlbSAwLjRyZW0gMCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLWNhcnQtaXRlbV9fc3VidG90YWwge1xuICAgIHBhZGRpbmc6IDAuNHJlbSAycmVtIDAuNHJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNhcnQtaXRlbV9fc3VidG90YWwge1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMS41cmVtIDAuNHJlbSAwICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtY2FydC1pdGVtX19zdWJ0b3RhbCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAycmVtIDAuNHJlbSAwICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtY2FydC1pdGVtX19zdWJ0b3RhbCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNhcnQtaXRlbS0tbm8taWNvbnMgLmNzLWNhcnQtaXRlbV9fc3VidG90YWwge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWNhcnQtaXRlbV9fcHJpY2UsIC5jcy1jYXJ0LWl0ZW1fX3N1YnRvdGFsLCAuY3MtY2FydC1pdGVtX19xdHkge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAzMSU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogOXJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5jcy1jYXJ0LWl0ZW1fX3ByaWNlOmJlZm9yZSwgLmNzLWNhcnQtaXRlbV9fc3VidG90YWw6YmVmb3JlLCAuY3MtY2FydC1pdGVtX19xdHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyLjFyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5jcy1jYXJ0LWl0ZW1fX3ByaWNlOmJlZm9yZSwgLmNzLWNhcnQtaXRlbV9fc3VidG90YWw6YmVmb3JlLCAuY3MtY2FydC1pdGVtX19xdHk6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY2FydC1pdGVtX19wcmljZSwgLmNzLWNhcnQtaXRlbV9fc3VidG90YWwsIC5jcy1jYXJ0LWl0ZW1fX3F0eSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAuY3MtY2FydC1pdGVtX19xdHkge1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNhcnQtaXRlbV9fcXR5IHtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDEuNXJlbSAwLjRyZW0gMCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWNhcnQtaXRlbV9fcXR5IHtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDJyZW0gMC40cmVtIDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWl0ZW1fX3F0eSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzYlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDlyZW07IH1cbiAgICAgICAgLmNzLWNhcnQtaXRlbV9fcXR5OmJlZm9yZSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtY2FydC1pdGVtX19pdGVtIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgICAuY3MtY2FydC1pdGVtX19pdGVtOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi8gfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTllbSkge1xuICAuY3MtY2FydC1pdGVtX19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIC5jcy1jYXJ0LWl0ZW1fX3F0eS1pbnB1dCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LWl0ZW1fX3F0eS1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNhcnQtaXRlbV9fc3VidG90YWwtaW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDIuNXJlbTsgfSB9XG4gIC5jcy1jYXJ0LWl0ZW1fX2J1dHRvbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTllbSkge1xuICAuY3MtY2FydC1pdGVtX19idXR0b25zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuY3MtY2FydC1pdGVtX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OWVtKSB7XG4gIC5jcy1jYXJ0LWl0ZW1fX2xpbmsge1xuICAgIG1hcmdpbjogMCAwLjJyZW07IH0gfVxuICAgIC5jcy1jYXJ0LWl0ZW1fX2xpbmstLXJlbW92ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5jcy1jYXJ0LWl0ZW1fX2xpbmstLXdpc2hsaXN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5jcy1jYXJ0LWl0ZW1fX2xpbmstd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgMC41cmVtOyB9XG4gICAgLmNzLWNhcnQtaXRlbV9fbGluay13cmFwcGVyOmhvdmVyIC5jcy1jYXJ0LWl0ZW1fX2xpbmstaWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgLmNzLWNhcnQtaXRlbV9fbGluay1pY29uIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgICAuY3MtY2FydC1pdGVtX19saW5rLWljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWNhcnQtaXRlbV9fYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbSAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY2FydC1pdGVtX19ib3R0b20ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5jcy1jYXJ0LWl0ZW1fX2JvdHRvbTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvbWl4aW4nO1xuXG4kY2FydC1pdGVtX2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kY2FydC1pdGVtX2ljb24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRjYXJ0LWl0ZW1faWNvbi1jb2xvci0taG92ZXI6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuJGNhcnQtaXRlbV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRjYXJ0LWl0ZW1fYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJGNhcnQtaXRlbV9uYW1lLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kY2FydC1pdGVtX3ByaWNlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRjYXJ0LWl0ZW1fb3B0aW9ucy1pbi1yb3c6IGZhbHNlICFkZWZhdWx0O1xuJGNhcnQtaXRlbV9vcHRpb25zLWxhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kY2FydC1pdGVtX29wdGlvbnMtdmFsdWUtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuJGNhcnQtaXRlbV9xdHktaW5wdXQtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuJGNhcnQtaXRlbV9xdHktaW5wdXQtd2lkdGgtLWxhcHRvcC1hbmQtdXA6IDExcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9Y2FydC1pdGVtIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGJvcmRlci10b3A6ICRjYXJ0LWl0ZW1fYm9yZGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTFyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIHRib2R5Om50aC1jaGlsZCgzKSAmIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICB0Ym9keTpsYXN0LWNoaWxkICYge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkY2FydC1pdGVtX2JvcmRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbm8taWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcm9kdWN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxM3JlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTByZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JyYW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG5cbiAgICAgICAgKyAjeyRyb290fV9fbmFtZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JyYW5kLXRleHQge1xuICAgICAgICBmb250LXNpemU6ICRjYXJ0LWl0ZW1fYnJhbmQtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGNhcnQtaXRlbV9icmFuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19uYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICRjYXJ0LWl0ZW1fbmFtZS1jb2xvcjsgICAgICAgIFxuICAgIH1cblxuICAgICZfX25hbWUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkY2FydC1pdGVtX25hbWUtY29sb3I7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG5cbiAgICAgICAgJl9fbmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2UoKTtcblxuICAgICAgICAvLyBmaXggSUUgaXNzdWUgLSB0ZXh0IHZlcnRpY2FsIGFsaWdubWVudCBpbnNpZGUgZmxleGJveCAobm9uLWNvbHVtbilcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mcmVlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2ZyZWUnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2ZyZWUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICsgI3skcm9vdH1fX25hbWUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAxcmVtIDJyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcsICc8bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucyB7XG4gICAgICAgIEBpZiAoJGNhcnQtaXRlbV9vcHRpb25zLWluLXJvdykge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6NTAlO1xuICAgIH1cblxuICAgICZfX29wdGlvbnMtZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDAgMnJlbSAwIDA7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMnJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRjYXJ0LWl0ZW1fb3B0aW9ucy1sYWJlbC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgICAgICAgICAgICBcbiAgICAgICAgICAgIG1pbi13aWR0aDoxMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtdmFsdWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkY2FydC1pdGVtX29wdGlvbnMtdmFsdWUtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwIDAuNHJlbSAycmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDEuNXJlbSAwLjRyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMnJlbSAwLjRyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VidG90YWwge1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMnJlbSAwLjRyZW0gMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNHJlbSAxLjVyZW0gMC40cmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDJyZW0gMC40cmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbm8taWNvbnMgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSxcbiAgICAmX19zdWJ0b3RhbCxcbiAgICAmX19xdHkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMzElO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDlyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyLjFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F0eSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDEuNXJlbSAwLjRyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMnJlbSAwLjRyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDM2JTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDlyZW07XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnLCAnPGxhcHRvcExnJykge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHktaW5wdXQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6ICRjYXJ0LWl0ZW1fcXR5LWlucHV0LXdpZHRoO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkY2FydC1pdGVtX3F0eS1pbnB1dC13aWR0aC0tbGFwdG9wLWFuZC11cDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YnRvdGFsLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcsICc8bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJywgJzxsYXB0b3BMZycpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZW1vdmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmstd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAwLjVyZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAjeyRyb290fV9fbGluay1pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGNhcnQtaXRlbV9pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rLWljb24ge1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGNhcnQtaXRlbV9pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW0gMnJlbSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1jYXJ0LXN1bW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtIDJyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWNhcnQtc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpOyB9IH1cbiAgLmNzLWNhcnQtc3VtbWFyeS0tZW1wdHkge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcGFkZGluZzogMCAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnktLWVtcHR5IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwOyB9IH1cbiAgLmNzLWNhcnQtc3VtbWFyeV9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNhcnQtc3VtbWFyeV9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jcy1jYXJ0LXN1bW1hcnlfX3RyaWdnZXIge1xuICAgIHBhZGRpbmc6IDEuMXJlbSAwLjhyZW0gMS4xcmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNhcnQtc3VtbWFyeV9fdHJpZ2dlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjFyZW07IH0gfVxuICAuY3MtY2FydC1zdW1tYXJ5X19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAuY3MtY2FydC1zdW1tYXJ5X192YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAuY3MtY2FydC1zdW1tYXJ5X19yZW1vdmUge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmNzLWNhcnQtc3VtbWFyeV9fdG90YWxzIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG90YWxzIHRoIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgIC5jcy1jYXJ0LXN1bW1hcnlfX3RvdGFscyB0ZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG90YWxzIC5ncmFuZCB7XG4gICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgICAgLmNzLWNhcnQtc3VtbWFyeV9fdG90YWxzIC5ncmFuZCB0aCxcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnlfX3RvdGFscyAuZ3JhbmQgdGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS40cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuICAgICAgICBjb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1jYXJ0LXN1bW1hcnlfX3RvdGFscyAuZGlzY291bnQuY291cG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNhcnQtc3VtbWFyeV9fdGF4LW5vdGUtcm93IHRoLFxuICAuY3MtY2FydC1zdW1tYXJ5X190YXgtbm90ZS1yb3cgdGQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAuY3MtY2FydC1zdW1tYXJ5X190YXgtbm90ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgY29sb3I6ICM4ODg7IH1cbiAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1jYXJ0LXN1bW1hcnlfX3RvLWNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uOmZvY3VzLCAuY3MtY2FydC1zdW1tYXJ5X190by1jaGVja291dC1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1jYXJ0LXN1bW1hcnlfX3RvLWNoZWNrb3V0LWJ1dHRvbjpiZWZvcmUsIC5jcy1jYXJ0LXN1bW1hcnlfX3RvLWNoZWNrb3V0LWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjMmQzZTUwIDAlLCAjMmQzZTUwIDEwMCUpOyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtY2FydC1zdW1tYXJ5X190by1jaGVja291dC1idXR0b24sIC5jcy1jYXJ0LXN1bW1hcnlfX3RvLWNoZWNrb3V0LWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnlfX3RvLWNoZWNrb3V0LWJ1dHRvbiAqLCAuY3MtY2FydC1zdW1tYXJ5X190by1jaGVja291dC1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtY2FydC1zdW1tYXJ5X190by1jaGVja291dC1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2FydC1zdW1tYXJ5X190by1jaGVja291dC1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2FydC1zdW1tYXJ5X190by1jaGVja291dC1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtY2FydC1zdW1tYXJ5X190by1jaGVja291dC1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jYXJ0LXN1bW1hcnlfX3RvLWNoZWNrb3V0LWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uLXNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gICAgLmNzLWNhcnQtc3VtbWFyeV9fdG8tY2hlY2tvdXQtYnV0dG9uLWljb24ge1xuICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICByaWdodDogMWVtOyB9XG4gIC5jcy1jYXJ0LXN1bW1hcnkgLm11bHRpY2hlY2tvdXQsXG4gIC5jcy1jYXJ0LXN1bW1hcnkgLmNzLWNhcnQtc3VtbWFyeV9fc2hpcHBpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyAuaXRlbSArIC5pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWNhcnQtc3VtbWFyeSAjYmxvY2stc2hpcHBpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNhcnQtc3VtbWFyeSAudG90YWxzLmdpZnRjYXJkIC5hY3Rpb24uZGVsZXRlIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFyZW0pOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRjYXJ0LXN1bW1hcnlfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGNhcnQtc3VtbWFyeV9ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGNhcnQtc3VtbWFyeV9ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kY2FydC1zdW1tYXJ5X2JveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2UgIWRlZmF1bHQ7XG4kY2FydC1zdW1tYXJ5X2xhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kY2FydC1zdW1tYXJ5X3ZhbHVlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kY2FydC1zdW1tYXJ5X2JvcmRlcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kY2FydC1zdW1tYXJ5X3RpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuJGNhcnQtc3VtbWFyeV9uZXh0LWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRjYXJ0LXN1bW1hcnlfbmV4dC1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRjYXJ0LXN1bW1hcnlfaGVhZGxpbmVzLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuXG4kY2FydC1zdW1tYXJ5LWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRjYXJ0LXN1bW1hcnktYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi4jeyRuc31jYXJ0LXN1bW1hcnkge1xuICAgICRyb290OiAmO1xuXG4gICAgYmFja2dyb3VuZDogJGNhcnQtc3VtbWFyeV9iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjYXJ0LXN1bW1hcnlfYm9yZGVyLXJhZGl1cztcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbSAycmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2FydC1zdW1tYXJ5X2JvcmRlci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGNhcnQtc3VtbWFyeV9ib3gtc2hhZG93O1xuICAgIH1cblxuICAgICYtLWVtcHR5IHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGNhcnQtc3VtbWFyeV90aXRsZS1mb250LXNpemUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNhcnQtc3VtbWFyeV9oZWFkbGluZXMtdGV4dC10cmFuc2Zvcm07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgcGFkZGluZzogMS4xcmVtIDAuOHJlbSAxLjFyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNhcnQtc3VtbWFyeV9ib3JkZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJGNhcnQtc3VtbWFyeV9sYWJlbC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX192YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGNhcnQtc3VtbWFyeV92YWx1ZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19yZW1vdmUge1xuICAgICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgJl9fdG90YWxzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkY2FydC1zdW1tYXJ5X2xhYmVsLWNvbG9yO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBjb2xvcjogJGNhcnQtc3VtbWFyeV9sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3JhbmQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2FydC1zdW1tYXJ5X2JvcmRlcjtcblxuICAgICAgICAgICAgdGgsXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY2FydC1zdW1tYXJ5X3ZhbHVlLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRpc2NvdW50LmNvdXBvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGF4LW5vdGUtcm93IHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RheC1ub3RlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtNDAwO1xuICAgIH1cblxuICAgICZfX3RvLWNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY2FydC1zdW1tYXJ5X25leHQtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjYXJ0LXN1bW1hcnlfbmV4dC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkY2FydC1zdW1tYXJ5X25leHQtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2FydC1zdW1tYXJ5X25leHQtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkY2FydC1zdW1tYXJ5X25leHQtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2FydC1zdW1tYXJ5X25leHQtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm11bHRpY2hlY2tvdXQsXG4gICAgLiN7JG5zfWNhcnQtc3VtbWFyeV9fc2hpcHBpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jaGVja291dC1tZXRob2RzLWl0ZW1zIC5pdGVtICsgLml0ZW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHNoaXBwaW5nIGVzdGltYXRpb24gZnJvbSBjYXJ0IHN1bW1hcnlcbiAgICAjYmxvY2stc2hpcHBpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b3RhbHMuZ2lmdGNhcmQgLmFjdGlvbi5kZWxldGUge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Nsb3NlLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcmVtKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtY2FydC10YWJsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtY2FydC10YWJsZTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3MtY2FydC10YWJsZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuXG4uY3MtY2FydC10YWJsZS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNhcnQtdGFibGUgLmNzLWNhcnQtdGFibGVfX2hlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY3MtY2FydC10YWJsZV9fdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtY2FydC10YWJsZV9fdG9vbGJhciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtY2FydC10YWJsZV9fdG9vbGJhci0tdG9wIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtY2FydC10YWJsZV9fdG9vbGJhci0tYm90dG9tIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfSB9XG5cbi5jcy1jYXJ0LXRhYmxlX19oZWFkIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkY2RjZGM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY2FydC10YWJsZV9faGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNzLWNhcnQtdGFibGVfX2hlYWQtY29sIHtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIHBhZGRpbmc6IDEuM3JlbSAxLjVyZW0gMS4zcmVtIDAuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjFyZW07IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OWVtKSB7XG4gIC5jcy1jYXJ0LXRhYmxlX19oZWFkLWNvbDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgLmNzLWNhcnQtdGFibGVfX2hlYWQtY29sLS1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNhcnQtdGFibGUgLmNzLWNhcnQtdGFibGVfX2NvbCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmc6IDAuMnJlbTsgfVxuICAgIC5jcy1jYXJ0LXRhYmxlIC5jcy1jYXJ0LXRhYmxlX19jb2w6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgICAuY3MtY2FydC10YWJsZSAuY3MtY2FydC10YWJsZV9fY29sOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtY2FydC10YWJsZSAuY3MtY2FydC10YWJsZV9fY29sOmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLXRoKSBcIjogXCI7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jYXJ0LXRhYmxlIC5jcy1jYXJ0LXRhYmxlX19jb2wtLWFjdGlvbnMge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNhcnQtdGFibGUgLmNzLWNhcnQtdGFibGVfX2NvbC0tYWN0aW9uczpiZWZvcmUge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi8gfSB9XG5cbi5jcy1jYXJ0LXRhYmxlX19jb2wge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICMyZDNlNTA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICBwYWRkaW5nOiAwLjhyZW0gMXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jYXJ0LXRhYmxlOm5vdCguY3MtY2FydC10YWJsZS0tbm8tY2hhbmdlLW1vYmlsZSkgLmNzLWNhcnQtdGFibGVfX2NvbCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNHJlbSAycmVtOyB9XG4gICAgICAuY3MtY2FydC10YWJsZTpub3QoLmNzLWNhcnQtdGFibGUtLW5vLWNoYW5nZS1tb2JpbGUpIC5jcy1jYXJ0LXRhYmxlX19jb2w6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgLmNzLWNhcnQtdGFibGU6bm90KC5jcy1jYXJ0LXRhYmxlLS1uby1jaGFuZ2UtbW9iaWxlKSAuY3MtY2FydC10YWJsZV9fY29sOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY2FydC10YWJsZTpub3QoLmNzLWNhcnQtdGFibGUtLW5vLWNoYW5nZS1tb2JpbGUpIC5jcy1jYXJ0LXRhYmxlX19jb2w6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOiBcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNhcnQtdGFibGVfX2NvbCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gIC5jcy1jYXJ0LXRhYmxlX19jb2wtLWF0dGVudGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzJkM2U1MDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jYXJ0LXRhYmxlX19jb2wtLWFjdGlvbnMge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jYXJ0LXRhYmxlX19jb2wtLWFjdGlvbnM6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAvKiAxICovIH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jYXJ0LXRhYmxlX19jb2wtLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5jcy1jYXJ0LXRhYmxlX19jb2wucHJpY2UgLnByaWNlIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1jYXJ0LXRhYmxlX19jb2wuc3VidG90YWwgLnByaWNlLCAuY3MtY2FydC10YWJsZV9fY29sLnRvdGFsIC5wcmljZSB7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY3MtY2FydC10YWJsZV9fY29sLnF0eSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZSBpbnNpZGUgbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtY2FydC10YWJsZV9fY29sLnF0eSBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGNhcnQtdGFibGVfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kY2FydC10YWJsZV9ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGNhcnQtdGFibGVfaGVhZGxpbmUtYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGNhcnQtdGFibGVfaGVhZGxpbmUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRjYXJ0LXRhYmxlX2l0ZW0tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWNhcnQtdGFibGUge1xuICAgICRyb290OiAmO1xuICAgICRyb290Tm9DaGFuZ2VNb2JpbGU6ICN7JHJvb3R9LS1uby1jaGFuZ2UtbW9iaWxlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2FydC10YWJsZV9ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcnQtdGFibGVfYmFja2dyb3VuZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAjeyRyb290fV9faGVhZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Rvb2xiYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNhcnQtdGFibGVfaGVhZGxpbmUtYm9yZGVyLWJvdHRvbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkLWNvbCB7XG4gICAgICAgIGNvbG9yOiAkY2FydC10YWJsZV9oZWFkbGluZS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMS4zcmVtIDEuNXJlbSAxLjNyZW0gMC4xcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnLCAnPGxhcHRvcExnJykge1xuICAgICAgICAgICAgLy8gU2Vjb25kIGNlbGwgZnJvbSB0aGUgZW5kIGlzIFN1YnRvdGFsLiBJbiBHZXJtYW4gbGFuZ3VhZ2UgWndpc2NoZW5zdW1tZSBpcyB0b28gbG9uZyBvbiBob3Jpem9udGFsIHRhYmxldHMvc21hbGwgbGFwdG9wc1xuICAgICAgICAgICAgLy8gVGhlIGxhc3QgY2VsbCBpcyBlbXB0eSBjbyB3aXRoIHBvc2l0aW9uIGFic29sdXRlIHRoaXMgdGV4dCB3aWxsIGJlIGZ1bGx5LCBidXQgY2VsbCB3b24ndCB0YWtlIHNwYWNlIHRoYXQgaXMgbmVlZGVkIGZvciBhY3Rpb24gaWNvbnNcbiAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3skcm9vdH1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpICc6ICc7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjYXJ0LXRhYmxlX2hlYWRsaW5lLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3Rpb25zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FydC10YWJsZV9ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgY29sb3I6ICRjYXJ0LXRhYmxlX2l0ZW0tY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FydC10YWJsZV9ib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xuXG4gICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290Tm9DaGFuZ2VNb2JpbGV9KSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpICc6ICc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjYXJ0LXRhYmxlX2hlYWRsaW5lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXR0ZW50aW9uIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGNhcnQtdGFibGVfaXRlbS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYXJ0LXRhYmxlX2JvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmljZSB7XG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnN1YnRvdGFsLFxuICAgICAgICAmLnRvdGFsIHtcbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjYXJ0LXRhYmxlX2l0ZW0tY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucXR5IHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lIGluc2lkZSBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jaGVja291dC1pbmRleC1pbmRleCAuY29sdW1uLm1haW4ge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uY2hlY2tvdXQtaW5kZXgtaW5kZXggLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiAxICovIH1cblxuLmNoZWNrb3V0LWluZGV4LWluZGV4IGJ1dHRvbi5hY3Rpb24ucHJpbWFyeS5hY3Rpb24tc2F2ZS1hZGRyZXNzIHtcbiAgb3JkZXI6IDI7IH1cblxuLmNoZWNrb3V0LWluZGV4LWluZGV4IC5wYWdlLWhlYWRlciB7XG4gIG1heC13aWR0aDogOTNyZW07XG4gIG1hcmdpbjogMC41cmVtIGF1dG8gMXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnBhZ2UtaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMi41cmVtIGF1dG8gMXJlbTsgfSB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAucGFnZS1oZWFkZXIgLmNzLWxvZ28ge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnBhZ2UtaGVhZGVyIC5jcy1sb2dvIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMCAycmVtOyB9XG5cbi5jaGVja291dC1pbmRleC1pbmRleCAuY3MtdG9wYmFyIHtcbiAgbWF4LXdpZHRoOiA5M3JlbTsgfVxuICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLmNzLXRvcGJhciAuY3MtdG9wYmFyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuZmllbGQgLmxhYmVsW2Zvcj0nc2hpcHBpbmctc2F2ZS1pbi1hZGRyZXNzLWJvb2snXSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5jcy1jaGVja291dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNDVyZW07XG4gIG1hcmdpbjogMCBhdXRvIDEuNXJlbSBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWNoZWNrb3V0IHtcbiAgICAgIG1heC13aWR0aDogOTNyZW07IH0gfVxuICAuY3MtY2hlY2tvdXRfX21lc3NhZ2VzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jaGVja291dF9fbW9iaWxlLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1jaGVja291dF9fZ3JhbmQtdG90YWwtdGF4LW5vdGUtcm93IHRkLFxuICAuY3MtY2hlY2tvdXRfX2dyYW5kLXRvdGFsLXRheC1ub3RlLXJvdyB0aCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5jcy1jaGVja291dF9fZ3JhbmQtdG90YWwtdGF4LW5vdGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uOmhvdmVyLCAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uOmZvY3VzLCAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uOmJlZm9yZSwgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XG4gICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAgIC5jcy1jaGVja291dF9fc2lkZWJhci1idXR0b246YWZ0ZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbiwgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1jaGVja291dF9fc2lkZWJhci1idXR0b24gKiwgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1jaGVja291dF9fc2lkZWJhci1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1jaGVja291dF9fc2lkZWJhci1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jaGVja291dF9fc2lkZWJhci1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jaGVja291dF9fc2lkZWJhci1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dF9fc2lkZWJhci1idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDIwcmVtOyB9IH1cbiAgICAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uLXNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJ1dHRvbi1pY29uIHtcbiAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcmlnaHQ6IDFlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY2hlY2tvdXRfX3NpZGViYXItYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkY2RjZGM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAubW9kYWwtaW5uZXItd3JhcCAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXIge1xuICAgICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgICAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyLWJ1dHRvbjpob3ZlciwgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b246Zm9jdXMsIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b246YmVmb3JlLCAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyLWJ1dHRvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICByaWdodDogLTFweDsgfVxuICAgICAgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b246YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b246YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBsaW5lYXI7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAgIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgICAgIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uLCAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAgIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uICosIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICAgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgICAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jaGVja291dF9fcGxhY2Utb3JkZXItYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICAgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICAuY3MtY2hlY2tvdXRfX3BsYWNlLW9yZGVyLWJ1dHRvbi1zcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAgICAgLmNzLWNoZWNrb3V0X19wbGFjZS1vcmRlci1idXR0b24taWNvbiB7XG4gICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtY2hlY2tvdXQgLmZpZWxkc2V0IC5ub3RlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAuY3MtY2hlY2tvdXQgLmZpZWxkc2V0IC5sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLWZvcm0gLmNob2ljZS5maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuY3MtY2hlY2tvdXQgLmJpbGxpbmctYWRkcmVzcy1mb3JtIC5sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jaGVja291dCAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIC5maWVsZFtuYW1lKj0ncG9zdGNvZGUnXSB7XG4gICAgICB3aWR0aDogMTEuNXJlbTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyAuZmllbGRbbmFtZSo9J3Bvc3Rjb2RlJ10gLmVycm9yLFxuICAgICAgLmNzLWNoZWNrb3V0IC5mb3JtLXNoaXBwaW5nLWFkZHJlc3MgLmZpZWxkW25hbWUqPSdwb3N0Y29kZSddIC53YXJuaW5nIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoICggKDEwMHZ3IC0gKDEuNXJlbSAqIDIpKSAqICgxIC0gMC40NCkgKSAtICgycmVtICogMikgLSAwLjdyZW0pO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjdyZW07XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY2hlY2tvdXQgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyAuZmllbGRbbmFtZSo9J3Bvc3Rjb2RlJ10gLmVycm9yLFxuICAgIC5jcy1jaGVja291dCAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIC5maWVsZFtuYW1lKj0ncG9zdGNvZGUnXSAud2FybmluZyB7XG4gICAgICB3aWR0aDogY2FsYyggKCA5M3JlbSAqICgxIC0gMC40NCkgKSAtICgycmVtICogMikpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtY2hlY2tvdXQgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyAuZmllbGRbbmFtZSo9J2NpdHknXSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTEuNXJlbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSB9XG4gIC5jcy1jaGVja291dCAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIC5maWVsZC5fc3VjY2Vzczpub3QoLl93YXJuLW1pc3Npbmctc3RyZWV0LW51bWJlcikgLmNvbnRyb2w6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1jaGVja291dCAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIC5maWVsZFtuYW1lPSdzaGlwcGluZ0FkZHJlc3MuY3VzdG9tX2F0dHJpYnV0ZXMuY3VzdG9tZXJfdHlwZSddIC5jb250cm9sOmFmdGVyLCAuY3MtY2hlY2tvdXQgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyAuZmllbGRbbmFtZT0nc2hpcHBpbmdBZGRyZXNzLmNvdW50cnlfaWQnXSAuY29udHJvbDphZnRlciwgLmNzLWNoZWNrb3V0IC5mb3JtLXNoaXBwaW5nLWFkZHJlc3MgLmZpZWxkW25hbWU9J3NoaXBwaW5nQWRkcmVzcy5wcmVmaXgnXSAuY29udHJvbDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jcy1jaGVja291dCAuYmxvY2sge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jaGVja291dCAuYmxvY2sgLnRpdGxlIHN0cm9uZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWNoZWNrb3V0IC5vcGMtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dCAub3BjLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDQlKTsgfSB9XG4gICAgLmNzLWNoZWNrb3V0IC5vcGMtd3JhcHBlciAuc3RlcC10aXRsZSxcbiAgICAuY3MtY2hlY2tvdXQgLm9wYy13cmFwcGVyIC5ibG9jay10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgcGFkZGluZzogMCAwIDJyZW07IH1cbiAgICAuY3MtY2hlY2tvdXQgLm9wYy13cmFwcGVyIC5hY3Rpb24uY29udGludWUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtY2hlY2tvdXQgLm9wYyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZSBpbnNpZGUgbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtY2hlY2tvdXQgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLFxuICAuY3MtY2hlY2tvdXRfX3N0ZXAtdGFicyAuY3MtdGFicywgLmNzLWNoZWNrb3V0X19zaGlwcGluZy1tZXRob2Qtd3JhcHBlciwgLmNzLWNoZWNrb3V0X19zaGlwcGluZy1tZXRob2QsXG4gIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyLCAuY3MtY2hlY2tvdXRfX3BheW1lbnRzLCAuY3MtY2hlY2tvdXRfX2FmdGVyLXBheW1lbnRzLFxuICAuY3MtY2hlY2tvdXQgI3N0b3JlLXBpY2t1cCxcbiAgLmNzLWNoZWNrb3V0ICNzdG9yZS1zZWxlY3RvciB7XG4gICAgbWFyZ2luOiAwIDAgMy41cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLFxuICAgICAgLmNzLWNoZWNrb3V0X19zdGVwLXRhYnMgLmNzLXRhYnMsIC5jcy1jaGVja291dF9fc2hpcHBpbmctbWV0aG9kLXdyYXBwZXIsIC5jcy1jaGVja291dF9fc2hpcHBpbmctbWV0aG9kLFxuICAgICAgLmNzLWNoZWNrb3V0IC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIsIC5jcy1jaGVja291dF9fcGF5bWVudHMsIC5jcy1jaGVja291dF9fYWZ0ZXItcGF5bWVudHMsXG4gICAgICAuY3MtY2hlY2tvdXQgI3N0b3JlLXBpY2t1cCxcbiAgICAgIC5jcy1jaGVja291dCAjc3RvcmUtc2VsZWN0b3Ige1xuICAgICAgICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLmNzLWNoZWNrb3V0X19ndWVzdC1vci1sb2dpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWNoZWNrb3V0IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jaGVja291dF9fc2hpcHBpbmctbWV0aG9kIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtOyB9IH1cbiAgLmNzLWNoZWNrb3V0X19zaGlwcGluZy1tZXRob2Qtd3JhcHBlciwgLmNzLWNoZWNrb3V0X19zaGlwcGluZy1tZXRob2QsIC5jcy1jaGVja291dF9fcGF5bWVudHMsIC5jcy1jaGVja291dF9fYWZ0ZXItcGF5bWVudHMsXG4gIC5jcy1jaGVja291dCAjc3RvcmUtc2VsZWN0b3Ige1xuICAgIHBhZGRpbmc6IDJyZW0gMDsgfVxuICAgIC5jcy1jaGVja291dF9fc2hpcHBpbmctbWV0aG9kLXdyYXBwZXItLWhpZGRlbiwgLmNzLWNoZWNrb3V0X19zaGlwcGluZy1tZXRob2QtLWhpZGRlbiwgLmNzLWNoZWNrb3V0X19wYXltZW50cy0taGlkZGVuLCAuY3MtY2hlY2tvdXRfX2FmdGVyLXBheW1lbnRzLS1oaWRkZW4sXG4gICAgLmNzLWNoZWNrb3V0ICNzdG9yZS1zZWxlY3Rvci0taGlkZGVuIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dF9fc2hpcHBpbmctbWV0aG9kLXdyYXBwZXIsIC5jcy1jaGVja291dF9fc2hpcHBpbmctbWV0aG9kLCAuY3MtY2hlY2tvdXRfX3BheW1lbnRzLCAuY3MtY2hlY2tvdXRfX2FmdGVyLXBheW1lbnRzLFxuICAgICAgLmNzLWNoZWNrb3V0ICNzdG9yZS1zZWxlY3RvciB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAuY3MtY2hlY2tvdXRfX3NoaXBwaW5nLW1ldGhvZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJveC1zaGFkb3c6IDFweCAzcHggM3JlbSAwIHJnYmEoMzMsIDMzLCAzMywgMC4yOCk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY2hlY2tvdXRfX3N0ZXAtdGFicyB+IC5jcy1jaGVja291dF9fc2hpcHBpbmctbWV0aG9kLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICAuY3MtY2hlY2tvdXQgI3N0b3JlLXNlbGVjdG9yIHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dCAjc3RvcmUtc2VsZWN0b3Ige1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY2hlY2tvdXRfX3BheW1lbnRzLCAuY3MtY2hlY2tvdXRfX2FmdGVyLXBheW1lbnRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuY3MtY2hlY2tvdXRfX2FmdGVyLXBheW1lbnRzID4gLnBheW1lbnQtb3B0aW9uOm50aC1jaGlsZChuICsgMikge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0X19zaWRlYmFyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB3aWR0aDogY2FsYyggNDQlIC0gMy41cmVtKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAzLjVyZW07XG4gICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJvdHRvbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNoZWNrb3V0X19zaWRlYmFyLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbixcbiAgLmNzLWNoZWNrb3V0IC5ibG9jay1hdXRoZW50aWNhdGlvbiAucHJpbWFyeSAuYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBtaW4td2lkdGg6IDE1cmVtOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5wcmltYXJ5IC5hY3Rpb246aG92ZXIsIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAucHJpbWFyeSAuYWN0aW9uOmZvY3VzLCAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjphY3RpdmUsXG4gICAgLmNzLWNoZWNrb3V0IC5ibG9jay1hdXRoZW50aWNhdGlvbiAucHJpbWFyeSAuYWN0aW9uOmhvdmVyLFxuICAgIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLnByaW1hcnkgLmFjdGlvbjpmb2N1cyxcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAucHJpbWFyeSAuYWN0aW9uOmJlZm9yZSwgLmNzLWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5wcmltYXJ5IC5hY3Rpb246YWZ0ZXIsXG4gICAgLmNzLWNoZWNrb3V0IC5ibG9jay1hdXRoZW50aWNhdGlvbiAucHJpbWFyeSAuYWN0aW9uOmJlZm9yZSxcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICByaWdodDogLTFweDsgfVxuICAgIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAucHJpbWFyeSAuYWN0aW9uOmJlZm9yZSxcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwcHggMHB4IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjphZnRlcixcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246YWZ0ZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjpob3ZlcjphZnRlcixcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAucHJpbWFyeSAuYWN0aW9uLCAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjp2aXNpdGVkLFxuICAgIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLnByaW1hcnkgLmFjdGlvbixcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbiAqLCAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjp2aXNpdGVkICosXG4gICAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb24gKixcbiAgICAgIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLnByaW1hcnkgLmFjdGlvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAucHJpbWFyeSAuYWN0aW9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5wcmltYXJ5IC5hY3Rpb246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLnByaW1hcnkgLmFjdGlvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWNoZWNrb3V0IC5ibG9jay1hdXRoZW50aWNhdGlvbiAucHJpbWFyeSAuYWN0aW9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLnByaW1hcnkgLmFjdGlvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5wcmltYXJ5IC5hY3Rpb246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAucHJpbWFyeSAuYWN0aW9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLnByaW1hcnkgLmFjdGlvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLnByaW1hcnkgLmFjdGlvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLnByaW1hcnkgLmFjdGlvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAucHJpbWFyeSAuYWN0aW9uW2Rpc2FibGVkXSxcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5wcmltYXJ5IC5hY3Rpb24sXG4gICAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmNzLWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5wcmltYXJ5IC5hY3Rpb24gc3BhbixcbiAgICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5wcmltYXJ5IC5hY3Rpb24gc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5hY3Rpb25zLXRvb2xiYXIsXG4gIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY3MtY2hlY2tvdXQgLmZvcm0tbG9naW4gLmZpZWxkLFxuICAuY3MtY2hlY2tvdXQgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiAuYmxvY2stdGl0bGUsXG4gIC5jcy1jaGVja291dCAuYmxvY2stYXV0aGVudGljYXRpb24gLmJsb2NrLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuY3MtY2hlY2tvdXQgLmFjdGlvbi5yZW1pbmQsXG4gIC5jcy1jaGVja291dCAuYWN0aW9uLXJlbWluZCB7XG4gICAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gIC5jcy1jaGVja291dCAuZm9ybS1sb2dpbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHRkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgICAgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGQuY29sLW1ldGhvZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGhlYWQgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnJhZGlvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIG1hcmdpbjogLTAuMDYyNWVtIGNhbGMoMC41ZW0gKyAxcHgpIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41czsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnJhZGlvOjotbW96LWZvY3VzLWlubmVyLCAuY3MtY2hlY2tvdXQgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCAucmFkaW86LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnJhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnJhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCAucmFkaW86Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzMmQzZTUwJyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgICAgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnJhZGlvOmNoZWNrZWQsIC5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIC5yYWRpbzpjaGVja2VkOmhvdmVyLCAuY3MtY2hlY2tvdXQgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCAucmFkaW86Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCAucmFkaW9bZGlzYWJsZWRdLFxuICAgICAgLmNzLWNoZWNrb3V0IC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnJhZGlvW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAgIC5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIC5yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuY3MtY2hlY2tvdXQgLnNoaXAtdG8sXG4gIC5jcy1jaGVja291dCAuc2hpcC12aWEge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1jaGVja291dCAuc2hpcC10byB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1pbmZvcm1hdGlvbiB7XG4gICAgcGFkZGluZzogMCAwIDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1pbmZvcm1hdGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1pbmZvcm1hdGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gMDsgfVxuICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgYnV0dG9uLmFjdGlvbi5hY3Rpb24tZWRpdCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuY3MtY2hlY2tvdXQgLm1ldGhvZHMtc2hpcHBpbmcgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jaGVja291dCAubWV0aG9kcy1zaGlwcGluZyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9IH1cbiAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1zaG93LXBvcHVwOmhvdmVyLCAuY3MtY2hlY2tvdXQgLmFjdGlvbi1zaG93LXBvcHVwOmZvY3VzLCAuY3MtY2hlY2tvdXQgLmFjdGlvbi1zaG93LXBvcHVwOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1zaG93LXBvcHVwOmJlZm9yZSwgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cDpiZWZvcmUge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDBweCAwcHggMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzJkM2U1MCAwJSwgIzJkM2U1MCAxMDAlKTsgfVxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXNob3ctcG9wdXA6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1zaG93LXBvcHVwOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cCwgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cDp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXNob3ctcG9wdXAgKiwgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXNob3ctcG9wdXA6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2hlY2tvdXQgLmFjdGlvbi1zaG93LXBvcHVwOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNoZWNrb3V0IC5hY3Rpb24tc2hvdy1wb3B1cDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXNob3ctcG9wdXA6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jaGVja291dCAuYWN0aW9uLXNob3ctcG9wdXA6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jaGVja291dCAuYWN0aW9uLXNob3ctcG9wdXA6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1zaG93LXBvcHVwW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1jaGVja291dCAjZGhsLXBhY2tzdGF0aW9uLnNlbGVjdGVkLXBhY2tzdGF0aW9uIH4gI3NoaXBwaW5nIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuZWRpdC1hZGRyZXNzLWxpbmssXG4gICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmVkaXQtYWRkcmVzcy1saW5rOjpiZWZvcmUsIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuZWRpdC1hZGRyZXNzLWxpbms6OmFmdGVyLFxuICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06OmJlZm9yZSxcbiAgICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuZWRpdC1hZGRyZXNzLWxpbms6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmVkaXQtYWRkcmVzcy1saW5rLCAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmVkaXQtYWRkcmVzcy1saW5rOnZpc2l0ZWQsXG4gICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbSxcbiAgICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOnZpc2l0ZWQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmVkaXQtYWRkcmVzcy1saW5rICosIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuZWRpdC1hZGRyZXNzLWxpbms6dmlzaXRlZCAqLFxuICAgICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbSAqLFxuICAgICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuZWRpdC1hZGRyZXNzLWxpbms6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmVkaXQtYWRkcmVzcy1saW5rOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5lZGl0LWFkZHJlc3MtbGluazphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5lZGl0LWFkZHJlc3MtbGluazpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5lZGl0LWFkZHJlc3MtbGluazpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5lZGl0LWFkZHJlc3MtbGluazphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLmVkaXQtYWRkcmVzcy1saW5rW2Rpc2FibGVkXSxcbiAgICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5lZGl0LWFkZHJlc3MtbGluayBzcGFuLFxuICAgICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0gc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKDJyZW0gLyAyKSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDJyZW07IH0gfVxuICAgIC5jcy1jaGVja291dCAuc2hpcHBpbmctYWRkcmVzcy1pdGVtLnNlbGVjdGVkLWl0ZW0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0gYSB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtY2hlY2tvdXQgLmVzdGltYXRlZC1ibG9jayB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwIDJyZW07XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNoZWNrb3V0IC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDA7IH0gfVxuICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDU7IH1cbiAgICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQ6OmJlZm9yZSwgLmNzLWNoZWNrb3V0IC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQsIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQ6dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQgKiwgLmNzLWNoZWNrb3V0IC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNoZWNrb3V0IC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgICAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydFtkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQ6aG92ZXIgLmNvdW50ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0OmhvdmVyIC5jb3VudGVyLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IC5jb3VudGVyLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIgLmNvdW50ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuNnJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGhlaWdodDogMS44ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuMTVlbTtcbiAgICAgIHRvcDogLTAuMTVlbTsgfVxuICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5jb3VudGVyLW51bWJlciB7XG4gICAgICBtaW4td2lkdGg6IDFjaDsgfVxuICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5taW5pY2FydC13cmFwcGVyLFxuICAgIC5jcy1jaGVja291dCAub3BjLWVzdGltYXRlZC13cmFwcGVyIC5taW5pY2FydC13cmFwcGVyIC5zaG93Y2FydCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtY2hlY2tvdXQgLmZpZWxkLXNlbGVjdC1iaWxsaW5nIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmJpbGxpbmctYWRkcmVzcy1zYW1lLWFzLXNoaXBwaW5nLWJsb2NrIGxhYmVsIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5iaWxsaW5nLWFkZHJlc3Mtc2FtZS1hcy1zaGlwcGluZy1ibG9jayBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBtYXJnaW46IC0wLjA2MjVlbSBjYWxjKDAuNWVtICsgMXB4KSAwIDA7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgICBtYXJnaW46IDAuMnJlbSAwLjNyZW0gMC4zcmVtIDA7IH1cbiAgICAgIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIsIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sgaW5wdXQ6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5iaWxsaW5nLWFkZHJlc3Mtc2FtZS1hcy1zaGlwcGluZy1ibG9jayBpbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sgaW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sgaW5wdXQ6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzMmQzZTUwJyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgICAgLmNzLWNoZWNrb3V0IC5iaWxsaW5nLWFkZHJlc3Mtc2FtZS1hcy1zaGlwcGluZy1ibG9jayBpbnB1dDpjaGVja2VkLCAuY3MtY2hlY2tvdXQgLmJpbGxpbmctYWRkcmVzcy1zYW1lLWFzLXNoaXBwaW5nLWJsb2NrIGlucHV0OmNoZWNrZWQ6aG92ZXIsIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sgaW5wdXQ6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLmJpbGxpbmctYWRkcmVzcy1zYW1lLWFzLXNoaXBwaW5nLWJsb2NrIGlucHV0W2Rpc2FibGVkXSxcbiAgICAgIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sgaW5wdXRbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgICAgLmNzLWNoZWNrb3V0IC5iaWxsaW5nLWFkZHJlc3Mtc2FtZS1hcy1zaGlwcGluZy1ibG9jayBpbnB1dFtkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5iaWxsaW5nLWFkZHJlc3Mtc2FtZS1hcy1zaGlwcGluZy1ibG9jayBpbnB1dDpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzMmQzZTUwJyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLWRldGFpbHMgLmFjdGlvbi1lZGl0LWFkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG1hcmdpbjogMS42cmVtIDAgMnJlbTsgfVxuICAgIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLWRldGFpbHMgLmFjdGlvbi1lZGl0LWFkZHJlc3M6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLWRldGFpbHMgLmFjdGlvbi1lZGl0LWFkZHJlc3MsIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLWRldGFpbHMgLmFjdGlvbi1lZGl0LWFkZHJlc3M6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1jaGVja291dCAuYmlsbGluZy1hZGRyZXNzLWRldGFpbHMgLmFjdGlvbi1lZGl0LWFkZHJlc3M6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2hlY2tvdXQgLmJpbGxpbmctYWRkcmVzcy1kZXRhaWxzIC5hY3Rpb24tZWRpdC1hZGRyZXNzOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNoZWNrb3V0IC5iaWxsaW5nLWFkZHJlc3MtZGV0YWlscyAuYWN0aW9uLWVkaXQtYWRkcmVzczphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5iaWxsaW5nLWFkZHJlc3MtZGV0YWlscyAuYWN0aW9uLWVkaXQtYWRkcmVzc1tkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtY2hlY2tvdXQgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY2hlY2tvdXQgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jaGVja291dCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIGJ1dHRvbi5hY3Rpb24uYWN0aW9uLXVwZGF0ZSB7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzcyxcbiAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tdXBkYXRlLFxuICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tZWRpdC1hZGRyZXNzOjpiZWZvcmUsIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzczo6YWZ0ZXIsXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tdXBkYXRlOjpiZWZvcmUsXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tdXBkYXRlOjphZnRlcixcbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWw6OmJlZm9yZSxcbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1lZGl0LWFkZHJlc3M6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tdXBkYXRlOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWNhbmNlbDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tZWRpdC1hZGRyZXNzLCAuY3MtY2hlY2tvdXQgLmFjdGlvbi1lZGl0LWFkZHJlc3M6dmlzaXRlZCxcbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi11cGRhdGUsXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tdXBkYXRlOnZpc2l0ZWQsXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tY2FuY2VsLFxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWNhbmNlbDp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tZWRpdC1hZGRyZXNzICosIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzczp2aXNpdGVkICosXG4gICAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi11cGRhdGUgKixcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXVwZGF0ZTp2aXNpdGVkICosXG4gICAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWwgKixcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWNhbmNlbDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzczpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzczpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzczphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXVwZGF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tdXBkYXRlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi11cGRhdGU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWw6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWNhbmNlbDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tY2FuY2VsOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQzZTUwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1lZGl0LWFkZHJlc3M6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzczpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNoZWNrb3V0IC5hY3Rpb24tZWRpdC1hZGRyZXNzOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXVwZGF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXVwZGF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXVwZGF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWw6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWw6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWw6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1lZGl0LWFkZHJlc3NbZGlzYWJsZWRdLFxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXVwZGF0ZVtkaXNhYmxlZF0sXG4gICAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tY2FuY2VsW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzcyxcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLXVwZGF0ZSxcbiAgICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWNhbmNlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi1jYW5jZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQtYWRkcmVzcyB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY3MtY2hlY2tvdXQgLnBheW1lbnQuY2NhcmQge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0X19hZ3JlZW1lbnRzIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAubW9kYWwtaW5uZXItd3JhcCAuY3MtY2hlY2tvdXRfX2FncmVlbWVudHMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY3MtY2hlY2tvdXRfX2FncmVlbWVudHMgLmNoZWNrb3V0LWFncmVlbWVudHMge1xuICAgICAgcGFkZGluZzogMnJlbSAwIDA7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RjZGNkYzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWNoZWNrb3V0X19hZ3JlZW1lbnRzIC5jaGVja291dC1hZ3JlZW1lbnRzIHtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMDsgfSB9XG4gICAgICAuY3MtY2hlY2tvdXRfX2FncmVlbWVudHMgLmNoZWNrb3V0LWFncmVlbWVudHMgLmNoZWNrb3V0LWFncmVlbWVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAuY3MtY2hlY2tvdXRfX2FncmVlbWVudHMgLmNoZWNrb3V0LWFncmVlbWVudHMgLmNoZWNrb3V0LWFncmVlbWVudCAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xLjZlbTsgfVxuICAgIC5tb2RhbC5fc2hvdyAuY3MtY2hlY2tvdXRfX2FncmVlbWVudHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1jaGVja291dF9fYWdyZWVtZW50cyBhOmhvdmVyLCAuY3MtY2hlY2tvdXRfX2FncmVlbWVudHMgYTphY3RpdmUsIC5jcy1jaGVja291dF9fYWdyZWVtZW50cyBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jcy1jaGVja291dCAub3BjLWJsb2NrLXN1bW1hcnkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNoZWNrb3V0IC5vcGMtYmxvY2stc3VtbWFyeSAuYWN0aW9uLmNoZWNrb3V0LFxuICAgICAgLmNzLWNoZWNrb3V0IC5vcGMtYmxvY2stc3VtbWFyeSAuaXRlbXMtaW4tY2FydCxcbiAgICAgIC5jcy1jaGVja291dCAub3BjLWJsb2NrLXN1bW1hcnkgLnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLWNoZWNrb3V0IC5vcGMtYmxvY2stc3VtbWFyeSAudGl0bGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm9wYy1ibG9jay1zdW1tYXJ5ID4gLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1jaGVja291dCAub3BjLWJsb2NrLXN1bW1hcnkgPiAudGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jcy1jaGVja291dCAub3BjLWJsb2NrLXN1bW1hcnkgLmRpc2NvdW50IC50aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5vcGMtYmxvY2stc3VtbWFyeSAuZGlzY291bnQuY291cG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm9wYy1ibG9jay1zdW1tYXJ5IC5hdy1naWZ0Y2FyZC10b3RhbHMgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5pdGVtcy1pbi1jYXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY2hlY2tvdXQgLml0ZW1zLWluLWNhcnQgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoMnJlbSAtIDJweCk7XG4gICAgICByaWdodDogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY2hlY2tvdXQgLml0ZW1zLWluLWNhcnQgLnRpdGxlIHN0cm9uZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtOyB9IH1cbiAgLmNzLWNoZWNrb3V0IC5taW5pY2FydC1pdGVtcy13cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jaGVja291dCAudGFibGUtdG90YWxzIC50YWJsZS1jYXB0aW9uIHtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAuY3MtY2hlY2tvdXQgLnRhYmxlLXRvdGFscyB0ZCxcbiAgLmNzLWNoZWNrb3V0IC50YWJsZS10b3RhbHMgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZzogMC44cmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNoZWNrb3V0IC50YWJsZS10b3RhbHMgdGQsXG4gICAgICAuY3MtY2hlY2tvdXQgLnRhYmxlLXRvdGFscyB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAycmVtOyB9IH1cbiAgLmNzLWNoZWNrb3V0IC50YWJsZS10b3RhbHMgLmFtb3VudCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuY3MtY2hlY2tvdXQgLnRhYmxlLXRvdGFscyAuZ3JhbmQgdGgsXG4gIC5jcy1jaGVja291dCAudGFibGUtdG90YWxzIC5ncmFuZCB0ZCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5hY3Rpb24tZWRpdCxcbiAgLmNzLWNoZWNrb3V0IC5hY3Rpb24udmlld2NhcnQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9lZGl0X2NvbG9yLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk5JSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjdyZW07XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jcy1jaGVja291dCAuYWN0aW9uLWVkaXQgc3BhbixcbiAgICAuY3MtY2hlY2tvdXQgLmFjdGlvbi52aWV3Y2FydCBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIiwgc2Fucy1zZXJpZjsgfVxuICAuY3MtY2hlY2tvdXQgLmFjdGlvbi5kZWxldGUsXG4gIC5jcy1jaGVja291dCAudG90YWxzLmdpZnRjYXJkIC5hY3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7IH1cbiAgLmNzLWNoZWNrb3V0IC5yZXdhcmQtcG9pbnRzLWJ1dHRvbnMtY29udGFpbmVyIGJ1dHRvbiBzcGFuIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuY3MtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIHtcbiAgICBsaXN0LXN0eWxlOiBub25lIGluc2lkZSBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1jaGVja291dCAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1jaGVja291dCAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1pbm5lciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1jaGVja291dCAubWluaWNhcnQtaXRlbXMgLnByaWNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1jaGVja291dCAubWluaWNhcnQtaXRlbXMgLml0ZW0tbmFtZS1ibG9jayB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0tbmFtZS1ibG9jayB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1jaGVja291dCAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5taW5pY2FydC1pdGVtcyAuZGV0YWlscy1xdHkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5taW5pY2FydC1pdGVtcyAuZGV0YWlscy1xdHkgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5zdWJ0b3RhbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tdG9wOiAwLjNyZW07IH1cbiAgICAgIC5jcy1jaGVja291dCAubWluaWNhcnQtaXRlbXMgLnN1YnRvdGFsID4gc3BhbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1jaGVja291dCAubW9kYWwtY3VzdG9tIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dCAubW9kYWwtY3VzdG9tIC5tb2RhbC1pbm5lci13cmFwIC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dCAubW9kYWwtY3VzdG9tIC5tb2RhbC1pbm5lci13cmFwIC50YWJsZS10b3RhbHMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNoZWNrb3V0IC5tb2RhbC1jdXN0b20gLm1vZGFsLWlubmVyLXdyYXAgLml0ZW1zLWluLWNhcnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmNzLWNoZWNrb3V0IC5tb2RhbC1jdXN0b20gLm1vZGFsLWlubmVyLXdyYXAgLml0ZW1zLWluLWNhcnQgLnRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY2hlY2tvdXQgLm1vZGFsLWN1c3RvbSAubW9kYWwtaW5uZXItd3JhcCAuaXRlbXMtaW4tY2FydCAudGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG4gIC5jcy1jaGVja291dCAucGF5bWVudHMgLmxlZ2VuZCxcbiAgLmNzLWNoZWNrb3V0IC5wYXltZW50cyAuZmllbGRzZXQgPiBociB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtY2hlY2tvdXQgI3JlY2FwdGNoYS1jaGVja291dC1wbGFjZS1vcmRlci13cmFwcGVyIC5maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5hY3Rpb24uY2hlY2tvdXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7IH1cbiAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAxLjVyZW0gMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNHJlbSAyLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbCBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdiYW5rdHJhbnNmZXInXSwgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0ncGF5b25lX2FkdmFuY2VfcGF5bWVudCddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvYmFua190cmFuc2Zlci5zdmdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J2JhcnpoYWxlbiddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLWJhcnpoYWxlbi5wbmdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J2JpbGxzYWZlJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXltZW50LWxvZ28tYmlsbHNhZmUucG5nXCIpOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdjcmVkaXRjYXJkJ10sIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3BheW9uZV9jcmVkaXRjYXJkJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9jcmVkaXRjYXJkLnN2Z1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0nY2FzaG9uZGVsaXZlcnknXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL29uX2RlbGl2ZXJ5LnN2Z1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0nY2hlY2ttbyddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvbW9uZXlfb3JkZXIuc3ZnXCIpOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdnaXJvcGF5J10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9naXJvcGF5LnN2Z1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0naWRlYWwnXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW1lbnQtbG9nby1pZGVhbC5qcGdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3BheW9uZV9vYnRfaWRlYWwnXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW9uZV9vYnRfaWRlYWwuc3ZnXCIpOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdpbnZvaWNlJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9pbnZvaWNlLnN2Z1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0nZXBzJ10sIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3BheW9uZV9vYnRfZXBzJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXltZW50LWxvZ28tZXBzLmpwZ1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0nbGFzdHNjaHJpZnQnXSwgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0ncGF5b25lX2RlYml0J10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9sYXN0c2NocmlmdC5zdmdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3BheW9uZV9pbnZvaWNlJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9pbnZvaWNlLnN2Z1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0ncGF5b25lX2NyZWRpdGNhcmQnXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL2NyZWRpdGNhcmQuc3ZnXCIpOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdwYXlkaXJla3QnXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheWRpcmVrdC5zdmdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3BheW9sdXRpb24nXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW1lbnQtbG9nby1wYXlvbHV0aW9uLnBuZ1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0ncGF5ZW5naW5lY3dfY3JlZGl0Y2FyZCddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvY3JlZGl0Y2FyZC5zdmdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3IqPSdwYXlwYWwnXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheXBhbC5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxLjVyZW07IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3BheWVuZ2luZWN3X3Bvc3RmaW5hbmNlY2FyZCddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLXBvc3RmaW5hbmNlLWNhcmQucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMS43cmVtOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdwb3N0ZmluYW5jZSddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLXBvc3RmaW5hbmNlLmpwZ1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0ncG9zdGZpbmFuY2UtY2FyZCddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLXBvc3RmaW5hbmNlLWNhcmQucG5nXCIpOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdwcnplbGV3eTI0J10ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXltZW50LWxvZ28tcHJ6ZWxld3kyNC5wbmdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3BheXBhbC1hZ3JlZW1lbnQnXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW1lbnQtbG9nby1wYXlwYWwtYWdyZWVtZW50LnBuZ1wiKTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcj0ncHVyY2hhc2VvcmRlciddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcHVyY2hhc2Vfb3JkZXIuc3ZnXCIpOyB9XG4gICAgICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSAubGFiZWxbZm9yPSdwYXlvbmVfb2J0X3NvZm9ydHVlYmVyd2Vpc3VuZyddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3Mva2xhcm5hX2JhY2tncm91bmRfbG9nby5zdmdcIik7IH1cbiAgICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5sYWJlbFtmb3I9J3R3aW50Y3dfdHdpbnQnXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3R3aW50LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0LjVyZW0gM3JlbTsgfVxuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmxhYmVsW2Zvcio9J2tsYXJuYSddIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3Mva2xhcm5hX2JhY2tncm91bmRfbG9nby5zdmdcIik7IH1cbiAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtYmlsbGluZy1hZGRyZXNzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtYmlsbGluZy1hZGRyZXNzIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZDpub3QoOmxhc3QtY2hpbGQpIC5wYXltZW50LW1ldGhvZC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLmJpbGxpbmctYWRkcmVzcy1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIC5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMCAwIDAgMnJlbTsgfVxuICAgIC5jcy1jaGVja291dCAucGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQgLnBheW9sdXRpb25fb3ZlcmxheSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZC5fYWN0aXZlIC5wYXltZW50LW1ldGhvZC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtY2hlY2tvdXQgLnBheW1lbnQtbWV0aG9kIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCBwOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5wYXltZW50LW1ldGhvZCAubnVtYmVyIHtcbiAgICB3aWR0aDogMjNyZW07XG4gICAgbWFyZ2luOiAycmVtIDAgMnJlbTsgfVxuICAuY3MtY2hlY2tvdXQgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwgKyAub3BjLXBheW1lbnQtYWRkaXRpb25hbCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY3MtY2hlY2tvdXQgLm9wYy1wYXltZW50LWFkZGl0aW9uYWw6bm90KC5yZXdhcmRwb2ludHMpIC5wYXltZW50LW9wdGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY2hlY2tvdXQgLm9wYy1wYXltZW50LWFkZGl0aW9uYWw6bm90KC5yZXdhcmRwb2ludHMpIC5wYXltZW50LW9wdGlvbi10aXRsZTpiZWZvcmUsIC5jcy1jaGVja291dCAub3BjLXBheW1lbnQtYWRkaXRpb25hbDpub3QoLnJld2FyZHBvaW50cykgLnBheW1lbnQtb3B0aW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY3MtY2hlY2tvdXQgLm9wYy1wYXltZW50LWFkZGl0aW9uYWw6bm90KC5yZXdhcmRwb2ludHMpIC5wYXltZW50LW9wdGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5jcy1jaGVja291dCAub3BjLXBheW1lbnQtYWRkaXRpb25hbDpub3QoLnJld2FyZHBvaW50cykgLnBheW1lbnQtb3B0aW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMDsgfVxuICAgIC5jcy1jaGVja291dCAub3BjLXBheW1lbnQtYWRkaXRpb25hbDpub3QoLnJld2FyZHBvaW50cykgLnBheW1lbnQtb3B0aW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsOm5vdCgucmV3YXJkcG9pbnRzKSAucGF5bWVudC1vcHRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5jcy1jaGVja291dCAub3BjLXBheW1lbnQtYWRkaXRpb25hbDpub3QoLnJld2FyZHBvaW50cykgLmFjdGlvbi10b2dnbGUge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jcy1jaGVja291dCAucGF5bWVudC1vcHRpb24tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY3MtY2hlY2tvdXQgLmF3LWdpZnRjYXJkLWNvZGUge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLmNzLWNoZWNrb3V0IC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsLnJld2FyZHBvaW50cyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAuY3MtY2hlY2tvdXQgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwucmV3YXJkcG9pbnRzIC5wYXltZW50LW9wdGlvbi10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCIsIHNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsLnJld2FyZHBvaW50cyAucGF5bWVudC1vcHRpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNzLWNoZWNrb3V0IC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsLnJld2FyZHBvaW50cyAucGF5bWVudC1vcHRpb24taW5uZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLmN1c3RvbXdlYi1wYXllbmdpbmVjdy1wYXltZW50LWZvcm0gLmxhYmVsIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5jdXN0b213ZWItcGF5ZW5naW5lY3ctcGF5bWVudC1mb3JtIC5jb250cm9sOm5vdCguc2VsZWN0LWZpZWxkKSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnBheXBhbC5jaGVja291dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGF5cGFsLmNoZWNrb3V0LmFmdGVyOmJlZm9yZSwgLnBheXBhbC5jaGVja291dC5iZWZvcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMXJlbSAwLjVyZW0gMC4ycmVtOyB9XG4gIC5wYXlwYWwuY2hlY2tvdXQgaW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ucGF5cGFsLXJldmlldyAuaXRlbXMtcXR5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lIG5vbmU7IH1cbiAgLnBheXBhbC1yZXZpZXcgLml0ZW1zLXF0eSA+IGxpIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBheXBhbC1yZXZpZXcgLml0ZW1zLXF0eSAuaXRlbSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYXlwYWwtcmV2aWV3IC5pdGVtcy1xdHkgLnRpdGxlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgLnBheXBhbC1yZXZpZXcgLml0ZW1zLXF0eSAudGl0bGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc6ICc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGF5cGFsLXJldmlldyAuaXRlbXMtcXR5IC5ibG9jay1jb250ZW50IC5ib3gtb3JkZXItc2hpcHBpbmctYWRkcmVzcyxcbiAgICAucGF5cGFsLXJldmlldyAuaXRlbXMtcXR5IC5ibG9jay1jb250ZW50IC5ib3gtb3JkZXItc2hpcHBpbmctbWV0aG9kLFxuICAgIC5wYXlwYWwtcmV2aWV3IC5pdGVtcy1xdHkgLmJsb2NrLWNvbnRlbnQgLmJveC1vcmRlci1zaGlwcGluZy1tZXRob2QgKyAuYm94LW9yZGVyLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGF5cGFsLXJldmlldyAuaXRlbXMtcXR5IC5ibG9jay1jb250ZW50IC5ib3gtb3JkZXItc2hpcHBpbmctYWRkcmVzcyB7XG4gICAgICBwYWRkaW5nOiAwIDUlO1xuICAgICAgd2lkdGg6IDM0JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBheXBhbC1yZXZpZXcgLml0ZW1zLXF0eSAuY29sLnN1YnRvdGFsLFxuICAgIC5wYXlwYWwtcmV2aWV3IC5pdGVtcy1xdHkgLm1hcmssXG4gICAgLnBheXBhbC1yZXZpZXcgLml0ZW1zLXF0eSAuYW1vdW50IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLnBheXBhbC1yZXZpZXcgLmFjdGlvbnMtdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnBheXBhbC1yZXZpZXcgLml0ZW0tb3B0aW9ucyBkdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucGF5cGFsLXJldmlldyAuaXRlbS1vcHRpb25zIGR0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnOiAnOyB9XG5cbi5wYXlwYWwtcmV2aWV3IC5pdGVtLW9wdGlvbnMgZGQge1xuICBtYXJnaW46IDA7IH1cblxuLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOmhvdmVyLCAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b246Zm9jdXMsIC5wYXlwYWwtcmV2aWV3IC5wcmltYXJ5IGJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b246YmVmb3JlLCAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4OyB9XG4gIC5wYXlwYWwtcmV2aWV3IC5wcmltYXJ5IGJ1dHRvbjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOmFmdGVyIHtcbiAgICB3aWR0aDogMDtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBsaW5lYXI7XG4gICAgei1pbmRleDogLTI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gIC5wYXlwYWwtcmV2aWV3IC5wcmltYXJ5IGJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uLCAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b24gKiwgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgIC5wYXlwYWwtcmV2aWV3IC5wcmltYXJ5IGJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLnBheXBhbC1yZXZpZXcgLnByaW1hcnkgYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAucGF5cGFsLXJldmlldyAucHJpbWFyeSBidXR0b24gc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cblxuLnBheXBhbC1yZXZpZXcgLnNlY29uZGFyeSBidXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTsgfVxuICAucGF5cGFsLXJldmlldyAuc2Vjb25kYXJ5IGJ1dHRvbjo6YmVmb3JlLCAucGF5cGFsLXJldmlldyAuc2Vjb25kYXJ5IGJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnBheXBhbC1yZXZpZXcgLnNlY29uZGFyeSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAucGF5cGFsLXJldmlldyAuc2Vjb25kYXJ5IGJ1dHRvbiwgLnBheXBhbC1yZXZpZXcgLnNlY29uZGFyeSBidXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgY29sb3I6ICMyZDNlNTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5wYXlwYWwtcmV2aWV3IC5zZWNvbmRhcnkgYnV0dG9uICosIC5wYXlwYWwtcmV2aWV3IC5zZWNvbmRhcnkgYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgLnBheXBhbC1yZXZpZXcgLnNlY29uZGFyeSBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAucGF5cGFsLXJldmlldyAuc2Vjb25kYXJ5IGJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5wYXlwYWwtcmV2aWV3IC5zZWNvbmRhcnkgYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLnBheXBhbC1yZXZpZXcgLnNlY29uZGFyeSBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5wYXlwYWwtcmV2aWV3IC5zZWNvbmRhcnkgYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAucGF5cGFsLXJldmlldyAuc2Vjb25kYXJ5IGJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5wYXlwYWwtcmV2aWV3IC5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLnBheXBhbC1yZXZpZXcgLnNlY29uZGFyeSBidXR0b24gc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cblxuLnBheXBhbC1yZXZpZXctZGlzY291bnQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgMXB4IHNvbGlkICNkY2RjZGM7XG4gIG1hcmdpbjogMnJlbSAwOyB9XG4gIC5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IC5ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IC5ibG9jayA+IC50aXRsZSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDAuN3JlbSAzcmVtIDAuN3JlbSAwLjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGF5cGFsLXJldmlldy1kaXNjb3VudCAuYmxvY2sgPiAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IC5ibG9jayAuZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMXJlbSAwIDJyZW07IH1cblxuLmFtYXpvbi13aWRnZXQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1cmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI3KTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuYW1hem9uLXdpZGdldCBpZnJhbWUge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hbWF6b24tcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQsXG4uYW1hem9uLXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuI3N0b3JlLXNlbGVjdG9yIHtcbiAgYm94LXNoYWRvdzogMXB4IDNweCAzcmVtIDAgcmdiYSgzMywgMzMsIDMzLCAwLjI4KTsgfVxuICAjc3RvcmUtc2VsZWN0b3IgLmZvcm0tbG9naW4ge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAjc3RvcmUtc2VsZWN0b3IgLmZvcm0tY29udGludWUge1xuICAgIG1hcmdpbjogMnJlbSAwIDA7IH1cbiAgI3N0b3JlLXNlbGVjdG9yIC5zdGVwLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDAgMXJlbTsgfVxuICAgIC5mb3JtLWxvZ2luIH4gI3N0b3JlLXNlbGVjdG9yIC5zdGVwLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICNzdG9yZS1zZWxlY3RvciAubG9jYXRpb24tbmFtZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7IH1cbiAgI3N0b3JlLXNlbGVjdG9yIC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAjc3RvcmUtc2VsZWN0b3IgLnNlY29uZGFyeSAuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjc3RvcmUtc2VsZWN0b3IgLnNlY29uZGFyeSAuYnV0dG9uLCAjc3RvcmUtc2VsZWN0b3IgLnNlY29uZGFyeSAuYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgI3N0b3JlLXNlbGVjdG9yIC5zZWNvbmRhcnkgLmJ1dHRvbiAqLCAjc3RvcmUtc2VsZWN0b3IgLnNlY29uZGFyeSAuYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgI3N0b3JlLXNlbGVjdG9yIC5zZWNvbmRhcnkgLmJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksICNzdG9yZS1zZWxlY3RvciAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAjc3RvcmUtc2VsZWN0b3IgLnNlY29uZGFyeSAuYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgI3N0b3JlLXNlbGVjdG9yIC5zZWNvbmRhcnkgLmJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgI3N0b3JlLXNlbGVjdG9yIC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgI3N0b3JlLXNlbGVjdG9yIC5zZWNvbmRhcnkgLmJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICNzdG9yZS1zZWxlY3RvciAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgI3N0b3JlLXNlbGVjdG9yIC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAjc3RvcmUtc2VsZWN0b3IgLnNlY29uZGFyeSAuYnV0dG9uIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gIC5zdG9yZS1zZWxlY3Rvci1wb3B1cCAubW9kYWwtY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH0gfVxuXG4uc3RvcmUtc2VsZWN0b3ItcG9wdXAgLm1vZGFsLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uc3RvcmUtc2VsZWN0b3ItcG9wdXAgLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbiNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAge1xuICBkaXNwbGF5OiBub25lOyB9XG4gICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmJsb2NrLXNlYXJjaCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuYWN0aW9uLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbTsgfVxuICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5zdG9yZS1zZWxlY3Rvci1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgcGFkZGluZzogMCAwIDEuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5sYWJlbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCAuY29udHJvbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5pbnB1dC10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyggNnJlbSArIDFlbSk7IH1cbiAgICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5zdG9yZS1zZWxlY3Rvci1zZWFyY2ggLmFjdGlvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAyMjA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IGNhbGMoIDEwMCUgLSAxLjVyZW0pO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7IH1cbiAgICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCAuYWN0aW9uczphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9pY29ucy9oZWFkZXItc2VhcmNoL2ljb24tc2VhcmNoLnN2Z1wiKSBuby1yZXBlYXQgNjAlIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAycmVtOyB9XG4gICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5hY3Rpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICB3aWR0aDogNnJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC43cmVtKTsgfVxuICAgICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5hY3Rpb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5hY3Rpb24sICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCAuYWN0aW9uOnZpc2l0ZWQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTA7IH1cbiAgICAgICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5hY3Rpb24gKiwgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5hY3Rpb246dmlzaXRlZCAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5zdG9yZS1zZWxlY3Rvci1zZWFyY2ggLmFjdGlvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCAuYWN0aW9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5hY3Rpb246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCAuYWN0aW9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5zdG9yZS1zZWxlY3Rvci1zZWFyY2ggLmFjdGlvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuc3RvcmUtc2VsZWN0b3Itc2VhcmNoIC5hY3Rpb246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5zdG9yZS1zZWxlY3Rvci1zZWFyY2ggLmFjdGlvbltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCAuYWN0aW9uW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCAuYWN0aW9uIHNwYW4ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLyogMSAqLyB9XG4gICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLnN0b3JlLXNlbGVjdG9yLXBvcHVwLXRhYmxlIHRib2R5IC5jb2wge1xuICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsgfVxuICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5sb2NhdGlvbi1uYW1lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDsgfVxuICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0sICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjMmQzZTUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtICosICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgZmlsbDogIzJkM2U1MDsgfVxuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpmb2N1czpub3QoW2Rpc2FibGVkXSksICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5sb2NhdGlvbi1zZWxlY3RlZCAuYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmxvY2F0aW9uLXNlbGVjdGVkIC5hY3Rpb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmxvY2F0aW9uLXNlbGVjdGVkIC5hY3Rpb24sICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmxvY2F0aW9uLXNlbGVjdGVkIC5hY3Rpb246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5sb2NhdGlvbi1zZWxlY3RlZCAuYWN0aW9uICosICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmxvY2F0aW9uLXNlbGVjdGVkIC5hY3Rpb246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5sb2NhdGlvbi1zZWxlY3RlZCAuYWN0aW9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAubG9jYXRpb24tc2VsZWN0ZWQgLmFjdGlvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmxvY2F0aW9uLXNlbGVjdGVkIC5hY3Rpb246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG4gICAgICAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5sb2NhdGlvbi1zZWxlY3RlZCAuYWN0aW9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5sb2NhdGlvbi1zZWxlY3RlZCAuYWN0aW9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIC5sb2NhdGlvbi1zZWxlY3RlZCAuYWN0aW9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgI29wYy1zdG9yZS1zZWxlY3Rvci1wb3B1cCAubG9jYXRpb24tc2VsZWN0ZWQgLmFjdGlvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAgLmxvY2F0aW9uLXNlbGVjdGVkIC5hY3Rpb24gc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cblxuI3N0b3JlLXBpY2t1cCB7XG4gIG1hcmdpbjogMDsgfVxuICAjc3RvcmUtcGlja3VwLnNlbGVjdGVkLXNoaXBwaW5nIH4gI3N0b3JlLXNlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzdG9yZS1waWNrdXAuc2VsZWN0ZWQtc3RvcmUtcGlja3VwIH4gI3NoaXBwaW5nLFxuICAjc3RvcmUtcGlja3VwLnNlbGVjdGVkLXN0b3JlLXBpY2t1cCB+ICNvcGMtc2hpcHBpbmdfbWV0aG9kIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG5cbiNkZWxpdmVyeS1tZXRob2Qtc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gICNkZWxpdmVyeS1tZXRob2Qtc2VsZWN0b3IgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmcge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICNkZWxpdmVyeS1tZXRob2Qtc2VsZWN0b3IgLmFjdGlvbi1zZWxlY3Qtc3RvcmUtcGlja3VwIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmxvY2F0aW9uLWRldGFpbHMgLmxvY2F0aW9uLW5hbWUge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubW9kYWwtY29udGVudCAjb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN0b3JlLXNlbGVjdG9yLXBvcHVwLXRhYmxlIHRoZWFkIHRoIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3RvcmUtc2VsZWN0b3ItcG9wdXAtdGFibGUgdGJvZHkgLmxvY2F0aW9uIC5sb2NhdGlvbi1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjhyZW07IH1cblxuLnN0b3JlLXNlbGVjdG9yLXBvcHVwLXRhYmxlIHRib2R5IC5sb2NhdGlvbiArIC5sb2NhdGlvbiB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAxcHggc29saWQgI2RjZGNkYzsgfVxuXG4uc3RvcmUtc2VsZWN0b3ItcG9wdXAtdGFibGUgdGJvZHkgLmNvbC1sb2NhdGlvbi1kZXRhaWxzIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5zdG9yZS1zZWxlY3Rvci1wb3B1cC10YWJsZSB0Ym9keSAuY29sLWxvY2F0aW9uLWRldGFpbHMgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zdG9yZS1zZWxlY3Rvci1wb3B1cC10YWJsZSB0Ym9keSAuY29sLWxvY2F0aW9uLWFjdGlvbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5zdG9yZS1zZWxlY3Rvci1wb3B1cC10YWJsZSB0Ym9keSAuY29sLWxvY2F0aW9uLWFjdGlvbnMgLmFjdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zdG9yZS1zZWxlY3Rvci1wb3B1cC1lbXB0eS1xdWVyeSxcbi5zdG9yZS1zZWxlY3Rvci1wb3B1cC1uby1sb2NhdGlvbnMge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9xdHktY291bnRlci9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kY2hlY2tvdXRfcGFnZS1tYXgtd2lkdGg6IDkzcmVtICFkZWZhdWx0O1xuXG4vLyBSaWdodCBzaWRlYmFyIHdpZHRoIGZvciB0YWJsZXRzIGFuZCBkZXNrdG9wc1xuJGNoZWNrb3V0X3NpZGViYXItd2lkdGg6IDQ0JSAhZGVmYXVsdDtcbi8vIFNwYWNlIGJldHdlZW4gbWFpbiBjb2x1bW4gYW5kIHNpZGViYXIgZm9yIHRhYmxldHMgYW5kIGRlc2t0b3BzXG4kY2hlY2tvdXRfbWFpbi1jb2x1bW4tYW5kLXNpZGViYXItZ2FwOiAzLjVyZW0gIWRlZmF1bHQ7XG4vLyBTcGFjZSBiZWxvdyBzdGVwcyAoYXV0aGVudGljYXRpb24sIHNoaXBwaW5nIGFkZHJlc3MgZXRjLilcbiRjaGVja291dF9zdGVwcy1zcGFjZTogMy41cmVtICFkZWZhdWx0O1xuLy8gQmFzZSBzcGFjZSBmb3IgY2hlY2tvdXQgZWxlbWVudHMgKHBhZGRpbmdzIGJldHdlZW4gYm94ZXMgYm9yZGVyIGFuZCBpdHMgY29udGVudCwgaGVhZGxpbmUgc3BhY2luZyBldGMuKVxuJGNoZWNrb3V0X2Jhc2Utc3BhY2U6IDJyZW0gIWRlZmF1bHQ7XG5cbiRjaGVja291dF9ib3hlcy1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfYm94ZXMtYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRjaGVja291dF9ib3hlcy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLyBUaGlzIGJvcmRlciBpcyB1c2VkIGFzIHNlcGFyYXRvciBiZXR3ZWVuIHNvbWUgc2VjdGlvbnNcbiRjaGVja291dF9lbGVtZW50cy1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJGNoZWNrb3V0X3BsYWNlLW9yZGVyLWJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRjaGVja291dF9hY3RpdmUtZWxlbWVudHMtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuJGNoZWNrb3V0X3RleHRzLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9wYXJhZ3JhcGggIWRlZmF1bHQ7XG4kY2hlY2tvdXRfaGVhZGxpbmVzLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuJGNoZWNrb3V0X2hlYWRsaW5lcy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRjaGVja291dF9oZWFkbGluZXMtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRjaGVja291dF9oZWFkbGluZXMtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRjaGVja291dF9mb3JtLW5vdGVzLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuXG4kY2hlY2tvdXRfbmV4dC1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfbmV4dC1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRjaGVja291dF9wbGFjZS1vcmRlci1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfcGxhY2Utb3JkZXItYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi8vIE1vdmUgbmV4dCBidXR0b24gdG8gdGhlIHNlcGFyYXRlIGJveFxuJGNoZWNrb3V0X25leHQtYnV0dG9uLW91dHNpZGU6IGZhbHNlICFkZWZhdWx0O1xuXG4kY2hlY2tvdXRfc2hvdy1jYXJ0LWJ1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRjaGVja291dF9zaG93LWNhcnQtYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfbG9naW4tYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGNoZWNrb3V0X2xvZ2luLWJ1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuJGNoZWNrb3V0X2VzdGltYXRpb24tYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGNoZWNrb3V0X2VzdGltYXRpb24tYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfYmlsbGluZy1hZGRyZXNzLWJ1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRjaGVja291dF9iaWxsaW5nLWFkZHJlc3MtYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc2hvdy1wb3B1cC1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc2hvdy1wb3B1cC1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRjaGVja291dF9hZGRyZXNzZXMtYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGNoZWNrb3V0X2FkZHJlc3Nlcy1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJGNoZWNrb3V0X3Nob3ctc3VjY2Vzcy1pY29uLW9uLXNoaXBwaW5nLWZvcm06IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHBheXBhbCByZXZpZXcgcGFnZVxuJGNoZWNrb3V0X3BheXBhbC1wcmltYXJ5LWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRjaGVja291dF9wYXlwYWwtcHJpbWFyeS1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRjaGVja291dF9wYXlwYWwtc2Vjb25kYXJ5LWJ1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRjaGVja291dF9wYXlwYWwtc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4vLyBTdG9yZSBwaWNrdXBcbiRjaGVja291dF9zdG9yZS1waWNrdXAtc2VsZWN0LWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRjaGVja291dF9zdG9yZS1waWNrdXAtc2VsZWN0LWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1sb2NhdGlvbi1uYW1lLWZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaC1tb2RhbC1jbG9zZS1idXR0b24tYmFja2dyb3VuZC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaC1tYXJnaW46IDAgMCAxLjVyZW0gIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaC1wYWRkaW5nLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2gtYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2hfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2hfYnV0dG9uLXdpZHRoOiA2cmVtICFkZWZhdWx0O1xuJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2hfYnV0dG9uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaF9idXR0b24tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuN3JlbSkgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaF9idXR0b24tYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvaGVhZGVyLXNlYXJjaC9pY29uLXNlYXJjaC5zdmcnKSAhZGVmYXVsdDtcbiRjaGVja291dF9zdG9yZS1waWNrdXAtc2VhcmNoX2J1dHRvbi1iYWNrZ3JvdW5kLXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlbGVjdC1sb2NhdGlvbl9idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlbGVjdGVkLWxvY2F0aW9uX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcblxuLmNoZWNrb3V0LWluZGV4LWluZGV4IHtcbiAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgYnV0dG9uLmFjdGlvbi5wcmltYXJ5LmFjdGlvbi1zYXZlLWFkZHJlc3Mge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBtYXgtd2lkdGg6ICRjaGVja291dF9wYWdlLW1heC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gYXV0byAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDIuNXJlbSBhdXRvIDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9bG9nbyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICAgICAgbWFyZ2luOjAgYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skbnN9dG9wYmFyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY2hlY2tvdXRfcGFnZS1tYXgtd2lkdGg7XG5cbiAgICAgICAgLiN7JG5zfXRvcGJhcl9faXRlbSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAuZmllbGQgLmxhYmVsW2Zvcj0nc2hpcHBpbmctc2F2ZS1pbi1hZGRyZXNzLWJvb2snXSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNoZWNrb3V0IHtcbiAgICAkcm9vdDogJjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogNDVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMS41cmVtIGF1dG87XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1heC13aWR0aDogJGNoZWNrb3V0X3BhZ2UtbWF4LXdpZHRoO1xuICAgIH1cblxuICAgICZfX21lc3NhZ2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fbW9iaWxlLXN1bW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JhbmQtdG90YWwtdGF4LW5vdGUtcm93IHtcbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JhbmQtdG90YWwtdGF4LW5vdGUge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC00MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIG5leHQgc3RlcFxuICAgICZfX3NpZGViYXItYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRjaGVja291dF9uZXh0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfbmV4dC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGNoZWNrb3V0X25leHQtYnV0dG9uLW91dHNpZGUgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X25leHQtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfbmV4dC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRjaGVja291dF9uZXh0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X25leHQtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRjaGVja291dF9uZXh0LWJ1dHRvbi1vdXRzaWRlID09IHRydWUpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGxhY2Utb3JkZXIge1xuICAgICAgICBwYWRkaW5nOiAkY2hlY2tvdXRfYmFzZS1zcGFjZSAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkY2hlY2tvdXRfcGxhY2Utb3JkZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIH1cblxuICAgICAgICAmLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X3BsYWNlLW9yZGVyLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3BsYWNlLW9yZGVyLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkY2hlY2tvdXRfcGxhY2Utb3JkZXItYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3BsYWNlLW9yZGVyLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkY2hlY2tvdXRfcGxhY2Utb3JkZXItYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3BsYWNlLW9yZGVyLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybXNcblxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmlsbGluZy1hZGRyZXNzLWZvcm0ge1xuICAgICAgICAuY2hvaWNlLmZpZWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyB7XG4gICAgICAgIC5maWVsZFtuYW1lKj0ncG9zdGNvZGUnXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDExLjVyZW07XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAuZXJyb3IsXG4gICAgICAgICAgICAgICAgLndhcm5pbmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICgxMDB2dyAtICgjeyRwYWdlX2VkZ2UtZ3V0dGVyfSAqIDIpKSAqXG4gICAgICAgICAgICAgICAgICAgICgxIC0gI3skY2hlY2tvdXRfc2lkZWJhci13aWR0aCAvIDEwMCV9KVxuICAgICAgICAgICAgICAgICAgICApIC0gKCN7JGNoZWNrb3V0X2Jhc2Utc3BhY2V9ICogMikgLSAwLjdyZW1cbiAgICAgICAgICAgICAgICAgICAgKTsgLy8gN3B4IGZvciBzY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi43cmVtO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAuZXJyb3IsXG4gICAgICAgICAgICAgICAgLndhcm5pbmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JGNoZWNrb3V0X3BhZ2UtbWF4LXdpZHRofSAqICgxIC0gI3skY2hlY2tvdXRfc2lkZWJhci13aWR0aCAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAlfSlcbiAgICAgICAgICAgICAgICAgICAgKSAtICgjeyRjaGVja291dF9iYXNlLXNwYWNlfSAqIDIpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkW25hbWUqPSdjaXR5J10ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMS41cmVtKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3VjY2VzcyBpY29uIChncmVlbiB0aWNrKSBkaXNwbGF5XG4gICAgICAgIC5maWVsZC5fc3VjY2Vzczpub3QoLl93YXJuLW1pc3Npbmctc3RyZWV0LW51bWJlcikge1xuICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRjaGVja291dF9zaG93LXN1Y2Nlc3MtaWNvbi1vbi1zaGlwcGluZy1mb3JtID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRG8gbm90IHNob3cgc3VjY2VzcyBpY29uIGZvciBjdXN0b21lciB0eXBlIHNlbGVjdCwgY291bnRyeSBzZWxlY3QsIHByZWZpeFxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgJltuYW1lPSdzaGlwcGluZ0FkZHJlc3MuY3VzdG9tX2F0dHJpYnV0ZXMuY3VzdG9tZXJfdHlwZSddLFxuICAgICAgICAgICAgJltuYW1lPSdzaGlwcGluZ0FkZHJlc3MuY291bnRyeV9pZCddLFxuICAgICAgICAgICAgJltuYW1lPSdzaGlwcGluZ0FkZHJlc3MucHJlZml4J10ge1xuICAgICAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2sge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRhaW5lciBmb3IgbWFpbiBjb2x1bW4gb2YgdGhlIGNoZWNrb3V0XG4gICAgLm9wYy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRjaGVja291dF9zaWRlYmFyLXdpZHRofSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC10aXRsZSxcbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGNoZWNrb3V0X2hlYWRsaW5lcy1mb250LXNpemUpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjaGVja291dF9oZWFkbGluZXMtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNoZWNrb3V0X2hlYWRsaW5lcy1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkY2hlY2tvdXRfaGVhZGxpbmVzLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24uY29udGludWUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3Qgd2l0aCBjaGVja291dCBzdGVwcyAoc2hpcHBpbmcsIHNoaXBwaW5nIG1ldGhvZHMsIHBheW1lbnRzKVxuICAgIC5vcGMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lIGluc2lkZSBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBDaGVja291dCBib3hlc1xuICAgICZfX3NpZGViYXIsXG4gICAgJl9fc3RlcC10YWJzIC4jeyRuc310YWJzLFxuICAgICZfX3NoaXBwaW5nLW1ldGhvZC13cmFwcGVyLFxuICAgICZfX3NoaXBwaW5nLW1ldGhvZCxcbiAgICAub3BjLWVzdGltYXRlZC13cmFwcGVyLFxuICAgICZfX3BheW1lbnRzLFxuICAgICZfX2FmdGVyLXBheW1lbnRzLFxuICAgICNzdG9yZS1waWNrdXAsXG4gICAgI3N0b3JlLXNlbGVjdG9yIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGNoZWNrb3V0X3N0ZXBzLXNwYWNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY2hlY2tvdXRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkY2hlY2tvdXRfYm94ZXMtYm94LXNoYWRvdztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaGVja291dF9ib3hlcy1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3Vlc3Qtb3ItbG9naW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3JfZG92ZS1ncmF5O1xuICAgIH1cblxuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNoZWNrb3V0X2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaGlwcGluZy1tZXRob2Qge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2hpcHBpbmctbWV0aG9kLXdyYXBwZXIsXG4gICAgJl9fc2hpcHBpbmctbWV0aG9kLFxuICAgICZfX3BheW1lbnRzLFxuICAgICZfX2FmdGVyLXBheW1lbnRzLFxuICAgICNzdG9yZS1zZWxlY3RvciB7XG4gICAgICAgIHBhZGRpbmc6ICRjaGVja291dF9iYXNlLXNwYWNlIDA7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaGlwcGluZy1tZXRob2Qtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICBib3gtc2hhZG93OiAkY2hlY2tvdXRfYm94ZXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmX19zdGVwLXRhYnMge1xuICAgICAgICB+ICN7JHJvb3R9X19zaGlwcGluZy1tZXRob2Qtd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3N0b3JlLXNlbGVjdG9yIHtcbiAgICAgICAgcGFkZGluZzogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BheW1lbnRzLFxuICAgICZfX2FmdGVyLXBheW1lbnRzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWZ0ZXItcGF5bWVudHMge1xuICAgICAgICA+IC5wYXltZW50LW9wdGlvbjpudGgtY2hpbGQobiArIDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JGNoZWNrb3V0X3NpZGViYXItd2lkdGh9IC0gI3skY2hlY2tvdXRfbWFpbi1jb2x1bW4tYW5kLXNpZGViYXItZ2FwfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgJGNoZWNrb3V0X21haW4tY29sdW1uLWFuZC1zaWRlYmFyLWdhcDtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkY2hlY2tvdXRfbmV4dC1idXR0b24tb3V0c2lkZSA9PSB0cnVlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXItaW5uZXIge1xuICAgICAgICBAaWYgKCRjaGVja291dF9uZXh0LWJ1dHRvbi1vdXRzaWRlID09IHRydWUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkY2hlY2tvdXRfc3RlcHMtc3BhY2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNoZWNrb3V0X2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGNoZWNrb3V0X2JveGVzLWJveC1zaGFkb3c7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGNoZWNrb3V0X2JveGVzLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb250YWluZXIgZm9yIG5leHQgc3RlcCBidXR0b25cbiAgICAmX19zaWRlYmFyLWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRjaGVja291dF9uZXh0LWJ1dHRvbi1vdXRzaWRlID09IHRydWUpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRjaGVja291dF9zdGVwcy1zcGFjZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjaGVja291dF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGNoZWNrb3V0X2JveGVzLWJveC1zaGFkb3c7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hlY2tvdXRfYm94ZXMtYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGNoZWNrb3V0X3N0ZXBzLXNwYWNlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQXV0aGVudGljYXRpb25cbiAgICAuZm9ybS1sb2dpbixcbiAgICAuYmxvY2stYXV0aGVudGljYXRpb24ge1xuICAgICAgICAucHJpbWFyeSAuYWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY2hlY2tvdXRfbG9naW4tYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfbG9naW4tYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X2xvZ2luLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRjaGVja291dF9sb2dpbi1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGNoZWNrb3V0X2hlYWRsaW5lcy1mb250LXNpemUpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjaGVja291dF9oZWFkbGluZXMtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNoZWNrb3V0X2hlYWRsaW5lcy1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkY2hlY2tvdXRfaGVhZGxpbmVzLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24ucmVtaW5kLFxuICAgIC5hY3Rpb24tcmVtaW5kIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICAgICAgICBmb250LXNpemU6ICRjaGVja291dF9mb3JtLW5vdGVzLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAuZm9ybS1sb2dpbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyBTaGlwcGluZ1xuXG4gICAgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNoZWNrb3V0X2VsZW1lbnRzLWJvcmRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbC1tZXRob2Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJhZGlvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hpcC10byxcbiAgICAuc2hpcC12aWEge1xuICAgICAgICBib3JkZXItdG9wOiAkY2hlY2tvdXRfZWxlbWVudHMtYm9yZGVyO1xuICAgIH1cblxuICAgIC5zaGlwLXRvIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgIH1cblxuICAgIC5zaGlwcGluZy1pbmZvcm1hdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICB9XG5cbiAgICAuc2hpcHBpbmctaW5mb3JtYXRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgfVxuXG4gICAgLnNoaXBwaW5nLWluZm9ybWF0aW9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwYWRkaW5nOiAkY2hlY2tvdXRfYmFzZS1zcGFjZSAkY2hlY2tvdXRfYmFzZS1zcGFjZSAwO1xuXG4gICAgICAgIGJ1dHRvbi5hY3Rpb24uYWN0aW9uLWVkaXQge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1ldGhvZHMtc2hpcHBpbmcge1xuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtICN7JGNoZWNrb3V0X2Jhc2Utc3BhY2V9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyRjaGVja291dF9iYXNlLXNwYWNlfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLXNob3ctcG9wdXAge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICR0eXBlOiAkY2hlY2tvdXRfc2hvdy1wb3B1cC1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3Nob3ctcG9wdXAtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgICNkaGwtcGFja3N0YXRpb24uc2VsZWN0ZWQtcGFja3N0YXRpb24gfiAjc2hpcHBpbmcge1xuICAgICAgICAvLyBGaXg6IERITCBwYWNrc3RhdGlvbiBzdHlsZXMgaGlkZSBzaGlwcGluZyBzdGVwICgjc2hpcHBpbmcpLCBidXQgY29udGVudCBpbnNpZGUgaXMgc3RpbGwgdmlzaWJsZVxuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAvLyBTaGlwcGluZyBzZWN0aW9uIGZvciBsb2dnZWQgaW4gdXNlclxuXG4gICAgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1hZGRyZXNzLWxpbmssXG4gICAgICAgIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRjaGVja291dF9hZGRyZXNzZXMtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfYWRkcmVzc2VzLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRjaGVja291dF9hZGRyZXNzZXMtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X2FkZHJlc3Nlcy1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2hpcHBpbmctYWRkcmVzcy1pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAkY2hlY2tvdXRfdGV4dHMtZm9udC1zaXplO1xuICAgICAgICBib3JkZXI6ICRjaGVja291dF9lbGVtZW50cy1ib3JkZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAoI3skY2hlY2tvdXRfYmFzZS1zcGFjZX0gLyAyKSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VsZWN0ZWQtaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjaGVja291dF9hY3RpdmUtZWxlbWVudHMtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNoZWNrb3V0X3RleHRzLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVzdGltYXRpb24gYmxvY2tcblxuICAgIC5lc3RpbWF0ZWQtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDAgJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjaGVja291dF9iYXNlLXNwYWNlIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLnNob3djYXJ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY2hlY2tvdXRfc2hvdy1jYXJ0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3Nob3ctY2FydC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X3Nob3ctY2FydC1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfc2hvdy1jYXJ0LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuY291bnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY291bnRlci1udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvdW50ZXItbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvdW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXIoKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgICAgIGZpbGwgJGJ1dHRvbl9hbmltYXRpb24tdGltZSwgY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC4xNWVtO1xuICAgICAgICAgICAgdG9wOiAtMC4xNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvdW50ZXItbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3NwYW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pY2FydC13cmFwcGVyLFxuICAgICAgICAubWluaWNhcnQtd3JhcHBlciAuc2hvd2NhcnQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCaWxsaW5nXG5cbiAgICAuZmllbGQtc2VsZWN0LWJpbGxpbmcge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJpbGxpbmctYWRkcmVzcy1zYW1lLWFzLXNoaXBwaW5nLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNoZWNrb3V0X3RleHRzLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3goKTtcblxuICAgICAgICAgICAgbWFyZ2luOiAwLjJyZW0gMC4zcmVtIDAuM3JlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJpbGxpbmctYWRkcmVzcy1kZXRhaWxzIHtcbiAgICAgICAgLmFjdGlvbi1lZGl0LWFkZHJlc3Mge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCR0eXBlOiBkZWZhdWx0LCAkaWNvbl9wb3M6ICduby1pY29uJyk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIDAgMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja291dC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLmFjdGlvbi5hY3Rpb24tdXBkYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24tZWRpdC1hZGRyZXNzLFxuICAgIC5hY3Rpb24tdXBkYXRlLFxuICAgIC5hY3Rpb24tY2FuY2VsIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAkdHlwZTogJGNoZWNrb3V0X2JpbGxpbmctYWRkcmVzcy1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X2JpbGxpbmctYWRkcmVzcy1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1jYW5jZWwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWVkaXQtYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgIH1cblxuICAgIC5wYXltZW50LmNjYXJkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgfVxuXG4gICAgLy8gQWdyZWVtZW50c1xuXG4gICAgJl9fYWdyZWVtZW50cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja291dC1hZ3JlZW1lbnRzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjaGVja291dF9iYXNlLXNwYWNlIDAgMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRjaGVja291dF9wbGFjZS1vcmRlci1ib3JkZXItYm90dG9tO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGNoZWNrb3V0X2Jhc2Utc3BhY2UgJGNoZWNrb3V0X2Jhc2Utc3BhY2UgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jaGVja291dC1hZ3JlZW1lbnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEuNmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC5fc2hvdyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdW1tYXJ5IChzaWRlYmFyIG9uIGRlc2t0b3AgYW5kIHRhYmxldHMpXG5cbiAgICAub3BjLWJsb2NrLXN1bW1hcnkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5hY3Rpb24uY2hlY2tvdXQsXG4gICAgICAgIC5pdGVtcy1pbi1jYXJ0LFxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaWRlYmFyIGhlYWRsaW5lXG4gICAgICAgICYgPiAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkY2hlY2tvdXRfaGVhZGxpbmVzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNoZWNrb3V0X2hlYWRsaW5lcy10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY2hlY2tvdXRfaGVhZGxpbmVzLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRjaGVja291dF9oZWFkbGluZXMtY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRpc2NvdW50IHtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kaXNjb3VudC5jb3Vwb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hdy1naWZ0Y2FyZC10b3RhbHMge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1zLWluLWNhcnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoI3skY2hlY2tvdXRfYmFzZS1zcGFjZX0gLSAycHgpO1xuICAgICAgICAgICAgcmlnaHQ6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHN0cm9uZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTByZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaWNhcnQtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC50YWJsZS10b3RhbHMge1xuICAgICAgICAudGFibGUtY2FwdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS12aXNpYmxlKCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkY2hlY2tvdXRfaGVhZGxpbmVzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjaGVja291dF9oZWFkbGluZXMtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjaGVja291dF9oZWFkbGluZXMtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjaGVja291dF9oZWFkbGluZXMtY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRjaGVja291dF90ZXh0cy1mb250LXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyYW5kIHtcbiAgICAgICAgICAgIHRoLFxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1lZGl0LFxuICAgIC5hY3Rpb24udmlld2NhcnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJGNoZWNrb3V0X2FjdGl2ZS1lbGVtZW50cy1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2VkaXRfY29sb3Iuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk5JSBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS43cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGNoZWNrb3V0X3RleHRzLWZvbnQtc2l6ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi5kZWxldGUsXG4gICAgLnRvdGFscy5naWZ0Y2FyZCAuYWN0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9jbG9zZS5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7XG4gICAgfVxuXG4gICAgLnJld2FyZC1wb2ludHMtYnV0dG9ucy1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgICAgLy8gRG8gbm90IGFwcGx5IGJ1dHRvbiBzcGFuIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBzcGFuIGluc2lkZSByZXdhcmQgcG9pbnRzIGJ1dHRvblxuICAgICAgICBzcGFuIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LWl0ZW1zIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZSBpbnNpZGUgbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRjaGVja291dF9lbGVtZW50cy1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pdGVtLWlubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRjaGVja291dF90ZXh0cy1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1uYW1lLWJsb2NrIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZS1ibG9jayB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWxzLXF0eSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0b3RhbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjNyZW07XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNb2RhbFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFibGUtdG90YWxzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbXMtaW4tY2FydCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAvLyBTdW1tYXJ5IGFtb3VudCBvZiBwcm9kdWN0IChtYWdlbnRvIG1hcmt1cClcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBheW1lbnRzXG4gICAgLnBheW1lbnRzIHtcbiAgICAgICAgLmxlZ2VuZCxcbiAgICAgICAgLmZpZWxkc2V0ID4gaHIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNyZWNhcHRjaGEtY2hlY2tvdXQtcGxhY2Utb3JkZXItd3JhcHBlciB7XG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgLmFjdGlvbi5jaGVja291dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXltZW50LW1ldGhvZC10aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkY2hlY2tvdXRfZWxlbWVudHMtYm9yZGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMS41cmVtIDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDRyZW0gMi41cmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdiYW5rdHJhbnNmZXInXSxcbiAgICAgICAgICAgICAgICAmW2Zvcj0ncGF5b25lX2FkdmFuY2VfcGF5bWVudCddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9iYW5rX3RyYW5zZmVyLnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdiYXJ6aGFsZW4nXSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLWJhcnpoYWxlbi5wbmcnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2Zvcj0nYmlsbHNhZmUnXSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLWJpbGxzYWZlLnBuZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdjcmVkaXRjYXJkJ10sXG4gICAgICAgICAgICAgICAgJltmb3I9J3BheW9uZV9jcmVkaXRjYXJkJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL2NyZWRpdGNhcmQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J2Nhc2hvbmRlbGl2ZXJ5J10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL29uX2RlbGl2ZXJ5LnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdjaGVja21vJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL21vbmV5X29yZGVyLnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdnaXJvcGF5J10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL2dpcm9wYXkuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J2lkZWFsJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW1lbnQtbG9nby1pZGVhbC5qcGcnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2Zvcj0ncGF5b25lX29idF9pZGVhbCddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXlvbmVfb2J0X2lkZWFsLnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdpbnZvaWNlJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL2ludm9pY2Uuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J2VwcyddLFxuICAgICAgICAgICAgICAgICZbZm9yPSdwYXlvbmVfb2J0X2VwcyddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXltZW50LWxvZ28tZXBzLmpwZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdsYXN0c2NocmlmdCddLFxuICAgICAgICAgICAgICAgICZbZm9yPSdwYXlvbmVfZGViaXQnXSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvbGFzdHNjaHJpZnQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J3BheW9uZV9pbnZvaWNlJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL2ludm9pY2Uuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J3BheW9uZV9jcmVkaXRjYXJkJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL2NyZWRpdGNhcmQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J3BheWRpcmVrdCddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXlkaXJla3Quc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J3BheW9sdXRpb24nXSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLXBheW9sdXRpb24ucG5nJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J3BheWVuZ2luZWN3X2NyZWRpdGNhcmQnXSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvY3JlZGl0Y2FyZC5zdmcnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2Zvcio9J3BheXBhbCddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXlwYWwuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltmb3I9J3BheWVuZ2luZWN3X3Bvc3RmaW5hbmNlY2FyZCddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9wYXltZW50LWxvZ28tcG9zdGZpbmFuY2UtY2FyZC5wbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEuN3JlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2Zvcj0ncG9zdGZpbmFuY2UnXSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL3BheW1lbnQtbG9nb3MvcGF5bWVudC1sb2dvLXBvc3RmaW5hbmNlLmpwZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdwb3N0ZmluYW5jZS1jYXJkJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW1lbnQtbG9nby1wb3N0ZmluYW5jZS1jYXJkLnBuZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdwcnplbGV3eTI0J10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW1lbnQtbG9nby1wcnplbGV3eTI0LnBuZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdwYXlwYWwtYWdyZWVtZW50J10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3BheW1lbnQtbG9nby1wYXlwYWwtYWdyZWVtZW50LnBuZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdwdXJjaGFzZW9yZGVyJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3B1cmNoYXNlX29yZGVyLnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSdwYXlvbmVfb2J0X3NvZm9ydHVlYmVyd2Vpc3VuZyddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGF5bWVudC1sb2dvcy9rbGFybmFfYmFja2dyb3VuZF9sb2dvLnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yPSd0d2ludGN3X3R3aW50J10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL3R3aW50LnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQuNXJlbSAzcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZm9yKj0na2xhcm5hJ10ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9wYXltZW50LWxvZ29zL2tsYXJuYV9iYWNrZ3JvdW5kX2xvZ28uc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheW1lbnQtbWV0aG9kLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIC5wYXltZW50LW1ldGhvZC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJpbGxpbmctYWRkcmVzcy1kZXRhaWxzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucGF5bWVudC1tZXRob2QtY29udGVudCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcblxuICAgICAgICAgICAgLnBheW9sdXRpb25fb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5fYWN0aXZlIC5wYXltZW50LW1ldGhvZC1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTByZW07XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICB3aWR0aDogMjNyZW07XG4gICAgICAgICAgICBtYXJnaW46ICRjaGVja291dF9iYXNlLXNwYWNlIDAgJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNjb3VudHMgYXJlYSBzdHlsaW5nXG5cbiAgICAub3BjLXBheW1lbnQtYWRkaXRpb25hbCArIC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgfVxuXG4gICAgLm9wYy1wYXltZW50LWFkZGl0aW9uYWw6bm90KC5yZXdhcmRwb2ludHMpIHtcbiAgICAgICAgLnBheW1lbnQtb3B0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICdhcnJvdycsXG4gICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICdkb3duJyxcbiAgICAgICAgICAgICAgICAkYXJyb3ctYWN0aXZlOiAndXAnLFxuICAgICAgICAgICAgICAgICR3aWR0aDogMC43cmVtLFxuICAgICAgICAgICAgICAgICRoZWlnaHQ6IDFweCxcbiAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAwLjVyZW0sXG4gICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tdG9nZ2xlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNoZWNrb3V0X3RleHRzLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtb3B0aW9uLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICB9XG5cbiAgICAuYXctZ2lmdGNhcmQtY29kZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwucmV3YXJkcG9pbnRzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICAgICAgLnBheW1lbnQtb3B0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGNoZWNrb3V0X2hlYWRsaW5lcy1mb250LXNpemUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBheW1lbnQtb3B0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXltZW50LW9wdGlvbi1pbm5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3R5bGUgcGF5bWVudCBtZXRob2RzIHRoYXQgYXJlIGdlbmVyYXRlZCBmcm9tIHBocCBzY3JpcHRzXG5cbi5jdXN0b213ZWItcGF5ZW5naW5lY3ctcGF5bWVudC1mb3JtIHtcbiAgICAubGFiZWwge1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvbnRyb2w6bm90KC5zZWxlY3QtZmllbGQpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5wYXlwYWwuY2hlY2tvdXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICYuYWZ0ZXIsXG4gICAgJi5iZWZvcmUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwLjVyZW0gMC4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGF5cGFsLXJldmlldyB7XG4gICAgLml0ZW1zLXF0eSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZSBub25lO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNoZWNrb3V0X2VsZW1lbnRzLWJvcmRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgIC5ib3gtb3JkZXItc2hpcHBpbmctYWRkcmVzcyxcbiAgICAgICAgICAgIC5ib3gtb3JkZXItc2hpcHBpbmctbWV0aG9kLFxuICAgICAgICAgICAgLmJveC1vcmRlci1zaGlwcGluZy1tZXRob2QgKyAuYm94LW9yZGVyLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ib3gtb3JkZXItc2hpcHBpbmctYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzQlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wuc3VidG90YWwsXG4gICAgICAgIC5tYXJrLFxuICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5pdGVtLW9wdGlvbnMge1xuICAgICAgICBkdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpbWFyeSB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X3BheXBhbC1wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3BheXBhbC1wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkY2hlY2tvdXRfcGF5cGFsLXByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3BheXBhbC1wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeSB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X3BheXBhbC1zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfcGF5cGFsLXNlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X3BheXBhbC1zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGNoZWNrb3V0X3BheXBhbC1zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNoZWNrb3V0X2VsZW1lbnRzLWJvcmRlcjtcbiAgICBtYXJnaW46IDJyZW0gMDtcblxuICAgIC5ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgPiAudGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaGVja291dF9lbGVtZW50cy1ib3JkZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAzcmVtIDAuN3JlbSAwLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMCAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL0FtYXpvbiBQYXkgLSBwYXltZW50IG1ldGhvZFxuXG4vL1N0eWxlIEFtYXpvbiB3aWRnZXQgd3JhcHBlciBmb3IgaWZyYW1lLyBhbmQgaWZyYW1lIGVsZW1lbnRcblxuLmFtYXpvbi13aWRnZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yNyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmFtYXpvbi1wYXltZW50LW1ldGhvZCB7XG4gICAgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQsXG4gICAgLnBheW1lbnQtbWV0aG9kLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbi8vICBTdHlsZXMgZm9yIHN0b3JlIHBpY2t1cFxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuI3N0b3JlLXNlbGVjdG9yIHtcbiAgICBib3gtc2hhZG93OiAkY2hlY2tvdXRfYm94ZXMtYm94LXNoYWRvdztcblxuICAgIC5mb3JtLWxvZ2luIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tY29udGludWUge1xuICAgICAgICBtYXJnaW46IDJyZW0gMCAwO1xuXG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgJi5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYnV0dG9uXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0ZXAtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwIDAgI3skY2hlY2tvdXRfYmFzZS1zcGFjZSAvIDJ9O1xuXG4gICAgICAgIC5mb3JtLWxvZ2luIH4gJiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGNoZWNrb3V0X2Jhc2Utc3BhY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tbmFtZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLWxvY2F0aW9uLW5hbWUtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRjaGVja291dF9zdG9yZS1waWNrdXAtc2VsZWN0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlbGVjdC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWxlY3QtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlbGVjdC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNb2RhbCBjb250ZW50XG4uc3RvcmUtc2VsZWN0b3ItcG9wdXAge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2hlY2tvdXRfYmFzZS1zcGFjZTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjaGVja291dF9iYXNlLXNwYWNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuXG4jb3BjLXN0b3JlLXNlbGVjdG9yLXBvcHVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLmJsb2NrLXNlYXJjaCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2hlY2tvdXRfZWxlbWVudHMtYm9yZGVyO1xuICAgIH1cblxuICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRjaGVja291dF9zdG9yZS1waWNrdXAtc2VhcmNoLW1vZGFsLWNsb3NlLWJ1dHRvbi1iYWNrZ3JvdW5kLXNpemU7XG4gICAgfVxuXG4gICAgLnN0b3JlLXNlbGVjdG9yLXNlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaC1tYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IDAgMCAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaC1wYWRkaW5nLWJvdHRvbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2gtYm9yZGVyLWJvdHRvbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAubGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2hfYnV0dG9uLXdpZHRofSArIDFlbVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMjIwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMCUgLSAjeyRjaGVja291dF9zdG9yZS1waWNrdXAtc2VhcmNoLXBhZGRpbmctYm90dG9tfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2hfYnV0dG9uLWJhY2tncm91bmQtaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgbm8tcmVwZWF0IDYwJSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaF9idXR0b24tYmFja2dyb3VuZC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2hfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAnb25seS1pY29uJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHdpZHRoOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaF9idXR0b24td2lkdGg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlYXJjaF9idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJGNoZWNrb3V0X3N0b3JlLXBpY2t1cC1zZWFyY2hfYnV0dG9uLXRyYW5zZm9ybTtcblxuICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLXNlbGVjdG9yLXBvcHVwLXRhYmxlIHRib2R5IHtcbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS4ycmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRjaGVja291dF9zdG9yZS1waWNrdXAtbG9jYXRpb24tbmFtZS1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRjaGVja291dF9zdG9yZS1waWNrdXAtc2VsZWN0LWxvY2F0aW9uX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb24tcG9zOiAnbm8taWNvbidcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkY2hlY2tvdXRfc3RvcmUtcGlja3VwLXNlbGVjdC1sb2NhdGlvbl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbi1wb3M6ICduby1pY29uJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tc2VsZWN0ZWQgLmFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRjaGVja291dF9zdG9yZS1waWNrdXAtc2VsZWN0ZWQtbG9jYXRpb25fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbi1wb3M6ICduby1pY29uJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRjaGVja291dF9zdG9yZS1waWNrdXAtc2VsZWN0ZWQtbG9jYXRpb25fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb24tcG9zOiAnbm8taWNvbidcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdHlsZSBiZWxvdyBhcmUgbW92ZWQgZnJvbSBtb2R1bGUtaW52ZW50b3J5LWluLXN0b3JlLXBpY2t1cCBpbiBvcmRlciB0byBhdm9pZCBpbmNsdWRpbmcgdGhlbSBpbiBldmVyeSBlbnRyeVxuI3N0b3JlLXBpY2t1cCB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJi5zZWxlY3RlZC1zaGlwcGluZyB7XG4gICAgICAgIH4gI3N0b3JlLXNlbGVjdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkLXN0b3JlLXBpY2t1cCB7XG4gICAgICAgIH4gI3NoaXBwaW5nLFxuICAgICAgICB+ICNvcGMtc2hpcHBpbmdfbWV0aG9kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jZGVsaXZlcnktbWV0aG9kLXNlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmFjdGlvbiB7XG4gICAgICAgIC8vIEJVVFRPTlxuXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgLy8gQlVUVE9OIHNlbGVjdGVkXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZyB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAuYWN0aW9uLXNlbGVjdC1zdG9yZS1waWNrdXAge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG59XG5cbi5sb2NhdGlvbi1kZXRhaWxzIHtcbiAgICAubG9jYXRpb24tbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICAgICNvcGMtc3RvcmUtc2VsZWN0b3ItcG9wdXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5zdG9yZS1zZWxlY3Rvci1wb3B1cC10YWJsZSB7XG4gICAgdGhlYWQge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgICAubG9jYXRpb24ge1xuICAgICAgICAgICAgLmxvY2F0aW9uLW5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICArIC5sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaGVja291dF9lbGVtZW50cy1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLWxvY2F0aW9uLWRldGFpbHMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtbG9jYXRpb24tYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RvcmUtc2VsZWN0b3ItcG9wdXAtZW1wdHktcXVlcnksXG4uc3RvcmUtc2VsZWN0b3ItcG9wdXAtbm8tbG9jYXRpb25zIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtZGlzY291bnQge1xuICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRpc2NvdW50IHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtIDAgMDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICB3aWR0aDogMzByZW07IH0gfVxuICAuY3MtY2FydC1wYWdlIC5jcy1kaXNjb3VudDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY2FydC1wYWdlIC5jcy1kaXNjb3VudDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS41cmVtKTsgfSB9XG4gIC5jcy1kaXNjb3VudC5hdy1naWZ0Y2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jaGVja291dC1pbmRleC1pbmRleCAuY3MtZGlzY291bnQtLWdpZnQge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9IH1cbiAgLmNzLWRpc2NvdW50X19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAxcmVtOyB9XG4gIC5jcy1kaXNjb3VudF9fdGl0bGUsXG4gIC5jcy1kaXNjb3VudCAudGl0bGUge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGlzY291bnRfX3RpdGxlLFxuICAgICAgLmNzLWRpc2NvdW50IC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICAgIC5jcy1kaXNjb3VudFtkYXRhLWNvbGxhcHNpYmxlPSd0cnVlJ10gLmNzLWRpc2NvdW50X190aXRsZSwgLmNzLWRpc2NvdW50W2RhdGEtY29sbGFwc2libGU9J3RydWUnXVxuICAgIC5jcy1kaXNjb3VudCAudGl0bGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmNzLWRpc2NvdW50X190aXRsZS10ZXh0LFxuICAgIC5jcy1kaXNjb3VudCAudGl0bGUtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1kaXNjb3VudF9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgLmNzLWRpc2NvdW50X190cmlnZ2VyLWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjhyZW07XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWRpc2NvdW50X190cmlnZ2VyLWljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjODg4OyB9XG4gICAgLmNzLWRpc2NvdW50LmFjdGl2ZSAuY3MtZGlzY291bnRfX3RyaWdnZXItaWNvbi0tYW5pbWF0aW9uIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gICAgLmNzLWRpc2NvdW50W2RhdGEtY29sbGFwc2libGU9J3RydWUnXSAuY3MtZGlzY291bnRfX3RyaWdnZXItaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb24sXG4ub3BjLXBheW1lbnQtYWRkaXRpb25hbCBidXR0b24uYWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsIGJ1dHRvbi5hY3Rpb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtZGlzY291bnQgYnV0dG9uLmFjdGlvbiwgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb246dmlzaXRlZCxcbiAgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwgYnV0dG9uLmFjdGlvbixcbiAgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwgYnV0dG9uLmFjdGlvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb24gKiwgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb246dmlzaXRlZCAqLFxuICAgIC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsIGJ1dHRvbi5hY3Rpb24gKixcbiAgICAub3BjLXBheW1lbnQtYWRkaXRpb25hbCBidXR0b24uYWN0aW9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGZpbGw6ICMyZDNlNTA7IH1cbiAgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGlzY291bnQgYnV0dG9uLmFjdGlvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1kaXNjb3VudCBidXR0b24uYWN0aW9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gIC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsIGJ1dHRvbi5hY3Rpb246aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAub3BjLXBheW1lbnQtYWRkaXRpb25hbCBidXR0b24uYWN0aW9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwgYnV0dG9uLmFjdGlvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1kaXNjb3VudCBidXR0b24uYWN0aW9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZGlzY291bnQgYnV0dG9uLmFjdGlvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgIC5vcGMtcGF5bWVudC1hZGRpdGlvbmFsIGJ1dHRvbi5hY3Rpb246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwgYnV0dG9uLmFjdGlvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAub3BjLXBheW1lbnQtYWRkaXRpb25hbCBidXR0b24uYWN0aW9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb25bZGlzYWJsZWRdLFxuICAub3BjLXBheW1lbnQtYWRkaXRpb25hbCBidXR0b24uYWN0aW9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb24gc3BhbixcbiAgLm9wYy1wYXltZW50LWFkZGl0aW9uYWwgYnV0dG9uLmFjdGlvbiBzcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLmNzLWRpc2NvdW50IGJ1dHRvbi5hY3Rpb24gc3ZnLFxuICAub3BjLXBheW1lbnQtYWRkaXRpb25hbCBidXR0b24uYWN0aW9uIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGRpc2NvdW50X3RpdGxlLXRleHQ6ICRjb2xvcl9kb3ZlLWdyYXkgIWRlZmF1bHQ7XG4kZGlzY291bnRfY29udGVudC10ZXh0OiAkY29sb3JfZG92ZS1ncmF5ICFkZWZhdWx0O1xuJGRpc2NvdW50X2JvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfYWx0byAhZGVmYXVsdDtcbiRkaXNjb3VudF90aXRsZS1pY29uLWNvbG9yOiAkY29sb3JfZ3JheSAhZGVmYXVsdDtcblxuJGRpc2NvdW50X2J1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRkaXNjb3VudF9idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuLiN7JG5zfWRpc2NvdW50IHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMDtcbiAgICBib3JkZXItdG9wOiAkZGlzY291bnRfYm9yZGVyLXRvcDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDJyZW0gMCAwO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB3aWR0aDogMzByZW07XG4gICAgfVxuXG4gICAgLiN7JG5zfWNhcnQtcGFnZSAmOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjVyZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hdy1naWZ0Y2FyZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0tZ2lmdCB7XG4gICAgICAgIC5jaGVja291dC1pbmRleC1pbmRleCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMCAxcmVtO1xuICAgIH1cblxuICAgICZfX3RpdGxlLFxuICAgIC50aXRsZSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9W2RhdGEtY29sbGFwc2libGU9J3RydWUnXSAmIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkZGlzY291bnRfdGl0bGUtdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgY29sb3I6ICRkaXNjb3VudF9jb250ZW50LXRleHQ7XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlci1pY29uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGRpc2NvdW50X3RpdGxlLWljb24tY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hbmltYXRpb24ge1xuICAgICAgICAgICAgI3skcm9vdH0uYWN0aXZlICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1bZGF0YS1jb2xsYXBzaWJsZT0ndHJ1ZSddICYge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9ZGlzY291bnQsXG4ub3BjLXBheW1lbnQtYWRkaXRpb25hbCB7XG4gICAgYnV0dG9uLmFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkZGlzY291bnRfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRkaXNjb3VudF9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRkaXNjb3VudF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRkaXNjb3VudF9idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRkaXNjb3VudF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRkaXNjb3VudF9idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLXByb2dyZXNzLWJhciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogcHJvZ3Jlc3MtYmFyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMjBweCBhdXRvOyB9XG4gIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0ge1xuICAgIHdpZHRoOiAxOHJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLXByb2dyZXNzLWJhcl9faXRlbTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuOXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW06Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAuY3MtcHJvZ3Jlc3MtYmFyX19pdGVtOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0uX2FjdGl2ZTphZnRlciwgLmNzLXByb2dyZXNzLWJhcl9faXRlbS5fY29tcGxldGU6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfVxuICAgIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0uX2FjdGl2ZSAuY3MtcHJvZ3Jlc3MtYmFyX19pbmRpY2F0b3Itd3JhcHBlciwgLmNzLXByb2dyZXNzLWJhcl9faXRlbS5fY29tcGxldGUgLmNzLXByb2dyZXNzLWJhcl9faW5kaWNhdG9yLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfVxuICAgIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0uX2NvbXBsZXRlIC5jcy1wcm9ncmVzcy1iYXJfX2luZGljYXRvcjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NoZWNrLnN2Z1wiKTtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDJyZW07IH1cbiAgICAgIC5pZTExIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0uX2NvbXBsZXRlIC5jcy1wcm9ncmVzcy1iYXJfX2luZGljYXRvcjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcHJvZ3Jlc3MtYmFyX19pdGVtOmhvdmVyIC5jcy1wcm9ncmVzcy1iYXJfX2luZGljYXRvci13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfVxuICAgICAgICAuY3MtcHJvZ3Jlc3MtYmFyX19pdGVtOmhvdmVyIC5jcy1wcm9ncmVzcy1iYXJfX2luZGljYXRvci13cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtcHJvZ3Jlc3MtYmFyX19pdGVtOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzJkM2U1MDsgfSB9XG4gIC5jcy1wcm9ncmVzcy1iYXJfX2luZGljYXRvci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDMuM3JlbTtcbiAgICBoZWlnaHQ6IDIuN3JlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLXByb2dyZXNzLWJhcl9faW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgICAuY3MtcHJvZ3Jlc3MtYmFyX19pdGVtLl9hY3RpdmUgLmNzLXByb2dyZXNzLWJhcl9faW5kaWNhdG9yLFxuICAgIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0uX2NvbXBsZXRlIC5jcy1wcm9ncmVzcy1iYXJfX2luZGljYXRvciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jcy1wcm9ncmVzcy1iYXJfX2luZGljYXRvcjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHByb2dyZXNzLWJhcjtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIocHJvZ3Jlc3MtYmFyKTsgfVxuICAuY3MtcHJvZ3Jlc3MtYmFyX19pdGVtLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjNyZW07IH1cbiAgICAuY3MtcHJvZ3Jlc3MtYmFyX19pdGVtLl9hY3RpdmUgLmNzLXByb2dyZXNzLWJhcl9faXRlbS10ZXh0LFxuICAgIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0uX2NvbXBsZXRlIC5jcy1wcm9ncmVzcy1iYXJfX2l0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogIzJkM2U1MDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRwcm9ncmVzcy1iYXJfaXRlbS13aWR0aDogMThyZW0gIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXJfdW5jb21wbGV0ZWQtc3RlcC1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyX2NvbXBsZXRlZC1zdGVwLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuJHByb2dyZXNzLWJhcl9zdGVwLWJhY2tncm91bmQtaG92ZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuXG4vLyBDaGVja21hcmsgb3Igb3RoZXIgc3ltYm9sIGluZGljYXRpbmcgY29tcGxldGVkIHN0ZXBcbiRwcm9ncmVzcy1iYXJfY29tcGxldGVkLXN0ZXAtaW5kaWNhdG9yLWNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2NoZWNrLnN2ZycpICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyX2luZGljYXRvci13aWR0aDogMy4zcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhcl9pbmRpY2F0b3ItaGVpZ2h0OiAyLjdyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyX2luZGljYXRvci1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXJfaW5kaWNhdG9yLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXJfaW5kaWNhdG9yLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyX2luZGljYXRvci1hY3RpdmUtb3ItY29tcGxldGVkLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyX2luZGljYXRvci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyX2Jhci1oZWlnaHQ6IDAuOHJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXJfYmFyLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXJfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhcl9hY3RpdmUtb3ItY29tcGxldGVkLXRleHQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXJfdGV4dC1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfXByb2dyZXNzLWJhciB7XG4gICAgJHJvb3Q6ICY7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIGNvdW50ZXItcmVzZXQ6IHByb2dyZXNzLWJhcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOjEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICBtYXJnaW46MjBweCBhdXRvO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAkcHJvZ3Jlc3MtYmFyX2l0ZW0td2lkdGg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtYmFyX2Jhci1oZWlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFyX3VuY29tcGxldGVkLXN0ZXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMC45cmVtO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcHJvZ3Jlc3MtYmFyX2Jhci1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRwcm9ncmVzcy1iYXJfYmFyLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRwcm9ncmVzcy1iYXJfYmFyLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRwcm9ncmVzcy1iYXJfYmFyLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLl9hY3RpdmUsXG4gICAgICAgICYuX2NvbXBsZXRlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYXJfY29tcGxldGVkLXN0ZXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2luZGljYXRvci13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFyX2NvbXBsZXRlZC1zdGVwLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLl9jb21wbGV0ZSB7XG4gICAgICAgICAgICAjeyRyb290fV9faW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRwcm9ncmVzcy1iYXJfY29tcGxldGVkLXN0ZXAtaW5kaWNhdG9yLWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19pbmRpY2F0b3Itd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYXJfc3RlcC1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhcl9zdGVwLWJhY2tncm91bmQtaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhcl9zdGVwLWJhY2tncm91bmQtaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5kaWNhdG9yLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6ICRwcm9ncmVzcy1iYXJfaW5kaWNhdG9yLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRwcm9ncmVzcy1iYXJfaW5kaWNhdG9yLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhcl91bmNvbXBsZXRlZC1zdGVwLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZ3Jlc3MtYmFyX2luZGljYXRvci1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZ3Jlc3MtYmFyX2luZGljYXRvci1mb250LXNpemU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLWJhcl9pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICZfX2luZGljYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRwcm9ncmVzcy1iYXJfaW5kaWNhdG9yLWNvbG9yO1xuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLl9hY3RpdmUgJixcbiAgICAgICAgI3skcm9vdH1fX2l0ZW0uX2NvbXBsZXRlICYge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogcHJvZ3Jlc3MtYmFyO1xuICAgICAgICAgICAgY29udGVudDogY291bnRlcihwcm9ncmVzcy1iYXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRwcm9ncmVzcy1iYXJfdGV4dC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZ3Jlc3MtYmFyX3RleHQtZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjNyZW07XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0uX2FjdGl2ZSAmLFxuICAgICAgICAjeyRyb290fV9faXRlbS5fY29tcGxldGUgJiB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2dyZXNzLWJhcl9hY3RpdmUtb3ItY29tcGxldGVkLXRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy10YWJzIHtcbiAgYm94LXNoYWRvdzogMXB4IDNweCAzcmVtIDAgcmdiYSgzMywgMzMsIDMzLCAwLjI4KTsgfVxuICAuY3MtdGFicy0tc3RvcmUtcGlja3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXRhYnMtLXN0b3JlLXBpY2t1cDphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgY29udGVudDogJyc7IH0gfVxuICAuY3MtdGFicy0tYmFyIHtcbiAgICBtYXJnaW46IDAgMCAwIC0xLjVyZW07XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuY3MtdGFic19fdHJpZ2dlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190cmlnZ2VycyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAjc3RvcmUtcGlja3VwIH4gI3NoaXBwaW5nIC5jcy10YWJzX190cmlnZ2VycyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy10YWJzX190aXRsZSB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCAwICM2OTY5Njk7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgcGFkZGluZy10b3A6IDAuMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMnJlbTsgfVxuICAgIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluayB7XG4gICAgICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazp2aXNpdGVkLCAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAgIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOnZpc2l0ZWQsIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOmhvdmVyLCAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMmQzZTUwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOnZpc2l0ZWQsIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6aG92ZXIsIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMmQzZTUwOyB9XG4gICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlOm5vdCguY3MtdGFic19fdGl0bGUtLWFjdGl2ZSk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkOyB9XG4gICAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDsgfVxuICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IH1cbiAgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgIGNvbG9yOiAjODg4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogNHJlbTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgcGFkZGluZzogMC4xcmVtIDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiAwLjFyZW0gMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy10YWJzX190aXRsZS1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1LjVyZW07XG4gICAgICAgIGhlaWdodDogNS41cmVtOyB9IH1cbiAgICAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciwgLmNzLXRhYnNfX3RpdGxlLWxpbms6YWN0aXZlLCAuY3MtdGFic19fdGl0bGUtbGluazpmb2N1cywgLmNzLXRhYnNfX3RpdGxlLWxpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy10YWJzX190aXRsZS1saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtIDEuNXJlbTsgfSB9XG4gICAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS1saW5rOmhvdmVyLCAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS1saW5rOmFjdGl2ZSwgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtbGluazpmb2N1cywgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtbGluazp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICMyZDNlNTA7IH1cbiAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtc3Bhbjpub3QoOmVtcHR5KTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS1zcGFuOm5vdCg6ZW1wdHkpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnKSc7IH1cbiAgLmNzLXRhYnNfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDJyZW07IH1cblxuI3N0b3JlLXBpY2t1cCB+ICNzaGlwcGluZyAjdGFiLWN1c3RvbWVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kdGFic19ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJHRhYnNfaW5zZXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCAwICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiR0YWJzX2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHRhYnNfdGFiLXRpdGxlLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiR0YWJzX3RhYi10aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHRhYnNfdGFiLXRpdGxlLWZvbnQtc2l6ZTogMS44cmVtICFkZWZhdWx0O1xuJHRhYnNfdGFiLXRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU6IDEuMnJlbSAhZGVmYXVsdDtcbiR0YWJzX3RhYi1hY3RpdmUtdGl0bGUtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhaW1wb3J0YW50ICFkZWZhdWx0O1xuJHRhYnNfdGFiLXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kdGFic190YWItYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJHRhYnNfY29udGVudC1wYWRkaW5nOiAycmVtICFkZWZhdWx0O1xuXG4kdGFic19oZWlnaHQ6IDUuNXJlbSAhZGVmYXVsdDtcbiR0YWJzX2hlaWdodC1tb2JpbGU6IDRyZW0gIWRlZmF1bHQ7XG5cbiR0YWJzLS1iYXJfbWFyZ2luOiAwIDAgMCAtI3skcGFnZV9lZGdlLWd1dHRlcn0gIWRlZmF1bHQ7XG4kdGFicy0tYmFyX3BhZGRpbmc6IDAgJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHRhYnMtLWJhcl90YWItdGl0bGUtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiR0YWJzLS1iYXJfdGFiLXRpdGxlLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHRhYnMtLWJhcl90YWItYm9yZGVyLXRvcC1yYWRpdXM6IDVweCAhZGVmYXVsdDtcblxuLiN7JG5zfXRhYnMge1xuICAgICRyb290OiAmO1xuICAgIGJveC1zaGFkb3c6ICR0YWJzX2JveC1zaGFkb3c7XG5cbiAgICAmLS1zdG9yZS1waWNrdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGlmICR0YWJzX2JveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICR0YWJzX2JveC1zaGFkb3c7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1iYXIge1xuICAgICAgICBtYXJnaW46ICR0YWJzLS1iYXJfbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAkdGFicy0tYmFyX3BhZGRpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJzX2JvcmRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmX190cmlnZ2VycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAjeyRyb290fS0tYmFyICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3N0b3JlLXBpY2t1cCB+ICNzaGlwcGluZyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHRhYnNfdGFiLXRpdGxlLWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICR0YWJzX2luc2V0LWJveC1zaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjJyZW07XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWJzX3RhYi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fdGl0bGUtbGluayB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFic190YWItYWN0aXZlLXRpdGxlLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLS1iYXJfdGFiLXRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFic190YWItYWN0aXZlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLS1iYXJfdGFiLXRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRhYnNfdGFiLWFjdGl2ZS10aXRsZS1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAjeyRyb290fS0tYmFyICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLS1iYXJfdGFiLXRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWJhciAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyOiAkdGFic19ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIsIGNvbG9yIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX3RpdGxlLS1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCR0YWJzX3RhYi10aXRsZS1iYWNrZ3JvdW5kLCA1JSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHRhYnMtLWJhcl90YWItYm9yZGVyLXRvcC1yYWRpdXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0YWJzLS1iYXJfdGFiLWJvcmRlci10b3AtcmFkaXVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUtbGluayB7XG4gICAgICAgIGNvbG9yOiAkdGFic190YWItdGl0bGUtY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICR0YWJzX2hlaWdodC1tb2JpbGU7XG4gICAgICAgIGhlaWdodDogJHRhYnNfaGVpZ2h0LW1vYmlsZTtcbiAgICAgICAgcGFkZGluZzogMC4xcmVtIDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFic190YWItdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYnNfdGFiLXRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgcGFkZGluZzogMC4xcmVtICR0YWJzX2NvbnRlbnQtcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnNfdGFiLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdGFic19oZWlnaHQ7XG4gICAgICAgICAgICBoZWlnaHQ6ICR0YWJzX2hlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICR0YWJzX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWJhciAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdGFicy0tYmFyX3RhYi10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMC41cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJzLS1iYXJfdGFiLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRhYnMtLWJhcl90YWItdGl0bGUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZS1zcGFuOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgI3skcm9vdH0tLWJhciAmIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAkdGFic19jb250ZW50LXBhZGRpbmc7XG4gICAgfVxufVxuXG4jc3RvcmUtcGlja3VwIH4gI3NoaXBwaW5nICN0YWItY3VzdG9tZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXF0eS1pbmNyZW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY3MtcXR5LWluY3JlbWVudC0td2lzaGxpc3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLXF0eS1pbmNyZW1lbnRfX2xhYmVsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBjb2xvcjogIzJkM2U1MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiAyY2g7XG4gICAgZmxleDogMTtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkM2U1MDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCwgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RjZGNkYzsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dC5tYWdlLWVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0MWYxMiAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQubWFnZS1lcnJvciB+IC5jcy1xdHktaW5jcmVtZW50X19idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6ICNlNDFmMTIgIWltcG9ydGFudDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCArIC5tYWdlLWVycm9yIHtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzO1xuICAgIG1heC13aWR0aDogM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmbGV4OiAxIDEgMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOnZpc2l0ZWQsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246dmlzaXRlZCAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmZvY3VzICoge1xuICAgICAgICBmaWxsOiAjMmQzZTUwOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjpob3ZlciwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDNlNTA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246aG92ZXIgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjphY3RpdmUgKiB7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kZWNyZW1lbnQge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0taW5jcmVtZW50IHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZCwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQ6aG92ZXIsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkOnZpc2l0ZWQsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQ6aG92ZXIgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQ6dmlzaXRlZCAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZDpmb2N1cyAqIHtcbiAgICAgICAgICBmaWxsOiAjZGNkY2RjOyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2ljb24tLWRlY3JlbWVudCB7XG4gICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgaGVpZ2h0OiAwLjNyZW07IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faWNvbi0taW5jcmVtZW50IHtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4kcXR5LWluY3JlbWVudC0taW4td2lzaGxpc3RfaGlkZTogdHJ1ZSAhZGVmYXVsdDtcblxuJHF0eS1pbmNyZW1lbnRfaW5wdXQtZm9udC1zaXplOiBpbmhlcml0ICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaW5wdXQtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWVycm9yLWJvcmRlci1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2lucHV0LS1ob3Zlci1ib3JkZXI6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kcXR5LWluY3JlbWVudF9idXR0b24tcG9zaXRpb24tb2Zmc2V0OiAxcHggIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24td2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1ob3Zlci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWU6IDAuNXMgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tLWRpc2FibGVkLWJhY2tncm91bmQ6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1kaXNhYmxlZC1ib3JkZXI6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tLWRpc2FibGVkLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG5cbiRxdHktaW5jcmVtZW50X2ljb24tZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0taG92ZXItZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGlzYWJsZWQtZmlsbDogJGNvbG9yX2JhY2tncm91bmQtNjAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LXdpZHRoOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtaGVpZ2h0OiAwLjNyZW0gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtd2lkdGg6ICRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC13aWR0aCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC1oZWlnaHQ6ICRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC13aWR0aCAhZGVmYXVsdDtcblxuLiN7JG5zfXF0eS1pbmNyZW1lbnQge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGlmICRxdHktaW5jcmVtZW50LS1pbi13aXNobGlzdF9oaWRlIHtcbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcbiAgICAgICAgZm9udC1zaXplOiAkcXR5LWluY3JlbWVudF9pbnB1dC1mb250LXNpemU7XG4gICAgICAgIHRleHQtYWxpZ246ICRxdHktaW5jcmVtZW50X2lucHV0LXRleHQtYWxpZ247XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDJjaDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgICAgICY6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXR5LWluY3JlbWVudF9pbnB1dC0taG92ZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWVycm9yLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICB+ICN7JHJvb3R9X19idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWVycm9yLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgKyAubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBib3JkZXItY29sb3IgJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgZmlsbCAkcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIG1heC13aWR0aDogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgZmxleDogMSAxICgjeyRxdHktaW5jcmVtZW50X2J1dHRvbi13aWR0aCAtIDF9KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkcXR5LWluY3JlbWVudF9pY29uLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXI6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkcXR5LWluY3JlbWVudF9pY29uLS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGVjcmVtZW50IHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluY3JlbWVudCB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1kaXNhYmxlZC1vcGFjaXR5O1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGlzYWJsZWQtZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAmLS1kZWNyZW1lbnQge1xuICAgICAgICAgICAgd2lkdGg6ICRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluY3JlbWVudCB7XG4gICAgICAgICAgICB3aWR0aDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtZm9ybSwgLmNzLWZvcm1fX2ZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmNzLWZvcm1fX2ZpZWxkICsgLmNzLWZvcm1fX2ZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5jcy1mb3JtLS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uY3MtZm9ybV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpob3ZlciwgLmNzLWZvcm1fX2J1dHRvbjpmb2N1cywgLmNzLWZvcm1fX2J1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNlNTAgIWltcG9ydGFudDsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOmJlZm9yZSwgLmNzLWZvcm1fX2J1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMHB4IDBweCAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICMyZDNlNTAgMCUsICMyZDNlNTAgMTAwJSk7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjphZnRlciB7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbiwgLmNzLWZvcm1fX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkM2U1MDsgfVxuICAgIC5jcy1mb3JtX19idXR0b24gKiwgLmNzLWZvcm1fX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1mb3JtX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZm9ybV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZvcm1fX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAuY3MtZm9ybV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZm9ybV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZm9ybV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG5cbi5jcy1mb3JtX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cblxuLmNzLWZvcm1fX2J1dHRvbi1pY29uIHtcbiAgbWF4LXdpZHRoOiAxZW07XG4gIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICByaWdodDogMWVtOyB9XG5cbi5mb3JtLFxuLmZvcm0gLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmZvcm0gLmZpZWxkICsgLmZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGZvcm1fYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi4jeyRuc31mb3JtIHtcbiAgICAmLFxuICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cblxuLmZvcm0ge1xuICAgICYsXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgKyAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvb2sxNDc1ODAyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ZjA4MWIxMy1lNTcwLTQyNzctOTI4My0wOTFhNmY2Y2FiMDQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNTg4YjNmM2EtYzE5My00OTYyLThlMDEtZDRjYWVmOTBmNThiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9jZGNlZDYzNi00NDg4LTRjMDQtODA5Yy1lNmUxMzc5NjAwZWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgTFQgVzA0IEJvbGQxNDc1ODI2XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8xMmRiYjQ2YS0xYjBiLTQwZWUtODBhNi00MTQxYzM0OWI1NWYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMmFiZDU1ZWYtMDdkMC00NzNlLTgwZTEtMGU0MDY2Y2QwMWZhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi9jNGZhODk4OC00M2QxLTRhMDEtOTZlNC0zNmM1YzVhMTIxYzkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXN0aWNreS1ibG9jayB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3Mtc3RpY2t5LWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHRvcDogMWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3Mtc3RpY2t5LWJsb2NrLS1wZHAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxNXB4IC0gMC41cmVtKTsgfVxuICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLXN0aWNreS1ibG9jay0tcGRwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3Mtc3RpY2t5LWJsb2NrLS1wZHAge1xuICAgICAgdG9wOiAzcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3Mtc3RpY2t5LWJsb2NrLS1wZHAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjMwcHgpIHtcbiAgICAuY3Mtc3RpY2t5LWJsb2NrLS1wZHAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3Mtc3RpY2t5LWJsb2NrLS1uby1tb2JpbGUge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogOC41cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3Mtc3RpY2t5LWJsb2NrLS1uby1tb2JpbGUge1xuICAgICAgdG9wOiAxLjVyZW07IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3ktYmxvY2svbWl4aW4nO1xuXG4uI3skbnN9c3RpY2t5LWJsb2NrIHtcbiAgICBAaW5jbHVkZSBzdGlja3lCbG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJi0tcGRwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxNXB4IC0gMC41cmVtKTtcblxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgdG9wOiAzcmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjMwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICB0b3A6IDguNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB0b3A6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtaXhpbiBzdGlja3lCbG9jaygpIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB0b3A6IDFlbTtcbiAgICB9XG59XG4iLCIvKiogU3R5bGVzIGZvcm0gX3RhYmxlcy5sZXNzIG9mIHRoZW1lIGJsYW5rIGFyZSBtb3ZlZCBoZXJlLlxuICAgKiBGb3Igc29tZSB0YWJsZXMgdGhlcmUgaXMgbW9iaWxlIGxheW91dCBhcHBsaWVkIGFsc28gZm9yIHRhYmxldCByZXNvbHV0aW9uc1xuICAgKiBWYXJpYWJsZXMgZm9yIHR5cG9ncmFweSwgY29sb3JzLCBib3JkZXIgZXRjLiBhcmUgYWRkZWRcbiovXG5cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZS9taXhpbic7XG5cbiR0YWJsZV9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZV9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZV9yb3ctYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kdGFibGVfY29sdW1uLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiR0YWJsZV9ldmVuLXJvdy1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlX2hlYWQtYm9yZGVyLWJvdHRvbTogbm9uZTtcbiR0YWJsZV9oZWFkLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kdGFibGVfaGVhZC1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtNTtcbiR0YWJsZV9oZWFkLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJHRhYmxlX2hlYWRfZm9udC1zaXplLS1tb2JpbGU6IDEuNHJlbSAhZGVmYXVsdDtcbiR0YWJsZV9oZWFkX21vdmUtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuXG4kdGFibGVfaXRlbS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHRhYmxlX2l0ZW0tZm9udC1zaXplOiAkZm9udC1zaXplX3BhcmFncmFwaCAhZGVmYXVsdDtcbiR0YWJsZV9pdGVtLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kdGFibGVfaXRlbS1saW5lLWhlaWdodDogaW5oZXJpdDtcbiR0YWJsZV9pdGVtLXBhZGRpbmc6IDAuOHJlbSAxcmVtICFkZWZhdWx0O1xuJHRhYmxlX2FjdGlvbnMtbGlua3Mtc2VwYXJhdG9yOiAycHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblxuLnRhYmxlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmNhcnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAudGFibGUtd3JhcHBlci5jYXJ0ICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdyb3VwZWQge1xuICAgICAgICB0Ym9keTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFibGUge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZV9ib3JkZXItYm90dG9tO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGVfYmFja2dyb3VuZDtcblxuICAgICYgPiBjYXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgJjpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR0YWJsZV9pdGVtLXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAvL2JvcmRlci1ib3R0b206ICR0YWJsZV9oZWFkLWJvcmRlci1ib3R0b207XG5cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0YWJsZV9oZWFkLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRhYmxlX2hlYWQtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0YWJsZV9oZWFkLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JGZvbnRfZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0YWJsZV9pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRhYmxlX2l0ZW0tY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZV9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJsZV9yb3ctYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkdGFibGVfY29sdW1uLWJvcmRlcjtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAgICAgJi5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGVfcm93LWJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEgKyBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC43cmVtIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkdGFibGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZV9hY3Rpb25zLWxpbmtzLXNlcGFyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgICAgICAgICAgLmFjY291bnQgJiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZV9ldmVuLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRmb290IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlX2l0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2FsbGVyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1hcmsge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheDpiZWZvcmUsIFxuICAgICAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlLCBcbiAgICAgICAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4OmJlZm9yZSwgXG4gICAgICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2UsXG4gICAgICAgIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsIFxuICAgICAgICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlLCBcbiAgICAgICAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4OmJlZm9yZSwgXG4gICAgICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgLml0ZW1zLXF0eSxcbiAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZV9pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICR0YWJsZV9pdGVtLWxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAuYm94LXRvY2FydCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG59XG5cbi8vICBNb2JpbGUgbGF5b3V0XG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAudGFibGUtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dCgpO1xuXG4gICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgICAmOm5vdCguY29tcGFyaXNvbikge1xuICAgICAgICAgICAgICAgICY6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtbW9iaWxlLWxheW91dChcbiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkX2NvbG9yOiAkdGFibGVfaGVhZC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkX21vdmUtb24tbW9iaWxlOiAkdGFibGVfaGVhZF9tb3ZlLW9uLW1vYmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlOiAkdGFibGVfaGVhZF9mb250LXNpemUtLW1vYmlsZVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGQucXR5OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkLmNhcnQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHRhYmxlX2hlYWRfbW92ZS1vbi1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHtcbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgdGgsXG4gICAgICAgIHRib2R5IHRkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU29tZSB0YWJsZXMgZGlzcGxheSBtb2JpbGUgbGF5b3V0IGFsc28gb24gdGFibGV0IHJlc29sdXRpb25cbi50YWJsZS13cmFwcGVyLmNhcnQsXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtd3JhcHBlci1tb2JpbGUtbGF5b3V0KCk7XG5cbiAgICAudGFibGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxlLW1vYmlsZS1sYXlvdXQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4iLCIvKiogU3R5bGVzIGZvcm0gX3RhYmxlcy5sZXNzIG9mIHRoZW1lIGJsYW5rIGFyZSBtb3ZlZCBoZXJlLlxuICAgKiBGb3Igc29tZSB0YWJsZXMgdGhlcmUgaXMgbW9iaWxlIGxheW91dCBhcHBsaWVkIGFsc28gZm9yIHRhYmxldCByZXNvbHV0aW9uc1xuICAgKiBWYXJpYWJsZXMgZm9yIHR5cG9ncmFweSwgY29sb3JzLCBib3JkZXIgZXRjLiBhcmUgYWRkZWRcbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb29rMTQ3NTgwMlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi9hMzc1NjQyOC1kZWJmLTRhODYtYWVkMC1hODM0YTNkZjliZDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvNWYwODFiMTMtZTU3MC00Mjc3LTkyODMtMDkxYTZmNmNhYjA0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzU4OGIzZjNhLWMxOTMtNDk2Mi04ZTAxLWQ0Y2FlZjkwZjU4Yi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvY2RjZWQ2MzYtNDQ4OC00YzA0LTgwOWMtZTZlMTM3OTYwMGVjLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi83MDBiZDE4ZS1kOWUwLTQ1YzUtOTNlMi03YzkzMDYwOGM1MGUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvMTJkYmI0NmEtMWIwYi00MGVlLTgwYTYtNDE0MWMzNDliNTVmLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzJhYmQ1NWVmLTA3ZDAtNDczZS04MGUxLTBlNDA2NmNkMDFmYS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvYzRmYTg5ODgtNDNkMS00YTAxLTk2ZTQtMzZjNWM1YTEyMWM5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi50YWJsZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZS13cmFwcGVyLmNhcnQge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfSB9XG4gIC50YWJsZS13cmFwcGVyLmdyb3VwZWQgdGJvZHk6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4udGFibGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlID4gY2FwdGlvbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMC44cmVtIDFyZW07IH1cbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICMyZDNlNTA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIExUIFcwNCBCb2xkMTQ3NTgyNlwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQuYWN0aW9ucyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQuYWN0aW9ucyBhICsgYTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDAgMC43cmVtIDAgMC41cmVtO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2RjZGNkYztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuYWNjb3VudCAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3Qge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7IH0gfVxuICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgLm1hcmsge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgLmFtb3VudCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSxcbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXg6YmVmb3JlLFxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2UsXG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4OmJlZm9yZSxcbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlLFxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsXG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtY29udGFpbmVyIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC50YWJsZSAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgLnRhYmxlIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAudGFibGUgLml0ZW1zLXF0eSxcbiAgLnRhYmxlIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLnRhYmxlIC5ib3gtdG9jYXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC50YWJsZS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgcGFkZGluZzogMC4ycmVtOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQ6YmVmb3JlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aCkgXCI6IFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBjb2xvcjogIzJkM2U1MDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQuYWN0aW9ucyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQuYWN0aW9uczpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAvKiAxICovIH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdGgge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB3aWR0aDogNzAlOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdGQge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gICAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0ZC5xdHk6YmVmb3JlLFxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0ZC5jYXJ0OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHRib2R5IHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKS5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuNXJlbTsgfVxuICAuZGF0YS10YWJsZS1kZWZpbml0aW9uLWxpc3QgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHRib2R5IHRoIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuZGF0YS10YWJsZS1kZWZpbml0aW9uLWxpc3QgdGJvZHkgdGgsXG4gIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB0Ym9keSB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4udGFibGUtd3JhcHBlci5jYXJ0LFxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlLFxuICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGU6bGFzdC1jaGlsZCxcbiAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGhlYWQsXG4gICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Ym9keSB0ZCxcbiAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMnJlbTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkOmJlZm9yZSxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Ym9keSB0ZDpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOiBcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQuYWN0aW9ucyxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Ym9keSB0ZC5hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkLmFjdGlvbnM6YmVmb3JlLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkLmFjdGlvbnM6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC8qIDEgKi8gfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290LFxuICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGZvb3QgdGgsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3QgdGgge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogNzAlOyB9XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0ZCxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMzAlOyB9XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0cixcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkIHRoLFxuICAgICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkIHRoLFxuICAgICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiB0YWJsZS1tb2JpbGUtbGF5b3V0LWhvb2soKSB7XG59XG5cbkBtaXhpbiB0YWJsZS13cmFwcGVyLW1vYmlsZS1sYXlvdXQtaG9vaygpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUvaG9vayc7XG5cbiRoZWFkX2NvbG9yOiAkY29sb3JfbWluZXNoYWZ0ICFkZWZhdWx0O1xuJGhlYWRfbW92ZS1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZF9mb250LXNpemUtLW1vYmlsZTogMS40cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gdGFibGUtbW9iaWxlLWxheW91dChcbiAgICAkaGVhZF9jb2xvcjogJGhlYWRfY29sb3IsXG4gICAgJGhlYWRfbW92ZS1vbi1tb2JpbGU6ICRoZWFkX21vdmUtb24tbW9iaWxlLFxuICAgICRoZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlOiAkaGVhZF9mb250LXNpemUtLW1vYmlsZVxuKSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRfZm9udC1zaXplLS1tb2JpbGU7XG4gICAgICAgIHBhZGRpbmc6IDAuMnJlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaGVhZF9tb3ZlLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpICc6ICc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aW9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2FsdG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRmb290IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0aCxcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRhYmxlLW1vYmlsZS1sYXlvdXQtaG9vaygpO1xufVxuXG5AbWl4aW4gdGFibGUtd3JhcHBlci1tb2JpbGUtbGF5b3V0KCkge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gVG8gaGlkZSB1bm5lY2Vzc2FyeSBob3Jpem9udGFsIHNjcm9sbGJhciBpbiBTYWZhcmlcblxuICAgIEBpbmNsdWRlIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dC1ob29rKCk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9vazE0NzU4MDJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2EzNzU2NDI4LWRlYmYtNGE4Ni1hZWQwLWE4MzRhM2RmOWJkNy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MDIvYTM3NTY0MjgtZGViZi00YTg2LWFlZDAtYTgzNGEzZGY5YmQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyLzVmMDgxYjEzLWU1NzAtNDI3Ny05MjgzLTA5MWE2ZjZjYWIwNC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgwMi81ODhiM2YzYS1jMTkzLTQ5NjItOGUwMS1kNGNhZWY5MGY1OGIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODAyL2NkY2VkNjM2LTQ0ODgtNGMwNC04MDljLWU2ZTEzNzk2MDBlYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBMVCBXMDQgQm9sZDE0NzU4MjZcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzcwMGJkMThlLWQ5ZTAtNDVjNS05M2UyLTdjOTMwNjA4YzUwZS5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU4MjYvNzAwYmQxOGUtZDllMC00NWM1LTkzZTItN2M5MzA2MDhjNTBlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2LzEyZGJiNDZhLTFiMGItNDBlZS04MGE2LTQxNDFjMzQ5YjU1Zi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTgyNi8yYWJkNTVlZi0wN2QwLTQ3M2UtODBlMS0wZTQwNjZjZDAxZmEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1ODI2L2M0ZmE4OTg4LTQzZDEtNGEwMS05NmU0LTM2YzVjNWExMjFjOS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLmNzLWxvZ2luLW9yLWd1ZXN0IC5jcy1jaGVja291dF9fc3RlcC10YWJzIC5jcy10YWJzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1sb2dpbi1vci1ndWVzdCAuY3MtY2hlY2tvdXRfX3N0ZXAtdGFicyAuY3MtdGFic19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLmNzLWxvZ2luLW9yLWd1ZXN0IC5jcy1jaGVja291dF9fc3RlcC10YWJzIC5jcy10YWJzX190cmlnZ2VycyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmNzLWNoZWNrb3V0X19zaWRlYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAub3BjLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5ibG9jay1jdXN0b21lci1sb2dpbiB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5ibG9jay1jdXN0b21lci1sb2dpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuZmllbGRzZXQgPiAuZmllbGQgPiAuY29udHJvbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmZpZWxkc2V0OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmNvbnRpbnVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmNvbnRpbnVlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5jb250aW51ZSwgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uY29udGludWU6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5jb250aW51ZSAqLCAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5jb250aW51ZTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmNvbnRpbnVlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uY29udGludWU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5jb250aW51ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmNvbnRpbnVlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5jb250aW51ZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uY29udGludWU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5jb250aW51ZVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmNvbnRpbnVlIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmFjdGlvbi1sb2dpbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmFjdGlvbi1sb2dpbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYWN0aW9uLWxvZ2luLCAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5hY3Rpb24tbG9naW46dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZTUwOyB9XG4gICAgICAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5hY3Rpb24tbG9naW4gKiwgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYWN0aW9uLWxvZ2luOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYWN0aW9uLWxvZ2luOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYWN0aW9uLWxvZ2luOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYWN0aW9uLWxvZ2luOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAgICAgLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLmxvZ2luLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYWN0aW9uLWxvZ2luOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5hY3Rpb24tbG9naW46Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmFjdGlvbi1sb2dpbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmFjdGlvbi1sb2dpbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5jcy1sb2dpbi1vci1ndWVzdC0tYWN0aXZlIC5sb2dpbi1jb250YWluZXIgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmFjdGlvbi1sb2dpbiBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtbG9naW4tb3ItZ3Vlc3QtLWFjdGl2ZSAubG9naW4tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5hY3Rpb24tcmVtaW5kIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmNzLWxvZ2luLW9yLWd1ZXN0LS1hY3RpdmUgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGxvZ2luLW9yLWd1ZXN0X2d1ZXN0LWJ1dHRvbi10eXBlOiAncHJpbWFyeScgIWRlZmF1bHQ7XG4kbG9naW4tb3ItZ3Vlc3RfZ3Vlc3QtYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRsb2dpbi1vci1ndWVzdF9sb2dpbi1idXR0b24tdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuJGxvZ2luLW9yLWd1ZXN0X2xvZ2luLWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4uY3MtbG9naW4tb3ItZ3Vlc3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgLmNzLWNoZWNrb3V0IHtcbiAgICAgICAgJl9fc3RlcC10YWJzIHtcbiAgICAgICAgICAgIC5jcy10YWJzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3RyaWdnZXJzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgICAuY3MtY2hlY2tvdXQge1xuICAgICAgICAgICAgJl9fc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgbWFpbiBjb2x1bW4gZmlsbCB0aGUgc3BhY2UgbGVmdCBieSBzaWRlYmFyLlxuICAgICAgICAub3BjLXdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9naW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5ibG9jay1jdXN0b21lci1sb2dpbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGlucHV0cyBhcmUgbm90IHRvIG5hcnJvdy5cbiAgICAgICAgICAgICAgICA+IC5maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgID4gLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gSGlkZSByZXF1aXJlZCBmaWVsZHMgaW5mbyB0byBhbGlnbiB3aXRoIG5vcm1hbCBsb2dpbiBmb3JtLlxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgJi5jb250aW51ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRsb2dpbi1vci1ndWVzdF9ndWVzdC1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbi1wb3M6ICRsb2dpbi1vci1ndWVzdF9ndWVzdC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRsb2dpbi1vci1ndWVzdF9ndWVzdC1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGljb24tcG9zOiAkbG9naW4tb3ItZ3Vlc3RfZ3Vlc3QtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aW9uLWxvZ2luIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGxvZ2luLW9yLWd1ZXN0X2xvZ2luLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpY29uLXBvczogJGxvZ2luLW9yLWd1ZXN0X2xvZ2luLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbG9naW4tb3ItZ3Vlc3RfbG9naW4tYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpY29uLXBvczogJGxvZ2luLW9yLWd1ZXN0X2xvZ2luLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmFjdGlvbi1yZW1pbmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7O0FDRUE7QUNGQTs7O0FETUE7QURJQTtBQWdCQTs7QUNoQkE7QURWQTs7QUNhQTtBQ2JBOzs7QURpQkE7QURQQTtBQWdCQTs7QUNMQTtBRWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FDa0NBO0FDbENBOzs7QURzQ0E7QUQ1QkE7QUFnQkE7O0FDZ0JBO0FEMUNBOztBQzZDQTtBQzdDQTs7O0FEaURBO0FEdkNBO0FBZ0JBOztBQzJCQTtBRS9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBQ2tFQTtBQ2xFQTs7O0FEc0VBO0FENURBO0FBZ0JBOztBQ2dEQTtBRDFFQTs7QUM2RUE7QUM3RUE7OztBRGlGQTtBRHZFQTtBQWdCQTs7QUMyREE7QUUvRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QUNrR0E7QUNsR0E7OztBRHNHQTtBRDVGQTtBQWdCQTs7QUNnRkE7QUQxR0E7O0FDNkdBO0FDN0dBOzs7QURpSEE7QUR2R0E7QUFnQkE7O0FDMkZBO0FFL0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7QUFHQTtBQUNBO0FBRUE7QUNqQkE7QURtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7O0FBSUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFEQTtBQUtBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7QUFDQTtBQVFBO0FBVEE7QUFJQTtBQUNBO0FBQ0E7QUFOQTtBQWNBO0FBQ0E7QUUxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7QUFHQTtBQUNBO0FBRUE7QURuQkE7QUNxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7O0FBSUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFEQTtBQUtBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7QUFDQTtBQVFBO0FBVEE7QUFJQTtBQUNBO0FBQ0E7QUFOQTtBQWNBOztBTm5FQTs7QU9FQTtBTEZBOzs7QUtNQTtBUElBO0FBZ0JBOztBT2hCQTtBQ21pQkE7QUMxaUJBO0FBRUE7QUFBQTtBQUNBO0FEdWlCQTtBQ3BpQkE7QUFFQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVC9CQTs7QU91Q0E7QUx2Q0E7OztBSzJDQTtBUGpDQTtBQWdCQTs7QU9xQkE7QVAvQ0E7O0FPa0RBO0FMbERBOzs7QUtzREE7QVA1Q0E7QUFnQkE7O0FPZ0NBO0FKcERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FPdUVBO0FMdkVBOzs7QUsyRUE7QVBqRUE7QUFnQkE7O0FPcURBO0FQL0VBOztBT2tGQTtBTGxGQTs7O0FLc0ZBO0FQNUVBO0FBZ0JBOztBT2dFQTtBUDFGQTs7QU82RkE7QUw3RkE7OztBS2lHQTtBUHZGQTtBQWdCQTs7QU8yRUE7QUovRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU9iQTs7QUhnSEE7QUc1R0E7OztBSGdIQTtBR3ZHQTs7O0FIMkdBO0FHakdBOztBSG9HQTtBUDdIQTs7QU9nSUE7QUxoSUE7OztBS29JQTtBUDFIQTtBQWdCQTs7QU84R0E7QVB4SUE7O0FPMklBO0FMM0lBOzs7QUsrSUE7QVBySUE7QUFnQkE7O0FPeUhBO0FKN0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FPZ0tBO0FMaEtBOzs7QUtvS0E7QVAxSkE7QUFnQkE7O0FPOElBO0FQeEtBOztBTzJLQTtBTDNLQTs7O0FLK0tBO0FQcktBO0FBZ0JBOztBT3lKQTtBUG5MQTs7QU9zTEE7QUx0TEE7OztBSzBMQTtBUGhMQTtBQWdCQTs7QU9vS0E7QUp4TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU9iQTs7QUh5TUE7QUdyTUE7OztBSHlNQTtBR2hNQTs7O0FIb01BO0FHMUxBOztBSDZMQTtBSWxOQTtBRE9BO0FBQ0E7QUNKQTtBQUNBO0FBQ0E7QUFFQTtBRGlCQTtBQUNBO0FBQ0E7QUNqQkE7QUFGQTtBQU1BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUhvaEJBO0FHcmhCQTtBQUlBO0FIaWhCQTtBR3JoQkE7QUFRQTtBSDZnQkE7QUdyaEJBO0FBWUE7QUFJQTtBQUNBO0FBQ0E7QUhtZ0JBO0FHcmdCQTtBQUtBO0FIZ2dCQTtBR3JnQkE7QUFTQTtBSDRmQTtBR3JnQkE7QUFhQTtBQUNBO0FIdWZBO0FHcGZBO0FBRUE7QUFLQTtBQUNBO0FINGVBO0FHN2VBO0FBSUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FIaWVBO0FHbmVBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBMUZBO0FET0E7QUFDQTtBRUFBO0FBQ0E7QUFDQTtBREZBO0FEaUJBO0FBQ0E7QUFDQTtBRWJBO0FETkE7QUNVQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBSitnQkE7QUlsaEJBO0FBTUE7QUFOQTtBQVVBO0FEYkE7QUNtQkE7QUprZ0JBO0FHcmhCQTtBQ3NCQTtBSitmQTtBR3JoQkE7QUMwQkE7QUoyZkE7QUdyaEJBO0FDOEJBO0FEZEE7QUNtQkE7QUFDQTtBSmlmQTtBR3JnQkE7QUN1QkE7QUo4ZUE7QUdyZ0JBO0FDMkJBO0FKMGVBO0FHcmdCQTtBQytCQTtBQUNBO0FBQ0E7QUpvZUE7QUk5ZEE7QUFFQTtBQUNBO0FKMmRBO0FHcGZBO0FDK0JBO0FBS0E7QUFrQkE7QUo4YkE7QUloZEE7QUFJQTtBQUNBO0FBQ0E7QUowY0E7QUloZEE7QUFVQTtBQVZBO0FBY0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FKeWJBO0FJM2JBO0FBS0E7QUFDQTtBRHhEQTtBQzZEQTtBSmdiQTtBRzdlQTtBQ2dFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUQ5REE7QUNrRUE7QUFDQTtBSmdhQTtBR25lQTtBQ3NFQTtBQUNBO0FKNFpBO0FJelpBOztBQUdBO0FBS0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUQ1RkE7QUNnR0E7QUp5WEE7QUl0WEE7QUFFQTtBQUlBO0FBRUE7QUFJQTtBQUlBO0FBQ0E7QUpxV0E7QUkxV0E7QUFRQTtBQUNBO0FBQ0E7QUpnV0E7QUk3VkE7QUFFQTtBQUNBO0FEM0hBO0FDZ0lBO0FENUhBO0FDZ0lBO0FKaVZBO0FJOVVBO0FBRUE7QUFJQTtBQUVBO0FBQ0E7QUFIQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFuRkE7QUFxRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FablFBOztBT3ViQTtBTHZiQTs7O0FLMmJBO0FQamJBO0FBZ0JBOztBT3FhQTtBUC9iQTs7QU9rY0E7QUxsY0E7OztBS3NjQTtBUDViQTtBQWdCQTs7QU9nYkE7QUpwY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QU91ZEE7QUx2ZEE7OztBSzJkQTtBUGpkQTtBQWdCQTs7QU9xY0E7QVAvZEE7O0FPa2VBO0FMbGVBOzs7QUtzZUE7QVA1ZEE7QUFnQkE7O0FPZ2RBO0FKcGVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBT3lmQTtBTHpmQTs7O0FLNmZBO0FQbmZBO0FBZ0JBOztBT3VlQTtBUGpnQkE7O0FPb2dCQTtBTHBnQkE7OztBS3dnQkE7QVA5ZkE7QUFnQkE7O0FPa2ZBO0FKdGdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBT3loQkE7QUx6aEJBOzs7QUs2aEJBO0FQbmhCQTtBQWdCQTs7QU91Z0JBO0FQamlCQTs7QU9vaUJBO0FMcGlCQTs7O0FLd2lCQTtBUDloQkE7QUFnQkE7O0FPa2hCQTtBSnRpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FPMmpCQTtBTDNqQkE7OztBSytqQkE7QVByakJBO0FBZ0JBOztBT3lpQkE7QVBua0JBOztBT3NrQkE7QUx0a0JBOzs7QUswa0JBO0FQaGtCQTtBQWdCQTs7QU9vakJBO0FKeGtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBV1RBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QU5paEJBO0FNbmhCQTtBQUtBO0FBQ0E7QUFDQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU42ZkE7QU1qZ0JBO0FBT0E7QUFDQTtBQUdBO0FBQ0E7QU5xZkE7QU10ZkE7QUFJQTtBQUNBO0FBR0E7QUFFQTtBTjRlQTtBTTllQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FOc2VBO0FNOWVBO0FBWUE7QUFDQTtBTmllQTtBTTVkQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FDaERBO0FBQ0E7QUFDQTtBRDhDQTtBQ3ZDQTtBQUNBO0FBQ0E7QUQ0Q0E7QUFDQTtBQUNBO0FOeWNBO0FNdGNBO0FBRUE7QUFDQTtBTm1jQTtBTWhjQTtBQUdBO0FBSEE7QUFPQTtBQUNBO0FOd2JBO0FNaGNBO0FBWUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjhaQTtBTW5hQTtBQVFBO0FBUkE7QUFZQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBTjZZQTtBTW5aQTtBQVNBO0FBVEE7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOOFhBO0FNblpBO0FBd0JBO0FBeEJBO0FBNEJBO0FBSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QU44V0E7QU1uWEE7O0FBUUE7QU4yV0E7QU1uWEE7O0FBWUE7QUFaQTs7O0FBaUJBO0FBQ0E7QUFDQTtBTmdXQTtBTW5YQTs7O0FBc0JBO0FBQ0E7QUFDQTtBQUNBO0FOMFZBO0FNblhBOzs7QUE2QkE7QUE3QkE7O0FBa0NBO0FOaVZBO0FNblhBOztBQW9DQTtBTitVQTtBTW5YQTs7QUF3Q0E7QUFDQTtBTjBVQTtBTW5YQTs7QUE2Q0E7QU5zVUE7QU1uWEE7O0FBbURBO0FOZ1VBO0FNMVRBO0FBSUE7QUFDQTs7QWR4UEE7O0FnQkVBO0FkRkE7OztBY01BO0FoQklBO0FBZ0JBOztBZ0JoQkE7QWhCVkE7O0FnQmFBO0FkYkE7OztBY2lCQTtBaEJQQTtBQWdCQTs7QWdCTEE7QWJmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBZ0JrQ0E7QWRsQ0E7OztBY3NDQTtBaEI1QkE7QUFnQkE7O0FnQmdCQTtBaEIxQ0E7O0FnQjZDQTtBZDdDQTs7O0FjaURBO0FoQnZDQTtBQWdCQTs7QWdCMkJBO0FoQnJEQTs7QWdCd0RBO0FkeERBOzs7QWM0REE7QWhCbERBO0FBZ0JBOztBZ0JzQ0E7QWIxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FnQitFQTtBZC9FQTs7O0FjbUZBO0FoQnpFQTtBQWdCQTs7QWdCNkRBO0FoQnZGQTs7QWdCMEZBO0FkMUZBOzs7QWM4RkE7QWhCcEZBO0FBZ0JBOztBZ0J3RUE7QWI1RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWdCK0dBO0FkL0dBOzs7QWNtSEE7QWhCekdBO0FBZ0JBOztBZ0I2RkE7QWhCdkhBOztBZ0IwSEE7QWQxSEE7OztBYzhIQTtBaEJwSEE7QUFnQkE7O0FnQndHQTtBYjVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QWdCaUpBO0FkakpBOzs7QWNxSkE7QWhCM0lBO0FBZ0JBOztBZ0IrSEE7QWhCekpBOztBZ0I0SkE7QWQ1SkE7OztBY2dLQTtBaEJ0SkE7QUFnQkE7O0FnQjBJQTtBYjlKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBY0hBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVDBoQkE7QVNqaUJBO0FBVUE7QUFDQTtBQVhBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFRQTtBQUNBO0FBVEE7QUZRQTtBQUNBO0FFVEE7QUZpQkE7QUFDQTtBRWxCQTtBQWNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BOztBakI3REE7O0FrQkVBO0FoQkZBOzs7QWdCTUE7QWxCSUE7QUFnQkE7O0FrQmhCQTtBbEJWQTs7QWtCYUE7QWhCYkE7OztBZ0JpQkE7QWxCUEE7QUFnQkE7O0FrQkxBO0FmZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWtCa0NBO0FoQmxDQTs7O0FnQnNDQTtBbEI1QkE7QUFnQkE7O0FrQmdCQTtBbEIxQ0E7O0FrQjZDQTtBaEI3Q0E7OztBZ0JpREE7QWxCdkNBO0FBZ0JBOztBa0IyQkE7QWYvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU9iQTs7QVFnRUE7QVI1REE7OztBUWdFQTtBUnZEQTs7O0FRMkRBO0FSakRBOztBUW9EQTtBQzdFQTs7Ozs7Ozs7QURzRkE7QUV0RkE7QUFTQTtBcEJUQTs7QWtCMkZBO0FoQjNGQTs7O0FnQitGQTtBbEJyRkE7QUFnQkE7O0FrQnlFQTtBR3JFQTtBQWtXQTtBQStDQTtBQTlZQTtBQUVBO0FBU0E7QUM4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUQ5REE7QUU3QkE7QUY2QkE7QUV0QkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBRmVBO0FFTEE7QUFDQTtBQUNBO0FBSUE7QUZEQTtBRXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUY1QkE7QUVvQ0E7QUZwQ0E7QUNxSUE7QUFDQTtBQUNBO0FEdklBO0FDNklBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUR2SkE7QUMwSkE7QUFDQTtBRDNKQTtBQ2dOQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUR4TkE7QUMyTkE7QUFDQTtBRDVOQTtBQzZRQTtBQUNBO0FEOVFBO0FBT0E7QUFQQTtBQWVBO0FBZkE7QUFvQkE7QUFwQkE7QUF5QkE7QUF6QkE7QUE4QkE7QUFNQTtBQ29QQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QURwUUE7QUFHQTtBQ3lUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBRDFVQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUdBO0FBQ0E7QUFHQTtBQUVBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFJQTtBQUdBO0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBWHRMQTtBQUNBO0FBQ0E7QVd1TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQWVBO0FBZkE7QUFvQkE7QUFPQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQVpBO0FBZ0JBO0FBSUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBYitSQTtBYWxTQTtBQU1BO0FiNFJBO0FhbFNBO0FBVUE7QUFDQTtBQVhBO0FBZUE7QUFDQTtBQTFCQTtBQStCQTtBQUNBO0FBSUE7QUFHQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBSEE7QUFNQTtBQUFBO0FBS0E7QUFFQTtBQUZBO0FBTUE7QUFOQTtBQVNBO0FBU0E7QUFFQTtBQUZBO0FBTUE7QUFDQTtBQUlBO0FBRUE7QUFGQTtBQU1BO0FBQ0E7QUFJQTs7QUFHQTtBQUhBO0FBT0E7QUFQQTtBQVdBO0FBWEE7QUFlQTtBQWZBOztBQXFCQTtBQUVBO0FBdkJBOztBQTRCQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVRBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBOVlBO0FBb1pBOztBckJsYkE7O0F3QkVBO0F0QkZBOzs7QXNCTUE7QXhCSUE7QUFnQkE7O0F3QmhCQTtBeEJWQTs7QXdCYUE7QXRCYkE7OztBc0JpQkE7QXhCUEE7QUFnQkE7O0F3QkxBO0FyQmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F3QmtDQTtBdEJsQ0E7OztBc0JzQ0E7QXhCNUJBO0FBZ0JBOztBd0JnQkE7QXhCMUNBOztBd0I2Q0E7QXRCN0NBOzs7QXNCaURBO0F4QnZDQTtBQWdCQTs7QXdCMkJBO0F4QnJEQTs7QXdCd0RBO0F0QnhEQTs7O0FzQjREQTtBeEJsREE7QUFnQkE7O0F3QnNDQTtBckIxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNCZkE7QUFTQTtBQ1RBOzs7O0FGaUZBO0FHaENBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUEwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQjBkQTtBbUI1ZkE7QUFvQ0E7QUFwQ0E7QUF5Q0E7QUFDQTtBQTFDQTtBQThDQTtBQTlDQTtBQWtEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2REE7QUEyREE7QUFDQTtBQTVEQTtBQWdFQTtBQUNBO0FBakVBO0FBb0VBO0FBQ0E7QUFDQTtBQUNBO0FBdkVBO0FBMkVBO0FBM0VBO0FBZ0ZBO0FBQ0E7QUFqRkE7QUFxRkE7QUFDQTtBQUNBO0FBdkZBO0FBMkZBO0FBM0ZBO0FBZ0dBO0FBaEdBO0FBbUdBO0FBQ0E7QUFDQTtBQUNBO0FBdEdBO0FBMkdBO0FBQ0E7QUFDQTtBQUNBO0FBOUdBO0FBb0hBO0FBQ0E7QUFDQTtBQXRIQTtBQTJIQTtBQTNIQTtBQWdJQTtBQWhJQTtBQW1JQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQ2hLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRG9KQTtBQUlBO0FBR0E7QUNySUE7QUFDQTtBRG9JQTtBQ3BHQTtBRG9HQTtBQ2pHQTtBRHlHQTtBQ2xKQTtBQUNBO0FEaUpBO0FDNUdBO0FENEdBO0FDekdBO0FEa0hBO0FDckhBO0FEcUhBO0FDbEhBO0FwQmdjQTtBbUI5VUE7QUFJQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUxBO0FBU0E7QUFUQTtBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBaEJBO0FBb0JBO0FBcEJBO0FBd0JBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVlBO0FBWkE7QUFpQkE7O0FFdlJBO0E3QkFBOztBNkJHQTtBM0JIQTs7O0EyQk9BO0E3QkdBO0FBZ0JBOztBNkJmQTtBN0JYQTs7QTZCY0E7QTNCZEE7OztBMkJrQkE7QTdCUkE7QUFnQkE7O0E2QkpBO0ExQmhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNkJtQ0E7QTNCbkNBOzs7QTJCdUNBO0E3QjdCQTtBQWdCQTs7QTZCaUJBO0FDM0NBOztBRDhDQTtBM0I5Q0E7OztBMkJrREE7QUVwQkE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBRC9CQTtBQUNBO0FBQ0E7QUNpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVNBO0FBQ0E7QUFDQTtBQVhBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFOQTtBQVVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBdkJ3Y0E7QXVCM2NBO0FBTUE7QUFDQTs7QS9CekdBOztBZ0NFQTtBOUJGQTs7O0E4Qk1BO0FoQ0lBO0FBZ0JBOztBZ0NoQkE7QWhDVkE7O0FnQ2FBO0E5QmJBOzs7QThCaUJBO0FoQ1BBO0FBZ0JBOztBZ0NMQTtBN0JmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBZ0NrQ0E7QTlCbENBOzs7QThCc0NBO0FoQzVCQTtBQWdCQTs7QWdDZ0JBO0FoQzFDQTs7QWdDNkNBO0E5QjdDQTs7O0E4QmlEQTtBaEN2Q0E7QUFnQkE7O0FnQzJCQTtBN0IvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWdDa0VBO0E5QmxFQTs7O0E4QnNFQTtBaEM1REE7QUFnQkE7O0FnQ2dEQTtBaEMxRUE7O0FnQzZFQTtBOUI3RUE7OztBOEJpRkE7QWhDdkVBO0FBZ0JBOztBZ0MyREE7QWJyRkE7Ozs7Ozs7O0FhOEZBO0FaOUZBO0FBU0E7QWFHQTtBWDhFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBVzlGQTtBVkdBO0FVSEE7QVZVQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FVakJBO0FWMkJBO0FBQ0E7QUFDQTtBQUlBO0FVakNBO0FWdURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVTVEQTtBVm9FQTtBVXBFQTtBWHFLQTtBQUNBO0FBQ0E7QVd2S0E7QVg2S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBV3ZMQTtBWDBMQTtBQUNBO0FXM0xBO0FYZ1BBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBV3hQQTtBWDJQQTtBQUNBO0FXNVBBO0FYNlNBO0FBQ0E7QVd4U0E7QVhrVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FXbFVBO0FYMFhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QVc1WUE7QVh5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QVlwR0E7QURrQ0E7QUFDQTtBQUNBO0FBVEE7QVZsQkE7QVVrQkE7QVZYQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FVSUE7QVZNQTtBQUNBO0FBQ0E7QUFJQTtBVVpBO0FWa0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVXZDQTtBVitDQTtBVS9DQTtBWGdKQTtBQUNBO0FBQ0E7QVdsSkE7QVh3SkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBV2xLQTtBWHFLQTtBQUNBO0FXdEtBO0FYMk5BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBV25PQTtBWHNPQTtBQUNBO0FXdk9BO0FYd1JBO0FBQ0E7QWRtUEE7QXlCNWdCQTtBQ2pCQTtBQUtBO0FBQ0E7QURzQkE7QVh3UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FXeFNBO0FYZ1dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FXbFhBO0FBRUE7QUFGQTtBQUtBOztBakMvREE7O0FtQ0VBO0FqQ0ZBOzs7QWlDTUE7QW5DSUE7QUFnQkE7O0FtQ2hCQTtBbkNWQTs7QW1DYUE7QWpDYkE7OztBaUNpQkE7QW5DUEE7QUFnQkE7O0FtQ0xBO0FoQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FtQ2tDQTtBakNsQ0E7OztBaUNzQ0E7QW5DNUJBO0FBZ0JBOztBbUNnQkE7QW5DMUNBOztBbUM2Q0E7QWpDN0NBOzs7QWlDaURBO0FuQ3ZDQTtBQWdCQTs7QW1DMkJBO0FuQ3JEQTs7QW1Dd0RBO0FqQ3hEQTs7O0FpQzREQTtBbkNsREE7QUFnQkE7O0FtQ3NDQTtBaEMxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU9iQTs7QXlCMkVBO0F6QnZFQTs7O0F5QjJFQTtBekJsRUE7OztBeUJzRUE7QXpCNURBOztBeUIrREE7QW5DeEZBOztBbUMyRkE7QWpDM0ZBOzs7QWlDK0ZBO0FuQ3JGQTtBQWdCQTs7QW1DeUVBO0FuQ25HQTs7QW1Dc0dBO0FqQ3RHQTs7O0FpQzBHQTtBbkNoR0E7QUFnQkE7O0FtQ29GQTtBaEN4R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QW1DMkhBO0FqQzNIQTs7O0FpQytIQTtBbkNySEE7QUFnQkE7O0FtQ3lHQTtBbkNuSUE7O0FtQ3NJQTtBakN0SUE7OztBaUMwSUE7QW5DaElBO0FBZ0JBOztBbUNvSEE7QW5DOUlBOztBbUNpSkE7QWpDakpBOzs7QWlDcUpBO0FuQzNJQTtBQWdCQTs7QW1DK0hBO0FoQ25KQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBT2JBOztBeUJvS0E7QXpCaEtBOzs7QXlCb0tBO0F6QjNKQTs7O0F5QitKQTtBekJySkE7O0F5QndKQTtBeEI3S0E7QURPQTtBQUNBO0FDSkE7QUFDQTtBQUNBO0FBRUE7QURpQkE7QUFDQTtBQUNBO0FDakJBO0FBRkE7QUFNQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FIb2hCQTtBR3JoQkE7QUFJQTtBSGloQkE7QUdyaEJBO0FBUUE7QUg2Z0JBO0FHcmhCQTtBQVlBO0FBSUE7QUFDQTtBQUNBO0FIbWdCQTtBR3JnQkE7QUFLQTtBSGdnQkE7QUdyZ0JBO0FBU0E7QUg0ZkE7QUdyZ0JBO0FBYUE7QUFDQTtBSHVmQTtBR3BmQTtBQUVBO0FBS0E7QUFDQTtBSDRlQTtBRzdlQTtBQUlBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBSGllQTtBR25lQTtBQUtBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQTFGQTtBRE9BO0FBQ0E7QUVBQTtBQUNBO0FBQ0E7QURGQTtBRGlCQTtBQUNBO0FBQ0E7QUViQTtBRE5BO0FDVUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUorZ0JBO0FJbGhCQTtBQU1BO0FBTkE7QUFVQTtBRGJBO0FDbUJBO0FKa2dCQTtBR3JoQkE7QUNzQkE7QUorZkE7QUdyaEJBO0FDMEJBO0FKMmZBO0FHcmhCQTtBQzhCQTtBRGRBO0FDbUJBO0FBQ0E7QUppZkE7QUdyZ0JBO0FDdUJBO0FKOGVBO0FHcmdCQTtBQzJCQTtBSjBlQTtBR3JnQkE7QUMrQkE7QUFDQTtBQUNBO0FKb2VBO0FJOWRBO0FBRUE7QUFDQTtBSjJkQTtBR3BmQTtBQytCQTtBQUtBO0FBa0JBO0FKOGJBO0FJaGRBO0FBSUE7QUFDQTtBQUNBO0FKMGNBO0FJaGRBO0FBVUE7QUFWQTtBQWNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBSnliQTtBSTNiQTtBQUtBO0FBQ0E7QUR4REE7QUM2REE7QUpnYkE7QUc3ZUE7QUNnRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FEOURBO0FDa0VBO0FBQ0E7QUpnYUE7QUduZUE7QUNzRUE7QUFDQTtBSjRaQTtBSXpaQTs7QUFHQTtBQUtBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FENUZBO0FDZ0dBO0FKeVhBO0FJdFhBO0FBRUE7QUFJQTtBQUVBO0FBSUE7QUFJQTtBQUNBO0FKcVdBO0FJMVdBO0FBUUE7QUFDQTtBQUNBO0FKZ1dBO0FJN1ZBO0FBRUE7QUFDQTtBRDNIQTtBQ2dJQTtBRDVIQTtBQ2dJQTtBSmlWQTtBSTlVQTtBQUVBO0FBSUE7QUFFQTtBQUNBO0FBSEE7QUFPQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBbkZBO0FBcUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7O0FabFFBOztBb0NFQTtBbENGQTs7O0FrQ01BO0FwQ0lBO0FBZ0JBOztBb0NoQkE7QXBDVkE7O0FvQ2FBO0FsQ2JBOzs7QWtDaUJBO0FwQ1BBO0FBZ0JBOztBb0NMQTtBakNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBb0NrQ0E7QWxDbENBOzs7QWtDc0NBO0FwQzVCQTtBQWdCQTs7QW9DZ0JBO0FqQjFDQTs7Ozs7Ozs7QWlCbURBO0FoQm5EQTtBQVNBO0FwQlRBOztBb0N3REE7QWxDeERBOzs7QWtDNERBO0FwQ2xEQTtBQWdCQTs7QW9Dc0NBO0FwQ2hFQTs7QW9DbUVBO0FsQ25FQTs7O0FrQ3VFQTtBcEM3REE7QUFnQkE7O0FvQ2lEQTtBakNyRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FvQzBGQTtBbEMxRkE7OztBa0M4RkE7QXBDcEZBO0FBZ0JBOztBb0N3RUE7QXBDbEdBOztBb0NxR0E7QWxDckdBOzs7QWtDeUdBO0FwQy9GQTtBQWdCQTs7QW9DbUZBO0FqQ3ZHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBb0MwSEE7QWxDMUhBOzs7QWtDOEhBO0FwQ3BIQTtBQWdCQTs7QW9Dd0dBO0FwQ2xJQTs7QW9DcUlBO0FsQ3JJQTs7O0FrQ3lJQTtBcEMvSEE7QUFnQkE7O0FvQ21IQTtBakN2SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FvQzRKQTtBbEM1SkE7OztBa0NnS0E7QXBDdEpBO0FBZ0JBOztBb0MwSUE7QXBDcEtBOztBb0N1S0E7QWxDdktBOzs7QWtDMktBO0FwQ2pLQTtBQWdCQTs7QW9DcUpBO0FqQ3pLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBa0NHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCaWZBO0E2QnZmQTtBQVNBO0FBSUE7QUFDQTtBN0J5ZUE7QTZCMWVBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFGQTs7QUFNQTtBQUNBO0FBUEE7QXRCaENBO0FBQ0E7QXNCK0JBO0F0QnZCQTtBQUNBO0FzQndDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0IwY0E7QTZCaGRBO0FBU0E7QUFDQTtBQUlBO0FmakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FlT0E7QUFDQTtBQVBBO0FkNUZBO0FjNEZBO0FkckZBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QWM4RUE7QWRwRUE7QUFDQTtBQUNBO0FBSUE7QWM4REE7QWR4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FjbUNBO0FkM0JBO0FjMkJBO0Fmc0VBO0FBQ0E7QUFDQTtBZXhFQTtBZjhFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FleEZBO0FmMkZBO0FBQ0E7QWU1RkE7QWZpSkE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FlekpBO0FmNEpBO0FBQ0E7QWU3SkE7QWY4TUE7QUFDQTtBZG1QQTtBNkJsY0E7QUFVQTtBQUNBO0FBSUE7QWYwTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FlMU5BO0Fma1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBOztBdEI1YUE7O0FzQ0VBO0FwQ0ZBOzs7QW9DTUE7QXRDSUE7QUFnQkE7O0FzQ2hCQTtBdENWQTs7QXNDYUE7QXBDYkE7OztBb0NpQkE7QXRDUEE7QUFnQkE7O0FzQ0xBO0FuQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FzQ2tDQTtBcENsQ0E7OztBb0NzQ0E7QXRDNUJBO0FBZ0JBOztBc0NnQkE7QTlCbWdCQTtBK0J6aUJBO0FBRUE7QUFDQTtBL0JzaUJBO0ErQm5pQkE7QUFFQTs7QXZDWkE7O0F3Q0VBO0F0Q0ZBOzs7QXNDTUE7QXhDSUE7QUFnQkE7O0F3Q2hCQTtBeENWQTs7QXdDYUE7QXRDYkE7OztBc0NpQkE7QXhDUEE7QUFnQkE7O0F3Q0xBO0FyQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F3Q2tDQTtBdENsQ0E7OztBc0NzQ0E7QXhDNUJBO0FBZ0JBOztBd0NnQkE7QVYxQ0E7O0FVNkNBO0F4QzdDQTs7QXdDZ0RBO0F0Q2hEQTs7O0FzQ29EQTtBeEMxQ0E7QUFnQkE7O0F3QzhCQTtBeEN4REE7O0F3QzJEQTtBdEMzREE7OztBc0MrREE7QXhDckRBO0FBZ0JBOztBd0N5Q0E7QXJDN0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QUM0Q0E7QUFHQTtBQUNBO0FBQ0E7QWxDc2ZBO0FrQzNmQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsQ3NlQTtBa0NsZUE7QUFHQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbENvZEE7QWtDbGRBO0FBRUE7QWxDZ2RBO0FrQzNmQTtBQW1EQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3RFQTtBRGlFQTtBQzdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBaUJBO0FBQUE7QUQwQkE7QUNDQTtBQUNBO0FERkE7QUNpQkE7QUFDQTtBRGxCQTtBQ2tFQTtBRGxFQTtBQzhFQTtBbkNzWEE7QWtDcGNBO0FBMkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNuR0E7QURpRUE7QUM3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFZQTtBQWlCQTtBQUFBO0FEMEJBO0FDQ0E7QUFDQTtBREZBO0FDaUJBO0FBQ0E7QURsQkE7QUNrRUE7QURsRUE7QUM4RUE7QURuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxDbVlBO0FrQ3pZQTtBQVNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FacExBO0FBQ0E7QUFDQTtBWW9MQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxDMFdBO0FrQ3BYQTtBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFqQkE7QUFxQkE7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBbEMyVUE7QWtDblZBO0FBWUE7QUFDQTtBbENzVUE7QWtDblZBO0FBaUJBO0FBQ0E7O0ExQzVPQTs7QTRDRUE7QTFDRkE7OztBMENNQTtBNUNJQTtBQWdCQTs7QTRDaEJBO0E1Q1ZBOztBNENhQTtBMUNiQTs7O0EwQ2lCQTtBNUNQQTtBQWdCQTs7QTRDTEE7QXpDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0F5QndDQTtBeEJ4Q0E7QUFTQTtBeUJUQTtBQW1EQTtBQ1dBO0FDNURBO0FBR0E7O0FEK0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2xHQTs7QURtSUE7QUMvSEE7O0FENEdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUM3R0E7O0FEb0hBO0FBQ0E7QUNoSEE7OztBRDZIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3pJQTs7Ozs7QUQ4SUE7QUFDQTtBQy9JQTtBRG9KQTtBQUNBO0FDckpBO0FEb0pBO0FBQ0E7QUNySkE7OztBRG9KQTtBQUNBO0FDckpBOzs7QUR5SkE7QUN6SkE7Ozs7O0FEa0tBO0FDekpBOztBRHdNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzNOQTs7O0FEZ09BO0FBQ0E7QUNqT0E7OztBRHVPQTtBQUNBO0FBQ0E7QUN6T0E7O0FEOE9BO0FDOU9BOztBRGtQQTtBQUNBO0FBQ0E7QUNoUEE7O0FEMlBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzlRQTs7O0FEbVJBO0FBQ0E7QUNwUkE7OztBRDBSQTtBQUNBO0FBQ0E7QUM1UkE7O0FEaVNBO0FDalNBOzs7O0FEc1NBO0FBQ0E7QUFDQTtBQ3hTQTs7Ozs7O0FEK1NBO0FDclNBOztBRGlQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUErQ0E7QUFDQTtBQ3BUQTs7O0FEeVFBO0FBQ0E7QUMxUUE7OztBRGdSQTtBQUNBO0FBQ0E7QUNsUkE7O0FEdVJBO0FDdlJBOzs7O0FENFJBO0FBQ0E7QUFDQTtBQzlSQTs7Ozs7O0FEcVNBO0FDclNBOztBRHVUQTtBQ3ZUQTs7O0FEMklBO0FDN0hBOztBRG9JQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNySUE7O0FEK0lBO0FBQ0E7QUFDQTtBQUNBO0FDOUlBOztBRDJJQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUNsSkE7QUQ0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDcENBO0FBS0E7QUFMQTtBRHVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQ3RIQTtBQVRBO0FEcUVBO0FDckVBO0FEMkVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdkZBO0FENEZBO0FBQ0E7QUM3RkE7QURrR0E7QUFDQTtBQ25HQTtBRGtHQTtBQUNBO0FDbkdBO0FEa0dBO0FBQ0E7QUNuR0E7QUR1R0E7QUN2R0E7QURrREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3REQTtBRDZEQTtBQUNBO0FDOURBO0FBc0NBO0FBdENBO0FEMkVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdkZBO0FENEZBO0FBQ0E7QUM3RkE7QURrR0E7QUFDQTtBQ25HQTtBRGtHQTtBQUNBO0FDbkdBO0FEa0dBO0FBQ0E7QUNuR0E7QUR1R0E7QUN2R0E7QURnSEE7QUNoSEE7QUFvREE7QUFwREE7QUQrSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNsTEE7QUR1TEE7QUFDQTtBQ3hMQTtBRDhMQTtBQUNBO0FBQ0E7QUNoTUE7QURxTUE7QUNyTUE7QUR5TUE7QUFDQTtBQUNBO0FDM01BO0FEc05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQStDQTtBQUNBO0FDelJBO0FEOE9BO0FBQ0E7QUMvT0E7QURxUEE7QUFDQTtBQUNBO0FDdlBBO0FENFBBO0FDNVBBO0FEaVFBO0FBQ0E7QUFDQTtBQ25RQTs7O0FEMFFBO0FDMVFBO0FENFJBO0FDNVJBO0FEZ0hBO0FDaEhBO0FEc05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3pPQTtBRDhPQTtBQUNBO0FDL09BO0FEcVBBO0FBQ0E7QUFDQTtBQ3ZQQTtBRDRQQTtBQzVQQTtBRGlRQTtBQUNBO0FBQ0E7QUNuUUE7OztBRDBRQTtBQzFRQTtBRCtKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2xMQTtBRHVMQTtBQUNBO0FDeExBO0FEOExBO0FBQ0E7QUFDQTtBQ2hNQTtBRHFNQTtBQ3JNQTtBRHlNQTtBQUNBO0FBQ0E7QUMzTUE7QUQyRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN2RkE7QUQ0RkE7QUFDQTtBQzdGQTtBRGtHQTtBQUNBO0FDbkdBO0FEa0dBO0FBQ0E7QUNuR0E7QURrR0E7QUFDQTtBQ25HQTtBRHVHQTtBQ3ZHQTtBRGdIQTtBQ2hIQTtBekJrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXlCbENBO0F6Qm1FQTtBeUJuRUE7QXpCeUdBO0FBQ0E7QUFDQTtBeUIzR0E7QXpCaUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QXlCdElBO0F6QnlJQTtBQUNBO0F5QjFJQTtBekJvTEE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0F5QnZNQTtBekIwTUE7QUFDQTtBeUIzTUE7QXpCaVBBO0FBQ0E7QXlCbFBBO0F6QjRQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QXlCblJBOzs7QURnSEE7QUNoSEE7QUFtR0E7QUFDQTtBQXBHQTtBQXdHQTtBQXhHQTs7QUE0R0E7QUE1R0E7QUFnSEE7QUFDQTtBQUNBO0FEb0JBO0FBQ0E7QUFDQTtBQUNBO0FDeklBO0FBd0hBO0FBeEhBO0FEc0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNSQTs7QURJQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUNYQTs7QUMvTUE7OztBQ0dBO0FqREhBOztBaURNQTtBL0NOQTs7O0ErQ1VBO0FqREFBO0FBZ0JBOztBaURaQTtBakRkQTs7QWlEaUJBO0EvQ2pCQTs7O0ErQ3FCQTtBakRYQTtBQWdCQTs7QWlEREE7QTlDbkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpRHNDQTtBL0N0Q0E7OztBK0MwQ0E7QWpEaENBO0FBZ0JBOztBaURvQkE7QUM5Q0E7Ozs7Ozs7OztBRHdEQTtBakR4REE7O0FpRDJEQTtBL0MzREE7OztBK0MrREE7QWpEckRBO0FBZ0JBOztBaUR5Q0E7QWpEbkVBOztBaURzRUE7QS9DdEVBOzs7QStDMEVBO0FqRGhFQTtBQWdCQTs7QWlEb0RBO0E5Q3hFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0NmQTtBQU1BO0F6Q05BOztBaUQ2RkE7QS9DN0ZBOzs7QStDaUdBO0FqRHZGQTtBQWdCQTs7QWlEMkVBO0FqRHJHQTs7QWlEd0dBO0EvQ3hHQTs7O0ErQzRHQTtBakRsR0E7QUFnQkE7O0FpRHNGQTtBOUMxR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FpRCtIQTtBL0MvSEE7OztBK0NtSUE7QWpEekhBO0FBZ0JBOztBaUQ2R0E7QWpEdklBOztBaUQwSUE7QS9DMUlBOzs7QStDOElBO0FqRHBJQTtBQWdCQTs7QWlEd0hBO0E5QzVJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBaUQrSkE7QS9DL0pBOzs7QStDbUtBO0FqRHpKQTtBQWdCQTs7QWlENklBO0FqRHZLQTs7QWlEMEtBO0EvQzFLQTs7O0ErQzhLQTtBakRwS0E7QUFnQkE7O0FpRHdKQTtBOUM1S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FpRGlNQTtBL0NqTUE7OztBK0NxTUE7QWpEM0xBO0FBZ0JBOztBaUQrS0E7QWpEek1BOztBaUQ0TUE7QS9DNU1BOzs7QStDZ05BO0FqRHRNQTtBQWdCQTs7QWlEMExBO0E5QzlNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0RmQTs7O0FGa09BO0FqRGxPQTs7QWlEcU9BO0EvQ3JPQTs7O0ErQ3lPQTtBakQvTkE7QUFnQkE7O0FpRG1OQTtBakQ3T0E7O0FpRGdQQTtBL0NoUEE7OztBK0NvUEE7QWpEMU9BO0FBZ0JBOztBaUQ4TkE7QTlDbFBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpRHFRQTtBL0NyUUE7OztBK0N5UUE7QWpEL1BBO0FBZ0JBOztBaURtUEE7QUM3UUE7Ozs7Ozs7OztBRHVSQTtBakR2UkE7O0FpRDBSQTtBL0MxUkE7OztBK0M4UkE7QWpEcFJBO0FBZ0JBOztBaUR3UUE7QWpEbFNBOztBaURxU0E7QS9DclNBOzs7QStDeVNBO0FqRC9SQTtBQWdCQTs7QWlEbVJBO0E5Q3ZTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0NmQTtBQU1BO0F6Q05BOztBaUQ0VEE7QS9DNVRBOzs7QStDZ1VBO0FqRHRUQTtBQWdCQTs7QWlEMFNBO0FqRHBVQTs7QWlEdVVBO0EvQ3ZVQTs7O0ErQzJVQTtBakRqVUE7QUFnQkE7O0FpRHFUQTtBOUN6VUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FpRDhWQTtBL0M5VkE7OztBK0NrV0E7QWpEeFZBO0FBZ0JBOztBaUQ0VUE7QWpEdFdBOztBaUR5V0E7QS9DeldBOzs7QStDNldBO0FqRG5XQTtBQWdCQTs7QWlEdVZBO0E5QzNXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBaUQ4WEE7QS9DOVhBOzs7QStDa1lBO0FqRHhYQTtBQWdCQTs7QWlENFdBO0FqRHRZQTs7QWlEeVlBO0EvQ3pZQTs7O0ErQzZZQTtBakRuWUE7QUFnQkE7O0FpRHVYQTtBOUMzWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FpRGdhQTtBL0NoYUE7OztBK0NvYUE7QWpEMVpBO0FBZ0JBOztBaUQ4WUE7QWpEeGFBOztBaUQyYUE7QS9DM2FBOzs7QStDK2FBO0FqRHJhQTtBQWdCQTs7QWlEeVpBO0E5QzdhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0RrQkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EzQ3NnQkE7QTJDNWdCQTtBQVNBO0FBR0E7QUFDQTtBM0MrZkE7QTJDaGdCQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0EzQ3lmQTtBMkNoZ0JBO0FBV0E7QTNDcWZBO0EyQ2pmQTtBQUVBO0FBR0E7QUFPQTtBM0NxZUE7QTJDNWVBO0FBR0E7QTNDeWVBO0EyQzVlQTtBQVVBO0EzQ2tlQTtBMkM1ZUE7QUFjQTtBQUNBO0EzQzZkQTtBMkN6ZEE7QUFFQTtBQUNBO0FBQ0E7QTNDcWRBO0EyQ3pkQTtBQVFBO0EzQ2lkQTtBMkN6ZEE7QUFZQTtBQUNBO0EzQzRjQTtBMkN4Y0E7QUFFQTtBQUNBO0EzQ3FjQTtBMkN4Y0E7QUFPQTtBQUNBO0FBQ0E7QTNDK2JBO0EyQzFiQTtBQUVBO0EzQ3diQTtBMkNyYkE7QUFFQTtBM0NtYkE7QTJDL2FBO0FBRUE7QTNDNmFBO0EyQ3phQTtBQUVBO0FBQ0E7QUFLQTs7QTlDeElBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBb0NtSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0NxWkE7QTJDbFpBOztBQUNBO0FScEhBO0FBRUE7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbUJBO0FBVUE7QUFBQTtBQW1LQTs7O0FBRUE7QUFDQTtBQUdBOztBQUNBO0FBSUE7O0FBQ0E7QUFDQTtBQUdBOztBQUNBO0FRaEdBOztBRHZKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBMUN5aEJBO0EyQ2phQTs7QUE2QkE7QUFDQTtBM0NtWUE7QTJDamFBOztBQWtDQTtBQUNBO0FBSUE7O0FBRUE7QUFDQTtBM0N1WEE7QTJDcFhBOztBQUNBO0EzQ21YQTtBMkMxWEE7O0FBWUE7QTNDOFdBO0EyQzFYQTs7QUFnQkE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUh2TEE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4Q29nQkE7QXdDMWdCQTtBQVNBO0FBR0E7QUFDQTtBeEM2ZkE7QXdDOWZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QXhDdWZBO0F3QzlmQTtBQVdBO0F4Q21mQTtBd0M5ZkE7QUFjQTtBQWRBO0FBaUJBO0F4QzZlQTtBd0N6ZUE7QUFFQTtBQUdBO0FBT0E7QXhDNmRBO0F3Q3BlQTtBQUdBO0F4Q2llQTtBd0NwZUE7QUFVQTtBeEMwZEE7QXdDcGVBO0FBY0E7QUFDQTtBeENxZEE7QXdDamRBO0FBRUE7QUFDQTtBQUNBO0F4QzZjQTtBd0NqZEE7QUFRQTtBeEN5Y0E7QXdDamRBO0FBWUE7QUFDQTtBeENvY0E7QXdDaGNBO0FBRUE7QUFDQTtBeEM2YkE7QXdDaGNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQWFBO0F4Q21iQTtBd0M5YUE7QUFFQTtBeEM0YUE7QXdDemFBO0FBRUE7QXhDdWFBO0F3Q25hQTtBQUVBO0F4Q2lhQTtBd0M3WkE7QUFFQTtBQUNBO0FBcEJBO0FBd0JBO0FBSUE7O0EzQ3ZKQTtBVXFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWlDa0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeENxWUE7QXdDbFlBOzs7OztBQUVBO0FBT0E7O0FFeEtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0ExQ3loQkE7QXdDbFpBOztBQStCQTtBQUNBO0F4Q2tYQTtBd0NsWkE7O0FBb0NBO0FBQ0E7QUFJQTs7QUFFQTtBQUNBO0F4Q3NXQTtBd0NuV0E7Ozs7O0FBRUE7QXhDaVdBO0F3Q3pXQTs7QUFhQTtBeEM0VkE7QXdDeldBOztBQWlCQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE3TEE7QUFnTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBck1BO0FBdU1BO0FBQ0E7QUFDQTtBeENpVUE7QXdDMWdCQTtBQTJNQTtBQUNBO0F4QzhUQTtBd0MxZ0JBO0FBa05BO0FBbE5BO0FBc05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExTkE7QUE2TkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBbk9BO0FBdU9BO0FBdk9BO0FBeU9BO0FBek9BO0FBMk9BO0F4QytSQTtBd0MxZ0JBO0FBOE9BO0FBOU9BO0FBbVBBO0FBQ0E7QUFDQTtBeENxUkE7QXdDMWdCQTtBQXVQQTtBQUNBO0FBQ0E7QUF6UEE7QUE2UEE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QXhDaVFBO0F3Q3RRQTtBQVdBOztBaERsVEE7O0FvREVBO0FsREZBOzs7QWtETUE7QXBESUE7QUFnQkE7O0FvRGhCQTtBcERWQTs7QW9EYUE7QWxEYkE7OztBa0RpQkE7QXBEUEE7QUFnQkE7O0FvRExBO0FqRGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FvRGtDQTtBbERsQ0E7OztBa0RzQ0E7QXBENUJBO0FBZ0JBOztBb0RnQkE7QXRCMUNBOztBc0I2Q0E7QXBEN0NBOztBb0RnREE7QWxEaERBOzs7QWtEb0RBO0FwRDFDQTtBQWdCQTs7QW9EOEJBO0FwRHhEQTs7QW9EMkRBO0FsRDNEQTs7O0FrRCtEQTtBcERyREE7QUFnQkE7O0FvRHlDQTtBakQ3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FvRGtGQTtBbERsRkE7OztBa0RzRkE7QXBENUVBO0FBZ0JBOztBb0RnRUE7QXBEMUZBOztBb0Q2RkE7QWxEN0ZBOzs7QWtEaUdBO0FwRHZGQTtBQWdCQTs7QW9EMkVBO0FqRC9GQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBb0RrSEE7QWxEbEhBOzs7QWtEc0hBO0FwRDVHQTtBQWdCQTs7QW9EZ0dBO0FwRDFIQTs7QW9ENkhBO0FsRDdIQTs7O0FrRGlJQTtBcER2SEE7QUFnQkE7O0FvRDJHQTtBakQvSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FvRG9KQTtBbERwSkE7OztBa0R3SkE7QXBEOUlBO0FBZ0JBOztBb0RrSUE7QXBENUpBOztBb0QrSkE7QWxEL0pBOzs7QWtEbUtBO0FwRHpKQTtBQWdCQTs7QW9ENklBO0FqRGpLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBa0RBQTtBdkJWQTtBQUNBO0FBQ0E7QXVCYUE7QUFDQTtBQU5BO0F0QzRCQTtBQUNBO0FzQzdCQTtBdENxQ0E7QUFDQTtBc0N0Q0E7QUFtQkE7QUFDQTtBQUNBO0E3Q3lnQkE7QTZDOWhCQTtBQXdCQTtBQUNBOztBckR4Q0E7O0FzREVBO0FwREZBOzs7QW9ETUE7QXRESUE7QUFnQkE7O0FzRGhCQTtBdERWQTs7QXNEYUE7QXBEYkE7OztBb0RpQkE7QXREUEE7QUFnQkE7O0FzRExBO0FuRGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FzRGtDQTtBcERsQ0E7OztBb0RzQ0E7QXRENUJBO0FBZ0JBOztBc0RnQkE7QXREMUNBOztBc0Q2Q0E7QXBEN0NBOzs7QW9EaURBO0F0RHZDQTtBQWdCQTs7QXNEMkJBO0F0RHJEQTs7QXNEd0RBO0FwRHhEQTs7O0FvRDREQTtBdERsREE7QUFnQkE7O0FzRHNDQTtBbkQxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNENkVBO0FwRDdFQTs7O0FvRGlGQTtBdER2RUE7QUFnQkE7O0FzRDJEQTtBdERyRkE7O0FzRHdGQTtBcER4RkE7OztBb0Q0RkE7QXREbEZBO0FBZ0JBOztBc0RzRUE7QXREaEdBOztBc0RtR0E7QXBEbkdBOzs7QW9EdUdBO0F0RDdGQTtBQWdCQTs7QXNEaUZBO0F0RDNHQTs7QXNEOEdBO0FwRDlHQTs7O0FvRGtIQTtBdER4R0E7QUFnQkE7O0FzRDRGQTtBbkRoSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXNEbUlBO0FwRG5JQTs7O0FvRHVJQTtBdEQ3SEE7QUFnQkE7O0FzRGlIQTtBQzNJQTtBQVNBO0FDSkE7QUNjQTtBQUNBO0FBQ0E7QUFDQTtBRGRBO0FBQ0E7QXRCSEE7QTFCdWlCQTtBZ0R4aUJBO0F0QldBO0FBS0E7QUFDQTtBc0JUQTtBQ3NCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRG1nQkE7QWdEaGlCQTtBQ2dDQTtBRGhDQTtBQ3NDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRHNmQTtBZ0RoaUJBO0FDNkNBO0FEN0NBO0FDa0RBO0FEbERBO0FDc0RBO0FEbERBO0FDK0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRHVkQTtBZ0Q1aEJBO0FDd0VBOztBekR6RkE7O0EwREVBO0F4REZBOzs7QXdETUE7QTFESUE7QUFnQkE7O0EwRGhCQTtBMURWQTs7QTBEYUE7QXhEYkE7OztBd0RpQkE7QTFEUEE7QUFnQkE7O0EwRExBO0F2RGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0EwRGtDQTtBeERsQ0E7OztBd0RzQ0E7QTFENUJBO0FBZ0JBOztBMERnQkE7QTFEMUNBOztBMEQ2Q0E7QXhEN0NBOzs7QXdEaURBO0ExRHZDQTtBQWdCQTs7QTBEMkJBO0ExRHJEQTs7QTBEd0RBO0F4RHhEQTs7O0F3RDREQTtBMURsREE7QUFnQkE7O0EwRHNDQTtBdkQxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU9iQTs7QWdEMkVBO0FoRHZFQTs7O0FnRDJFQTtBaERsRUE7OztBZ0RzRUE7QWhENURBOztBZ0QrREE7QXhEeEZBOzs7QXdENEZBO0FDL0RBOzs7O0FEb0VBO0FsRDRjQTtBbUR2Z0JBO0FBRUE7QUFDQTtBQUNBO0FBT0E7OztBRHlEQTtBbERtY0E7QW1EeGZBO0FBRUE7QUFDQTtBbkRxZkE7QW1EeGZBO0FBTUE7QUFDQTtBbkRpZkE7QW1EN2VBO0FBRUE7QUFDQTtBQUNBO0FBRUE7OztBRHFEQTtBQ2pEQTs7QUFFQTtBQUNBO0FuRGdlQTtBbUQ3ZUE7QUFpQkE7QUFDQTtBQUtBO0FBR0E7QUFDQTtBQVNBO0FuRHljQTtBbUR0ZEE7QUFNQTtBbkRnZEE7QW1EdGRBO0FBaUJBO0FuRHFjQTtBbUR0ZEE7QUFzQkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QW5Eb2JBO0FtRDdiQTtBQXFCQTtBbkR3YUE7QW1EN2JBO0FBeUJBO0FBQ0E7QW5EbWFBO0FtRDdiQTtBQThCQTtBQUlBO0FBQ0E7QUFDQTtBbkR5WkE7QW1EM1pBO0FBU0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkR3WUE7QW1EOVlBO0FBU0E7QW5EcVlBO0FtRDlZQTtBQWFBO0FuRGlZQTtBbUQ5WUE7QUFpQkE7QUFDQTtBQUdBO0FqRHZKQTtBQUNBO0FBQ0E7QWlEdUpBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBdEdBO0FBNEdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkRxV0E7QW1EdGRBO0FBb0hBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVUE7QW5ENlVBO0FtRC9WQTtBQXVCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFDQTtBbkRzVEE7QW1EL1ZBO0FBbURBO0FuRDRTQTtBbUQvVkE7QUEwREE7QUFDQTtBQUNBO0FBNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRGdRQTtBbUR0UUE7QUFlQTtBbkR1UEE7QW1EdFFBO0FBcUJBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkRxT0E7QW1ENU9BO0FBVUE7QW5Ea09BO0FtRDVPQTtBQWNBO0FBSUE7QUFDQTtBQUNBO0FuRHdOQTtBbUQxTkE7QUFLQTs7QTNEeFZBOztBNERFQTtBMURGQTs7O0EwRE1BO0E1RElBO0FBZ0JBOztBNERoQkE7QTVEVkE7O0E0RGFBO0ExRGJBOzs7QTBEaUJBO0E1RFBBO0FBZ0JBOztBNERMQTtBekRmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNERrQ0E7QTFEbENBOzs7QTBEc0NBO0E1RDVCQTtBQWdCQTs7QTREZ0JBO0FWMUNBOzs7Ozs7Ozs7QVVvREE7QTVEcERBOztBNER1REE7QTFEdkRBOzs7QTBEMkRBO0E1RGpEQTtBQWdCQTs7QTREcUNBO0E1RC9EQTs7QTREa0VBO0ExRGxFQTs7O0EwRHNFQTtBNUQ1REE7QUFnQkE7O0E0RGdEQTtBekRwRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0F5QzZGQTtBeEM3RkE7QUFTQTtBeUJUQTtBQW1EQTtBQ1dBO0EzQjlEQTs7Ozs7Ozs7QXlDMkdBO0F4QzNHQTtBQVNBO0F5QzJCQTtBQUdBO0FyRHNnQkE7QXFEemdCQTtBQU9BO0FBSUE7QUFDQTtBQUdBO0FYdkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FXbUNBO0FBQ0E7QUFEQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwQkE7QUF3QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBR0E7QUFNQTtBZm1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZTVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBZm9FQTtBQUNBO0FlckVBO0FmMEVBO0FBQ0E7QWUzRUE7QWYwRUE7QUFDQTtBZTNFQTtBZjBFQTtBQUNBO0FlM0VBO0FmK0VBO0F0QzhYQTtBcUQ3Y0E7QUFXQTtBQUtBO0FBRUE7QUFDQTtBQUhBO0FBT0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FyRHNaQTtBcURoYUE7QUFvQkE7QUFwQkE7QUEwQkE7QUFJQTtBWC9KQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBVzJKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QXZDekdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F1QytGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBWkE7QXZDbEJBO0FBQ0E7QUFDQTtBdUNnQkE7QXZDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBdUNBQTtBdkNHQTtBQUNBO0F1Q0pBO0F2Q3lEQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXVDakVBO0F2Q29FQTtBQUNBO0F1Q3JFQTtBdkNzSEE7QUFDQTtBdUN2SEE7QUFlQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBWDdOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBV3lOQTtBQUNBO0FBQ0E7QUFDQTtBckQ2VEE7QXFEaFVBO0FBTUE7QUFJQTtBckRzVEE7QXFEaFVBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBN0RqUUE7O0E4REVBO0E1REZBOzs7QTRETUE7QTlESUE7QUFnQkE7O0E4RGhCQTtBOURWQTs7QThEYUE7QTVEYkE7OztBNERpQkE7QTlEUEE7QUFnQkE7O0E4RExBO0EzRGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E4RGtDQTtBNURsQ0E7OztBNERzQ0E7QTlENUJBO0FBZ0JBOztBOERnQkE7QVoxQ0E7Ozs7Ozs7OztBWW9EQTtBOURwREE7O0E4RHVEQTtBNUR2REE7OztBNEQyREE7QTlEakRBO0FBZ0JBOztBOERxQ0E7QTlEL0RBOztBOERrRUE7QTVEbEVBOzs7QTREc0VBO0E5RDVEQTtBQWdCQTs7QThEZ0RBO0EzRHBFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNERmQTtBQVNBO0FDeUJBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0F4RG9mQTtBd0RsZkE7QUFVQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVVBO0FBVkE7QUFjQTtBQWRBO0FBbUJBO0FBSUE7QUFFQTtBQUtBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWRwSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QTFDeWhCQTtBd0RwYkE7QWRqR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBY2tIQTtBQzFIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FEK0dBO0FBQ0E7QUFDQTtBQUNBO0FBcUJBO0F4RGlZQTtBd0Q1WkE7QUFhQTtBQWlCQTtBQ25JQTtBQUNBO0FEc0lBO0FDbElBO0FBQ0E7QURxSUE7QUNqSUE7QUFDQTtBRG9JQTtBQUNBO0FBd0JBO0FDdEpBO0F6RCtlQTtBd0QzZ0JBO0FBdUxBOztBRXpOQTs7O0FBSUE7QUFDQTtBQUVBOztBQUVBO0FBQ0E7O0FsRVZBOztBbUVFQTtBakVGQTs7O0FpRU1BO0FuRUlBO0FBZ0JBOztBbUVoQkE7QW5FVkE7O0FtRWFBO0FqRWJBOzs7QWlFaUJBO0FuRVBBO0FBZ0JBOztBbUVMQTtBaEVmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaUVMQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBSUE7QUFKQTtBQVFBO0FBUkE7QUFXQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBR0E7QUFFQTtBQUlBO0FBRUE7O0FwRS9FQTs7QXFFRUE7QW5FRkE7OztBbUVNQTtBckVJQTtBQWdCQTs7QXFFaEJBO0FyRVZBOztBcUVhQTtBbkViQTs7O0FtRWlCQTtBckVQQTtBQWdCQTs7QXFFTEE7QWxFZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXFFa0NBO0FuRWxDQTs7O0FtRXNDQTtBckU1QkE7QUFnQkE7O0FxRWdCQTtBQ3JDQTtBQUNBO0FBQ0E7QTlEc2lCQTtBOER4aUJBO0FBS0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBOUQ0aEJBO0E4RGhpQkE7QUFRQTtBQUlBO0FBQ0E7QTlEbWhCQTtBOERwaEJBO0FBSUE7QUFHQTtBQUNBOztBdEVqQ0E7O0F1RUVBO0FyRUZBOzs7QXFFTUE7QXZFSUE7QUFnQkE7O0F1RWhCQTtBdkVWQTs7QXVFYUE7QXJFYkE7OztBcUVpQkE7QXZFUEE7QUFnQkE7O0F1RUxBO0FwRWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F1RWtDQTtBckVsQ0E7OztBcUVzQ0E7QXZFNUJBO0FBZ0JBOztBdUVnQkE7QUN2QkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTs7QXhFMUVBOztBeUVFQTtBdkVGQTs7O0F1RU1BO0F6RUlBO0FBZ0JBOztBeUVoQkE7QXpFVkE7O0F5RWFBO0F2RWJBOzs7QXVFaUJBO0F6RVBBO0FBZ0JBOztBeUVMQTtBdEVmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBeUVrQ0E7QXZFbENBOzs7QXVFc0NBO0F6RTVCQTtBQWdCQTs7QXlFZ0JBO0F0RDFDQTs7Ozs7Ozs7QXNEbURBO0FyRG5EQTtBQVNBO0FsQlRBOzs7QXVFeURBO0F6RXpEQTs7QXlFNERBO0F2RTVEQTs7O0F1RWdFQTtBekV0REE7QUFnQkE7O0F5RTBDQTtBekVwRUE7O0F5RXVFQTtBdkV2RUE7OztBdUUyRUE7QXpFakVBO0FBZ0JBOztBeUVxREE7QXRFekVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QWlDc0NBO0FBaUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QUE3QkE7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBL0J0RUE7QStCZ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QS9CbEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbUJBO0FBVUE7QUFBQTtBK0IrQkE7QS9CeEJBO0ErQndCQTtBL0JmQTtBK0JlQTtBL0JzSUE7QUFDQTtBK0J2SUE7QS9CMklBO0ErQjNJQTtBL0JnSkE7QUFDQTtBK0JqSkE7QS9CcUpBO0FBQ0E7QStCdElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBbUJBO0FBQ0E7QUFyQkE7QUFLQTtBQUxBO0FBU0E7QUFJQTtBQUVBO0FBQ0E7QUFTQTtBQUNBO0FBREE7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FsRWdXQTtBa0VuV0E7QUFNQTtBQUVBO0FBQ0E7QUFDQTtBQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBVkE7QUFNQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QXBEaE5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FvRHNNQTtBQU5BO0FuRDNSQTtBbUQyUkE7QW5EcFJBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QW1ENlFBO0FuRG5RQTtBQUNBO0FBQ0E7QUFJQTtBbUQ2UEE7QW5Edk9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbURrT0E7QW5EMU5BO0FtRDBOQTtBcER6SEE7QUFDQTtBQUNBO0FvRHVIQTtBcERqSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBb0R1R0E7QXBEcEdBO0FBQ0E7QW9EbUdBO0FwRDlDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QW9Ec0NBO0FwRG5DQTtBQUNBO0FvRGtDQTtBcERlQTtBQUNBO0FvRFJBO0FwRGtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QW9EcENBO0FBR0E7QXBEeUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FvRDdHQTtBQUNBO0FBR0E7QXBEek9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FvRCtOQTtBQU5BO0FwRHhMQTtBb0R3TEE7QXBEbEpBO0FBQ0E7QUFDQTtBb0RnSkE7QXBEMUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QW9EcUhBO0FwRGxIQTtBQUNBO0FvRGlIQTtBcER2RUE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FvRG9EQTtBcERqREE7QUFDQTtBb0RnREE7QXBEVkE7QUFDQTtBb0RpQkE7QXBEUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FvRFhBO0FBR0E7QXBEZ0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FvRHBGQTtBQUNBO0FBR0E7QXBEbFFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FvRG1QQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBcERqTkE7QW9EaU5BO0FwRDNLQTtBQUNBO0FBQ0E7QW9EeUtBO0FwRG5LQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FvRDhJQTtBcEQzSUE7QUFDQTtBb0QwSUE7QXBEaEdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBb0Q2RUE7QXBEMUVBO0FBQ0E7QW9EeUVBO0FwRG5DQTtBQUNBO0FvRHNEQTtBcEQ1Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FvRDBCQTtBQUdBO0FwRDJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBb0QvQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FsRWlJQTtBa0VqSkE7QUFvQkE7QWxFNkhBO0FrRWpKQTtBQXdCQTtBbEV5SEE7QWtFakpBO0FBNEJBO0FBQ0E7QUE3QkE7QUEwQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUE1RUE7QUFpRkE7QUFDQTtBQUNBO0FBd0VBO0FBRUE7O0ExRTFpQkE7O0EyRUVBO0F6RUZBOzs7QXlFTUE7QTNFSUE7QUFnQkE7O0EyRWhCQTtBM0VWQTs7QTJFYUE7QXpFYkE7OztBeUVpQkE7QTNFUEE7QUFnQkE7O0EyRUxBO0F4RWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0EyRWtDQTtBekVsQ0E7OztBeUVzQ0E7QTNFNUJBO0FBZ0JBOztBMkVnQkE7QXhEMUNBOzs7Ozs7OztBd0RtREE7QXZEbkRBO0FBU0E7QXBCVEE7O0EyRXdEQTtBekV4REE7OztBeUU0REE7QTNFbERBO0FBZ0JBOztBMkVzQ0E7QTNFaEVBOztBMkVtRUE7QXpFbkVBOzs7QXlFdUVBO0EzRTdEQTtBQWdCQTs7QTJFaURBO0F4RXJFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0JmQTs7Ozs7Ozs7QXdEOEZBO0F2RDlGQTtBQVNBO0F5QlRBO0FBbURBO0FDV0E7QUk5REE7Ozs7Ozs7OztBeUI2R0E7QXpFN0dBOzs7QXlFaUhBO0FDMURBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QXBFbWNBO0FvRTljQTtBQU9BO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFqQkE7QUFXQTtBQUNBO0FBU0E7QUFFQTtBQUlBO0FBRUE7QUFDQTtBQUNBO0FBSkE7O0FBVUE7QUFWQTtBQWNBO0FBS0E7QUFFQTtBQUdBO0FBSUE7QUFDQTtBQUNBO0FBV0E7QUFDQTtBQWxCQTtBQVVBO0FBQ0E7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQU9BO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQWhCQTtBQVNBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTs7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QTlCbEpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E4QnlJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QTlCaklBO0FBQ0E7QThCZ0lBO0E5QjNIQTtBQUNBO0E4QjBIQTtBOUIzSEE7QUFDQTtBOEIwSEE7QTlCM0hBO0FBQ0E7QThCMEhBO0E5QnRIQTtBOEJtSUE7QXREeE5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FzRDhNQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0F0RGpJQTtBQUNBO0FBQ0E7QXNEK0hBO0F0RHpIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FzRCtHQTtBdEQ1R0E7QUFDQTtBc0QyR0E7QXREdERBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBc0Q4Q0E7QXREM0NBO0FBQ0E7QXNEMENBO0F0RE9BO0FBQ0E7QXNESUE7QXRETUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUErREE7QXNEcEVBO0F0RDhFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBc0QvRUE7OztBQU1BO0FBTUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBR0E7QUFJQTtBMUJuV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QTBCZ1dBO0FBSUE7QUFNQTtBQUVBOztBNUVoWUE7O0E2RUVBO0EzRUZBOzs7QTJFTUE7QTdFSUE7QUFnQkE7O0E2RWhCQTtBN0VWQTs7QTZFYUE7QTNFYkE7OztBMkVpQkE7QTdFUEE7QUFnQkE7O0E2RUxBO0ExRWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EyRW9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7QTlFaEhBOztBK0VFQTtBN0VGQTs7O0E2RU1BO0EvRUlBO0FBZ0JBOztBK0VoQkE7QS9FVkE7O0ErRWFBO0E3RWJBOzs7QTZFaUJBO0EvRVBBO0FBZ0JBOztBK0VMQTtBNUVmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBK0VrQ0E7QTdFbENBOzs7QTZFc0NBO0EvRTVCQTtBQWdCQTs7QStFZ0JBO0EvRTFDQTs7QStFNkNBO0E3RTdDQTs7O0E2RWlEQTtBL0V2Q0E7QUFnQkE7O0ErRTJCQTtBNUUvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0ErRW9FQTtBN0VwRUE7OztBNkV3RUE7QS9FOURBO0FBZ0JBOztBK0VrREE7QS9FNUVBOztBK0UrRUE7QTdFL0VBOzs7QTZFbUZBO0EvRXpFQTtBQWdCQTs7QStFNkRBO0E1RWpGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBK0VvR0E7QTdFcEdBOzs7QTZFd0dBO0EvRTlGQTtBQWdCQTs7QStFa0ZBO0EvRTVHQTs7QStFK0dBO0E3RS9HQTs7O0E2RW1IQTtBL0V6R0E7QUFnQkE7O0ErRTZGQTtBNUVqSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0ErRXNJQTtBN0V0SUE7OztBNkUwSUE7QS9FaElBO0FBZ0JBOztBK0VvSEE7QS9FOUlBOztBK0VpSkE7QTdFakpBOzs7QTZFcUpBO0EvRTNJQTtBQWdCQTs7QStFK0hBO0E1RW5KQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0JmQTs7Ozs7Ozs7QTRENEtBO0EzRDVLQTtBQVNBO0E4QlRBOzs7Ozs7Ozs7QTZCd0xBO0EvRXhMQTs7QStFMkxBO0E3RTNMQTs7O0E2RStMQTtBL0VyTEE7QUFnQkE7O0ErRXlLQTtBQzlLQTtBQUVBOzs7QUFLQTtBQUNBO0FBTkE7OztBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFkQTs7O0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBcEJBOzs7QUF1QkE7QUFDQTtBQUNBO0FBekJBOzs7QUE0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdkNBOzs7QTlCWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QThCR0E7OztBQThDQTtBQUNBO0FBL0NBOzs7QUFtREE7QUFDQTtBQUNBO0FBQ0E7QXhFZ2VBO0F3RXRoQkE7OztBQXlEQTtBQXpEQTs7Ozs7O0ExRG1FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMERqQkE7QUFsRUE7Ozs7OztBMUQwSkE7QUFDQTtBQUNBO0EwRDVKQTs7Ozs7Ozs7Ozs7QTFEa0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QTBENUtBOzs7Ozs7Ozs7OztBMUQrS0E7QUFDQTtBMERoTEE7Ozs7Ozs7Ozs7Ozs7Ozs7QTFEcU9BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMEQ3T0E7Ozs7Ozs7Ozs7Ozs7Ozs7QTFEZ1BBO0FBQ0E7QTBEalBBOzs7Ozs7QTFEa1NBO0FBQ0E7QWRtUEE7QXdFdGhCQTs7Ozs7O0FBcUVBO0FBckVBOzs7Ozs7QTFENlNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EwRG5UQTs7Ozs7O0ExRG1FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMERHQTtBQXRGQTs7Ozs7O0ExRDBKQTtBQUNBO0FBQ0E7QTBENUpBOzs7Ozs7Ozs7OztBMURrS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBMER2TEE7Ozs7Ozs7Ozs7O0ExRDBMQTtBQUNBO0EwRDNMQTs7Ozs7Ozs7Ozs7Ozs7OztBMURxT0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0EwRHhQQTs7Ozs7Ozs7Ozs7Ozs7OztBMUQyUEE7QUFDQTtBMEQ1UEE7Ozs7OztBMURrU0E7QUFDQTtBZG1QQTtBd0V0aEJBOzs7Ozs7QUF5RkE7QUFDQTtBQTFGQTs7Ozs7O0ExRDZTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMEQ5TUE7Ozs7OztBMURsQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTBEdUJBO0FBTEE7Ozs7OztBMURxREE7QUFDQTtBQUNBO0EwRHZEQTs7Ozs7Ozs7Ozs7QTFENkRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QTBEbEZBOzs7Ozs7Ozs7OztBMURxRkE7QUFDQTtBMER0RkE7Ozs7Ozs7Ozs7Ozs7Ozs7QTFEZ0lBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBMERuSkE7Ozs7Ozs7Ozs7Ozs7Ozs7QTFEc0pBO0FBQ0E7QTBEdkpBOzs7Ozs7QTFENkxBO0FBQ0E7QTBEOUxBOzs7Ozs7QTFEd01BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EwRG5UQTs7O0ExRG1FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMER1Q0E7QUExSEE7OztBMUQwSkE7QUFDQTtBQUNBO0EwRDVKQTs7Ozs7QTFEa0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QTBENUtBOzs7OztBMUQrS0E7QUFDQTtBMERoTEE7Ozs7Ozs7QTFEcU9BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMEQ3T0E7Ozs7Ozs7QTFEZ1BBO0FBQ0E7QTBEalBBOzs7QTFEa1NBO0FBQ0E7QTBEblNBOzs7QTFENlNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTBEcFRBOzs7QTNFbkJBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaUVnSUE7QUFDQTtBQUNBO0FBQ0E7QXhFNFlBO0F3RXpZQTtBQUdBO0FBQ0E7QXhFcVlBO0F3RWpZQTtBQUdBO0FBQ0E7QXhFNlhBO0F3RWpZQTs7QUFTQTtBQUNBO0F4RXVYQTtBd0VqWUE7O0FBZ0JBO0FBQ0E7QUFDQTtBQUtBO0FBRUE7QUFDQTtBeEV1V0E7QXdFMVdBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBOztBaEZ0TkE7O0FpRkVBO0EvRUZBOzs7QStFTUE7QWpGSUE7QUFnQkE7O0FpRmhCQTtBakZWQTs7QWlGYUE7QS9FYkE7OztBK0VpQkE7QWpGUEE7QUFnQkE7O0FpRkxBO0E5RWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpRmtDQTtBL0VsQ0E7OztBK0VzQ0E7QWpGNUJBO0FBZ0JBOztBaUZnQkE7QTlEMUNBOzs7Ozs7OztBOERtREE7QTdEbkRBO0FBU0E7QThEQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFFa2dCQTtBMEV2Z0JBO0FBUUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ExRXFmQTtBMEUxZkE7QUFRQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFFd2VBO0EwRTdlQTtBQVFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBNURVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBNEQxQkE7QTNEakVBO0EyRGlFQTtBM0QxREE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBMkRtREE7QTNEekNBO0FBQ0E7QUFDQTtBQUlBO0EyRG1DQTtBM0RiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTJEUUE7QTNEQUE7QTJEQUE7QTVEaUdBO0FBQ0E7QUFDQTtBNERuR0E7QTVEeUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QTREbkhBO0E1RHNIQTtBQUNBO0E0RHZIQTtBNUQ0S0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0E0RHBMQTtBNUR1TEE7QUFDQTtBNER4TEE7QTVEeU9BO0FBQ0E7QUFDQTtBNERwT0E7QTVENk9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFjQTtBQUNBO0E0RDlQQTtBNURxVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7O0F0QjVhQTs7QW1GRUE7QWpGRkE7OztBaUZNQTtBbkZJQTtBQWdCQTs7QW1GaEJBO0FuRlZBOztBbUZhQTtBakZiQTs7O0FpRmlCQTtBbkZQQTtBQWdCQTs7QW1GTEE7QWhGZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWlGZkE7Ozs7Ozs7Ozs7QUQwQ0E7QW5GMUNBOztBbUY2Q0E7QWpGN0NBOzs7QWlGaURBO0FuRnZDQTtBQWdCQTs7QW1GMkJBO0FFM0JBO0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQURBO0FBSUE7QUFyQ0E7QUEyQ0E7QUEzQ0E7QUErQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQU9BO0FBQ0E7QUEzQkE7QUFxQ0E7QUFDQTtBQWlCQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUlBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBVUE7QUFWQTtBQWNBO0FBQ0E7QUFmQTtBQW1CQTtBQUtBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFFQTtBQUtBO0FBRUE7QUFGQTtBQU1BO0FBalBBO0FBd1BBO0FBeFBBO0FBMlBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQVhBO0FBZUE7QUFJQTtBQW5CQTtBQW9CQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQVJBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QURyVkE7QUNxVkE7QURsVkE7QUFDQTtBQUNBO0FBQ0E7QUMrVUE7QUQzVUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQzhVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUR0V0E7QUNzV0E7QURuV0E7QUNtV0E7QUQvVkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FDa1dBO0FBQ0E7QTdFcUpBO0E2RXRKQTtBQUlBOztBckYzWkE7O0FzRkVBO0FwRkZBOzs7QW9GTUE7QXRGSUE7QUFnQkE7O0FzRmhCQTtBdEZWQTs7QXNGYUE7QXBGYkE7OztBb0ZpQkE7QXRGUEE7QUFnQkE7O0FzRkxBO0FuRmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FzRmtDQTtBcEZsQ0E7OztBb0ZzQ0E7QXRGNUJBO0FBZ0JBOztBc0ZnQkE7QXBDMUNBOzs7Ozs7Ozs7QW9Db0RBO0F0RnBEQTs7QXNGdURBO0FwRnZEQTs7O0FvRjJEQTtBdEZqREE7QUFnQkE7O0FzRnFDQTtBdEYvREE7O0FzRmtFQTtBcEZsRUE7OztBb0ZzRUE7QXRGNURBO0FBZ0JBOztBc0ZnREE7QW5GcEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBbUU2RkE7QWxFN0ZBO0FBU0E7QXlCVEE7QUFtREE7QUNXQTtBM0I5REE7Ozs7Ozs7O0FtRTJHQTtBbEUzR0E7QUFTQTtBbUVhQTtBQUNBO0FBQ0E7QS9FcWhCQTtBK0V2aEJBO0FBS0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvRTJnQkE7QStFL2dCQTtBQU9BO0EvRXdnQkE7QStFL2dCQTtBQVdBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QXJDaERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FxQzRDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FqRW9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBaUU5QkE7QUFDQTtBQVBBO0FqRTJHQTtBQUNBO0FBQ0E7QWlFN0dBO0FqRW1IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FpRTdIQTtBakVnSUE7QUFDQTtBaUVqSUE7QWpFc0xBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBaUU5TEE7QWpFaU1BO0FBQ0E7QWlFbE1BO0FqRW1QQTtBQUNBO0FpRTFPQTtBakVtVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QWlFM1VBO0FBQ0E7QUFDQTs7QXZGeEZBOztBd0ZFQTtBdEZGQTs7O0FzRk1BO0F4RklBO0FBZ0JBOztBd0ZoQkE7QXhGVkE7O0F3RmFBO0F0RmJBOzs7QXNGaUJBO0F4RlBBO0FBZ0JBOztBd0ZMQTtBckZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBd0ZrQ0E7QXRGbENBOzs7QXNGc0NBO0F4RjVCQTtBQWdCQTs7QXdGZ0JBO0F4RjFDQTs7QXdGNkNBO0F0RjdDQTs7O0FzRmlEQTtBeEZ2Q0E7QUFnQkE7O0F3RjJCQTtBeEZyREE7O0F3RndEQTtBdEZ4REE7OztBc0Y0REE7QXhGbERBO0FBZ0JBOztBd0ZzQ0E7QXJGMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F3RjZFQTtBdEY3RUE7OztBc0ZpRkE7QXhGdkVBO0FBZ0JBOztBd0YyREE7QXRDckZBOzs7Ozs7Ozs7QXNDK0ZBO0F4Ri9GQTs7QXdGa0dBO0F0RmxHQTs7O0FzRnNHQTtBeEY1RkE7QUFnQkE7O0F3RmdGQTtBeEYxR0E7O0F3RjZHQTtBdEY3R0E7OztBc0ZpSEE7QXhGdkdBO0FBZ0JBOztBd0YyRkE7QXJGL0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E0RGZBO0FBU0E7QUN5QkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QXhEb2ZBO0F3RGxmQTtBQVVBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFWQTtBQWNBO0FBZEE7QUFtQkE7QUFJQTtBQUVBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZHBIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBMUN5aEJBO0F3RHBiQTtBZGpHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fja0hBO0FDMUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUQrR0E7QUFDQTtBQUNBO0FBQ0E7QUFxQkE7QXhEaVlBO0F3RDVaQTtBQWFBO0FBaUJBO0FDbklBO0FBQ0E7QURzSUE7QUNsSUE7QUFDQTtBRHFJQTtBQ2pJQTtBQUNBO0FEb0lBO0FBQ0E7QUF3QkE7QUN0SkE7QXpEK2VBO0F3RDNnQkE7QUF1TEE7QUFDQTtBeUI1TUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQTlCQTtBQWtDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUlBO0FBS0E7QUFMQTtBQVNBO0FBVEE7QUFhQTtBQWJBO0FBa0JBO0FBbEJBO0FBdUJBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFpQkE7QUFDQTtBQUNBO0FBbkJBO0FBdUJBO0FBQ0E7QUF4QkE7QUE0QkE7QUFDQTtBQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QWpGb1pBO0FpRmhhQTtBQWdCQTs7QXpGN0pBOztBMEZFQTtBeEZGQTs7O0F3Rk1BO0ExRklBO0FBZ0JBOztBMEZoQkE7QTFGVkE7O0EwRmFBO0F4RmJBOzs7QXdGaUJBO0ExRlBBO0FBZ0JBOztBMEZMQTtBdkZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBMEZrQ0E7QXhGbENBOzs7QXdGc0NBO0ExRjVCQTtBQWdCQTs7QTBGZ0JBO0F2RTFDQTs7Ozs7Ozs7QXVFbURBO0ExRm5EQTs7QTBGc0RBO0F4RnREQTs7O0F3RjBEQTtBMUZoREE7QUFnQkE7O0EwRm9DQTtBMUY5REE7O0EwRmlFQTtBeEZqRUE7OztBd0ZxRUE7QTFGM0RBO0FBZ0JBOztBMEYrQ0E7QXZGbkVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QXZDTkE7OztBd0Z5RkE7QUN6Q0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBR0E7QUFFQTtBQUdBO0FBR0E7QUE1QkE7QUFrQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRDQTtBQThDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFQQTtBQVdBO0FBR0E7QUFFQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FBY0E7QUFkQTtBQWtCQTtBQVdBO0FBRUE7QUFDQTtBQUhBO0FBT0E7QUFQQTtBQVdBO0FBWEE7QUFlQTtBQWZBO0FBcUJBO0FBQ0E7QUFDQTtBQXZCQTtBQTZCQTtBQUtBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFEQTtBQUlBO0FBT0E7QUFDQTtBQURBO0FBSUE7QUFRQTtBaEQ1TEE7QWdENExBO0FoRHhMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTZCQTtBQUFBO0FnRHFKQTtBaERySUE7QWdEcUlBO0FoRDdIQTtBQUNBO0FnRDRIQTtBaEQ3R0E7QUFDQTtBZ0Q0R0E7QWhEM0ZBO0FBQ0E7QWdEMEZBO0FoRDlFQTtBQUNBO0FnRCtGQTtBaEQ5TUE7QWdEOE1BO0FoRDFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTZCQTtBQUFBO0FnRHVLQTtBaER2SkE7QWdEdUpBO0FoRHpJQTtBQUNBO0FnRHdJQTtBaER6SEE7QUFDQTtBZ0R3SEE7QWhEcERBO0FBQ0E7QWdEbURBO0FoRHZDQTtBQUNBO0FnRHNDQTtBQWVBO0FBck5BO0FBZ09BO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0EzRnpTQTs7QTRGRUE7QTFGRkE7OztBMEZNQTtBNUZJQTtBQWdCQTs7QTRGaEJBO0E1RlZBOztBNEZhQTtBMUZiQTs7O0EwRmlCQTtBNUZQQTtBQWdCQTs7QTRGTEE7QXpGZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTRGa0NBO0ExRmxDQTs7O0EwRnNDQTtBNUY1QkE7QUFnQkE7O0E0RmdCQTtBQzdCQTtBQUdBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QXJGZ2hCQTtBcUYxaEJBO0FBY0E7QUFDQTtBckYyZ0JBO0FxRjFoQkE7QUFtQkE7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBckZzZkE7QXFGOWZBO0FBV0E7QUFHQTtBQUNBO0FBakRBO0FBdURBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQU1BO0FBQ0E7QUFDQTtBQWhHQTtBQXVHQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBN0Y5SEE7O0E4RkVBO0E1RkZBOzs7QTRGTUE7QTlGSUE7QUFnQkE7O0E4RmhCQTtBOUZWQTs7QThGYUE7QTVGYkE7OztBNEZpQkE7QTlGUEE7QUFnQkE7O0E4RkxBO0EzRmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E4RmtDQTtBNUZsQ0E7OztBNEZzQ0E7QTlGNUJBO0FBZ0JBOztBOEZnQkE7QTlGMUNBOztBOEY2Q0E7QTVGN0NBOzs7QTRGaURBO0E5RnZDQTtBQWdCQTs7QThGMkJBO0EzRi9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QThGb0VBO0E1RnBFQTs7O0E0RndFQTtBOUY5REE7QUFnQkE7O0E4RmtEQTtBOUY1RUE7O0E4RitFQTtBNUYvRUE7OztBNEZtRkE7QTlGekVBO0FBZ0JBOztBOEY2REE7QTNGakZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E4Rm9HQTtBNUZwR0E7OztBNEZ3R0E7QTlGOUZBO0FBZ0JBOztBOEZrRkE7QTlGNUdBOztBOEYrR0E7QTVGL0dBOzs7QTRGbUhBO0E5RnpHQTtBQWdCQTs7QThGNkZBO0EzRmpIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QThGc0lBO0E1RnRJQTs7O0E0RjBJQTtBOUZoSUE7QUFnQkE7O0E4Rm9IQTtBOUY5SUE7O0E4RmlKQTtBNUZqSkE7OztBNEZxSkE7QTlGM0lBO0FBZ0JBOztBOEYrSEE7QTNGbkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E0RkpBO0ExRlBBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZ0ZqQkE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QS9GN0JBOztBZ0dFQTtBOUZGQTs7O0E4Rk1BO0FoR0lBO0FBZ0JBOztBZ0doQkE7QWhHVkE7O0FnR2FBO0E5RmJBOzs7QThGaUJBO0FoR1BBO0FBZ0JBOztBZ0dMQTtBN0ZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBZ0drQ0E7QTlGbENBOzs7QThGc0NBO0FoRzVCQTtBQWdCQTs7QWdHZ0JBO0FDcENBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekZnaUJBO0F5RnZpQkE7QUFVQTtBQUNBO0F6RjRoQkE7QXlGdmlCQTtBQWVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpGbWZBO0F5RnhmQTtBQVFBO0FBQ0E7QXpGK2VBO0F5RnhmQTtBQWFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXpGcWVBO0F5RnZlQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFXQTtBekY0ZEE7QXlGdmVBO0FBZ0JBO0FBQ0E7QUFqQkE7QUFvQkE7QUFLQTtBQUNBO0F6RjZjQTtBeUY5Y0E7QUFJQTtBQUNBO0FBQ0E7QXpGd2NBO0F5RjljQTtBQVVBO0FBQ0E7QUFJQTtBQUNBO0F6RjhiQTtBeUYvYkE7QUFLQTtBQUNBO0F6RnliQTtBeUYvYkE7QUFVQTtBekZxYkE7QXlGL2JBO0FBY0E7QXpGaWJBO0F5RjdhQTtBQUdBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBekZzWkE7QXlGelpBO0FBTUE7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBckVBO0FBeUVBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6RnNVQTtBeUYxVUE7QUFNQTs7QWpHek9BOztBa0dFQTtBaEdGQTs7O0FnR01BO0FsR0lBO0FBZ0JBOztBa0doQkE7QWxHVkE7O0FrR2FBO0FoR2JBOzs7QWdHaUJBO0FsR1BBO0FBZ0JBOztBa0dMQTtBL0ZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdUJmQTs7OztBd0VvQ0E7QWhEcENBOzs7Ozs7Ozs7QWdEOENBO0FDcENBO0FDSkE7QURJQTtBQ0RBO0FBQ0E7QURBQTtBQ0dBO0FESEE7QUNTQTtBQUNBO0FEVkE7QUNlQTtBRGZBO0FDb0JBO0FEcEJBO0FBSUE7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVFBOzs7QWpEekJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FpRFZBO0FBNENBO0FBNUNBOztBQWlEQTtBQUNBO0FBQ0E7QUFuREE7O0FBc0RBO0FBdERBOztBQTBEQTtBQUNBO0FBM0RBO0FBaUVBO0FBQ0E7QUFDQTtBQUNBO0FBcEVBO0FBMEVBO0FBQ0E7QUFDQTtBQUNBO0FBN0VBO0FBa0ZBO0FBbEZBO0FBd0ZBO0FBR0E7QUFFQTtBQTdGQTtBQW1HQTtBQW5HQTs7QUF5R0E7QUFDQTtBQTFHQTs7QUE0R0E7QUE1R0E7Ozs7QUFnSEE7QUFDQTtBQUNBO0FBQ0E7QUFuSEE7O0FBdUhBO0FBQ0E7QUF4SEE7O0FBMEhBO0FBMUhBOzs7O0FBOEhBO0FBQ0E7QUFDQTtBQUNBO0FBaklBO0FBdUlBO0FBQ0E7QUF4SUE7QUEwSUE7QUExSUE7O0FBOElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FuR25MQTs7QXFHRUE7QW5HRkE7OztBbUdNQTtBckdJQTtBQWdCQTs7QXFHaEJBO0FyR1ZBOztBcUdhQTtBbkdiQTs7O0FtR2lCQTtBckdQQTtBQWdCQTs7QXFHTEE7QWxHZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXFHa0NBO0FuR2xDQTs7O0FtR3NDQTtBckc1QkE7QUFnQkE7O0FxR2dCQTtBckcxQ0E7O0FxRzZDQTtBbkc3Q0E7OztBbUdpREE7QXJHdkNBO0FBZ0JBOztBcUcyQkE7QXJHckRBOztBcUd3REE7QW5HeERBOzs7QW1HNERBO0FyR2xEQTtBQWdCQTs7QXFHc0NBO0FsRzFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0JmQTtBQVNBO0FDVEE7Ozs7QTJFaUZBO0FuR2pGQTs7O0FtR3FGQTtBakJyRkE7Ozs7Ozs7Ozs7QWlCZ0dBO0FDaEdBOzs7Ozs7QUR1R0E7QXZFdkdBOztBdUUwR0E7QW5EMUdBOzs7Ozs7Ozs7QW1Eb0hBO0FyR3BIQTs7QXFHdUhBO0FuR3ZIQTs7O0FtRzJIQTtBckdqSEE7QUFnQkE7O0FxR3FHQTtBckcvSEE7O0FxR2tJQTtBbkdsSUE7OztBbUdzSUE7QXJHNUhBO0FBZ0JBOztBcUdnSEE7QWxHcElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxR3VKQTtBbkd2SkE7OztBbUcySkE7QXJHakpBO0FBZ0JBOztBcUdxSUE7QXJHL0pBOztBcUdrS0E7QW5HbEtBOzs7QW1Hc0tBO0FyRzVKQTtBQWdCQTs7QXFHZ0pBO0FyRzFLQTs7QXFHNktBO0FuRzdLQTs7O0FtR2lMQTtBckd2S0E7QUFnQkE7O0FxRzJKQTtBbEcvS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNCZkE7QUFTQTtBQ1RBOzs7O0EyRXNNQTtBbkd0TUE7OztBbUcwTUE7QWpCMU1BOzs7Ozs7Ozs7O0FpQnFOQTtBQ3JOQTs7Ozs7O0FENE5BO0F2RTVOQTs7QXVFK05BO0FuRC9OQTs7Ozs7Ozs7O0FtRHlPQTtBRWxDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9GK1ZBO0ErRnRXQTtBQVdBO0FBSUE7QUFFQTtBQUlBOztBQUdBO0FBbUJBO0FBSUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0EvRm9RQTtBK0Z2UUE7QUFNQTtBQU9BO0FBQ0E7QS9GeVBBO0ErRjFQQTtBQU1BO0FBNUJBO0FBb0NBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkIvVEE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FtQmlVQTtBQUNBO0FBQ0E7QUFDQTtBL0Z3TUE7QStGM01BO0FBTUE7QUFOQTtBQVVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBekVwWUE7QUFDQTtBQUNBO0F5RXFZQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFJQTtBQUNBO0FBU0E7QUFTQTtBM0VuWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJ5ZkE7QStGbkhBO0FBR0E7QUFHQTtBM0VsWEE7QUFDQTtBMkVpWEE7QTNFdFZBO0FBRUE7QUFDQTtBMkUyVkE7QTNFOVlBO0FBQ0E7QTJFNllBO0EzRTlWQTtBQUVBO0FBQ0E7QTJFbVdBO0EzRTVZQTtBQUNBO0EyRTJZQTtBM0V0V0E7QUFFQTtBQUNBO0EyRTJXQTtBM0UvWUE7QUFDQTtBMkU4WUE7QTNFOVdBO0FBRUE7QUFDQTtBMkVtWEE7QTNFeFlBO0FBQ0E7QTJFdVlBO0EzRXRYQTtBQUVBO0FBQ0E7QTJFNFhBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBVEE7QUFhQTtBQUlBO0EzRWhaQTtBQUVBO0FBQ0E7QTJFa1pBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0EvRjRCQTtBK0YvQkE7QUFNQTtBQU9BO0FBQ0E7QS9GaUJBO0ErRmxCQTtBQU1BO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9GZEE7QStGTUE7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvRmpDQTtBK0Y0QkE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QS9GeERBO0ErRjREQTtBQUVBO0FBRUE7QUFDQTtBQUtBO0FBVkE7QUFXQTtBQUNBO0FBWkE7O0FBa0JBO0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBL0Z0SEE7QStGcUhBO0FBSUE7QUFPQTtBQUNBO0EvRmpJQTtBK0ZnSUE7QUFNQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBL0Z6S0E7QStGd0tBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0EvRjlMQTtBK0YyTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFPQTtBQUNBO0FBbkRBO0FBd0RBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBTUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQU5BO0FBVUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QS9GcFNBO0ErRmtTQTtBQUtBO0FBT0E7QUFDQTtBL0YvU0E7QStGOFNBO0FBTUE7QUFPQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBOztBQVdBO0FBS0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUxBOztBQVdBO0FBU0E7QUFFQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFNQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUF6QkE7QUE0QkE7QUE1QkE7QUFnQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFiQTtBQWlCQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0ZsZkE7QStGNmVBO0FBUUE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0EvRmhnQkE7QStGOGZBO0FBT0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQWxCQTtBQXNCQTtBQUdBOztBQUVBO0FBM0JBO0FBK0JBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFWQTtBQVdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBckRybkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FxRGtuQ0E7QXJEMW5DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBcUR1bkNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBWEE7QUFnQkE7QUFoQkE7QUFtQkE7QUFDQTtBQUNBO0FBckJBO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBN0JBO0FBbUNBO0FBQ0E7QUFDQTtBQXJDQTtBQTBDQTtBQUNBO0FBR0E7QUFDQTtBQTRCQTtBQWlDQTtBQTlEQTtBQUtBO0FBTEE7QUFnQ0E7QUFoQ0E7QUFzQ0E7QUE2QkE7QUFDQTtBQUNBO0FBQ0E7QUFhQTtBQWhCQTtBQU1BO0FBTkE7QUFXQTtBQVhBO0FBbUJBO0FBbkJBO0FBdUJBO0FBa0VBO0FBRUE7QUFGQTtBQU1BO0FBQ0E7QUM1cENBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEc2VkE7QWdHcFdBO0FBV0E7QUFJQTtBQUVBO0FBSUE7O0FBR0E7QUFtQkE7QUFJQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QWhHa1FBO0FnR3JRQTtBQU1BO0FBT0E7QUFDQTtBaEd1UEE7QWdHeFBBO0FBTUE7QUE1QkE7QUFvQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQmpVQTtBb0I2VEE7QXBCMVRBO0FBQ0E7QUFDQTtBQUNBO0FvQnVUQTtBcEJuVEE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBb0JtVUE7QUFDQTtBQUNBO0FBQ0E7QWhHc01BO0FnR3pNQTtBQU1BO0FBTkE7QUFVQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBMUV2WUE7QUFDQTtBQUNBO0EwRXdZQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFJQTtBQUNBO0FBU0E7QUFTQTtBNUV0WkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJ5ZkE7QWdHaEhBO0FBR0E7QUFHQTtBNUVyWEE7QUFDQTtBNEVvWEE7QTVFelZBO0E0RXlWQTtBNUV0VkE7QTRFOFZBO0E1RWpaQTtBQUNBO0E0RWdaQTtBNUVqV0E7QTRFaVdBO0E1RTlWQTtBNEVzV0E7QTVFL1lBO0FBQ0E7QTRFOFlBO0E1RXpXQTtBNEV5V0E7QTVFdFdBO0E0RThXQTtBNUVsWkE7QUFDQTtBNEVpWkE7QTVFalhBO0E0RWlYQTtBNUU5V0E7QTRFc1hBO0E1RTNZQTtBQUNBO0E0RTBZQTtBNUV6WEE7QTRFeVhBO0E1RXRYQTtBNEUrWEE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFUQTtBQWFBO0FBSUE7QTVFblpBO0E0RW1aQTtBNUVoWkE7QTRFcVpBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FoR3lCQTtBZ0c1QkE7QUFNQTtBQU9BO0FBQ0E7QWhHY0E7QWdHZkE7QUFNQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoR2pCQTtBZ0dTQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhHcENBO0FnRytCQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBaEczREE7QWdHK0RBO0FBRUE7QUFFQTtBQUNBO0FBS0E7QUFWQTtBQVdBO0FBQ0E7QUFaQTs7QUFrQkE7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBQ0E7QUFTQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBaEc5SEE7QWdHNkhBO0FBSUE7QUFPQTtBQUNBO0FoR3pJQTtBZ0d3SUE7QUFNQTtBQU9BO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBQ0E7QUFTQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QWhHdExBO0FnR3FMQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBaEczTUE7QWdHd01BO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBT0E7QUFDQTtBQW5EQTtBQXdEQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQU1BO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFOQTtBQVVBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FoR2pUQTtBZ0crU0E7QUFLQTtBQU9BO0FBQ0E7QWhHNVRBO0FnRzJUQTtBQU1BO0FBT0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTs7QUFPQTtBQUNBO0FBVUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUxBOztBQVdBO0FBU0E7QUFFQTtBQUtBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUE1QkE7QUErQkE7QUEvQkE7QUFtQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFiQTtBQWlCQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEcxZ0JBO0FnR3FnQkE7QUFRQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QWhHeGhCQTtBZ0dzaEJBO0FBT0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQUlBO0FBQ0E7QUFLQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUF2QkE7QUEyQkE7QUFHQTs7QUFFQTtBQWhDQTtBQW9DQTtBQU1BO0FBQ0E7QUFLQTtBQUNBO0FBT0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBREE7QUFHQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBVkE7QUFXQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QXREcHFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBc0RpcUNBO0F0RHpxQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QXNEc3FDQTtBQUNBO0FBQ0E7QUFHQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBS0E7QUFDQTtBQVhBO0FBZ0JBO0FBaEJBO0FBbUJBO0FBQ0E7QUFDQTtBQXJCQTtBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQTdCQTtBQW1DQTtBQUNBO0FBQ0E7QUFyQ0E7QUEwQ0E7QUFDQTtBQTNDQTtBQTZDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQVJBO0FBYUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBZkE7QUFNQTtBQU5BO0FBVUE7QUFWQTtBQWtCQTtBQWxCQTtBQXNCQTtBQXdEQTtBQUVBO0FBRkE7QUFNQTs7QXhHMzFDQTs7QXlHRUE7QXZHRkE7OztBdUdNQTtBekdJQTtBQWdCQTs7QXlHaEJBO0F6R1ZBOztBeUdhQTtBdkdiQTs7O0F1R2lCQTtBekdQQTtBQWdCQTs7QXlHTEE7QXRHZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTJCZkE7O0EyRWtDQTtBekdsQ0E7O0F5R3FDQTtBdkdyQ0E7OztBdUd5Q0E7QXpHL0JBO0FBZ0JBOztBeUdtQkE7QUNyQ0E7QTVFSEE7QUFDQTtBQUNBO0E0RU1BO0FBQ0E7QUFOQTtBQVdBO0FBQ0E7QUFaQTtBQWVBO0FsR3NoQkE7QWtHamhCQTtBQUdBO0FBQ0E7QUFKQTtBQU9BOztBMUduQ0E7O0EyR0VBO0F6R0ZBOzs7QXlHTUE7QTNHSUE7QUFnQkE7O0EyR2hCQTtBM0dWQTs7QTJHYUE7QXpHYkE7OztBeUdpQkE7QTNHUEE7QUFnQkE7O0EyR0xBO0F4R2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0EyR2tDQTtBekdsQ0E7OztBeUdzQ0E7QTNHNUJBO0FBZ0JBOztBMkdnQkE7QXpEMUNBOzs7Ozs7Ozs7QXlEb0RBO0F4RnBEQTs7Ozs7Ozs7QXdGNkRBO0F4RjdEQTs7Ozs7Ozs7QXdGc0VBO0F2RnRFQTtBQVNBO0F3RndEQTtBQUdBO0FBSEE7QUFNQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QXBHK2NBO0FvR2hkQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUFBO0FBT0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBcEdzYkE7QW9HM2JBO0FBU0E7QUFLQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBcEd1WkE7QW9HN1pBO0FBVUE7QUFDQTtBcEdrWkE7QW9HN1pBO0FBZUE7QXBHOFlBO0FvRzFZQTtBQUVBO0FBRkE7QUFNQTtBcEdvWUE7QW9HMVlBO0FBU0E7QUFHQTtBQUNBO0FBVUE7QXRGaEdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FzRmdGQTtBdEZUQTtBQUNBO0FBQ0E7QXNGT0E7QXRGREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBc0ZwQkE7QXRGdUJBO0FBQ0E7QXNGeEJBO0F0RmtFQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QXNGckZBO0F0RndGQTtBQUNBO0FzRnpGQTtBdEYrSEE7QUFDQTtBc0ZoSUE7QXRGMElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzRmhKQTtBdEZ5TkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXFDQTtBc0Y5T0E7QXRGcEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FzRm9HQTtBdEY3QkE7QUFDQTtBQUNBO0FzRjJCQTtBdEZyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBc0ZXQTtBdEZSQTtBQUNBO0FzRk9BO0F0RjhDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXNGdERBO0F0RnlEQTtBQUNBO0FzRjFEQTtBdEYyR0E7QUFDQTtBc0Y1R0E7QXRGc0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzRjVIQTtBdEZxTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXFDQTtBc0ZyTkE7QXRGN0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FzRjZIQTtBdEZ0REE7QUFDQTtBQUNBO0FzRm9EQTtBdEY5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBc0Z5QkE7QXRGdEJBO0FBQ0E7QXNGcUJBO0F0RnFCQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QXNGeENBO0F0RjJDQTtBQUNBO0FzRjVDQTtBdEZrRkE7QUFDQTtBc0ZuRkE7QXRGNkZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzRm5HQTtBdEY0S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXFDQTtBc0YvTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FwR3dRQTtBb0c3UUE7QUFZQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVCQTtBQWlDQTtBQUNBO0FBS0E7QUFDQTs7QUFFQTtBQUVBOztBQUVBO0FBRUE7O0FBRUE7QUFDQTtBQVpBO0FBQ0E7O0FBRUE7QUFFQTs7QUFFQTtBQUVBOztBQUVBOztBNUdsVkE7O0E2R0VBO0EzR0ZBOzs7QTJHTUE7QTdHSUE7QUFnQkE7O0E2R2hCQTtBN0dWQTs7QTZHYUE7QTNHYkE7OztBMkdpQkE7QTdHUEE7QUFnQkE7O0E2R0xBO0ExR2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EyR1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaEJBO0FBcUJBO0FBQ0E7O0E5RzlCQTs7QStHRUE7QTdHRkE7OztBNkdNQTtBL0dJQTtBQWdCQTs7QStHaEJBO0EvR1ZBOztBK0dhQTtBN0diQTs7O0E2R2lCQTtBL0dQQTtBQWdCQTs7QStHTEE7QTVHZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QStHa0NBO0E3R2xDQTs7O0E2R3NDQTtBL0c1QkE7QUFnQkE7O0ErR2dCQTtBakYxQ0E7O0FpRjZDQTtBQ2xCQTtBbEZ0QkE7QUFDQTtBQUNBO0FrRnlCQTtBQUNBO0FBT0E7QUFDQTtBeEdvZ0JBO0F3R2xoQkE7QUFpQkE7QXhHaWdCQTtBd0dsaEJBO0FBc0JBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQWNBO0FBS0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBOztBaEh4R0E7O0FpSEVBO0EvR0ZBOzs7QStHTUE7QWpISUE7QUFnQkE7O0FpSGhCQTtBakhWQTs7QWlIYUE7QS9HYkE7OztBK0dpQkE7QWpIUEE7QUFnQkE7O0FpSExBO0E5R2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FpSGtDQTtBL0dsQ0E7OztBK0dzQ0E7QWpINUJBO0FBZ0JBOztBaUhnQkE7QS9EMUNBOzs7Ozs7Ozs7QStEb0RBO0FDWkE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFFQTtBQUZBO0FBTUE7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQXpCQTtBQTZCQTtBQUNBO0FBcERBO0FBeURBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFOQTtBQVVBO0FBQ0E7QUFYQTtBQWVBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBRkE7QUFNQTtBQWdCQTtBQUNBO0FBSUE7QUFDQTtBQWFBO0FBSkE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBS0E7QUFMQTtBQVFBO0FBUkE7QUFLQTtBQUxBO0FBUUE7QUFSQTtBQUtBO0FBTEE7QUFRQTtBQVJBO0FBS0E7QUFMQTtBQVFBO0FBUkE7QUFLQTtBQUxBO0FBUUE7QUFSQTtBQWNBO0FBZEE7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0ExR29WQTtBMEc1V0E7QUEyQkE7QUFFQTtBQTdCQTtBQWlDQTtBQUNBO0FBbENBO0FoRXpLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBbEQvQkE7O0FtSEVBO0FqSEZBOzs7QWlITUE7QW5ISUE7QUFnQkE7O0FtSGhCQTtBbkhWQTs7QW1IYUE7QWpIYkE7OztBaUhpQkE7QW5IUEE7QUFnQkE7O0FtSExBO0FoSGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErQ2ZBOzs7Ozs7Ozs7QWlFeUNBO0FuSHpDQTs7QW1INENBO0FqSDVDQTs7O0FpSGdEQTtBbkh0Q0E7QUFnQkE7O0FtSDBCQTtBakhwREE7OztBaUh3REE7QWhHeERBOzs7Ozs7OztBZ0dpRUE7QS9GakVBO0FBU0E7QURUQTs7Ozs7Ozs7QWdHNEVBO0FBQ0E7QUN1Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUdxYkE7QTJHemRBO0FDd0NBO0FEdENBO0FDMkNBO0FBQ0E7QUFJQTtBQUNBO0FBREE7QUFLQTtBQUNBO0FBQ0E7QTVHZ2FBO0E0R3ZhQTtBQWNBO0FBQ0E7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVNBO0FBVEE7QUFhQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QTVHcVhBO0E0RzdYQTtBQWVBO0FBZkE7QUF1QkE7QUFDQTtBQUNBO0FBTUE7QWxFbk1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QWtFOExBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0E1RzJVQTtBNEc5VUE7QUFZQTtBQUNBO0FBV0E7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBdEJBO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWxDQTtBQXNDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsREE7QUF1REE7QUFDQTtBQXhEQTtBQTJEQTtBQTNEQTtBQWlFQTtBQWpFQTtBQW9FQTtBQUNBO0FBQ0E7QUF0RUE7QUF5RUE7QUF6RUE7QUFnRkE7QUFoRkE7QUF1RkE7QUFDQTtBQXhGQTtBQTRGQTtBQTVGQTtBQStGQTtBQUNBO0FBQ0E7QUFDQTtBQWxHQTtBQTBHQTtBQUNBO0FBM0dBO0FBOEdBO0FBQ0E7QUFLQTtBbEV2V0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QWtFb1dBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFyQkE7O0FBMkJBO0FBQ0E7QUFDQTtBQUNBO0FBOUJBOztBQW9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFZQTtBQUdBO0FBSUE7QUFDQTtBQWNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFMQTtBQVNBOztBcEgvZEE7O0FxSEVBO0FuSEZBOzs7QW1ITUE7QXJISUE7QUFnQkE7O0FxSGhCQTtBckhWQTs7QXFIYUE7QW5IYkE7OztBbUhpQkE7QXJIUEE7QUFnQkE7O0FxSExBO0FsSGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxSGtDQTtBbkhsQ0E7OztBbUhzQ0E7QXJINUJBO0FBZ0JBOztBcUhnQkE7QXJIMUNBOztBcUg2Q0E7QW5IN0NBOzs7QW1IaURBO0FySHZDQTtBQWdCQTs7QXFIMkJBO0FySHJEQTs7QXFId0RBO0FuSHhEQTs7O0FtSDREQTtBckhsREE7QUFnQkE7O0FxSHNDQTtBbEgxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FxSCtFQTtBbkgvRUE7OztBbUhtRkE7QXJIekVBO0FBZ0JBOztBcUg2REE7QXJIdkZBOztBcUgwRkE7QW5IMUZBOzs7QW1IOEZBO0FySHBGQTtBQWdCQTs7QXFId0VBO0FsSDVGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBcUgrR0E7QW5IL0dBOzs7QW1IbUhBO0FySHpHQTtBQWdCQTs7QXFINkZBO0FySHZIQTs7QXFIMEhBO0FuSDFIQTs7O0FtSDhIQTtBckhwSEE7QUFnQkE7O0FxSHdHQTtBbEg1SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0FxSGlKQTtBbkhqSkE7OztBbUhxSkE7QXJIM0lBO0FBZ0JBOztBcUgrSEE7QXJIekpBOztBcUg0SkE7QW5INUpBOzs7QW1IZ0tBO0FySHRKQTtBQWdCQTs7QXFIMElBO0FsSDlKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMkJmQTs7QXVGaUxBO0FDNUpBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QTlHa2hCQTtBOEd4aEJBO0FBU0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUdzZ0JBO0E4RzNnQkE7QUFRQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBOUdzZkE7QThHeGZBO0FBS0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTs7QXhGcEVBO0FBQ0E7QUFDQTtBd0ZzRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0E5R2tkQTtBOEczZEE7QUFhQTtBQUNBO0FBZEE7QUFvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUdBO0FBUUE7QUFSQTtBdkcxRUE7QUFDQTtBdUd5RUE7QXZHakVBO0FBQ0E7QXVHMkVBO0FBQ0E7QUFDQTtBQUdBO0FBTUE7QUFDQTtBQVBBO0F2RzFGQTtBQUNBO0F1R3lGQTtBdkdqRkE7QUFDQTtBQUNBO0F1RzJGQTtBQUNBO0FBQ0E7O0F0SG5KQTs7QXVIRUE7QXJIRkE7OztBcUhNQTtBdkhJQTtBQWdCQTs7QXVIaEJBO0F2SFZBOztBdUhhQTtBckhiQTs7O0FxSGlCQTtBdkhQQTtBQWdCQTs7QXVITEE7QXBIZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVIa0NBO0FySGxDQTs7O0FxSHNDQTtBdkg1QkE7QUFnQkE7O0F1SGdCQTtBdkgxQ0E7O0F1SDZDQTtBckg3Q0E7OztBcUhpREE7QXZIdkNBO0FBZ0JBOztBdUgyQkE7QXBIL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUhvRUE7QXJIcEVBOzs7QXFId0VBO0F2SDlEQTtBQWdCQTs7QXVIa0RBO0F2SDVFQTs7QXVIK0VBO0FySC9FQTs7O0FxSG1GQTtBdkh6RUE7QUFnQkE7O0F1SDZEQTtBcEhqRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXVIb0dBO0FySHBHQTs7O0FxSHdHQTtBdkg5RkE7QUFnQkE7O0F1SGtGQTtBdkg1R0E7O0F1SCtHQTtBckgvR0E7OztBcUhtSEE7QXZIekdBO0FBZ0JBOztBdUg2RkE7QXBIakhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBdUhzSUE7QXJIdElBOzs7QXFIMElBO0F2SGhJQTtBQWdCQTs7QXVIb0hBO0F2SDlJQTs7QXVIaUpBO0FySGpKQTs7O0FxSHFKQTtBdkgzSUE7QUFnQkE7O0F1SCtIQTtBcEhuSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXFIWkE7QW5IQ0E7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXlHeEJBO0FuSEhBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F5R3BCQTtBbkhQQTtBVXFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeUdoQkE7QW5IWEE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXlHWkE7QW5IZkE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXlHUkE7QW5IbkJBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F5R0pBO0F6R2dCQTtBQUNBO0FBQ0E7QXlHbEJBO0F6R3lCQTtBQUNBO0FBQ0E7QXlHdkJBOztBekc2QkE7QUFDQTtBeUc5QkE7O0F6R29DQTs7QWZuRUE7O0F5SEVBO0F2SEZBOzs7QXVITUE7QXpISUE7QUFnQkE7O0F5SGhCQTtBekhWQTs7QXlIYUE7QXZIYkE7OztBdUhpQkE7QXpIUEE7QUFnQkE7O0F5SExBO0F0SGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErQ2ZBOzs7Ozs7Ozs7QXVFeUNBO0FDdENBO0F4RVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOztBbERwQkE7O0EySEVBO0F6SEZBOzs7QXlITUE7QTNISUE7QUFnQkE7O0EySGhCQTtBM0hWQTs7QTJIYUE7QXpIYkE7OztBeUhpQkE7QTNIUEE7QUFnQkE7O0EySExBO0F4SGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0EySGtDQTtBekhsQ0E7OztBeUhzQ0E7QTNINUJBO0FBZ0JBOztBMkhnQkE7QTNIMUNBOztBMkg2Q0E7QXpIN0NBOzs7QXlIaURBO0EzSHZDQTtBQWdCQTs7QTJIMkJBO0EzSHJEQTs7QTJId0RBO0F6SHhEQTs7O0F5SDREQTtBM0hsREE7QUFnQkE7O0EySHNDQTtBeEgxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0F3R21GQTtBdkduRkE7QUFTQTtBeUJUQTtBQW1EQTtBQ1dBO0FoQjlEQTs7QTZGMkZBO0EzSDNGQTs7QTJIOEZBO0F6SDlGQTs7O0F5SGtHQTtBM0h4RkE7QUFnQkE7O0EySDRFQTtBM0h0R0E7O0EySHlHQTtBekh6R0E7OztBeUg2R0E7QTNIbkdBO0FBZ0JBOztBMkh1RkE7QXhIM0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FzQ2ZBO0FBTUE7QW1Gc0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FqRi9GQTtBaUY4RkE7QWpGMUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFpQkE7QUFBQTtBaUZ1REE7QWpGaERBO0FBS0E7QUFJQTtBaUZ1Q0E7QWpGNUJBO0FBQ0E7QWlGMkJBO0FqRlpBO0FBQ0E7QUFVQTtBQXNDQTtBQXRDQTtBQWtEQTtBaUZoQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0E5Ri9LQTtBQUNBO0FBQ0E7QThGaUxBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBYkE7O0FBbUJBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBREE7QUFJQTtBQUNBO0FBTEE7QUFTQTtBQVRBO0FBYUE7QUFDQTs7QTVIN1BBOztBNkhFQTtBM0hGQTs7O0EySE1BO0E3SElBO0FBZ0JBOztBNkhoQkE7QTdIVkE7O0E2SGFBO0EzSGJBOzs7QTJIaUJBO0E3SFBBO0FBZ0JBOztBNkhMQTtBMUhmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNkhrQ0E7QTNIbENBOzs7QTJIc0NBO0E3SDVCQTtBQWdCQTs7QTZIZ0JBO0E3SDFDQTs7QTZINkNBO0EzSDdDQTs7O0EySGlEQTtBN0h2Q0E7QUFnQkE7O0E2SDJCQTtBMUdyREE7Ozs7Ozs7O0EwRzhEQTtBekc5REE7QUFTQTtBMEc4QkE7QUFHQTtBQUNBO0FBQ0E7QXRIaWdCQTtBc0h0Z0JBO0FBUUE7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0F0SG9mQTtBc0hyZkE7QUFJQTtBQUNBO0FBTEE7QUFRQTtBQVJBO0FBWUE7QXRIeWVBO0FzSG5lQTtBQUdBO0FBU0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBdERBO0FBMkRBO0FBQ0E7QUFDQTtBdEh5Y0E7QXNIdGdCQTtBQWtFQTtBQWxFQTtBQXVFQTtBQUlBO0F4R3hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBd0dRQTtBeEd5QkE7QXdHekJBO0F4RytEQTtBQUNBO0FBQ0E7QXdHakVBO0F4R3VFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0F3RzVGQTtBeEcrRkE7QUFDQTtBd0doR0E7QXhHMElBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBd0c3SkE7QXhHZ0tBO0FBQ0E7QXdHaktBO0F4R3VNQTtBQUNBO0F3R3hNQTtBeEdpU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQXlCQTtBQUNBO0F3R3hUQTtBQUNBO0FBSUE7QXhHaU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaUNBO0FBY0E7QUFDQTtBeUcxWEE7QUFDQTtBQUNBO0FBQ0E7QS9ISEE7O0E2SGtMQTtBM0hsTEE7OztBMkhzTEE7QTdINUtBO0FBZ0JBOztBNkhnS0E7QTdIMUxBOztBNkg2TEE7QTNIN0xBOzs7QTJIaU1BO0E3SHZMQTtBQWdCQTs7QTZIMktBO0ExSC9MQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNkhrTkE7QTNIbE5BOzs7QTJIc05BO0E3SDVNQTtBQWdCQTs7QTZIZ01BO0E3SDFOQTs7QTZINk5BO0EzSDdOQTs7O0EySGlPQTtBN0h2TkE7QUFnQkE7O0E2SDJNQTtBRzNOQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QWhJeEJBOztBNkhpUEE7QTNIalBBOzs7QTJIcVBBO0E3SDNPQTtBQWdCQTs7QTZIK05BO0E3SHpQQTs7QTZINFBBO0EzSDVQQTs7O0EySGdRQTtBN0h0UEE7QUFnQkE7O0E2SDBPQTtBMUg5UEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZIaVJBO0EzSGpSQTs7O0EySHFSQTtBN0gzUUE7QUFnQkE7O0E2SCtQQTtBN0h6UkE7O0E2SDRSQTtBM0g1UkE7OztBMkhnU0E7QTdIdFJBO0FBZ0JBOztBNkgwUUE7QTdIcFNBOztBNkh1U0E7QTNIdlNBOzs7QTJIMlNBO0E3SGpTQTtBQWdCQTs7QTZIcVJBO0E3SC9TQTs7QTZIa1RBO0EzSGxUQTs7O0EySHNUQTtBN0g1U0E7QUFnQkE7O0E2SGdTQTtBMUhwVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZIdVVBO0EzSHZVQTs7O0EySDJVQTtBN0hqVUE7QUFnQkE7O0E2SHFUQTtBN0gvVUE7O0E2SGtWQTtBM0hsVkE7OztBMkhzVkE7QTdINVVBO0FBZ0JBOztBNkhnVUE7QS9GMVZBOztBK0Y2VkE7QUk3VkE7QUFZQTtBQ0dBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBOztBQUdBO0FBRUE7O0FBQ0E7QUFHQTs7QUFDQTtBQUtBO0FwR3JDQTtBQUNBO0FBQ0E7QXFHR0E7QUFHQTtBRGlDQTtBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBSUE7QURBQTtBQ0dBO0FBQ0E7QURKQTtBQ1FBO0FBQ0E7QURMQTtBQzhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEM0NBO0FDK0NBO0FBQ0E7QURoREE7QUNzREE7QUFDQTtBQUNBO0FBQ0E7QUR0REE7QUNtRUE7QUFDQTtBQUNBO0FEM0dBOzs7QUE4Q0E7QUFDQTtBQUNBO0FBS0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVNBO0FBQ0E7QUFWQTtBQWFBO0FBQ0E7QWxJbEZBOztBNkhpYkE7QTNIamJBOzs7QTJIcWJBO0E3SDNhQTtBQWdCQTs7QTZIK1pBO0E3SHpiQTs7QTZINGJBO0EzSDViQTs7O0EySGdjQTtBN0h0YkE7QUFnQkE7O0E2SDBhQTtBMUg5YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZIaWRBO0EzSGpkQTs7O0EySHFkQTtBN0gzY0E7QUFnQkE7O0E2SCtiQTtBN0h6ZEE7O0E2SDRkQTtBM0g1ZEE7OztBMkhnZUE7QTdIdGRBO0FBZ0JBOztBNkgwY0E7QTdIcGVBOztBNkh1ZUE7QTNIdmVBOzs7QTJIMmVBO0E3SGplQTtBQWdCQTs7QTZIcWRBO0E3SC9lQTs7QTZIa2ZBO0EzSGxmQTs7O0EySHNmQTtBN0g1ZUE7QUFnQkE7O0E2SGdlQTtBMUhwZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0EwRzZnQkE7QXpHN2dCQTtBQVNBO0F5QlRBO0FBbURBO0FDV0E7QTlDOURBOztBNkhxaEJBO0EzSHJoQkE7OztBMkh5aEJBO0E3SC9nQkE7QUFnQkE7O0E2SG1nQkE7QTdIN2hCQTs7QTZIZ2lCQTtBM0hoaUJBOzs7QTJIb2lCQTtBN0gxaEJBO0FBZ0JBOztBNkg4Z0JBO0ExSGxpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZIcWpCQTtBM0hyakJBOzs7QTJIeWpCQTtBN0gvaUJBO0FBZ0JBOztBNkhtaUJBO0E3SDdqQkE7O0E2SGdrQkE7QTNIaGtCQTs7O0EySG9rQkE7QTdIMWpCQTtBQWdCQTs7QTZIOGlCQTtBL0Z4a0JBOztBK0Yya0JBO0FJM2tCQTtBQVlBO0FHWUE7QUFnQkE7O0FQeWlCQTtBT2poQkE7O0FQb2hCQTtBT3pqQkE7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBTUE7QXRHOURBO0FBQ0E7QUFDQTtBcUdHQTtBQUdBO0FDMERBO0FEekNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQ29CQTtBREtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFJQTtBQUNBO0FBQ0E7QUN2Q0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBOzs7QUFHQTtBQUNBO0FwSWpIQTs7QTZIZ3JCQTtBM0hockJBOzs7QTJIb3JCQTtBN0gxcUJBO0FBZ0JBOztBNkg4cEJBO0E3SHhyQkE7O0E2SDJyQkE7QTNIM3JCQTs7O0EySCtyQkE7QTdIcnJCQTtBQWdCQTs7QTZIeXFCQTtBMUg3ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E2SGd0QkE7QTNIaHRCQTs7O0EySG90QkE7QTdIMXNCQTtBQWdCQTs7QTZIOHJCQTtBN0h4dEJBOztBNkgydEJBO0EzSDN0QkE7OztBMkgrdEJBO0E3SHJ0QkE7QUFnQkE7O0E2SHlzQkE7QTdIbnVCQTs7QTZIc3VCQTtBM0h0dUJBOzs7QTJIMHVCQTtBN0hodUJBO0FBZ0JBOztBNkhvdEJBO0E3SDl1QkE7O0E2SGl2QkE7QTNIanZCQTs7O0EySHF2QkE7QTdIM3VCQTtBQWdCQTs7QTZIK3RCQTtBMUhudkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E2SHN3QkE7QTNIdHdCQTs7O0EySDB3QkE7QTdIaHdCQTtBQWdCQTs7QTZIb3ZCQTtBN0g5d0JBOztBNkhpeEJBO0EzSGp4QkE7OztBMkhxeEJBO0E3SDN3QkE7QUFnQkE7O0E2SCt2QkE7QS9GenhCQTs7QStGNHhCQTtBSTV4QkE7QUFZQTtBSVNBO0FBR0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0F2RzlCQTtBQUNBO0FBQ0E7QXFHR0E7QUFHQTtBQUNBO0EzSCtoQkE7QTZIMWdCQTtBQUVBO0FBTUE7QUZiQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUVSQTtBRmlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FFM0NBO0FBQ0E7QUFDQTtBRjJDQTtBQUVBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFJQTtBQUNBO0FBQ0E7QUUvREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFkQTtBQWtCQTs7QXJJN0VBOztBc0lFQTtBcElGQTs7O0FvSU1BO0F0SUlBO0FBZ0JBOztBc0loQkE7QXRJVkE7O0FzSWFBO0FwSWJBOzs7QW9JaUJBO0F0SVBBO0FBZ0JBOztBc0lMQTtBbklmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBc0lrQ0E7QXBJbENBOzs7QW9Jc0NBO0F0STVCQTtBQWdCQTs7QXNJZ0JBO0F4RzFDQTs7QXdHNkNBO0FDbENBO0FBSUE7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFnQkE7QUFoQkE7QUFxQkE7QUFDQTtBQXRCQTtBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEvQkE7QUFvQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBekc5RkE7QUFDQTtBQUNBO0F5RytGQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7O0F2SXBJQTs7QXdJRUE7QXRJRkE7OztBc0lNQTtBeElJQTtBQWdCQTs7QXdJaEJBO0F4SVZBOztBd0lhQTtBdEliQTs7O0FzSWlCQTtBeElQQTtBQWdCQTs7QXdJTEE7QXJJZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0FxSHdDQTtBcEh4Q0E7QUFTQTtBcEJUQTs7QXdJNkNBO0F0STdDQTs7O0FzSWlEQTtBeEl2Q0E7QUFnQkE7O0F3STJCQTtBeElyREE7O0F3SXdEQTtBdEl4REE7OztBc0k0REE7QXhJbERBO0FBZ0JBOztBd0lzQ0E7QXJJMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBd0krRUE7QXRJL0VBOzs7QXNJbUZBO0F4SXpFQTtBQWdCQTs7QXdJNkRBO0F4SXZGQTs7QXdJMEZBO0F0STFGQTs7O0FzSThGQTtBeElwRkE7QUFnQkE7O0F3SXdFQTtBckk1RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXdJK0dBO0F0SS9HQTs7O0FzSW1IQTtBeEl6R0E7QUFnQkE7O0F3STZGQTtBeEl2SEE7O0F3STBIQTtBdEkxSEE7OztBc0k4SEE7QXhJcEhBO0FBZ0JBOztBd0l3R0E7QXJJNUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBd0lpSkE7QXRJakpBOzs7QXNJcUpBO0F4STNJQTtBQWdCQTs7QXdJK0hBO0F4SXpKQTs7QXdJNEpBO0F0STVKQTs7O0FzSWdLQTtBeEl0SkE7QUFnQkE7O0F3STBJQTtBckk5SkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXdJaUxBO0F0SWpMQTs7O0FzSXFMQTtBeEkzS0E7QUFnQkE7O0F3SStKQTtBQzlKQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0QkE7QUEwQkE7QUFDQTtBQTNCQTtBQThCQTtBQUNBO0FBQ0E7QUFDQTtBQWpDQTtBQW9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBeENBO0FBNENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuREE7QUFzREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqSWtjQTtBaUk3ZkE7QUE4REE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FuSDNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBbUgyQ0E7QW5INEJBO0FBQ0E7QUFDQTtBbUg5QkE7QW5Ib0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QW1IOUNBO0FuSGlEQTtBQUNBO0FtSGxEQTtBbkh1R0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FtSC9HQTtBbkhrSEE7QUFDQTtBbUhuSEE7QW5Ib0tBO0FBQ0E7QW1IcktBO0FuSCtLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbUh4S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW5KQTtBQXVKQTs7QXpJbExBOztBMElFQTtBeElGQTs7O0F3SU1BO0ExSUlBO0FBZ0JBOztBMEloQkE7QTFJVkE7O0EwSWFBO0F4SWJBOzs7QXdJaUJBO0ExSVBBO0FBZ0JBOztBMElMQTtBdklmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBMElrQ0E7QXhJbENBOzs7QXdJc0NBO0ExSTVCQTtBQWdCQTs7QTBJZ0JBO0ExSTFDQTs7QTBJNkNBO0F4STdDQTs7O0F3SWlEQTtBMUl2Q0E7QUFnQkE7O0EwSTJCQTtBdkkvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0EwSW9FQTtBeElwRUE7OztBd0l3RUE7QTFJOURBO0FBZ0JBOztBMElrREE7QTFJNUVBOztBMEkrRUE7QXhJL0VBOzs7QXdJbUZBO0ExSXpFQTtBQWdCQTs7QTBJNkRBO0F2SWpGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBMElvR0E7QXhJcEdBOzs7QXdJd0dBO0ExSTlGQTtBQWdCQTs7QTBJa0ZBO0ExSTVHQTs7QTBJK0dBO0F4SS9HQTs7O0F3SW1IQTtBMUl6R0E7QUFnQkE7O0EwSTZGQTtBdklqSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0EwSXNJQTtBeEl0SUE7OztBd0kwSUE7QTFJaElBO0FBZ0JBOztBMElvSEE7QTFJOUlBOztBMElpSkE7QXhJakpBOzs7QXdJcUpBO0ExSTNJQTtBQWdCQTs7QTBJK0hBO0F2SW5KQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBd0lPQTtBQUdBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBNUhLQTtBQUNBO0E0SE5BO0E1SGNBO0FBQ0E7QTRIQ0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFQQTtBNUhYQTtBQUNBO0E0SFVBO0E1SEZBO0FBQ0E7QTRIc0JBO0FBQ0E7QUFHQTtBQUVBOztBQ2pGQTtBQUVBOztBNUlGQTs7QTZJRUE7QTNJRkE7OztBMklNQTtBN0lJQTtBQWdCQTs7QTZJaEJBO0E3SVZBOztBNklhQTtBM0liQTs7O0EySWlCQTtBN0lQQTtBQWdCQTs7QTZJTEE7QTFJZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZJa0NBO0EzSWxDQTs7O0EySXNDQTtBN0k1QkE7QUFnQkE7O0E2SWdCQTtBN0kxQ0E7O0E2STZDQTtBM0k3Q0E7OztBMklpREE7QTdJdkNBO0FBZ0JBOztBNkkyQkE7QTdJckRBOztBNkl3REE7QTNJeERBOzs7QTJJNERBO0E3SWxEQTtBQWdCQTs7QTZJc0NBO0ExSTFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QTZJK0VBO0EzSS9FQTs7O0EySW1GQTtBN0l6RUE7QUFnQkE7O0E2STZEQTtBN0l2RkE7O0E2STBGQTtBM0kxRkE7OztBMkk4RkE7QTdJcEZBO0FBZ0JBOztBNkl3RUE7QTFJNUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E2SStHQTtBM0kvR0E7OztBMkltSEE7QTdJekdBO0FBZ0JBOztBNkk2RkE7QTdJdkhBOztBNkkwSEE7QTNJMUhBOzs7QTJJOEhBO0E3SXBIQTtBQWdCQTs7QTZJd0dBO0ExSTVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QTZJaUpBO0EzSWpKQTs7O0EySXFKQTtBN0kzSUE7QUFnQkE7O0E2SStIQTtBN0l6SkE7O0E2STRKQTtBM0k1SkE7OztBMklnS0E7QTdJdEpBO0FBZ0JBOztBNkkwSUE7QTFJOUpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBMEh1TEE7QXpIdkxBO0FBU0E7QXBCVEE7O0E2STRMQTtBM0k1TEE7OztBMklnTUE7QTdJdExBO0FBZ0JBOztBNkkwS0E7QTdJcE1BOztBNkl1TUE7QTNJdk1BOzs7QTJJMk1BO0E3SWpNQTtBQWdCQTs7QTZJcUxBO0ExSXpNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNkk0TkE7QTNJNU5BOzs7QTJJZ09BO0E3SXROQTtBQWdCQTs7QTZJME1BO0ExSHBPQTs7Ozs7Ozs7QTBINk9BO0F6SDdPQTtBQVNBO0FwQlRBOztBNklrUEE7QTNJbFBBOzs7QTJJc1BBO0E3STVPQTtBQWdCQTs7QTZJZ09BO0E3STFQQTs7QTZJNlBBO0EzSTdQQTs7O0EySWlRQTtBN0l2UEE7QUFnQkE7O0E2STJPQTtBMUkvUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZJa1JBO0EzSWxSQTs7O0EySXNSQTtBN0k1UUE7QUFnQkE7O0E2SWdRQTtBM0kxUkE7OztBMkk4UkE7QTdJOVJBOztBNklpU0E7QTNJalNBOzs7QTJJcVNBO0E3STNSQTtBQWdCQTs7QTZJK1FBO0E3SXpTQTs7QTZJNFNBO0EzSTVTQTs7O0EySWdUQTtBN0l0U0E7QUFnQkE7O0E2STBSQTtBMUk5U0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0EwSHVVQTtBekh2VUE7QUFTQTtBeUJUQTtBQW1EQTtBQ1dBO0E5QzlEQTs7QTZJK1VBO0EzSS9VQTs7O0EySW1WQTtBN0l6VUE7QUFnQkE7O0E2STZUQTtBN0l2VkE7O0E2STBWQTtBM0kxVkE7OztBMkk4VkE7QTdJcFZBO0FBZ0JBOztBNkl3VUE7QTFJNVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBNklpWEE7QTNJalhBOzs7QTJJcVhBO0E3STNXQTtBQWdCQTs7QTZJK1ZBO0E3SXpYQTs7QTZJNFhBO0EzSTVYQTs7O0EySWdZQTtBN0l0WEE7QUFnQkE7O0E2STBXQTtBMUk5WEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZJaVpBO0EzSWpaQTs7O0EySXFaQTtBN0kzWUE7QUFnQkE7O0E2SStYQTtBN0l6WkE7O0E2STRaQTtBM0k1WkE7OztBMklnYUE7QTdJdFpBO0FBZ0JBOztBNkkwWUE7QTFJOVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBNkltYkE7QTNJbmJBOzs7QTJJdWJBO0E3STdhQTtBQWdCQTs7QTZJaWFBO0E3STNiQTs7QTZJOGJBO0EzSTliQTs7O0EySWtjQTtBN0l4YkE7QUFnQkE7O0E2STRhQTtBMUloY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZJbWRBO0EzSW5kQTs7O0EySXVkQTtBN0k3Y0E7QUFnQkE7O0E2SWljQTtBN0kzZEE7O0E2SThkQTtBM0k5ZEE7OztBMklrZUE7QTdJeGRBO0FBZ0JBOztBNkk0Y0E7QTFJaGVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0E2SW1mQTtBM0luZkE7OztBMkl1ZkE7QTdJN2VBO0FBZ0JBOztBNklpZUE7QTdJM2ZBOztBNkk4ZkE7QTNJOWZBOzs7QTJJa2dCQTtBN0l4ZkE7QUFnQkE7O0E2STRlQTtBL0d0Z0JBOztBK0d5Z0JBO0FDbGRBO0FBSUE7QXRJa2ZBO0F1SXRnQkE7QUFFQTtBQUNBO0FBQ0E7QUFKQTtBQVFBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QXZJb2ZBO0F1SXJmQTtBQU1BO0FBaUJBO0F2SThkQTtBdUlyZkE7QUFNQTtBQXFCQTtBdkkwZEE7QXVJcmZBO0FBTUE7QXZJK2VBO0F1SXJmQTtBQU1BO0F2SStlQTtBdUlyZkE7QUFNQTtBQTRCQTtBQUNBO0F2SWtkQTtBdUluZEE7QUFNQTtBQUdBO0F2STBjQTtBdUluZEE7QUFNQTtBQU9BO0F2SXNjQTtBdUluZEE7QUFNQTtBdkk2Y0E7QXVJbmRBO0FBTUE7QXZJNmNBO0F1SW5kQTtBQU1BO0FEekNBO0FDd0RBO0FEbERBO0FBQ0E7QUFDQTtBdEk4ZUE7QXNJaGZBO0FBS0E7QXRJMmVBO0FzSXZlQTtBQUVBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QXRJOGRBO0FzSWplQTtBQU1BO0FBQ0E7QXRJMGRBO0FzSWxkQTtBQUVBO0FBS0E7QUFHQTtBQWFBO0FBRUE7QUE3REE7QUFrRUE7QUFFQTtBQXBFQTtBQTJFQTtBQTNFQTs7O0FBaUZBO0FBakZBO0FBcUZBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0F0SW1aQTtBc0l6WkE7QUFhQTtBQUVBO0FBUUE7QUFDQTtBQUlBO0E1RzFLQTtBMUJ1aUJBO0FzSTdYQTtBNUdoS0E7QUFLQTtBQUNBO0E0RzhKQTtBQUNBO0FBR0E7QTVHbExBO0E0R3FMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0SThXQTtBc0lyWEE7QTVHeEtBO0FBS0E7QUFDQTtBNEcyS0E7QUFDQTtBdEkyV0E7QXNJNVdBO0FBSUE7QXRJd1dBO0FzSTVXQTtBQVFBO0FBUkE7QUFZQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0F0SXdWQTtBc0kzVkE7QUFNQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdEk2VUE7QXNJalZBO0FBZ0JBO0FBaEJBO0FBc0JBO0FBT0E7QUE3QkE7QUFtQ0E7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBM05BOztBQXNPQTtBQUNBO0FBdk9BO0FBMk9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEvT0E7QUFtUEE7QUFuUEE7QUF1UEE7QUF2UEE7QWhHZ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnR25NQTtBaEd3TUE7QUFDQTtBZ0d6TUE7QWhHK01BO0FBQ0E7QUFDQTtBZ0dqTkE7QWhHc05BO0FnR3ROQTtBaEcwTkE7QUFDQTtBQUNBO0FnRzVOQTtBQStQQTtBQUNBO0FBQ0E7QUFqUUE7QUFvUUE7QUFDQTtBQUNBO0FBdFFBO0FBMFFBO0FBMVFBO0FBK1FBO0FBL1FBOztBeEhtQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdIc09BO0F4SGhLQTs7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBOzs7QUFDQTtBQUNBO0FBbURBOzs7O0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7Ozs7QUFDQTtBQUNBO0FBZ0RBOztBQUNBO0FBQ0E7QXdId0JBOztBQUNBO0FBNVJBOztBeEg2UUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXdIblJBO0FBd1NBO0FBeFNBOztBQThTQTtBQUNBO0FBQ0E7QUFoVEE7QUFvVEE7QUFDQTtBQUNBO0FBdFRBO0FBeVRBO0FBelRBO0FBNlRBO0FBN1RBO0FBa1VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRJZ0xBO0FzSXRmQTtBQTZVQTtBQTdVQTs7O0FBd1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTdWQTs7O0FBb1dBO0FBQ0E7QUFyV0E7QUEwV0E7QUExV0E7QUE4V0E7QUFDQTtBQUNBO0FBQ0E7QUFqWEE7QUFxWEE7QUFDQTtBQUNBO0FBdlhBO0FBMlhBO0FBQ0E7QUFDQTtBQUNBO0F0SXdIQTtBc0l0SEE7QUFFQTtBQWxZQTtBQXVZQTtBQXZZQTtBQTRZQTtBQTVZQTtBQStZQTtBdEl1R0E7QXNJdGZBO0FBc1pBO0FBQ0E7QUF2WkE7QUE0WkE7QXRJMEZBO0FzSXRmQTtBQWthQTtBQUNBO0FBQ0E7QUFDQTtBQXJhQTtBQXlhQTtBdEk2RUE7QXNJdGZBO0FBK2FBO0FBL2FBO0FBbWJBO0FBbmJBOztBQTRiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFqY0E7O0FBc2NBO0FBdGNBOzs7QUE4Y0E7QUE5Y0E7Ozs7OztBQXNkQTtBQUNBO0FBdmRBOzs7QUEyZEE7QUEzZEE7OztBQStkQTtBQS9kQTs7O0FBbWVBO0FBbmVBO0FBa2ZBO0F0SUlBO0FzSXRmQTtBQXFmQTtBQUNBO0FBQ0E7QUF2ZkE7QUEwZkE7QUExZkE7QUFrZ0JBO0FBbGdCQTtBQXNnQkE7QUF0Z0JBO0FBMGdCQTtBQTFnQkE7QUErZ0JBO0FBQ0E7QUFoaEJBO0FBb2hCQTtBQUNBO0FBQ0E7QXRJaENBO0FzSXRmQTtBQXloQkE7QXRJbkNBO0FzSXRmQTtBQTZoQkE7QUE3aEJBO0FBa2lCQTtBdEk1Q0E7QXNJdGZBO0FBdWlCQTtBQUNBO0FBQ0E7QUF6aUJBO0FBNGlCQTtBQTVpQkE7QUFpakJBO0F0STNEQTtBc0l0ZkE7QUFvakJBO0F0STlEQTtBc0l0ZkE7QUF3akJBO0FBeGpCQTtBQTRqQkE7QXRJdEVBO0FzSXRmQTtBQWtrQkE7QXRJNUVBO0FzSXRmQTtBQXNrQkE7QUF0a0JBO0FBNGtCQTtBdEl0RkE7QXNJdGZBO0FBaWxCQTtBdEkzRkE7QXNJdGZBO0FBcWxCQTtBQUNBO0FBQ0E7QUFDQTtBdElsR0E7QXNJdGZBO0FBOGxCQTtBQUNBO0F0SXpHQTtBc0l0ZkE7QUFvbUJBO0FBcG1CQTtBQTJtQkE7QUEzbUJBOztBQXVuQkE7QUF2bkJBOztBQTRuQkE7QUFDQTtBdEl2SUE7QXNJdGZBOztBQWdvQkE7QUFob0JBOztBQXNvQkE7QUFDQTtBQUNBO0FBQ0E7QUF6b0JBO0FBNm9CQTtBQUNBO0FBQ0E7QUEvb0JBO0FBbXBCQTtBdEk3SkE7QXNJdGZBO0FBMHBCQTtBQTFwQkE7Ozs7QUFpcUJBO0FBQ0E7QUFDQTtBQUNBO0FBcHFCQTtBQXdxQkE7QUFDQTtBQUNBO0FBMXFCQTtBQTZxQkE7QUE3cUJBO0FBa3JCQTtBQWxyQkE7QUFzckJBO0FBdHJCQTtBaEhsREE7QUFDQTtBQUNBO0FnSGdEQTtBQThyQkE7QUE5ckJBO0FBaXNCQTtBQU9BOzs7QUFHQTtBQUNBO0FBQ0E7QUFJQTs7O0F4SDlxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdIcXFCQTtBQUNBO0FBQ0E7QXhIam1CQTs7O0FBQ0E7QUFDQTtBQUNBO0FBR0E7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUNBO0FBQ0E7QUFtREE7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUNBO0FBQ0E7QUFnREE7OztBQUNBO0FBQ0E7QXdIOGNBOzs7QUFZQTtBQVpBOzs7QXhIcGNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F3SHVkQTs7O0F4SHZzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdIOHJCQTtBQUNBO0FBQ0E7QXhIMW5CQTs7O0FBQ0E7QUFDQTtBQUNBO0FBR0E7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUNBO0FBQ0E7QUF3Q0E7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUNBO0FBQ0E7QUFxQ0E7OztBQUNBO0FBQ0E7QXdIdWVBOzs7QUFZQTtBQVpBOzs7QXhIN2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F3SG5SQTtBQXN3QkE7QUF0d0JBO0FBMndCQTtBQUNBO0FBNXdCQTtBQSt3QkE7QUEvd0JBO0FBb3hCQTtBQUNBO0FBcnhCQTtBekluREE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErSHlCQTtBekluREE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErSHd6QkE7QUEveEJBO0FBbXlCQTtBQW55QkE7OztBQXd5QkE7QUF4eUJBO0FBNnlCQTtBQTd5QkE7QUFpekJBO0FBQ0E7QUFDQTtBQUNBO0FBcHpCQTtBQXd6QkE7QUF4ekJBO0FBMnpCQTtBQTN6QkE7QUE4ekJBO0FBOXpCQTtBQW8wQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXgwQkE7QUE0MEJBO0FBNTBCQTs7QUFpMUJBO0FBajFCQTs7Ozs7OztBQTYxQkE7QUFDQTtBdEl4V0E7QXNJdGZBOzs7Ozs7O0FBaTJCQTtBQWoyQkE7Ozs7Ozs7QUFxMkJBO0FBcjJCQTs7Ozs7OztBQTAyQkE7QUFDQTtBQTMyQkE7Ozs7Ozs7QUFpM0JBO0FBajNCQTs7Ozs7OztBQXEzQkE7QUFyM0JBOzs7Ozs7O0FBMDNCQTtBQTEzQkE7Ozs7Ozs7QUE4M0JBO0FBOTNCQTs7Ozs7OztBQWs0QkE7QUFsNEJBOzs7Ozs7O0FBczRCQTtBQXQ0QkE7QUFrNUJBO0FBbDVCQTtBQWk2QkE7QXRJM2FBO0FzSXRmQTtBQTY2QkE7QUE3NkJBO0FBbTdCQTtBdEk3YkE7QXNJdGZBOztBQTA3QkE7QXRJcGNBO0FzSXRmQTs7QUFnOEJBO0FBQ0E7QXRJM2NBO0FzSXRmQTtBQXU4QkE7QUF2OEJBO0FBMDhCQTtBQUNBO0F0SXJkQTtBc0l0ZkE7QUFpOUJBO0FBQ0E7QUFsOUJBO0FBeTlCQTtBQXo5QkE7QUFpK0JBO0FBSUE7QXhIbDhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQXNFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQW1EQTtBQUVBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQWdEQTtBQUNBO0FBQ0E7QXdIeXVCQTtBeEgvdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F3SGd1QkE7QXhIdnBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcUNBO0F3SDhvQkE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBS0E7QUFDQTtBdElyakJBO0FzSStpQkE7QUFTQTtBQUNBO0FBQ0E7QXRJMWpCQTtBc0k2akJBO0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QWhIam9DQTtBQUNBO0FBQ0E7QUFDQTtBa0hzQkE7QUFFQTtBeEk2Z0JBO0F3SS9nQkE7QUFLQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4SWlnQkE7QXdJdmdCQTtBQVNBO0FBSUE7QUFDQTtBQURBO0FBSUE7QXhJc2ZBO0F3STFmQTtBQVFBO0FBQ0E7QUFDQTtBQVZBO0FBYUE7QUFiQTtBQWlCQTtBQUNBO0FBQ0E7QXhJdWVBO0F3STFmQTtBQXNCQTtBeElvZUE7QXdJMWZBO0FBNkJBO0FBN0JBO0FBaUNBO0FBS0E7QTNJckZBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaUk2REE7QUFJQTtBMUhMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMEhOQTtBQUxBO0ExSDRDQTtBMEg1Q0E7QTFIa0ZBO0FBQ0E7QUFDQTtBMEhwRkE7QTFIMEZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QTBIL0dBO0ExSGtIQTtBQUNBO0EwSG5IQTtBMUg2SkE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0EwSGhMQTtBMUhtTEE7QUFDQTtBMEhwTEE7QTFIME5BO0FBQ0E7QTBIcE5BO0ExSDhOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QTBIOU9BO0ExSHNTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBMEg5WUE7QUF5RkE7QUF6RkE7QUE2RkE7QUE3RkE7QUFpR0E7QUFqR0E7O0FBcUdBO0FBckdBO0FBMEhBO0FBMUhBO0FBOEhBO0FBOUhBO0FBb0lBO0FBcElBO0FBMklBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWhKQTtBQXVKQTtBQUNBO0FBeEpBO0FBOEpBO0FBQ0E7QUFDQTtBQWhLQTs7QTFINERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0EwSCtGQTtBQTNLQTs7QTFIbUpBO0FBQ0E7QUFDQTtBMEhySkE7OztBMUgySkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMEhyS0E7OztBMUh3S0E7QUFDQTtBMEh6S0E7Ozs7QTFIOE5BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMEh0T0E7Ozs7QTFIeU9BO0FBQ0E7QTBIMU9BOztBMUgyUkE7QUFDQTtBMEg1UkE7O0ExSHNTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMEg1U0E7QUFzTEE7QUF0TEE7QUEyTEE7O0FoSnpOQTs7QWlKRUE7QS9JRkE7OztBK0lNQTtBakpJQTtBQWdCQTs7QWlKaEJBO0FqSlZBOztBaUphQTtBL0liQTs7O0ErSWlCQTtBakpQQTtBQWdCQTs7QWlKTEE7QTlJZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWlKa0NBO0EvSWxDQTs7O0ErSXNDQTtBako1QkE7QUFnQkE7O0FpSmdCQTtBQ3ZDQTtBQUNBO0FBQ0E7QTFJd2lCQTtBMEkxaUJBO0FBS0E7QUFDQTtBQU5BO0FBU0E7QUFDQTtBQVZBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFFQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBMUlrZ0JBO0EwSXBnQkE7QUFLQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUlvZkE7QTBJdmZBO0FBS0E7QUFMQTtBQVFBO0FBUkE7QUFXQTtBQVhBO0FBYUE7QUFDQTtBQTFDQTtBQThDQTs7QWxKeEVBOztBbUpFQTtBakpGQTs7O0FpSk1BO0FuSklBO0FBZ0JBOztBbUpoQkE7QW5KVkE7O0FtSmFBO0FqSmJBOzs7QWlKaUJBO0FuSlBBO0FBZ0JBOztBbUpMQTtBaEpmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBbUprQ0E7QWpKbENBOzs7QWlKc0NBO0FuSjVCQTtBQWdCQTs7QW1KZ0JBO0FDM0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUxBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRCQTtBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBREE7QUFJQTtBQUNBO0FBTEE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdEJBO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFpQkE7QUFDQTtBQWxCQTtBQXNCQTtBQXRCQTs7O0FBNEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBckNBOztBQTBDQTtBQTFDQTtBQThDQTtBQUNBO0FBL0NBO0FBbURBO0FBbkRBO0FBc0RBO0FBdERBO0FBMkRBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQU5BO0FBVUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFEQTtBQUlBO0FBSkE7QUFRQTtBQVJBO0FBV0E7QUFDQTtBQVpBO0FBZ0JBO0FBaEJBO0FBb0JBO0FBcEJBO0FBeUJBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBOztBcEp0V0E7O0FxSkVBO0FuSkZBOzs7QW1KTUE7QXJKSUE7QUFnQkE7O0FxSmhCQTtBckpWQTs7QXFKYUE7QW5KYkE7OztBbUppQkE7QXJKUEE7QUFnQkE7O0FxSkxBO0FsSmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxSmtDQTtBbkpsQ0E7OztBbUpzQ0E7QXJKNUJBO0FBZ0JBOztBcUpnQkE7QUNSQTtBQUVBO0E5SXlnQkE7QThJM2dCQTtBQUtBO0E5SXNnQkE7QThJM2dCQTtBQVNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlJb2VBO0E4STFlQTtBQVNBO0FBVEE7QUFhQTtBOUk2ZEE7QThJMWVBO0FBZ0JBO0E5STBkQTtBOEkxZUE7QUFxQkE7QUFDQTtBQUtBO0FBRUE7QUE3QkE7Ozs7QUEwQ0E7QUExQ0E7QUFrREE7QUFsREE7Ozs7QUEwQ0E7QUExQ0E7QUFrREE7QUFsREE7Ozs7QUEwQ0E7QUExQ0E7QUFrREE7QUFsREE7Ozs7QUEwQ0E7QUExQ0E7QUFrREE7QUFsREE7Ozs7QUEwQ0E7QUExQ0E7QUFrREE7QUFsREE7Ozs7QUEwQ0E7QUExQ0E7QUFrREE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlJMGFBO0E4SS9hQTtBQVFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUkrWkE7QThJN1pBO0FBRUE7QUFLQTtBQUNBO0FBRUE7QUFJQTtBRFJBO0FDWUE7QUFSQTtBQWlCQTtBQUNBO0FEakJBO0FDcUJBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUlBO0FBSUE7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E5STZUQTtBOElwVUE7QUFVQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURqREE7QUNxREE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FENURBO0FDZ0VBO0E5SWtRQTtBOEl4UkE7QUE0QkE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUlxT0E7QThJOU9BO0FBWUE7QUFaQTtBQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUVBO0FBSUE7QUFFQTtBRG5GQTtBQzBGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBdEp6WEE7O0F1SkVBO0FySkZBOzs7QXFKTUE7QXZKSUE7QUFnQkE7O0F1SmhCQTtBdkpWQTs7QXVKYUE7QXJKYkE7OztBcUppQkE7QXZKUEE7QUFnQkE7O0F1SkxBO0FwSmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F1SmtDQTtBckpsQ0E7OztBcUpzQ0E7QXZKNUJBO0FBZ0JBOztBdUpnQkE7QXZKMUNBOztBdUo2Q0E7QXJKN0NBOzs7QXFKaURBO0F2SnZDQTtBQWdCQTs7QXVKMkJBO0F2SnJEQTs7QXVKd0RBO0FySnhEQTs7O0FxSjREQTtBdkpsREE7QUFnQkE7O0F1SnNDQTtBcEoxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNCZkE7QUFTQTtBK0hjQTtBQUdBO0FBQ0E7QWhKa2hCQTtBZ0p0aEJBO0FBT0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QWhKcWdCQTtBZ0p0Z0JBO0FBSUE7QWhKa2dCQTtBZ0o5ZkE7QUFFQTtBQTFCQTtBQStCQTtBaEp1ZkE7QWdKdGhCQTtBQWtDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhKdWVBO0FnSjVlQTtBQU9BO0FoSnFlQTtBZ0o1ZUE7QUFVQTtBQUlBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBQ0E7QUFUQTtBQVlBO0FBS0E7QTVIL0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E0SG1FQTtBQUtBO0FBQ0E7QUFDQTtBQUdBO0E1SGpFQTtBQUNBO0E0SGdFQTtBNUh0QkE7QTRIc0JBO0E1SG5CQTtBNEhTQTtBQW1CQTtBQUlBO0E1SG5DQTtBNEhtQ0E7QTVIaENBO0E0SG9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEpzWkE7QWdKNVpBO0FBUUE7QWhKb1pBO0FnSjVaQTtBQVlBO0FBSUE7QUFNQTtBQUdBO0FBQ0E7QUFDQTtBaEppWUE7QWdKbllBO0FBS0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhKcVhBO0FnSjFYQTtBQVFBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhKd1dBO0FnSjVXQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FoSitWQTtBZ0poV0E7QUFJQTtBaEo0VkE7QWdKaFdBO0FBUUE7QWhKd1ZBO0FnSmhXQTtBQVlBO0FBSUE7QUFDQTtBaEorVUE7QWdKaFZBO0FBSUE7QWhKNFVBO0FnSmhWQTtBQVFBO0FoSndVQTtBZ0poVkE7QUFZQTtBaEpvVUE7QWdKalVBO0FBRUE7QWhKK1RBO0FnSjFUQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FoSjRTQTtBZ0oxVEE7QUFtQkE7QWhKdVNBO0FnSjFUQTtBQXlCQTtBQUlBO0FBQ0E7QWhKNFJBO0FnSjdSQTtBQUlBO0FoSnlSQTtBZ0o3UkE7QUFRQTtBaEpxUkE7QWdKN1JBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBakJBO0FBb0JBO0FBQUE7QWhKeVFBO0FnSnBRQTtBQUVBO0FBRkE7QUFLQTtBQUFBO0FBQ0E7QWhKOFBBO0FnSnBRQTtBQVVBO0FBSUE7QUFDQTtBQUNBO0FoSm9QQTtBZ0p0UEE7QUFLQTtBaEppUEE7QWdKN09BO0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEo4TkE7QWdKck9BO0FBU0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoSm9OQTtBZ0p4TkE7QUFNQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRkE7QUFPQTtBQU1BO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QWhKb0xBO0FnSmhMQTtBQUVBO0FBQUE7QWhKOEtBO0FnSmhMQTtBQU1BO0FBQ0E7QUFQQTtBQVdBO0FBQUE7O0F4SnhZQTs7QXlKRUE7QXZKRkE7OztBdUpNQTtBekpJQTtBQWdCQTs7QXlKaEJBO0F6SlZBOztBeUphQTtBdkpiQTs7O0F1SmlCQTtBekpQQTtBQWdCQTs7QXlKTEE7QXRKZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QXlKa0NBO0F2SmxDQTs7O0F1SnNDQTtBeko1QkE7QUFnQkE7O0F5SmdCQTtBekoxQ0E7O0F5SjZDQTtBdko3Q0E7OztBdUppREE7QXpKdkNBO0FBZ0JBOztBeUoyQkE7QXpKckRBOztBeUp3REE7QXZKeERBOzs7QXVKNERBO0F6SmxEQTtBQWdCQTs7QXlKc0NBO0F0SjFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXlKK0VBO0F2Si9FQTs7O0F1Sm1GQTtBekp6RUE7QUFnQkE7O0F5SjZEQTtBekp2RkE7O0F5SjBGQTtBdkoxRkE7OztBdUo4RkE7QXpKcEZBO0FBZ0JBOztBeUp3RUE7QXRKNUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0F5SitHQTtBdkovR0E7OztBdUptSEE7QXpKekdBO0FBZ0JBOztBeUo2RkE7QXpKdkhBOztBeUowSEE7QXZKMUhBOzs7QXVKOEhBO0F6SnBIQTtBQWdCQTs7QXlKd0dBO0F0SjVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVWZBO0FBWUE7QWJaQTs7QXlKaUpBO0F2SmpKQTs7O0F1SnFKQTtBekozSUE7QUFnQkE7O0F5SitIQTtBekp6SkE7O0F5SjRKQTtBdko1SkE7OztBdUpnS0E7QXpKdEpBO0FBZ0JBOztBeUowSUE7QXRKOUpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBc0l1TEE7QXJJdkxBO0FBU0E7QXNJWUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBbEpraEJBO0FrSnhoQkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBbEp1Z0JBO0FrSnpnQkE7QUFLQTtBQUNBO0FBSUE7QXJKMUNBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMklrQkE7QWxKNmZBO0FrSi9mQTtBQUtBO0FBSUE7QUFDQTtBbEpxZkE7QWtKdGZBO0FBSUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFSQTtBQVlBO0FBQ0E7QUFDQTtBQWRBO0FBa0JBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFwQkE7O0FBd0JBO0FBQ0E7QUFDQTtBQTFCQTtBQStCQTtBQUlBOztBQUdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBcEl4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QW9JNkJBO0FBTEE7QW5JbkhBO0FtSW1IQTtBbkk1R0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBbUlxR0E7QW5JM0ZBO0FBQ0E7QUFDQTtBQUlBO0FtSXFGQTtBbkkvREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FtSTBEQTtBbklsREE7QW1Ja0RBO0FwSStDQTtBQUNBO0FBQ0E7QW9JakRBO0FwSXVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FvSWpFQTtBcElvRUE7QUFDQTtBb0lyRUE7QXBJMEhBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBb0lsSUE7QXBJcUlBO0FBQ0E7QW9JdElBO0FwSXVMQTtBQUNBO0FvSWpMQTtBcEkyTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FvSTNNQTtBcEltUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QW9JdlpBOztBQXFJQTtBQXJJQTtBQXlJQTtBQXpJQTtBQThJQTtBQTlJQTtBQWtKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QTFKN0tBOztBMkpFQTtBekpGQTs7O0F5Sk1BO0EzSklBO0FBZ0JBOztBMkpoQkE7QTNKVkE7O0EySmFBO0F6SmJBOzs7QXlKaUJBO0EzSlBBO0FBZ0JBOztBMkpMQTtBeEpmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0NmQTs7Ozs7Ozs7O0F5R3lDQTtBM0p6Q0E7O0EySjRDQTtBeko1Q0E7OztBeUpnREE7QTNKdENBO0FBZ0JBOztBMkowQkE7QW5KeWZBO0FvSm5pQkE7QUFLQTtBQUNBO0FBQ0E7QUFQQTtBQVVBO0FBQ0E7QXBKd2hCQTtBb0puaUJBO0FBZUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FwSjhnQkE7QW9KbmlCQTtBQXlCQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEorZkE7QW9KdGdCQTtBQVVBO0FBQ0E7QXBKMmZBO0FvSnhmQTtBQUVBO0FwSnNmQTtBb0psZkE7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FwSnllQTtBb0oxZUE7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBKNGRBO0FvSmxlQTtBQVdBO0FBSUE7QUFDQTtBQUNBO0FwSmlkQTtBb0puaUJBO0FBdUZBO0FBQ0E7QUFDQTtBQUNBO0FBMUZBO0FBNkZBO0FBN0ZBO0FBaUdBO0FBQ0E7QXBKaWNBO0FvSm5pQkE7QUF1R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwSnViQTtBb0puaUJBO0FBaUhBO0FBQ0E7QXBKaWJBO0FvSm5pQkE7QUFzSEE7QTFHcEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0EwRzZHQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwSmlhQTtBb0ovWkE7QUFFQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBUEE7QUFXQTtBcEpvWkE7QW9KL1pBO0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBKMFlBO0FvSnRhQTtBQWtDQTtBQUdBO0FBQ0E7QUFDQTtBcEorWEE7QW9KNVhBO0FBRUE7QXBKMFhBO0FvSjVYQTtBMUdyS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QTFDeWhCQTtBb0poWEE7QUFFQTtBQXhEQTtBQThEQTtBQUNBO0FBL0RBO0FBc0VBO0FBQ0E7QUFDQTtBQXhFQTtBQThFQTtBQUNBO0FBQ0E7QUFoRkE7QUFvRkE7O0E1SjNOQTs7QTZKRUE7QTNKRkE7OztBMkpNQTtBN0pJQTtBQWdCQTs7QTZKaEJBO0E3SlZBOztBNkphQTtBM0piQTs7O0EySmlCQTtBN0pQQTtBQWdCQTs7QTZKTEE7QTFKZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QStDZkE7Ozs7Ozs7OztBMkd5Q0E7QTdKekNBOztBNko0Q0E7QTNKNUNBOzs7QTJKZ0RBO0E3SnRDQTtBQWdCQTs7QTZKMEJBO0ExSXBEQTs7Ozs7Ozs7QTBJNkRBO0F6STdEQTtBQVNBO0FwQlRBOztBNkprRUE7QTNKbEVBOzs7QTJKc0VBO0E3SjVEQTtBQWdCQTs7QTZKZ0RBO0E3SjFFQTs7QTZKNkVBO0EzSjdFQTs7O0EySmlGQTtBN0p2RUE7QUFnQkE7O0E2SjJEQTtBMUovRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTREZkE7QUFTQTtBL0RUQTs7QTZKb0dBO0EzSnBHQTs7O0EySndHQTtBN0o5RkE7QUFnQkE7O0E2SmtGQTtBN0o1R0E7O0E2SitHQTtBM0ovR0E7OztBMkptSEE7QTdKekdBO0FBZ0JBOztBNko2RkE7QTFKakhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBNkpzSUE7QTNKdElBOzs7QTJKMElBO0E3SmhJQTtBQWdCQTs7QTZKb0hBO0E3SjlJQTs7QTZKaUpBO0EzSmpKQTs7O0EySnFKQTtBN0ozSUE7QUFnQkE7O0E2SitIQTtBMUpuSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZKc0tBO0EzSnRLQTs7O0EySjBLQTtBN0poS0E7QUFnQkE7O0E2Sm9KQTtBN0o5S0E7O0E2SmlMQTtBM0pqTEE7OztBMkpxTEE7QTdKM0tBO0FBZ0JBOztBNkorSkE7QTFKbkxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVZkE7QUFZQTtBYlpBOztBNkp3TUE7QTNKeE1BOzs7QTJKNE1BO0E3SmxNQTtBQWdCQTs7QTZKc0xBO0E3SmhOQTs7QTZKbU5BO0EzSm5OQTs7O0EySnVOQTtBN0o3TUE7QUFnQkE7O0E2SmlNQTtBMUpyTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZKd09BO0EzSnhPQTs7O0EySjRPQTtBN0psT0E7QUFnQkE7O0E2SnNOQTtBN0poUEE7O0E2Sm1QQTtBM0puUEE7OztBMkp1UEE7QTdKN09BO0FBZ0JBOztBNkppT0E7QTFKclBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FnQmZBOzs7Ozs7OztBMEk4UUE7QXpJOVFBO0FBU0E7QXlCVEE7QUFtREE7QUNXQTtBOUM5REE7O0E2SnNSQTtBM0p0UkE7OztBMkowUkE7QTdKaFJBO0FBZ0JBOztBNkpvUUE7QTdKOVJBOztBNkppU0E7QTNKalNBOzs7QTJKcVNBO0E3SjNSQTtBQWdCQTs7QTZKK1FBO0ExSm5TQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBc0NmQTtBQU1BO0FxSDhFQTtBQUVBO0FBQ0E7QUFIQTtBNUd4RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBNEcrREE7QUFVQTtBQUNBO0FBWEE7QUFjQTtBQUNBO0FBQ0E7QXRKeWNBO0FzSnpkQTtBQW1CQTtBQW5CQTtBQXVCQTtBQUNBO0F0SmljQTtBc0p6ZEE7QUEyQkE7QUEzQkE7QUFnQ0E7QUFDQTtBQWpDQTtBQXFDQTtBQXJDQTtBQXlDQTtBQUNBO0FBQ0E7QUFDQTtBQTVDQTtBQWtEQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRKMlpBO0FzSmxhQTtBQVVBO0FBR0E7QUFDQTtBdEpvWkE7QXNKalpBO0FBRUE7QUFJQTs7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QXhJekZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F3SXdFQTtBdkluS0E7QXVJbUtBO0F2STVKQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0F1SXFKQTtBdkkzSUE7QUFDQTtBQUNBO0FBSUE7QXVJcUlBO0F2SS9HQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXVJMEdBO0F2SWxHQTtBdUlrR0E7QXhJREE7QUFDQTtBQUNBO0F3SURBO0F4SU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXdJakJBO0F4SW9CQTtBQUNBO0F3SXJCQTtBeEkwRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3SWxGQTtBeElxRkE7QUFDQTtBd0l0RkE7QXhJdUlBO0FBQ0E7QWRtUEE7QXNKM1hBO0FBUUE7QUFPQTtBeEltSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0F3SW5KQTtBeEkyTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QWRpSUE7QXNKM1hBO0FBOEJBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdEppVkE7QXNKL1VBO0FBRUE7QXRKNlVBO0FzSnJWQTtBQWFBO0FBR0E7QXhJOUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F3SW1JQTtBQUxBO0F2SXpOQTtBdUl5TkE7QXZJbE5BO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QXVJMk1BO0F2SWpNQTtBQUNBO0FBQ0E7QUFJQTtBdUkyTEE7QXZJcktBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdUlnS0E7QXZJeEpBO0F1SXdKQTtBeEl2REE7QUFDQTtBQUNBO0F3SXFEQTtBeEkvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBd0lxQ0E7QXhJbENBO0FBQ0E7QXdJaUNBO0F4SW9CQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXdJNUJBO0F4SStCQTtBQUNBO0F3SWhDQTtBeElpRkE7QUFDQTtBd0kzRUE7QUFDQTtBeElvRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0F3SXBHQTtBeEk0SkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QXdJalNBO0FBeUhBO0FoSHREQTtBQUNBO0FBQ0E7QUFDQTtBZ0h0RUE7QUE4SEE7QUFDQTtBQS9IQTtBQXFJQTtBQUNBO0FBdElBO0FBMElBO0F0SndSQTtBc0psYUE7QUFpSkE7QUFDQTtBQWxKQTs7QUFzSkE7QUFNQTtBQUNBO0FBQ0E7QXRKb1FBO0FzSmxhQTs7QUFxS0E7QXRKNlBBO0FzSmxhQTtBQWlMQTtBQUNBO0FBQ0E7QUFDQTtBQXBMQTtBQTZMQTtBQTdMQTtBQTBNQTtBQTFNQTtBQWtOQTtBQWxOQTtBQXFOQTtBQXJOQTtBQTROQTtBQUNBO0FBQ0E7QUFDQTtBdEptTUE7QXNKbGFBO0FBa09BO0FBbE9BOztBekp2SUE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErSXFWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE3T0E7QUFpUEE7QUFqUEE7QUF1UEE7QUFDQTtBQUNBO0FBQ0E7QUExUEE7QUE4UEE7QUFJQTs7Ozs7QUFTQTtBQUNBO0F0SnNKQTtBc0poS0E7Ozs7O0FBYUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBdEo0SUE7QXNKbGFBO0FBMlJBO0F0SnVJQTtBc0puSUE7QUFFQTtBQUlBOztBQUtBO0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdEppSEE7QXNKN0hBOztBQWdCQTtBQUlBO0FBQ0E7QUFDQTtBdEp1R0E7QXNKcEdBO0FBR0E7QUFDQTtBQUNBO0FBblVBO0FBeVVBO0F0SnlGQTtBc0psYUE7QUE0VUE7QXRKc0ZBO0FzSmxGQTtBQUdBO0FBSUE7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBdEptRUE7QXNKckVBO0FBS0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBdEowREE7QXNKckVBO0FBdUJBO0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0F0SjBCQTtBc0o3QkE7QUFNQTtBQTNZQTs7QXhJakRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F3SW9jQTtBQW5hQTs7OztBdkk1SEE7QXVJNEhBOzs7QXZJckhBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QXVJOEdBOztBdklwR0E7QUFDQTtBQUNBO0FBSUE7QXVJOEZBOztBdkl4RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F1SW1FQTs7QXZJM0RBO0F1STJEQTs7QXhJc0NBO0FBQ0E7QUFDQTtBd0l4Q0E7OztBeEk4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBd0l4REE7OztBeEkyREE7QUFDQTtBd0k1REE7Ozs7QXhJaUhBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBd0l6SEE7Ozs7QXhJNEhBO0FBQ0E7QXdJN0hBOztBeEk4S0E7QUFDQTtBZG1QQTtBc0psYUE7O0FBc2FBO0FBdGFBOztBeEl5TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0F3SWhOQTs7QUFrYkE7QUFsYkE7O0FBc2JBO0FBdGJBOztBekp2SUE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErSXdpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQS9iQTs7QUFxY0E7QUFDQTtBQXRjQTtBQTBjQTtBQTFjQTtBQWdkQTtBQWhkQTtBQW1kQTtBQUNBO0FBQ0E7QXRKbkRBO0FzSmxhQTtBQXdkQTtBQXhkQTtBQTRkQTtBQTVkQTtBQWtlQTtBQWxlQTtBQXVlQTtBQUNBO0FBeGVBO0FBMmVBO0FBM2VBO0FoSG1KQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdIdEtBO0FoSDJLQTtBQUNBO0FnSDVLQTtBaEhrTEE7QUFDQTtBQUNBO0FnSHBMQTtBaEh5TEE7QWdIekxBO0FoSDhMQTtBQUNBO0FBQ0E7QWdIaE1BOzs7QWhIdU1BO0FnSHZNQTs7QUFzZkE7QUF0ZkE7QUEwZkE7QUExZkE7QUE4ZkE7QUE5ZkE7QUFrZ0JBO0FBbGdCQTtBQXNnQkE7QUFDQTtBQUNBO0FBQ0E7QUF6Z0JBO0FBNGdCQTtBdEoxR0E7QXNKbGFBO0FBbWhCQTtBdEpqSEE7QXNKbGFBO0FBc2hCQTtBQXRoQkE7QXhJakRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F3SWlDQTtBdkk1SEE7QXVJNEhBO0F2SXJIQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0F1SThHQTtBdklwR0E7QUFDQTtBQUNBO0FBSUE7QXVJOEZBO0F2SXhFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXVJbUVBO0F2STNEQTtBdUkyREE7QXhJc0NBO0FBQ0E7QUFDQTtBd0l4Q0E7QXhJOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXdJeERBO0F4STJEQTtBQUNBO0F3STVEQTtBeElpSEE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3SXpIQTtBeEk0SEE7QUFDQTtBd0k3SEE7QXhJOEtBO0FBQ0E7QXdJL0tBO0E1Ry9IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBNEd1SEE7QUEwaUJBO0FBQ0E7QUFDQTtBQUNBO0F0SjNJQTtBc0psYUE7QUEraUJBO0FBL2lCQTs7QXhJakRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F3SXlsQkE7QUF4akJBOzs7QXhJQUE7QXdJQUE7O0F4SXNDQTtBQUNBO0FBQ0E7QXdJeENBOzs7QXhJOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QXdJbkVBOzs7QXhJc0VBO0FBQ0E7QXdJdkVBOzs7O0F4SWlIQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QXdJcElBOzs7O0F4SXVJQTtBQUNBO0F3SXhJQTs7QXhJOEtBO0FBQ0E7QXdJL0tBOztBeEl5TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0F3SWhOQTtBQW1rQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0SnpLQTtBc0psYUE7QUE4a0JBO0FBQ0E7QUEva0JBO0FBbWxCQTtBQW5sQkE7QUF1bEJBO0FBdmxCQTtBQThsQkE7QUE5bEJBO0FBa21CQTtBQUNBO0FBQ0E7QUFDQTtBdEpuTUE7QXNKbGFBO0FBd21CQTtBQUNBO0FBem1CQTtBeElqREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdJaUNBO0F4SUFBO0F3SUFBO0F4SXNDQTtBQUNBO0FBQ0E7QXdJeENBO0F4SThDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0F3SW5FQTtBeElzRUE7QUFDQTtBd0l2RUE7QXhJaUhBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBd0lwSUE7QXhJdUlBO0FBQ0E7QXdJeElBO0F4SThLQTtBQUNBO0F3SS9LQTtBeEl5TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0F3SWhOQTtBQTJuQkE7QUEzbkJBO0FBK25CQTtBQS9uQkE7QUFvb0JBO0FBcG9CQTtBN0ZwSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBNkZpdkJBO0FBRUE7QUFDQTtBQUNBO0FBL29CQTtBN0Y3RUE7QTZGNkVBOztBQXdwQkE7QUF4cEJBO0FBZ3FCQTtBQWhxQkE7QUFxcUJBO0FBQ0E7QUF0cUJBO0FBeXFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBN3FCQTtBaEhtSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBK0NBO0FBQ0E7QWdINmRBO0FBbnJCQTtBaEgyS0E7QUFDQTtBZ0g1S0E7QWhIa0xBO0FBQ0E7QUFDQTtBZ0hwTEE7QWhIeUxBO0FnSHpMQTtBaEg4TEE7QUFDQTtBQUNBO0FnSGhNQTs7O0FoSHVNQTtBZ0h2TUE7QWhIeU5BO0FnSHpOQTtBeElqREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdJMnRCQTtBQUNBO0FBM3JCQTtBeElzQ0E7QUFDQTtBQUNBO0F3SXhDQTtBeEk4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBd0lsREE7QXhJaUhBO0FBQ0E7QUFDQTtBd0luSEE7QXhJOEtBO0FBQ0E7QXdJL0tBO0FBaXNCQTtBQUNBO0FBQ0E7QUFDQTtBdEpsU0E7QXNKbGFBO0FBdXNCQTtBdEpyU0E7QXNKbGFBO0FBNnNCQTtBQTdzQkE7OztBeElqREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdJaUNBOzs7OztBeElBQTtBd0lBQTs7O0F4SXNDQTtBQUNBO0FBQ0E7QXdJeENBOzs7OztBeEk4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBd0luRUE7Ozs7O0F4SXNFQTtBQUNBO0F3SXZFQTs7Ozs7OztBeElpSEE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0F3SXBJQTs7Ozs7OztBeEl1SUE7QUFDQTtBd0l4SUE7OztBeEk4S0E7QUFDQTtBZG1QQTtBc0psYUE7OztBQTJ0QkE7QUFDQTtBdEoxVEE7QXNKbGFBO0FBa3VCQTtBQWx1QkE7QUF1dUJBO0FBdnVCQTtBQTJ1QkE7QUFLQTtBQUNBO0F0Si9VQTtBc0ppVkE7QUFFQTtBQUxBO0FBVUE7QUFDQTtBdEp6VkE7QXNKOFVBO0FBY0E7QUFkQTtBQWlCQTtBQUVBO0FBQ0E7QUFDQTtBQXJCQTtBQXVCQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBL0JBO0FBc0NBO0FBdHhCQTtBQTh4QkE7QXRKNVhBO0FzSmxhQTs7O0FBb3lCQTtBQXB5QkE7QUF5eUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTl5QkE7QXpKdklBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0lpNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdEp2WkE7QXNKbGFBO0FBNHpCQTtBQTV6QkE7QUFrMEJBO0FBbDBCQTtBQXUwQkE7QUF2MEJBO0FBNDBCQTtBQTUwQkE7QUFrMUJBO0FBbDFCQTtBQXExQkE7QUFDQTtBQUNBO0F0SnJiQTtBc0psYUE7QUE0MUJBO0FBNTFCQTtBQWsyQkE7QUFDQTtBQUNBO0FBQ0E7QXRKbmNBO0FzSmxhQTtBNUduSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0MzQkE7QVVxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErSTA5QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWozQkE7O0FBdTNCQTtBQUNBO0FBQ0E7QXRKdmRBO0FzSmxhQTs7QUE0M0JBO0FBNTNCQTtBQWk0QkE7QUFDQTtBQWw0QkE7O0FBdzRCQTtBQXg0QkE7O0FBKzRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExNUJBOztBQTY1QkE7QUE3NUJBOztBQW02QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF6NkJBO0FBKzZCQTtBQS82QkE7QUFvN0JBO0FBQ0E7QUFDQTtBQUNBO0FBdjdCQTtBQTA3QkE7QUFDQTtBQUNBO0FBNTdCQTtBQWc4QkE7QUFoOEJBO0FBbzhCQTtBQUNBO0FBcjhCQTtBQXk4QkE7QUF6OEJBO0FBNjhCQTtBQTc4QkE7QUFpOUJBO0FBQ0E7QUFsOUJBO0FBczlCQTtBQUNBO0FBdjlCQTtBQTI5QkE7QUEzOUJBO0FBKzlCQTtBQUNBO0FBQ0E7QUFDQTtBQWwrQkE7QUFzK0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExK0JBO0FBOCtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbC9CQTtBQXEvQkE7QUFDQTtBQUNBO0FBdi9CQTtBQTQvQkE7QUFDQTtBQUNBO0FBQ0E7QUEvL0JBO0FBa2dDQTtBQWxnQ0E7QUF5Z0NBO0F0SnZtQkE7QXNKbGFBO0FBNmdDQTtBQUNBO0F0SjVtQkE7QXNKbGFBO0FBb2hDQTtBdEpsbkJBO0FzSmxhQTtBQTBoQ0E7QUExaENBO0FBZ2lDQTtBdEo5bkJBO0FzSmxhQTtBQW9pQ0E7QUFwaUNBOztBQThpQ0E7QUE5aUNBO0FBb2pDQTtBQXBqQ0E7QTVHL0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0E0R3VIQTtBQThqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0SmpxQkE7QXNKbGFBO0FBc2tDQTtBQXRrQ0E7QUEwa0NBO0FBMWtDQTtBQThrQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJsQ0E7QUF3bENBO0FBeGxDQTtBQTZsQ0E7QUE3bENBO0FBaW1DQTtBQWptQ0E7QUFxbUNBO0FBcm1DQTtBQTBtQ0E7QUExbUNBO0FBOG1DQTtBQTltQ0E7QUFrbkNBO0FBbG5DQTtBQXNuQ0E7QUF0bkNBO0FBMG5DQTtBQTFuQ0E7QUE4bkNBO0FBOW5DQTtBQWtvQ0E7QUFsb0NBO0FBdW9DQTtBQXZvQ0E7QUE0b0NBO0FBNW9DQTtBQWdwQ0E7QUFocENBO0FBb3BDQTtBQXBwQ0E7QUF3cENBO0FBeHBDQTtBQTRwQ0E7QUE1cENBO0FBZ3FDQTtBQWhxQ0E7QUFvcUNBO0FBQ0E7QUFycUNBO0FBeXFDQTtBQUNBO0FBMXFDQTtBQThxQ0E7QUE5cUNBO0FBa3JDQTtBQWxyQ0E7QUFzckNBO0FBdHJDQTtBQTByQ0E7QUExckNBO0FBOHJDQTtBQTlyQ0E7QUFrc0NBO0FBbHNDQTtBQXNzQ0E7QUFDQTtBQXZzQ0E7QUEyc0NBO0FBM3NDQTtBQWl0Q0E7QXRKL3lCQTtBc0psYUE7QUFvdENBO0FBcHRDQTtBQXl0Q0E7QUF6dENBO0FBNnRDQTtBQUNBO0FBQ0E7QUEvdENBO0FBbXVDQTtBQW51Q0E7QUF1dUNBO0FBQ0E7QUFDQTtBQXp1Q0E7QUE0dUNBO0FBQ0E7QUFDQTtBQUNBO0FBL3VDQTtBQW92Q0E7QUFwdkNBO0FBd3ZDQTtBQUNBO0FBenZDQTtBQTZ2Q0E7QUE3dkNBO0FBZ3dDQTtBQWh3Q0E7QUFxd0NBO0FBQ0E7QUF0d0NBO0FBNndDQTtBQTd3Q0E7QUFreENBO0FBQ0E7QUFDQTtBbkh2M0NBO0FtSG1HQTtBbkgvRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFZQTtBQWlCQTtBQUFBO0FtSDREQTtBbkhqQ0E7QUFDQTtBbUhnQ0E7QW5IakJBO0FBQ0E7QW1IZ0JBO0FuSGdDQTtBbUhoQ0E7QW5INENBO0FtSDVDQTtBQWt5Q0E7QUFDQTtBQW55Q0E7QUF3eUNBO0FBeHlDQTtBQTR5Q0E7QUE1eUNBO0FBZ3pDQTtBQWh6Q0E7QXpKdklBO0FVcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0k2R0E7QUF1ekNBO0FBdnpDQTtBQTJ6Q0E7QUFDQTtBQU1BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFEQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QUFlQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFQQTtBQVdBO0F0Sjc4QkE7QXNKazhCQTtBQWdCQTtBQWhCQTtBQW9CQTtBdEp0OUJBO0FzSms4QkE7OztBQTZCQTtBQUNBO0FBQ0E7QXRKaitCQTtBc0prOEJBO0FBcUNBO0FBQ0E7QXRKeCtCQTtBc0prOEJBOzs7QUErQ0E7QUFDQTtBQWhEQTtBQXFEQTtBQUNBO0FBdERBO0FBMERBO0FBMURBO0FBNkRBO0FBQ0E7QUE5REE7QUFrRUE7QUFDQTtBQW5FQTtBeElyNUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F3SXE0Q0E7QXZJaCtDQTtBdUlnK0NBO0F2SXo5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBdUlrOUNBO0F2SXg4Q0E7QUFDQTtBQUNBO0FBSUE7QXVJazhDQTtBdkk1NkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdUl1NkNBO0F2SS81Q0E7QXVJKzVDQTtBeEk5ekNBO0FBQ0E7QUFDQTtBd0k0ekNBO0F4SXR6Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBd0k0eUNBO0F4SXp5Q0E7QUFDQTtBd0l3eUNBO0F4SW52Q0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3STJ1Q0E7QXhJeHVDQTtBQUNBO0F3SXV1Q0E7QXhJdHJDQTtBQUNBO0F3SXFyQ0E7QXhJM3FDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QUFDQTtBd0ltcENBO0F4SXI1Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdJcTRDQTtBeElwMkNBO0F3SW8yQ0E7QXhJOXpDQTtBQUNBO0FBQ0E7QXdJNHpDQTtBeEl0ekNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QXdJaXlDQTtBeEk5eENBO0FBQ0E7QXdJNnhDQTtBeEludkNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBd0lndUNBO0F4STd0Q0E7QUFDQTtBd0k0dENBO0F4SXRyQ0E7QUFDQTtBd0lxckNBO0F4STNxQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWNBO0FBQ0E7QXdJMHZDQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUFvQkE7QUFwQkE7QUF3QkE7QUFDQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBR0E7O0FBR0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBREE7QUFJQTtBQUNBO0FBQ0E7QUFOQTtBQVVBO0FBVkE7QUFzQkE7QUFFQTtBQUNBO0FBekJBO0FBOEJBO0FBQ0E7QUEvQkE7QXhJcGpEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBd0lvaURBO0F4STc5Q0E7QUFDQTtBQUNBO0F3STI5Q0E7QXhJcjlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3STI4Q0E7QXhJeDhDQTtBQUNBO0F3SXU4Q0E7QXhJbDVDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXdJMDRDQTtBeEl2NENBO0FBQ0E7QXdJczRDQTtBeElyMUNBO0FBQ0E7QWRtUEE7QXNKaW1DQTtBQXlDQTtBQXpDQTtBeEkxMENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWRrT0E7QXNKdXBDQTtBQUdBO0FBQ0E7QUFDQTtBQUxBO0FBU0E7QUFDQTtBQVZBO0FBYUE7QUFDQTtBQUdBO0FBQ0E7QUFEQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVlBO0FBWkE7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBCQTtBQXVCQTtBQXZCQTtBQTJCQTtBQUNBO0FBNUJBO0FBZ0NBO0FBQ0E7QUFDQTtBQWxDQTtBQXdDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBcERBO0FBdURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWpFQTtBeEkzbkRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0F3SXNyREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBbEZBO0F4SXBpREE7QUFDQTtBQUNBO0F3SWtpREE7QXhJNWhEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3SWtoREE7QXhJL2dEQTtBQUNBO0F3SThnREE7QXhJejlDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QXdJaTlDQTtBeEk5OENBO0FBQ0E7QXdJNjhDQTtBeEk1NUNBO0FBQ0E7QXdJMjVDQTtBQXFGQTtBQXJGQTtBNUd6c0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0E0R2lzREE7QUFnR0E7QUFDQTtBQWpHQTtBQXNHQTtBQUNBO0FBdkdBO0F4STNuREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdJMm1EQTtBeElwaURBO0FBQ0E7QUFDQTtBd0lraURBO0F4STVoREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBd0l1Z0RBO0F4SXBnREE7QUFDQTtBd0ltZ0RBO0F4SXo5Q0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0F3SXM4Q0E7QXhJbjhDQTtBQUNBO0F3SWs4Q0E7QXhJNTVDQTtBQUNBO0F3STI1Q0E7QXhJajVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBd0kyNENBO0F4STNuREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QXdJMm1EQTtBeElwaURBO0FBQ0E7QUFDQTtBd0lraURBO0F4STVoREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBd0lraERBO0F4SS9nREE7QUFDQTtBd0k4Z0RBO0F4SXo5Q0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F3SWk5Q0E7QXhJOThDQTtBQUNBO0F3STY4Q0E7QXhJNTVDQTtBQUNBO0F3STI1Q0E7QXhJajVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F3SWtoREE7QUFDQTtBQURBO0FBS0E7QUFMQTs7QTVHajFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0E0R3kxREE7QUFDQTtBQURBO0FBWUE7QUFDQTtBQWJBO0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUVBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFKQTtBQVVBO0FBQ0E7QUFYQTtBQWNBO0FBQ0E7QUFmQTtBQW1CQTtBQW5CQTtBQXVCQTtBQUNBO0FBeEJBO0FBNkJBO0FBQ0E7QUE5QkE7QUFpQ0E7QUFDQTtBQUtBOztBQUVBO0FBQ0E7QUFDQTs7QTlKNzdEQTs7QStKRUE7QTdKRkE7OztBNkpNQTtBL0pJQTtBQWdCQTs7QStKaEJBO0EvSlZBOztBK0phQTtBN0piQTs7O0E2SmlCQTtBL0pQQTtBQWdCQTs7QStKTEE7QTVKZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QStKa0NBO0E3SmxDQTs7O0E2SnNDQTtBL0o1QkE7QUFnQkE7O0ErSmdCQTtBNUkxQ0E7Ozs7Ozs7O0E0SW1EQTtBM0luREE7QUFTQTtBNElHQTtBQUdBO0FBQ0E7QXhKNmhCQTtBd0pqaUJBO0FBT0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBeEpvaEJBO0F3SnJoQkE7QUFJQTtBQWhCQTtBQXFCQTtBeEo0Z0JBO0F3SnhnQkE7QUFFQTtBQUtBO0FBQ0E7QUFHQTs7QUFFQTtBQUNBO0F4SjBmQTtBd0o3ZkE7O0FBTUE7QUFHQTs7QUFDQTtBQUdBOztBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBSUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUlBOztBMUlMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMElIQTtBQVJBOztBMUlrRkE7QUFDQTtBQUNBO0EwSXBGQTs7O0ExSTBGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0EwSS9HQTs7O0ExSWtIQTtBQUNBO0EwSW5IQTs7OztBMUk2SkE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0EwSWhMQTs7OztBMUltTEE7QUFDQTtBMElwTEE7O0ExSTBOQTtBQUNBO0EwSTNOQTs7QTFJcU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EwSTNPQTs7QTFJb1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFxQ0E7O0F0QjViQTs7QWlLRUE7QS9KRkE7OztBK0pNQTtBaktJQTtBQWdCQTs7QWlLaEJBO0FqS1ZBOztBaUthQTtBL0piQTs7O0ErSmlCQTtBaktQQTtBQWdCQTs7QWlLTEE7QTlKZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QWlLa0NBO0EvSmxDQTs7O0ErSnNDQTtBaks1QkE7QUFnQkE7O0FpS2dCQTtBbkkxQ0E7O0FtSTZDQTtBQ2hCQTtBcEl4QkE7QUFDQTtBQUNBO0FvSXlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWpCQTtBQXNCQTtBQUNBO0FBdkJBO0FBNkJBO0FBQ0E7QUE5QkE7QUFxQ0E7QUFyQ0E7QUF5Q0E7QUF6Q0E7QUFnREE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBMUprZEE7QTBKdmdCQTtBQTZEQTtBQTdEQTtBQWdFQTtBQWhFQTtBQXFFQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBTkE7QUFVQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTs7QWxLeEpBOztBbUtFQTtBaktGQTs7O0FpS01BO0FuS0lBO0FBZ0JBOztBbUtoQkE7QW5LVkE7O0FtS2FBO0FqS2JBOzs7QWlLaUJBO0FuS1BBO0FBZ0JBOztBbUtMQTtBaEtmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBbUtrQ0E7QWpLbENBOzs7QWlLc0NBO0FuSzVCQTtBQWdCQTs7QW1LZ0JBO0FDaEJBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1SjJnQkE7QTRKL2dCQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFpQkE7QUEzQkE7QUFrQ0E7QUFFQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBQVlBO0FBWkE7QUFnQkE7QUFDQTtBQWpCQTtBQXFCQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUoyWUE7QTRKdFpBO0FBY0E7QTVKd1lBO0E0SnRaQTtBQWtCQTtBQUNBO0FBQ0E7QUFwQkE7QUEyQkE7QUEzQkE7QUErQkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1SjZXQTtBNEpwWEE7QUFVQTtBQVZBO0FBaUJBO0FBTUE7QUFFQTtBQUZBO0FBTUE7QUFLQTtBQUNBO0FBQ0E7QUFHQTtBQUNBOztBcEtqT0E7O0FxS0VBO0FuS0ZBOzs7QW1LTUE7QXJLSUE7QUFnQkE7O0FxS2hCQTtBcktWQTs7QXFLYUE7QW5LYkE7OztBbUtpQkE7QXJLUEE7QUFnQkE7O0FxS0xBO0FsS2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIZkE7O0FxS2tDQTtBbktsQ0E7OztBbUtzQ0E7QXJLNUJBO0FBZ0JBOztBcUtnQkE7QXJLMUNBOztBcUs2Q0E7QW5LN0NBOzs7QW1LaURBO0FyS3ZDQTtBQWdCQTs7QXFLMkJBO0FyS3JEQTs7QXFLd0RBO0FuS3hEQTs7O0FtSzREQTtBcktsREE7QUFnQkE7O0FxS3NDQTtBbEsxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0FrSm1GQTtBakpuRkE7QUFTQTtBeUJUQTtBQW1EQTtBQ1dBO0FJOURBOzs7Ozs7Ozs7QW1Ia0dBO0FDbEVBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QXBINUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FvSHlCQTtBcEhqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QW9INkJBO0F4SGtHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBd0g1R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBeEhtSEE7QUFDQTtBd0hwSEE7QXhIeUhBO0FBQ0E7QXdIMUhBO0F4SHlIQTtBQUNBO0F3SDFIQTtBeEh5SEE7QUFDQTtBd0gxSEE7QXhIOEhBO0F3SDlIQTtBQWdCQTtBQUNBO0FBQ0E7QUFsQkE7QUFzQkE7QUF0QkE7QUF5QkE7QUF6QkE7QUE4QkE7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FBZUE7QUFDQTtBQWhCQTtBQW1CQTtBQW5CQTtBQXlCQTtBQUNBO0FBQ0E7QUEzQkE7QUE4QkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBT0E7QUFDQTtBQUNBO0FBVEE7QUFZQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7O0F0S2pLQTs7QXVLRUE7QXJLRkE7OztBcUtNQTtBdktJQTtBQWdCQTs7QXVLaEJBO0F2S1ZBOztBdUthQTtBcktiQTs7O0FxS2lCQTtBdktQQTtBQWdCQTs7QXVLTEE7QXBLZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0FvSndDQTtBbkp4Q0E7QUFTQTtBb0pIQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QWxKa0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FrSmxGQTtBakpUQTtBaUpTQTtBakpGQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FpSkxBO0FqSmVBO0FBQ0E7QUFDQTtBQUlBO0FpSnJCQTtBakoyQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FpSmhEQTtBakp3REE7QWlKeERBO0FsSnlKQTtBQUNBO0FBQ0E7QWtKM0pBO0FsSmlLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FrSjNLQTtBbEo4S0E7QUFDQTtBa0ovS0E7QWxKb09BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBa0o1T0E7QWxKK09BO0FBQ0E7QWtKaFBBO0FsSmlTQTtBQUNBO0FBQ0E7QWtKNVJBO0FsSnFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBY0E7QUFDQTtBa0p0VEE7QWxKNldBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QWtKL1hBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFVQTs7QXhLeERBOztBeUtFQTtBdktGQTs7O0F1S01BO0F6S0lBO0FBZ0JBOztBeUtoQkE7QXpLVkE7O0F5S2FBO0F2S2JBOzs7QXVLaUJBO0F6S1BBO0FBZ0JBOztBeUtMQTtBdEtmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBeUtrQ0E7QXZLbENBOzs7QXVLc0NBO0F6SzVCQTtBQWdCQTs7QXlLZ0JBO0FDdENBO0FBRUE7QWxLdWlCQTtBa0t6aUJBO0FDRkE7QUFDQTtBQUNBO0FuS3lpQkE7QWtLcmlCQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QWxLOGhCQTtBa0tyaUJBO0FBWUE7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQXBCQTtBQXFCQTtBbEtnaEJBO0FrSzVnQkE7QUFFQTtBQUNBO0FsS3lnQkE7QWtLNWdCQTtBQU1BOztBRXZDQTs7O0FDR0E7QTdLSEE7O0E2S01BO0EzS05BOzs7QTJLVUE7QTdLQUE7QUFnQkE7O0E2S1pBO0E3S2RBOztBNktpQkE7QTNLakJBOzs7QTJLcUJBO0E3S1hBO0FBZ0JBOztBNktEQTtBMUtuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhmQTs7QTZLc0NBO0EzS3RDQTs7O0EySzBDQTtBN0toQ0E7QUFnQkE7O0E2S29CQTtBM0g5Q0E7Ozs7Ozs7OztBMkh3REE7QTdLeERBOztBNksyREE7QTNLM0RBOzs7QTJLK0RBO0E3S3JEQTtBQWdCQTs7QTZLeUNBO0E3S25FQTs7QTZLc0VBO0EzS3RFQTs7O0EySzBFQTtBN0toRUE7QUFnQkE7O0E2S29EQTtBMUt4RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0E2SzZGQTtBM0s3RkE7OztBMktpR0E7QTdLdkZBO0FBZ0JBOztBNksyRUE7QTdLckdBOztBNkt3R0E7QTNLeEdBOzs7QTJLNEdBO0E3S2xHQTtBQWdCQTs7QTZLc0ZBO0ExSzFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGZBOztBNks2SEE7QTNLN0hBOzs7QTJLaUlBO0E3S3ZIQTtBQWdCQTs7QTZLMkdBO0E3S3JJQTs7QTZLd0lBO0EzS3hJQTs7O0EySzRJQTtBN0tsSUE7QUFnQkE7O0E2S3NIQTtBMUsxSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVVmQTtBQVlBO0FiWkE7O0E2SytKQTtBM0svSkE7OztBMkttS0E7QTdLekpBO0FBZ0JBOztBNks2SUE7QTdLdktBOztBNkswS0E7QTNLMUtBOzs7QTJLOEtBO0E3S3BLQTtBQWdCQTs7QTZLd0pBO0ExSzVLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0NmQTs7Ozs7Ozs7O0EySHNNQTtBN0t0TUE7O0E2S3lNQTtBM0t6TUE7OztBMks2TUE7QTdLbk1BO0FBZ0JBOztBNkt1TEE7QTdLak5BOztBNktvTkE7QTNLcE5BOzs7QTJLd05BO0E3SzlNQTtBQWdCQTs7QTZLa01BO0ExS3ROQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMktmQTtBQU1BO0FGMEJBO0FBRUE7QUFDQTtBcEswZ0JBO0FvSzNnQkE7QUFJQTtBQUNBO0FwS3NnQkE7QW9LamdCQTtBQUNBO0FBWEE7QUFtQkE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBMUgvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QTBIdUNBO0FBV0E7QUFYQTtBQWNBO0FBQ0E7QUFmQTtBQXNCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBMUJBO0FBZ0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEs2Y0E7QW9LbGZBO0FBeUNBO0FBekNBO0FBNkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbkRBO0FBd0RBO0FwSzBiQTtBb0tyYkE7QUFFQTtBQS9EQTtBQXNFQTtBQXRFQTtBQTRFQTtBcEtzYUE7QW9LbGZBO0FBK0VBO0FBL0VBO0FBbUZBO0FwSytaQTtBb0tsZkE7QUF3RkE7QUF4RkE7Ozs7Ozs7O0FBb0dBO0FBcEdBOzs7O0FBNEdBO0FBQ0E7QUE3R0E7QUFnSEE7QUFDQTtBcEtpWUE7QW9LNVhBO0FHM0VBO0FBQ0E7QUFDQTtBQUNBO0FId0VBO0FHcEtBO0FBQ0E7QUFDQTtBSGtLQTtBRy9KQTtBSCtKQTtBRzNKQTtBSDJKQTtBR3ZKQTtBQUNBO0FBQ0E7QUFDQTtBSG9KQTtBR2pKQTtBSGlKQTtBRzdJQTtBdkt5Z0JBO0FvSzVYQTtBR3ZJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZLOGZBO0FvSzVYQTtBRzNIQTtBdkt1ZkE7QW9LNVhBO0ExSHJLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0ExQ3doQkE7QW9LNVhBO0FHL0dBO0FIK0dBO0FHNUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSHVHQTtBR25HQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUg4RkE7QUcxRkE7QUgwRkE7O0FHckZBO0FIcUZBOztBQWFBO0FBYkE7QUFtQkE7QUFuQkE7QUF3QkE7QUFDQTtBQVdBO0FBRUE7QUFGQTtBQU1BO0FBTkE7O0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTs7QUdsSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkttY0E7QW9LclVBOztBRzNOQTtBQUNBO0FBQ0E7QUh5TkE7O0FHdE5BO0FIc05BOztBR2xOQTtBSGtOQTs7QUc5TUE7QUFDQTtBQUNBO0FBQ0E7QUgyTUE7O0FHeE1BO0FId01BOztBR3BNQTtBdkt5Z0JBO0FvS3JVQTs7QUc5TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2SzhmQTtBb0tyVUE7O0FHbExBO0F2S3VmQTtBb0tyVUE7O0ExSDVOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0ExQ3doQkE7QW9LclVBOztBR3RLQTtBSHNLQTs7QUduS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIOEpBOztBRzFKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhxSkE7O0FHakpBO0FIaUpBOzs7O0FHNUlBO0FBQ0E7QUhzSkE7O0E1S25QQTs7QWdMRUE7QTlLRkE7OztBOEtNQTtBaExJQTtBQWdCQTs7QWdMaEJBO0FoTFZBOztBZ0xhQTtBOUtiQTs7O0E4S2lCQTtBaExQQTtBQWdCQTs7QWdMTEE7QTdLZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWdCZkE7Ozs7Ozs7O0E2SndDQTtBNUp4Q0E7QUFTQTtBcEJUQTs7QWdMNkNBO0E5SzdDQTs7O0E4S2lEQTtBaEx2Q0E7QUFnQkE7O0FnTDJCQTtBeEt3ZkE7QXlLbmlCQTtBQU9BO0FBQ0E7QUFSQTtBQVdBO0FBQ0E7QUFDQTtBQWJBO0FBaUJBO0FBQ0E7QUFLQTtBQUdBO0FBQ0E7QUFKQTtBQVNBO0FBQ0E7QUFWQTtBQWNBO0F6SzhmQTtBeUs1Z0JBO0FBaUJBO0FBQ0E7QUFsQkE7QUF5QkE7QUFDQTtBQTFCQTtBQThCQTtBQUNBO0FBL0JBO0FBbUNBO0FBQ0E7QUFDQTtBQXJDQTtBM0p5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTJKM0JBO0FBOUNBO0EzSmdKQTtBQUNBO0FBQ0E7QTJKbEpBO0EzSndKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0EySmxLQTtBM0pxS0E7QUFDQTtBMkp0S0E7QTNKMk5BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMkpuT0E7QTNKc09BO0FBQ0E7QTJKdk9BO0EzSndSQTtBQUNBO0EySnpSQTtBM0ptU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTJKelNBO0EzSnlEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBMkpYQTtBQTlEQTtBM0pnSkE7QUFDQTtBQUNBO0EySmxKQTtBM0p3SkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBMkpsS0E7QTNKcUtBO0FBQ0E7QTJKdEtBO0EzSjJOQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QTJKbk9BO0EzSnNPQTtBQUNBO0EySnZPQTtBM0p3UkE7QUFDQTtBMkp6UkE7QTNKbVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EySnpTQTtBQXlFQTtBQUNBO0FBQ0E7QUFDQTtBQTVFQTtBQWtGQTs7Iiwic291cmNlUm9vdCI6IiJ9*/