@charset "UTF-8";
/**
 * MASTER.SCSS
 *
 * @Project     : Project Name
 * @Author      : AuthorName [author.name@nvinteractive.com]
 *
 */
@-ms-viewport {
  width: device-width;
  zoom: 1; }
@viewport {
  width: device-width;
  zoom: 1; }

/**
 * 1. SETTINGS
 */
/*$brand-blue    : #33b7ff;*/
/**
 * UX/Validation colors
 */
/**
 * SETTINGS.BASE
 *
 * @description : Key application variables and settings
 *
 */
/**
 * SETTINGS.GRID
 *
 * @description : Settings used in grid calculations
 *
 */
/**
  e.g.
    .thing {
        background: green;
        @include breakpoint($md){
            background: blue
        }
    }
*/
/**
 *  2. TOOLS
 */
/**
 * TOOLS.FUNCTIONS
 *
 * @description : Common functions
 *
 */
/**
 * Strip Unit
 *  @desc       : Strips the unit from a value to we can use it for calculations
 *  @source     : https://css-tricks.com/snippets/sass/strip-unit-function/
 *  @param      : $num - Number to remove unit from
 *  @return     : Unitless value
 */
/**
 *  REM Calc
 *  @desc      : Converts px values to REMs
 *  @param     : $val - The value to convert (usually passed in px but unit may be omitted)
 *  @param     : $base – Optional parameter, passed if you'd like to calculate with a different base font size
 *  @param     : $base-font-size – The default font size (defined in _settings.base.scss)
 *  @return    : $rems - rem-converted value
 */
/**
 *  Decimal-Round
 *  @desc      : Rounds a floating point number to the nearest whole number
 *  @param     : $number - The number to be rounded. must be unitless.
 */
/**
 *  Decimal-Floor
 *  @desc      : Rounds a floating point number down to the nearest whole number
 */
/**
 * TOOLS.FUNCTIONS.STRIPUNIT
 *
 * @description : Strips the unit from a value to we can use it for calculations
 * @source      : https://css-tricks.com/snippets/sass/strip-unit-function/
 *
 */
/**
 * TOOLS.MIXIN.POSITION
 *
 * @description :  Sets top, left, right and bottom values for an element
 *
 */
.pos-a,
.pos-a-t-l,
.pos-a-t-r,
.pos-a-b-l,
.pos-a-b-r {
  position: absolute; }

.pos-f,
.pos-f-t-l,
.pos-f-t-r,
.pos-f-b-l,
.pos-f-b-r {
  position: fixed; }

.pos-a-t-l {
  top: 0;
  left: 0; }

.pos-a-t-r {
  top: 0;
  right: 0; }

.pos-a-b-l {
  bottom: 0;
  left: 0; }

.pos-a-b-r {
  bottom: 0;
  right: 0; }

.pos-f-t-l {
  top: 0;
  left: 0; }

.pos-f-t-r {
  top: 0;
  right: 0; }

.pos-f-b-l {
  bottom: 0;
  left: 0; }

.pos-f-b-r {
  bottom: 0;
  right: 0; }

/**
 * TOOLS.MIXIN.BASELINE_GRID
 *
 * @description :  Adds a baseline grid for setting type.
 *                 Used in development only.
 *
 */
/**
 * @param $spacing    Set the desired line height of the grid. Defaults to the base line height
 */
/**
 * TOOLS.BREAKPOINT_BINDING
 *
 * @author      : Glen [glen.honeybone@nvinteractive.com]
 * @description : Binds a pseudo element to th body that can be
 *                queried by JS for determining breakpoints
 *
 */
body::after {
  content: 'base';
  display: block;
  position: relative;
  visibility: hidden;
  height: 0;
  overflow: hidden; }

@media (min-width: 34.25em) {
  body::after {
    content: "sm"; } }

@media (min-width: 48em) {
  body::after {
    content: "md"; } }

@media (min-width: 64em) {
  body::after {
    content: "lg"; } }

@media (min-width: 90em) {
  body::after {
    content: "xl"; } }

/**
 * 3. GENERIC
 */
/**
 * GENERIC.RESET
 *
 * @description : Describe this partial
 *
 */
/**
 *  http://meyerweb.com/eric/tools/css/reset/
 *  v2.0 | 20110126
 *  License: none (public domain)
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  letter-spacing: normal; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button {
  border: none; }
  button:hover, button:focus {
    outline: none; }

a {
  text-decoration: none; }

b {
  font-weight: bold; }

hr {
  height: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3); }

/**
 * GENERIC.BOXSIZING
 *
 * @description : Sets global box-sizing
 * @reference   : https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 *
 */
/**
 * GENERIC.LINKS
 *
 * @description : Generic links
 *
 */
.c-text_link, .c-text_link--bold, p a {
  font-weight: 700;
  color: #E12F92; }
  .c-text_link:hover, .c-text_link--bold:hover, p a:hover {
    color: #95155c; }

.c-text_link--bold {
  font-weight: bold; }

/**
 *  4. ELEMENTS
 *  Basic styles for raw HTML elements
 *  No classes here
 */
/**
 * ELEMENTS.BASE
 *
 * @description : Base element styles
 *
 */
html {
  box-sizing: border-box; }

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

html,
body {
  background: #FFFFFF;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  min-height: 100%; }
  html.dev_type,
  body.dev_type {
    background-image: -webkit-linear-gradient(top, #0ff 0, rgba(255, 255, 255, 0) 1px);
    background-image: linear-gradient(to bottom, #0ff 0, rgba(255, 255, 255, 0) 1px);
    background-repeat: repeat-y;
    background-size: 100% 1.5rem; }

.content {
  padding: 60px 30px; }

main.content {
  width: 100%;
  float: left;
  background: #fff; }
  main.content h1, main.content h2, main.content h3 {
    margin-top: 0; }
  main.content h2, main.content h3, main.content h4 {
    margin-top: 0;
    margin-bottom: 1em; }

/**
 *  Set images for responsive sizing
 */
img,
svg {
  display: block;
  max-width: 100%; }

.wrapper {
  background-color: #f2f2f2;
  -webkit-transition: 0.8s cubic-bezier(0.52, 0.01, 0.16, 1) 0.35s;
  transition: 0.8s cubic-bezier(0.52, 0.01, 0.16, 1) 0.35s; }

/**
 * ELEMENTS.HEADINGS
 *
 * @description : Base heading styles
 *
 */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
  margin: 1.5em 0 0.5em 0; }
  h1.t-bold, h2.t-bold, h3.t-bold, h4.t-bold, h5.t-bold, h6.t-bold {
    font-weight: 600; }

h1 {
  font-family: "Roboto Slab", "Helvetica Neue", Helvetica, Arial, sans-serif, sans-serif;
  font-weight: 700;
  font-size: 3rem;
  text-transform: uppercase; }
  @media (min-width: 48em) {
    h1 {
      font-size: 3.75rem; } }
  @media (min-width: 64em) {
    h1 {
      font-size: 5rem; } }

h2 {
  font-family: "Roboto Slab", "Helvetica Neue", Helvetica, Arial, sans-serif, sans-serif;
  font-weight: 700;
  font-size: 1.375rem; }
  @media (min-width: 48em) {
    h2 {
      font-size: 1.625rem; } }
  @media (min-width: 64em) {
    h2 {
      font-size: 1.875rem; } }

h3 {
  font-family: "Roboto Slab", "Helvetica Neue", Helvetica, Arial, sans-serif, sans-serif;
  font-weight: 700;
  font-size: 1.3125rem; }
  @media (min-width: 48em) {
    h3 {
      font-size: 1.625rem; } }
  @media (min-width: 64em) {
    h3 {
      font-size: 1.875rem; } }

h4 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-size: 1.125rem; }
  @media (min-width: 48em) {
    h4 {
      font-size: 1.25rem; } }
  @media (min-width: 64em) {
    h4 {
      font-size: 1.5rem; } }

h5 {
  font-size: 1em; }

p.lead {
  margin-top: 1.2em;
  font-weight: 300;
  font-size: 1.2em;
  line-height: 1.5em; }

p, a, span, li, div {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }

p {
  margin: 0 0 1.5rem 0;
  line-height: 1.6; }
  p strong {
    font-weight: bold; }

em {
  font-style: italic; }

blockquote {
  font-size: 20px;
  font-style: italic;
  padding: 20px;
  position: relative; }
  blockquote:before {
    position: absolute;
    left: 0;
    top: 0;
    content: '"'; }
  blockquote:after {
    position: absolute;
    right: 0;
    bottom: 0;
    content: '"'; }

/**
 *  5. OBJECTS
 *  These are repeating visual/structural patterns with no 'design' added
 *  Must be built with classes only to avoid specificity issues
 */
/**
 * OBJECTS.GRID
 *
 * @description : The NV Grid
 * @settings    : See /1.settings/_settings.grid.scss
 *
 */
/** -------------------------------------------------------
 *  GRID WIDTH CALULATOR
 */
/**
 * General Styles
 */
*, *:before, *:after {
  box-sizing: border-box; }

.b {
  position: relative;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }

.b-s {
  position: relative;
  max-width: 61.25rem;
  margin-left: auto;
  margin-right: auto; }

/**
 *  Helper classes for non-grid items so they fit nicely within the grid
 */
.ng-p {
  padding-left: 1.16667%;
  padding-right: 1.16667%; }

.ng-pr {
  padding-left: 0;
  padding-right: 2.33333%; }

.ng-pl {
  padding-left: 2.33333%;
  padding-right: 0; }

.ng-m {
  margin-left: 2.33333%;
  margin-right: 2.33333%; }

.ng-mr {
  margin-left: 0;
  margin-right: 2.33333%; }

.ng-ml {
  margin-left: 2.33333%;
  margin-right: 0; }

/**
 * The Grid
 */
.g {
  letter-spacing: -0.31em;
  *letter-spacing: normal;
  *word-spacing: -0.43em;
  text-rendering: optimizespeed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .no-flexbox .g {
    display: table-cell;
    float: left;
    width: 100%; }
  .g-m {
    margin: 0 -2.33333%; }

.opera-only :-o-prefocus,
.g {
  word-spacing: -0.43em; }

/** -------------------------
 *  GRID ITEMS
 */
.gi {
  display: inline-block;
  letter-spacing: normal;
  word-spacing: normal;
  text-rendering: auto;
  width: 100%; }

.gi-p {
  padding-left: 1.16667%;
  padding-right: 1.16667%; }

.gi-pr {
  padding-right: 2.33333%; }

.gi-pl {
  padding-left: 2.33333%; }

.gi-m {
  margin-left: 2.33333%;
  margin-right: 2.33333%; }

.gi-ml {
  margin-left: 2.33333%; }

.gi-mr {
  margin-right: 2.33333%; }

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

.g-vam .gi,
.g-vam .gi-p,
.g-vam .gi-pl,
.g-vam .gi-pr,
.gi-m {
  vertical-align: middle; }

.gi-1 {
  width: 8.33333%; }

.gi-m.gi-1 {
  width: 3.66667%; }

.gi-mr.gi-1, .gi-mr.gi-1 {
  width: 6.0%; }

.gi-in-1 {
  margin-left: 8.33333%; }

.gi-m.gi-in-1,
.gi-ml.gi-in-1 {
  margin-left: 10.66667%; }

.gi-2 {
  width: 16.66667%; }

.gi-m.gi-2 {
  width: 12.0%; }

.gi-mr.gi-2, .gi-mr.gi-2 {
  width: 14.33333%; }

.gi-in-2 {
  margin-left: 16.66667%; }

.gi-m.gi-in-2,
.gi-ml.gi-in-2 {
  margin-left: 19.0%; }

.gi-3 {
  width: 25%; }

.gi-m.gi-3 {
  width: 20.33333%; }

.gi-mr.gi-3, .gi-mr.gi-3 {
  width: 22.66667%; }

.gi-in-3 {
  margin-left: 25%; }

.gi-m.gi-in-3,
.gi-ml.gi-in-3 {
  margin-left: 27.33333%; }

.gi-4 {
  width: 33.33333%; }

.gi-m.gi-4 {
  width: 28.66667%; }

.gi-mr.gi-4, .gi-mr.gi-4 {
  width: 31.0%; }

.gi-in-4 {
  margin-left: 33.33333%; }

.gi-m.gi-in-4,
.gi-ml.gi-in-4 {
  margin-left: 35.66667%; }

.gi-5 {
  width: 41.66667%; }

.gi-m.gi-5 {
  width: 37.0%; }

.gi-mr.gi-5, .gi-mr.gi-5 {
  width: 39.33333%; }

.gi-in-5 {
  margin-left: 41.66667%; }

.gi-m.gi-in-5,
.gi-ml.gi-in-5 {
  margin-left: 44.0%; }

.gi-6 {
  width: 50%; }

.gi-m.gi-6 {
  width: 45.33333%; }

.gi-mr.gi-6, .gi-mr.gi-6 {
  width: 47.66667%; }

.gi-in-6 {
  margin-left: 50%; }

.gi-m.gi-in-6,
.gi-ml.gi-in-6 {
  margin-left: 52.33333%; }

.gi-7 {
  width: 58.33333%; }

.gi-m.gi-7 {
  width: 53.66667%; }

.gi-mr.gi-7, .gi-mr.gi-7 {
  width: 56.0%; }

.gi-in-7 {
  margin-left: 58.33333%; }

.gi-m.gi-in-7,
.gi-ml.gi-in-7 {
  margin-left: 60.66667%; }

.gi-8 {
  width: 66.66667%; }

.gi-m.gi-8 {
  width: 62.0%; }

.gi-mr.gi-8, .gi-mr.gi-8 {
  width: 64.33333%; }

.gi-in-8 {
  margin-left: 66.66667%; }

.gi-m.gi-in-8,
.gi-ml.gi-in-8 {
  margin-left: 69.0%; }

.gi-9 {
  width: 75%; }

.gi-m.gi-9 {
  width: 70.33333%; }

.gi-mr.gi-9, .gi-mr.gi-9 {
  width: 72.66667%; }

.gi-in-9 {
  margin-left: 75%; }

.gi-m.gi-in-9,
.gi-ml.gi-in-9 {
  margin-left: 77.33333%; }

.gi-10 {
  width: 83.33333%; }

.gi-m.gi-10 {
  width: 78.66667%; }

.gi-mr.gi-10, .gi-mr.gi-10 {
  width: 81.0%; }

.gi-in-10 {
  margin-left: 83.33333%; }

.gi-m.gi-in-10,
.gi-ml.gi-in-10 {
  margin-left: 85.66667%; }

.gi-11 {
  width: 91.66667%; }

.gi-m.gi-11 {
  width: 87.0%; }

.gi-mr.gi-11, .gi-mr.gi-11 {
  width: 89.33333%; }

.gi-in-11 {
  margin-left: 91.66667%; }

.gi-m.gi-in-11,
.gi-ml.gi-in-11 {
  margin-left: 94.0%; }

.gi-12 {
  width: 100%; }

.gi-m.gi-12 {
  width: 95.33333%; }

.gi-mr.gi-12, .gi-mr.gi-12 {
  width: 97.66667%; }

.gi-in-12 {
  margin-left: 100%; }

.gi-m.gi-in-12,
.gi-ml.gi-in-12 {
  margin-left: 102.33333%; }

@media (min-width: 34.25em) {
  .gi-sm-1 {
    width: 8.33333%; }
  .gi-m.gi-sm-1 {
    width: 3.66667%; }
  .gi-ml.gi-sm-1,
  .gi-mr.gi-sm-1 {
    width: 6.0%; }
  .gi-sm-in-1 {
    margin-left: 8.33333%; }
  .gi-m.gi-sm-in-1,
  .gi-ml.gi-sm-in-1 {
    margin-left: 10.66667%; }
  .gi-sm-2 {
    width: 16.66667%; }
  .gi-m.gi-sm-2 {
    width: 12.0%; }
  .gi-ml.gi-sm-2,
  .gi-mr.gi-sm-2 {
    width: 14.33333%; }
  .gi-sm-in-2 {
    margin-left: 16.66667%; }
  .gi-m.gi-sm-in-2,
  .gi-ml.gi-sm-in-2 {
    margin-left: 19.0%; }
  .gi-sm-3 {
    width: 25%; }
  .gi-m.gi-sm-3 {
    width: 20.33333%; }
  .gi-ml.gi-sm-3,
  .gi-mr.gi-sm-3 {
    width: 22.66667%; }
  .gi-sm-in-3 {
    margin-left: 25%; }
  .gi-m.gi-sm-in-3,
  .gi-ml.gi-sm-in-3 {
    margin-left: 27.33333%; }
  .gi-sm-4 {
    width: 33.33333%; }
  .gi-m.gi-sm-4 {
    width: 28.66667%; }
  .gi-ml.gi-sm-4,
  .gi-mr.gi-sm-4 {
    width: 31.0%; }
  .gi-sm-in-4 {
    margin-left: 33.33333%; }
  .gi-m.gi-sm-in-4,
  .gi-ml.gi-sm-in-4 {
    margin-left: 35.66667%; }
  .gi-sm-5 {
    width: 41.66667%; }
  .gi-m.gi-sm-5 {
    width: 37.0%; }
  .gi-ml.gi-sm-5,
  .gi-mr.gi-sm-5 {
    width: 39.33333%; }
  .gi-sm-in-5 {
    margin-left: 41.66667%; }
  .gi-m.gi-sm-in-5,
  .gi-ml.gi-sm-in-5 {
    margin-left: 44.0%; }
  .gi-sm-6 {
    width: 50%; }
  .gi-m.gi-sm-6 {
    width: 45.33333%; }
  .gi-ml.gi-sm-6,
  .gi-mr.gi-sm-6 {
    width: 47.66667%; }
  .gi-sm-in-6 {
    margin-left: 50%; }
  .gi-m.gi-sm-in-6,
  .gi-ml.gi-sm-in-6 {
    margin-left: 52.33333%; }
  .gi-sm-7 {
    width: 58.33333%; }
  .gi-m.gi-sm-7 {
    width: 53.66667%; }
  .gi-ml.gi-sm-7,
  .gi-mr.gi-sm-7 {
    width: 56.0%; }
  .gi-sm-in-7 {
    margin-left: 58.33333%; }
  .gi-m.gi-sm-in-7,
  .gi-ml.gi-sm-in-7 {
    margin-left: 60.66667%; }
  .gi-sm-8 {
    width: 66.66667%; }
  .gi-m.gi-sm-8 {
    width: 62.0%; }
  .gi-ml.gi-sm-8,
  .gi-mr.gi-sm-8 {
    width: 64.33333%; }
  .gi-sm-in-8 {
    margin-left: 66.66667%; }
  .gi-m.gi-sm-in-8,
  .gi-ml.gi-sm-in-8 {
    margin-left: 69.0%; }
  .gi-sm-9 {
    width: 75%; }
  .gi-m.gi-sm-9 {
    width: 70.33333%; }
  .gi-ml.gi-sm-9,
  .gi-mr.gi-sm-9 {
    width: 72.66667%; }
  .gi-sm-in-9 {
    margin-left: 75%; }
  .gi-m.gi-sm-in-9,
  .gi-ml.gi-sm-in-9 {
    margin-left: 77.33333%; }
  .gi-sm-10 {
    width: 83.33333%; }
  .gi-m.gi-sm-10 {
    width: 78.66667%; }
  .gi-ml.gi-sm-10,
  .gi-mr.gi-sm-10 {
    width: 81.0%; }
  .gi-sm-in-10 {
    margin-left: 83.33333%; }
  .gi-m.gi-sm-in-10,
  .gi-ml.gi-sm-in-10 {
    margin-left: 85.66667%; }
  .gi-sm-11 {
    width: 91.66667%; }
  .gi-m.gi-sm-11 {
    width: 87.0%; }
  .gi-ml.gi-sm-11,
  .gi-mr.gi-sm-11 {
    width: 89.33333%; }
  .gi-sm-in-11 {
    margin-left: 91.66667%; }
  .gi-m.gi-sm-in-11,
  .gi-ml.gi-sm-in-11 {
    margin-left: 94.0%; }
  .gi-sm-12 {
    width: 100%; }
  .gi-m.gi-sm-12 {
    width: 95.33333%; }
  .gi-ml.gi-sm-12,
  .gi-mr.gi-sm-12 {
    width: 97.66667%; }
  .gi-sm-in-12 {
    margin-left: 100%; }
  .gi-m.gi-sm-in-12,
  .gi-ml.gi-sm-in-12 {
    margin-left: 102.33333%; }
  .gi-sm-pr {
    padding-left: 0;
    padding-right: 2.33333%; }
  .gi-sm-pl {
    padding-left: 2.33333%;
    padding-right: 0; }
  .gi-sm-in-0 {
    margin-left: 0; } }

@media (min-width: 48em) {
  .gi-md-1 {
    width: 8.33333%; }
  .gi-m.gi-md-1 {
    width: 3.66667%; }
  .gi-ml.gi-md-1,
  .gi-mr.gi-md-1 {
    width: 6.0%; }
  .gi-md-in-1 {
    margin-left: 8.33333%; }
  .gi-m.gi-md-in-1,
  .gi-ml.gi-md-in-1 {
    margin-left: 10.66667%; }
  .gi-md-2 {
    width: 16.66667%; }
  .gi-m.gi-md-2 {
    width: 12.0%; }
  .gi-ml.gi-md-2,
  .gi-mr.gi-md-2 {
    width: 14.33333%; }
  .gi-md-in-2 {
    margin-left: 16.66667%; }
  .gi-m.gi-md-in-2,
  .gi-ml.gi-md-in-2 {
    margin-left: 19.0%; }
  .gi-md-3 {
    width: 25%; }
  .gi-m.gi-md-3 {
    width: 20.33333%; }
  .gi-ml.gi-md-3,
  .gi-mr.gi-md-3 {
    width: 22.66667%; }
  .gi-md-in-3 {
    margin-left: 25%; }
  .gi-m.gi-md-in-3,
  .gi-ml.gi-md-in-3 {
    margin-left: 27.33333%; }
  .gi-md-4 {
    width: 33.33333%; }
  .gi-m.gi-md-4 {
    width: 28.66667%; }
  .gi-ml.gi-md-4,
  .gi-mr.gi-md-4 {
    width: 31.0%; }
  .gi-md-in-4 {
    margin-left: 33.33333%; }
  .gi-m.gi-md-in-4,
  .gi-ml.gi-md-in-4 {
    margin-left: 35.66667%; }
  .gi-md-5 {
    width: 41.66667%; }
  .gi-m.gi-md-5 {
    width: 37.0%; }
  .gi-ml.gi-md-5,
  .gi-mr.gi-md-5 {
    width: 39.33333%; }
  .gi-md-in-5 {
    margin-left: 41.66667%; }
  .gi-m.gi-md-in-5,
  .gi-ml.gi-md-in-5 {
    margin-left: 44.0%; }
  .gi-md-6 {
    width: 50%; }
  .gi-m.gi-md-6 {
    width: 45.33333%; }
  .gi-ml.gi-md-6,
  .gi-mr.gi-md-6 {
    width: 47.66667%; }
  .gi-md-in-6 {
    margin-left: 50%; }
  .gi-m.gi-md-in-6,
  .gi-ml.gi-md-in-6 {
    margin-left: 52.33333%; }
  .gi-md-7 {
    width: 58.33333%; }
  .gi-m.gi-md-7 {
    width: 53.66667%; }
  .gi-ml.gi-md-7,
  .gi-mr.gi-md-7 {
    width: 56.0%; }
  .gi-md-in-7 {
    margin-left: 58.33333%; }
  .gi-m.gi-md-in-7,
  .gi-ml.gi-md-in-7 {
    margin-left: 60.66667%; }
  .gi-md-8 {
    width: 66.66667%; }
  .gi-m.gi-md-8 {
    width: 62.0%; }
  .gi-ml.gi-md-8,
  .gi-mr.gi-md-8 {
    width: 64.33333%; }
  .gi-md-in-8 {
    margin-left: 66.66667%; }
  .gi-m.gi-md-in-8,
  .gi-ml.gi-md-in-8 {
    margin-left: 69.0%; }
  .gi-md-9 {
    width: 75%; }
  .gi-m.gi-md-9 {
    width: 70.33333%; }
  .gi-ml.gi-md-9,
  .gi-mr.gi-md-9 {
    width: 72.66667%; }
  .gi-md-in-9 {
    margin-left: 75%; }
  .gi-m.gi-md-in-9,
  .gi-ml.gi-md-in-9 {
    margin-left: 77.33333%; }
  .gi-md-10 {
    width: 83.33333%; }
  .gi-m.gi-md-10 {
    width: 78.66667%; }
  .gi-ml.gi-md-10,
  .gi-mr.gi-md-10 {
    width: 81.0%; }
  .gi-md-in-10 {
    margin-left: 83.33333%; }
  .gi-m.gi-md-in-10,
  .gi-ml.gi-md-in-10 {
    margin-left: 85.66667%; }
  .gi-md-11 {
    width: 91.66667%; }
  .gi-m.gi-md-11 {
    width: 87.0%; }
  .gi-ml.gi-md-11,
  .gi-mr.gi-md-11 {
    width: 89.33333%; }
  .gi-md-in-11 {
    margin-left: 91.66667%; }
  .gi-m.gi-md-in-11,
  .gi-ml.gi-md-in-11 {
    margin-left: 94.0%; }
  .gi-md-12 {
    width: 100%; }
  .gi-m.gi-md-12 {
    width: 95.33333%; }
  .gi-ml.gi-md-12,
  .gi-mr.gi-md-12 {
    width: 97.66667%; }
  .gi-md-in-12 {
    margin-left: 100%; }
  .gi-m.gi-md-in-12,
  .gi-ml.gi-md-in-12 {
    margin-left: 102.33333%; }
  .gi-md-pr {
    padding-left: 0;
    padding-right: 2.33333%; }
  .gi-md-pl {
    padding-left: 2.33333%;
    padding-right: 0; }
  .gi-md-in-0 {
    margin-left: 0; } }

@media (min-width: 64em) {
  .gi-lg-1 {
    width: 8.33333%; }
  .gi-m.gi-lg-1 {
    width: 3.66667%; }
  .gi-ml.gi-lg-1,
  .gi-mr.gi-lg-1 {
    width: 6.0%; }
  .gi-lg-in-1 {
    margin-left: 8.33333%; }
  .gi-m.gi-lg-in-1,
  .gi-ml.gi-lg-in-1 {
    margin-left: 10.66667%; }
  .gi-lg-2 {
    width: 16.66667%; }
  .gi-m.gi-lg-2 {
    width: 12.0%; }
  .gi-ml.gi-lg-2,
  .gi-mr.gi-lg-2 {
    width: 14.33333%; }
  .gi-lg-in-2 {
    margin-left: 16.66667%; }
  .gi-m.gi-lg-in-2,
  .gi-ml.gi-lg-in-2 {
    margin-left: 19.0%; }
  .gi-lg-3 {
    width: 25%; }
  .gi-m.gi-lg-3 {
    width: 20.33333%; }
  .gi-ml.gi-lg-3,
  .gi-mr.gi-lg-3 {
    width: 22.66667%; }
  .gi-lg-in-3 {
    margin-left: 25%; }
  .gi-m.gi-lg-in-3,
  .gi-ml.gi-lg-in-3 {
    margin-left: 27.33333%; }
  .gi-lg-4 {
    width: 33.33333%; }
  .gi-m.gi-lg-4 {
    width: 28.66667%; }
  .gi-ml.gi-lg-4,
  .gi-mr.gi-lg-4 {
    width: 31.0%; }
  .gi-lg-in-4 {
    margin-left: 33.33333%; }
  .gi-m.gi-lg-in-4,
  .gi-ml.gi-lg-in-4 {
    margin-left: 35.66667%; }
  .gi-lg-5 {
    width: 41.66667%; }
  .gi-m.gi-lg-5 {
    width: 37.0%; }
  .gi-ml.gi-lg-5,
  .gi-mr.gi-lg-5 {
    width: 39.33333%; }
  .gi-lg-in-5 {
    margin-left: 41.66667%; }
  .gi-m.gi-lg-in-5,
  .gi-ml.gi-lg-in-5 {
    margin-left: 44.0%; }
  .gi-lg-6 {
    width: 50%; }
  .gi-m.gi-lg-6 {
    width: 45.33333%; }
  .gi-ml.gi-lg-6,
  .gi-mr.gi-lg-6 {
    width: 47.66667%; }
  .gi-lg-in-6 {
    margin-left: 50%; }
  .gi-m.gi-lg-in-6,
  .gi-ml.gi-lg-in-6 {
    margin-left: 52.33333%; }
  .gi-lg-7 {
    width: 58.33333%; }
  .gi-m.gi-lg-7 {
    width: 53.66667%; }
  .gi-ml.gi-lg-7,
  .gi-mr.gi-lg-7 {
    width: 56.0%; }
  .gi-lg-in-7 {
    margin-left: 58.33333%; }
  .gi-m.gi-lg-in-7,
  .gi-ml.gi-lg-in-7 {
    margin-left: 60.66667%; }
  .gi-lg-8 {
    width: 66.66667%; }
  .gi-m.gi-lg-8 {
    width: 62.0%; }
  .gi-ml.gi-lg-8,
  .gi-mr.gi-lg-8 {
    width: 64.33333%; }
  .gi-lg-in-8 {
    margin-left: 66.66667%; }
  .gi-m.gi-lg-in-8,
  .gi-ml.gi-lg-in-8 {
    margin-left: 69.0%; }
  .gi-lg-9 {
    width: 75%; }
  .gi-m.gi-lg-9 {
    width: 70.33333%; }
  .gi-ml.gi-lg-9,
  .gi-mr.gi-lg-9 {
    width: 72.66667%; }
  .gi-lg-in-9 {
    margin-left: 75%; }
  .gi-m.gi-lg-in-9,
  .gi-ml.gi-lg-in-9 {
    margin-left: 77.33333%; }
  .gi-lg-10 {
    width: 83.33333%; }
  .gi-m.gi-lg-10 {
    width: 78.66667%; }
  .gi-ml.gi-lg-10,
  .gi-mr.gi-lg-10 {
    width: 81.0%; }
  .gi-lg-in-10 {
    margin-left: 83.33333%; }
  .gi-m.gi-lg-in-10,
  .gi-ml.gi-lg-in-10 {
    margin-left: 85.66667%; }
  .gi-lg-11 {
    width: 91.66667%; }
  .gi-m.gi-lg-11 {
    width: 87.0%; }
  .gi-ml.gi-lg-11,
  .gi-mr.gi-lg-11 {
    width: 89.33333%; }
  .gi-lg-in-11 {
    margin-left: 91.66667%; }
  .gi-m.gi-lg-in-11,
  .gi-ml.gi-lg-in-11 {
    margin-left: 94.0%; }
  .gi-lg-12 {
    width: 100%; }
  .gi-m.gi-lg-12 {
    width: 95.33333%; }
  .gi-ml.gi-lg-12,
  .gi-mr.gi-lg-12 {
    width: 97.66667%; }
  .gi-lg-in-12 {
    margin-left: 100%; }
  .gi-m.gi-lg-in-12,
  .gi-ml.gi-lg-in-12 {
    margin-left: 102.33333%; }
  .gi-lg-pr {
    padding-left: 0;
    padding-right: 2.33333%; }
  .gi-lg-pl {
    padding-left: 2.33333%;
    padding-right: 0; }
  .gi-lg-in-0 {
    margin-left: 0; } }

@media (min-width: 90em) {
  .gi-xl-1 {
    width: 8.33333%; }
  .gi-m.gi-xl-1 {
    width: 3.66667%; }
  .gi-ml.gi-xl-1,
  .gi-mr.gi-xl-1 {
    width: 6.0%; }
  .gi-xl-in-1 {
    margin-left: 8.33333%; }
  .gi-m.gi-xl-in-1,
  .gi-ml.gi-xl-in-1 {
    margin-left: 10.66667%; }
  .gi-xl-2 {
    width: 16.66667%; }
  .gi-m.gi-xl-2 {
    width: 12.0%; }
  .gi-ml.gi-xl-2,
  .gi-mr.gi-xl-2 {
    width: 14.33333%; }
  .gi-xl-in-2 {
    margin-left: 16.66667%; }
  .gi-m.gi-xl-in-2,
  .gi-ml.gi-xl-in-2 {
    margin-left: 19.0%; }
  .gi-xl-3 {
    width: 25%; }
  .gi-m.gi-xl-3 {
    width: 20.33333%; }
  .gi-ml.gi-xl-3,
  .gi-mr.gi-xl-3 {
    width: 22.66667%; }
  .gi-xl-in-3 {
    margin-left: 25%; }
  .gi-m.gi-xl-in-3,
  .gi-ml.gi-xl-in-3 {
    margin-left: 27.33333%; }
  .gi-xl-4 {
    width: 33.33333%; }
  .gi-m.gi-xl-4 {
    width: 28.66667%; }
  .gi-ml.gi-xl-4,
  .gi-mr.gi-xl-4 {
    width: 31.0%; }
  .gi-xl-in-4 {
    margin-left: 33.33333%; }
  .gi-m.gi-xl-in-4,
  .gi-ml.gi-xl-in-4 {
    margin-left: 35.66667%; }
  .gi-xl-5 {
    width: 41.66667%; }
  .gi-m.gi-xl-5 {
    width: 37.0%; }
  .gi-ml.gi-xl-5,
  .gi-mr.gi-xl-5 {
    width: 39.33333%; }
  .gi-xl-in-5 {
    margin-left: 41.66667%; }
  .gi-m.gi-xl-in-5,
  .gi-ml.gi-xl-in-5 {
    margin-left: 44.0%; }
  .gi-xl-6 {
    width: 50%; }
  .gi-m.gi-xl-6 {
    width: 45.33333%; }
  .gi-ml.gi-xl-6,
  .gi-mr.gi-xl-6 {
    width: 47.66667%; }
  .gi-xl-in-6 {
    margin-left: 50%; }
  .gi-m.gi-xl-in-6,
  .gi-ml.gi-xl-in-6 {
    margin-left: 52.33333%; }
  .gi-xl-7 {
    width: 58.33333%; }
  .gi-m.gi-xl-7 {
    width: 53.66667%; }
  .gi-ml.gi-xl-7,
  .gi-mr.gi-xl-7 {
    width: 56.0%; }
  .gi-xl-in-7 {
    margin-left: 58.33333%; }
  .gi-m.gi-xl-in-7,
  .gi-ml.gi-xl-in-7 {
    margin-left: 60.66667%; }
  .gi-xl-8 {
    width: 66.66667%; }
  .gi-m.gi-xl-8 {
    width: 62.0%; }
  .gi-ml.gi-xl-8,
  .gi-mr.gi-xl-8 {
    width: 64.33333%; }
  .gi-xl-in-8 {
    margin-left: 66.66667%; }
  .gi-m.gi-xl-in-8,
  .gi-ml.gi-xl-in-8 {
    margin-left: 69.0%; }
  .gi-xl-9 {
    width: 75%; }
  .gi-m.gi-xl-9 {
    width: 70.33333%; }
  .gi-ml.gi-xl-9,
  .gi-mr.gi-xl-9 {
    width: 72.66667%; }
  .gi-xl-in-9 {
    margin-left: 75%; }
  .gi-m.gi-xl-in-9,
  .gi-ml.gi-xl-in-9 {
    margin-left: 77.33333%; }
  .gi-xl-10 {
    width: 83.33333%; }
  .gi-m.gi-xl-10 {
    width: 78.66667%; }
  .gi-ml.gi-xl-10,
  .gi-mr.gi-xl-10 {
    width: 81.0%; }
  .gi-xl-in-10 {
    margin-left: 83.33333%; }
  .gi-m.gi-xl-in-10,
  .gi-ml.gi-xl-in-10 {
    margin-left: 85.66667%; }
  .gi-xl-11 {
    width: 91.66667%; }
  .gi-m.gi-xl-11 {
    width: 87.0%; }
  .gi-ml.gi-xl-11,
  .gi-mr.gi-xl-11 {
    width: 89.33333%; }
  .gi-xl-in-11 {
    margin-left: 91.66667%; }
  .gi-m.gi-xl-in-11,
  .gi-ml.gi-xl-in-11 {
    margin-left: 94.0%; }
  .gi-xl-12 {
    width: 100%; }
  .gi-m.gi-xl-12 {
    width: 95.33333%; }
  .gi-ml.gi-xl-12,
  .gi-mr.gi-xl-12 {
    width: 97.66667%; }
  .gi-xl-in-12 {
    margin-left: 100%; }
  .gi-m.gi-xl-in-12,
  .gi-ml.gi-xl-in-12 {
    margin-left: 102.33333%; }
  .gi-xl-pr {
    padding-left: 0;
    padding-right: 2.33333%; }
  .gi-xl-pl {
    padding-left: 2.33333%;
    padding-right: 0; }
  .gi-xl-in-0 {
    margin-left: 0; } }

/**
 * OBJECTS.LAYOUT
 *
 * @description : Core layout objects used in addition to the grid
 *
 */
.o-page {
  padding-bottom: 2.5rem;
  position: relative; }

.o-window {
  position: relative;
  overflow: hidden; }

.content .c-footer__contact {
  padding-top: 2.5rem; }
  @media (min-width: 48em) {
    .content .c-footer__contact {
      padding-top: 0; } }

.loader,
.loader:before,
.loader:after {
  background: #4fbdeb;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: .7em;
  height: 1em; }

.loader {
  color: #4fbdeb;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 8px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }
  .loader::before, .loader::after {
    position: absolute;
    top: 0;
    content: ''; }
  .loader::before {
    left: -1.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s; }
  .loader::after {
    left: 1.5em; }

@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 2.5em; }
  40% {
    box-shadow: 0 -2em;
    height: 3em; } }

@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 2.5em; }
  40% {
    box-shadow: 0 -2em;
    height: 3em; } }

.o-panel {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem; }
  @media (min-width: 48em) {
    .o-panel {
      padding-top: 10%;
      padding-bottom: 10%; } }
  @media (min-width: 64em) {
    .o-panel {
      padding-top: 8%;
      padding-bottom: 8%; } }
  .o-panel--lg {
    padding-top: 5rem;
    padding-bottom: 5rem; }
    @media (min-width: 48em) {
      .o-panel--lg {
        padding-top: 15%;
        padding-bottom: 15%; } }
    @media (min-width: 64em) {
      .o-panel--lg {
        padding-top: 12%;
        padding-bottom: 12%; } }
  .o-panel--xl {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    @media (min-width: 48em) {
      .o-panel--xl {
        padding-left: 0;
        padding-right: 0;
        padding-top: 18%;
        padding-bottom: 18%; } }
    @media (min-width: 64em) {
      .o-panel--xl {
        padding-top: 16%;
        padding-bottom: 16%; } }
  .o-panel--h {
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    @media (min-width: 48em) {
      .o-panel--h {
        padding-left: 0;
        padding-right: 0; } }

/**
 * OBJECTS.UI_LIST
 *
 * @description : Strips text-list styles for cosuntructing UI elements
 *
 */
.o-ui_list, ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.main ul {
  margin-bottom: 18px;
  padding: 8px 0 0;
  border: 1px solid #f4b5d8;
  border-radius: 4px; }
  .main ul li {
    font-weight: 500;
    margin-bottom: 10px;
    padding: 0 10px 8px 20px;
    position: relative;
    line-height: 22px;
    border-bottom: 1px solid #f4b5d8; }
    .main ul li:last-child {
      border-bottom: none;
      margin-bottom: 0; }
    .main ul li:before {
      position: absolute;
      left: 8px;
      top: 8px;
      content: "";
      display: block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background-color: #E12F92; }

/**
 * OBJECTS.UI_LIST
 *
 * @description : Strips text-list styles for cosuntructing UI elements
 *
 */
.o-button,
input.action {
  padding: 0.3em 1em;
  line-height: 30px;
  font-size: 1.4em;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  border-radius: 2px;
  background-color: #E12F92;
  color: #fff;
  outline: none;
  border: none;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease; }

.o-button--sm {
  padding: 0.3em 0.5em;
  font-weight: 700;
  line-height: 1;
  font-size: 1em;
  margin-top: 8px; }

.o-button--inv {
  border: 1px solid #E12F92;
  background-color: transparent;
  color: #f4b5d8 !important;
  font-weight: 400; }

.o-button--cnt {
  border: 1px solid #c11c78;
  color: #c11c78;
  background-color: #fff; }
  .o-button--cnt:hover {
    background-color: #c11c78;
    color: #fff; }

.userform {
  padding: 2.5rem 0; }
  .userform fieldset legend {
    margin-bottom: 1em;
    font-weight: 400;
    font-size: 1.3em;
    line-height: 1.5em;
    padding: 0; }

.userformsgroup {
  border: none;
  border-radius: 4px;
  padding: 0;
  margin: 0 0 20px 0; }

.field {
  margin-bottom: 20px; }
  .field label {
    font-size: 0.8em;
    font-weight: 400;
    margin-bottom: 10px;
    text-transform: capitalize;
    line-height: 1em;
    display: block;
    color: #444; }
  .field input {
    border-radius: 4px;
    line-height: 1.875rem;
    padding: 0.5rem 0.9375rem;
    border: 1px solid #ccc;
    background-color: #f5f5f5;
    color: #555;
    width: 100%; }
    .field input.checkbox {
      float: left;
      width: auto;
      -webkit-transform: translateX(-4px);
              transform: translateX(-4px); }
  .field textarea {
    border-radius: 4px;
    line-height: 1.875rem;
    padding: 0.5rem 0.9375rem;
    border: 1px solid #ccc;
    background-color: #f5f5f5;
    color: #555;
    width: 100%; }

#ForgotPassword {
  margin-top: 15px; }

/**
 * OBJECTS.BLOCK_GRID
 *
 * @description : Creates an evenly-sized grid of items
 *
 */
.o-block_grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .o-block_grid--3up .o-block_grid__item {
    width: 100%; }
    @media (min-width: 34.25em) {
      .o-block_grid--3up .o-block_grid__item {
        width: 50%; } }
    @media (min-width: 48em) {
      .o-block_grid--3up .o-block_grid__item {
        width: 33.333333333%; } }

/**
 *  6. COMPONENTS
 *  A component is a reusable chunk of UI that is clearly designed, as opposed to an object.
 *  Clearly refers to a block of UI: pagination, buttons, modals, icons... etc
 *  You should be able to take a component and paste it anywhere in the app
 *  Must be built with classes only
 */
.toggle-navbar {
  height: 60px;
  width: 60px;
  background-color: #7e124e;
  display: block; }
  @media only screen and (min-width: 64em) {
    .toggle-navbar {
      display: none; } }
  .toggle-navbar i {
    color: #ee88c1;
    font-size: 1.2em; }

.header-contact {
  height: 60px;
  float: left;
  padding-left: 20px;
  width: 100%;
  background-color: #E12F92; }
  .header-contact .social {
    display: none; }
    @media only screen and (min-width: 34.25em) {
      .header-contact .social {
        display: block; } }
  .header-contact a {
    display: block;
    float: left;
    margin: 15px 5px 5px 0; }
  @media only screen and (min-width: 64em) {
    .header-contact {
      float: right;
      width: auto;
      background-color: transparent; } }

.c-navbar {
  height: 60px;
  width: 100%;
  background-color: #c4c4c4l; }

.c-navbar--right {
  width: auto;
  float: right; }

.c-navbar--left {
  width: auto;
  float: left; }

.c-navbar_wrap {
  width: 100%;
  width: 100vw;
  position: relative;
  background: #ddd;
  z-index: 9999; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0.8);
  display: none; }
  .nav-open .overlay {
    display: block; }

.main-menu .tel {
  display: none;
  margin-top: 16px; }
  @media only screen and (min-width: 64em) {
    .nav-collapse .main-menu .tel {
      display: block; } }

.c-navbar_wrap--fixedTop {
  width: 100%;
  position: fixed;
  background-color: #000;
  height: 60px;
  top: 0;
  overflow: hidden;
  box-shadow: -2px 9px 25px -13px rgba(0, 0, 0, 0.75); }
  .nav-open .c-navbar_wrap--fixedTop {
    height: auto; }
  @media only screen and (min-width: 64em) {
    .c-navbar_wrap--fixedTop {
      height: 120px; }
      .nav-collapse .c-navbar_wrap--fixedTop {
        height: 60px; }
        .nav-collapse .c-navbar_wrap--fixedTop .hide-scroll {
          display: none; }
        .nav-collapse .c-navbar_wrap--fixedTop .logo {
          padding: 0.625rem; }
          .nav-collapse .c-navbar_wrap--fixedTop .logo h1 {
            font-size: 1.6em; } }

.c-navbar_wrap--fixedBtm {
  position: fixed;
  bottom: 0; }

.logo-area {
  height: auto;
  border-bottom: 1px solid #E12F92; }
  @media only screen and (min-width: 64em) {
    .logo-area {
      border-bottom: 0; } }
  .logo-area .logo {
    padding: 0.6em;
    float: left; }
    .logo-area .logo > img {
      max-width: 220px; }
      .nav-collapse .logo-area .logo > img {
        max-width: 220px; }
      @media only screen and (min-width: 1200px) {
        .logo-area .logo > img {
          max-width: 300px; } }
    .logo-area .logo span {
      display: block;
      margin: 0;
      line-height: 1; }
    .logo-area .logo .lead {
      font-size: 1em;
      color: #95155c; }
    .logo-area .logo .title {
      color: #E12F92;
      text-transform: capitalize;
      font-size: 1.5em; }
    @media only screen and (min-width: 64em) {
      .logo-area .logo {
        padding: 2rem 0.6rem; }
        .logo-area .logo .title {
          font-size: 2.5em; }
          .nav-collapse .logo-area .logo .title {
            font-size: 1.5em; }
        .logo-area .logo p.lead {
          font-size: 1em; } }

.social {
  height: 20px;
  padding: 16px; }

ul.c-navbar_menu {
  list-style-type: none;
  margin: 0;
  min-width: 15rem;
  padding: 0;
  background-color: #000;
  width: 100%; }
  @media only screen and (min-width: 64em) {
    ul.c-navbar_menu {
      width: auto; } }
  ul.c-navbar_menu li {
    display: block;
    float: left;
    width: 100%; }
    @media only screen and (min-width: 64em) {
      ul.c-navbar_menu li {
        width: auto; } }
    ul.c-navbar_menu li a {
      display: block;
      position: relative;
      padding: 0 0.5rem;
      line-height: 60px;
      text-transform: uppercase;
      font-family: "Roboto Slab", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-weight: 700;
      color: #FFF;
      font-size: 14px;
      min-width: 100%;
      text-align: left;
      -webkit-transition: background-color 300ms ease;
      transition: background-color 300ms ease; }
      @media only screen and (min-width: 64em) {
        ul.c-navbar_menu li a {
          padding: 0 0.625rem; } }
      @media only screen and (min-width: 1600px) {
        ul.c-navbar_menu li a {
          padding: 0 1rem;
          font-size: 16px; } }
      ul.c-navbar_menu li a:after {
        display: block;
        content: "";
        position: absolute;
        width: 4px;
        height: 100%;
        left: 0;
        background-color: #e75ca9;
        will-change: opacity;
        -webkit-transition: opacity 300ms ease;
        transition: opacity 300ms ease;
        opacity: 0; }
        @media only screen and (min-width: 64em) {
          ul.c-navbar_menu li a:after {
            width: 100%;
            height: 4px;
            bottom: 0; } }
    ul.c-navbar_menu li.current a:after {
      opacity: 1; }

ul.c-navbar_menu--v li {
  float: none; }
  ul.c-navbar_menu--v li a {
    padding: 0 0.3125rem;
    color: #FFF;
    line-height: 30px; }

.footer {
  background: transparent; }
  .footer ul.c-navbar_menu {
    background-color: transparent; }
    .footer ul.c-navbar_menu li a {
      background-color: transparent;
      font-weight: 300;
      font-size: 1.2em;
      line-height: 1.5em;
      text-transform: capitalize; }
      .footer ul.c-navbar_menu li a:after {
        display: none; }
      .footer ul.c-navbar_menu li a:hover {
        background-color: transparent; }

.wrapper {
  position: relative;
  padding-top: 60px;
  z-index: 1; }
  @media only screen and (min-width: 48em) {
    .wrapper {
      height: 120px; }
      .nav-collapse .wrapper {
        padding-top: 60px; } }

.c-jumbo {
  width: 100%;
  background-color: #E12F92;
  padding-top: 2.25em;
  padding-bottom: 2.25em;
  background-size: cover;
  filter: alpha(opacity=30);
  color: #fff; }
  @media only screen and (min-width: 48em) {
    .c-jumbo {
      padding-top: 6.25em;
      padding-bottom: 6.25em; } }
  .c-jumbo a, .c-jumbo h2, .c-jumbo h3 {
    color: #fff; }
  .c-jumbo .text-wrap {
    padding: 20px;
    background-color: rgba(0, 0, 0, 0.7); }
    @media only screen and (min-width: 48em) {
      .c-jumbo .text-wrap {
        padding: 40px; } }
  .c-jumbo h1 {
    font-size: 2em;
    margin: 0.5em 0 0.5em 0;
    text-transform: none;
    display: inline; }
    @media only screen and (min-width: 48em) {
      .c-jumbo h1 {
        font-size: 3em; } }
    .c-jumbo h1 span {
      font-weight: 300; }
  .c-jumbo h2 {
    margin-top: 0.5em;
    margin-bottom: 1em;
    font-size: 2.5em; }
  .c-jumbo h4 {
    margin-top: 0; }

.c-jumbo--sm {
  padding-top: 3.5em;
  padding-bottom: 3.5em;
  background-color: #E12F92; }
  .c-jumbo--sm h2 {
    font-size: 2.5em; }

.c-jumbo.footer {
  background-color: #000;
  width: 100%;
  float: left; }

.UserDefinedForm .c-jumbo {
  display: none; }

.snippets {
  margin-top: 40px; }

.c-box {
  padding-bottom: 50px;
  position: relative; }
  .c-box a {
    color: #000; }
  .c-box figure {
    display: block;
    height: 180px;
    background-color: green;
    background-size: cover;
    margin-bottom: 20px;
    overflow: hidden; }
    .c-box figure img {
      min-width: 100%; }
  .c-box h2 {
    position: absolute;
    top: 0px;
    left: 15px;
    padding: 6px 15px;
    background-color: #fff;
    border-left: 4px solid #E12F92;
    font-size: 26px;
    font-weight: 400;
    color: #ab196a; }
  .c-box h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin-bottom: 25px; }
  .c-box h4 {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin: 0 0 1.5rem 0;
    line-height: 1.6;
    font-size: 100%; }

.c-dropdown {
  position: relative; }

.c-dropdown__icon {
  font-size: 0.875em; }
  .c-dropdown__icon:first-child {
    margin-right: .5em; }
  .c-dropdown__icon:last-child {
    margin-left: .5em; }

.c-dropdown__menu {
  margin: 0;
  min-width: 15rem;
  opacity: 0;
  padding: 0;
  position: absolute;
  top: 3.75rem;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
  visibility: hidden; }

.c-dropdown__menu_item {
  display: block;
  min-width: 100%; }

.c-dropdown__menu_link {
  display: block;
  padding: 1.125rem 1.375rem;
  font-weight: normal;
  min-width: 100%;
  text-align: left;
  -webkit-transition: background-color 300ms ease;
  transition: background-color 300ms ease; }
  .c-dropdown__menu_link [class^='icon'] {
    font-size: 0.8em;
    margin-right: 0.75em; }

.c-dropdown__menu--right {
  left: auto;
  right: 0; }

.c-dropdown:hover .c-dropdown__menu,
.c-dropdown:focus .c-dropdown__menu {
  opacity: 1;
  top: 3.75rem;
  visibility: visible; }

/* Menu styles */
body.menu--open {
  overflow: hidden; }
  @media (min-width: 34.25em) {
    body.menu--open {
      overflow: auto; } }

.c-menu {
  background: #ebebeb;
  font-size: 1rem;
  position: fixed;
  left: 0;
  top: 0;
  top: 3.75rem;
  width: 100%;
  min-height: 100%;
  opacity: 0;
  visibility: hidden;
  overflow: scroll;
  -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
  transition: opacity 0.5s, visibility 0s 0.5s;
  z-index: 499; }
  @media (min-width: 48em) {
    .c-menu {
      overflow: hidden;
      height: 100vh; } }
  .c-menu.c-menu--open {
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    visibility: visible; }
  .c-menu .c-btn--close {
    font-size: 1.25rem;
    position: absolute;
    top: 1.875rem;
    right: 1.875rem;
    z-index: 3; }

.c-menu__wrap {
  position: absolute;
  overflow: hidden;
  width: 100%;
  padding: 5rem 0.625rem; }
  @media (min-width: 48em) {
    .c-menu__wrap {
      height: 90%;
      padding: 5rem; } }
  @media (min-width: 64em) {
    .c-menu__wrap {
      padding: 10% 15%; } }

.c-menu__level--current {
  visibility: visible; }

.c-menu__item {
  display: block;
  border: 1px solid #d4d4d4; }
  @media (min-width: 48em) {
    .c-menu__item {
      float: left;
      border: none;
      width: 20%;
      padding-left: 0.625rem;
      padding-right: 0.625rem; } }
  .c-menu__item:not(:first-child) {
    border-top: none; }
  @media (min-width: 48em) {
    .c-menu__item .c-menu__sub {
      padding-top: 1.25rem; } }
  .c-menu__item.is-expanded .c-menu__toggle::after {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); }
  .c-menu__item.is-expanded .c-menu__sub {
    overflow: hidden;
    max-height: 50em; }

.c-menu__link {
  color: #797979;
  display: block;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.3em;
  position: relative;
  -webkit-transition: color 0.1s;
  transition: color 0.1s;
  padding: 1em 0 1em 0; }
  .c-menu__link:hover, .c-menu__link:focus {
    color: #3d3e42 !important; }
  .c-menu__link[class*="u-bg"] {
    text-indent: 1.25rem; }

.c-menu__header {
  position: relative;
  font-size: 1.2em;
  width: 100%; }
  @media (min-width: 48em) {
    .c-menu__header {
      border-bottom: 1px solid #4fbdeb; } }
  .c-menu__header .c-menu__link {
    color: #111111;
    padding: 1em 0 1em 1em; }
    @media (min-width: 48em) {
      .c-menu__header .c-menu__link {
        padding: 1em 0 1em 0; } }
  @media (min-width: 48em) {
    .active .c-menu__header {
      color: #4fbdeb;
      border-bottom: 1px solid #4fbdeb; } }
  .active .c-menu__header .c-menu__link {
    color: #4fbdeb; }
    .active .c-menu__header .c-menu__link:hover {
      color: #4fbdeb !important; }

.c-menu__toggle {
  cursor: pointer;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 3.75rem;
  text-align: center;
  float: right;
  padding: 1em 0;
  height: 3.9rem;
  border-left: 1px solid #d4d4d4; }
  @media (min-width: 48em) {
    .c-menu__toggle {
      display: none; } }
  .c-menu__toggle::after {
    font-family: 'fringeicons';
    content: "\e911";
    position: absolute;
    left: 0;
    color: #4fbdeb;
    width: 3.75rem;
    font-size: 0.8em;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }

.c-menu__sub {
  background-color: #fafaf7;
  clear: both;
  height: auto;
  max-height: 0;
  overflow: hidden;
  padding: 0 1em; }
  @media (min-width: 48em) {
    .c-menu__sub {
      background-color: transparent;
      max-height: 50em;
      padding: 1em 0; } }
  .c-menu__sub li.active .c-menu__link {
    color: #4fbdeb; }
    .c-menu__sub li.active .c-menu__link:hover {
      color: #4fbdeb !important; }

.c-cta {
  background-color: #7e124e;
  padding: 2.5rem; }
  .c-cta h3 {
    margin: 0;
    color: #fff; }
    .c-cta h3 a {
      color: #f4b5d8; }
  .c-cta .o-button {
    margin: 15px 0 0;
    float: left; }
    @media only screen and (min-width: 48em) {
      .c-cta .o-button {
        margin: 0;
        float: right; } }

[class*="Lease"] .c-cta .o-button {
  display: none; }

/**
 *  7. UTILITIES
 */
/**
 * UTILITIES
 *
 * @description : These classes trump other preceeding styles.
 *                Userful for quickly applying common adjustments.
 */
.cf::after {
  content: "";
  display: table;
  clear: both; }

.u-fr {
  float: right; }

.u-fl {
  float: left; }

.u-hide {
  display: none; }

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

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

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

.u-w100 {
  width: 100%; }

.u-w75 {
  width: 75%; }

.u-w50 {
  width: 50%; }

.u-tup {
  text-transform: uppercase; }

.u-bold {
  font-weight: 900; }

.u-smooth_trans {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }

.u-bg--fixed {
  background-attachment: fixed;
  background-size: cover; }

.u-hide--sm {
  display: none; }
  @media (min-width: 48em) {
    .u-hide--sm {
      display: block; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1hc3Rlci5jc3MiLCJtYXN0ZXIuc2NzcyIsIjEuc2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwiMS5zZXR0aW5ncy9fc2V0dGluZ3MuYmFzZS5zY3NzIiwiMS5zZXR0aW5ncy9fc2V0dGluZ3MuZ3JpZC5zY3NzIiwiMi50b29scy9fdG9vbHMuZnVuY3Rpb25zLnNjc3MiLCIyLnRvb2xzL190b29scy5taXhpbi5jbGVhcmZpeC5zY3NzIiwiMi50b29scy9fdG9vbHMubWl4aW4ucG9zaXRpb24uc2NzcyIsIjIudG9vbHMvX3Rvb2xzLm1peGluLmJhc2VsaW5lX2dyaWQuc2NzcyIsIjIudG9vbHMvX3Rvb2xzLmJyZWFrcG9pbnRfYmluZGluZy5zY3NzIiwiMy5nZW5lcmljL19nZW5lcmljLnJlc2V0LnNjc3MiLCIzLmdlbmVyaWMvX2dlbmVyaWMubGlua3Muc2NzcyIsIjQuZWxlbWVudHMvX2VsZW1lbnRzLmJhc2Uuc2NzcyIsIjQuZWxlbWVudHMvX2VsZW1lbnRzLnR5cGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCI1Lm9iamVjdHMvX29iamVjdHMuZ3JpZC5zY3NzIiwiNS5vYmplY3RzL19vYmplY3RzLmxheW91dC5zY3NzIiwiNS5vYmplY3RzL19vYmplY3RzLnBhbmVscy5zY3NzIiwiNS5vYmplY3RzL19vYmplY3RzLnVpX2xpc3Quc2NzcyIsIjUub2JqZWN0cy9fb2JqZWN0cy5idXR0b24uc2NzcyIsIjUub2JqZWN0cy9fb2JqZWN0cy5mb3JtLnNjc3MiLCI1Lm9iamVjdHMvX29iamVjdHMuYmxvY2tfZ3JpZC5zY3NzIiwiNi5jb21wb25lbnRzL19jb21wb25lbnRzLm5hdmJhci5zY3NzIiwiNi5jb21wb25lbnRzL19jb21wb25lbnRzLmp1bWJvLnNjc3MiLCI2LmNvbXBvbmVudHMvX2NvbXBvbmVudHMuYm94LnNjc3MiLCI2LmNvbXBvbmVudHMvX2NvbXBvbmVudHMuZHJvcGRvd24uc2NzcyIsIjYuY29tcG9uZW50cy9fY29tcG9uZW50cy5tZW51LnNjc3MiLCI2LmNvbXBvbmVudHMvX2NvbXBvbmVudHMuY3RhLnNjc3MiLCI3LnV0aWxpdGllcy9fdXRpbGl0aWVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7Ozs7R0FNRztBQUlIO0VBQ0Msb0JBQW9CO0VBQ3BCLFFBQVEsRUFBQTtBQUZUO0VBQ0Msb0JBQW9CO0VBQ3BCLFFBQVEsRUFBQTs7QUFXVDs7R0FFRztBQ1BILDZCQUE2QjtBQVc3Qjs7R0FFRztBQy9CSDs7Ozs7R0FLRztBQ0xIOzs7OztHQUtHO0FBOEJIOzs7Ozs7OztFQVFFO0FIYkY7O0dBRUc7QUloQ0g7Ozs7O0dBS0c7QUFHSDs7Ozs7O0dBTUc7QUFPSDs7Ozs7OztHQU9HO0FBbUJIOzs7O0dBSUc7QUFpQ0g7OztHQUdHO0FDdkZIOzs7Ozs7R0FNRztBQ05IOzs7OztHQUtHO0FBd0VIOzs7OztFQUtBLG1CQUFrQixFQUNqQjs7QUFFRDs7Ozs7RUFLQSxnQkFBZSxFQUNkOztBQUVEO0VBQ0EsT0FBTTtFQUNOLFFBQU8sRUFDTjs7QUFDRDtFQUNBLE9BQU07RUFDTixTQUFRLEVBQ1A7O0FBQ0Q7RUFDQSxVQUFTO0VBQ1QsUUFBTyxFQUNOOztBQUNEO0VBQ0EsVUFBUztFQUNULFNBQVEsRUFDUDs7QUFHRDtFQUNBLE9BQU07RUFDTixRQUFPLEVBQ047O0FBQ0Q7RUFDQSxPQUFNO0VBQ04sU0FBUSxFQUNQOztBQUNEO0VBQ0EsVUFBUztFQUNULFFBQU8sRUFDTjs7QUFDRDtFQUNBLFVBQVM7RUFDVCxTQUFRLEVBQ1A7O0FDOUhEOzs7Ozs7R0FNRztBQUVIOztHQUVHO0FDVkg7Ozs7Ozs7R0FPRztBQUdIO0VBQ0MsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixpQkFBaUIsRUFDakI7O0FBR0E7RUFDRTtJQUNFLGNMQ0csRUtBSixFQUFB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Q29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcclxuICogTUFTVEVSLlNDU1NcclxuICpcclxuICogQFByb2plY3QgICAgIDogUHJvamVjdCBOYW1lXHJcbiAqIEBBdXRob3IgICAgICA6IEF1dGhvck5hbWUgW2F1dGhvci5uYW1lQG52aW50ZXJhY3RpdmUuY29tXVxyXG4gKlxyXG4gKi9cbkB2aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIHpvb206IDE7IH1cblxuLyoqXHJcbiAqIDEuIFNFVFRJTkdTXHJcbiAqL1xuLyokYnJhbmQtYmx1ZSAgICA6ICMzM2I3ZmY7Ki9cbi8qKlxyXG4gKiBVWC9WYWxpZGF0aW9uIGNvbG9yc1xyXG4gKi9cbi8qKlxyXG4gKiBTRVRUSU5HUy5CQVNFXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IEtleSBhcHBsaWNhdGlvbiB2YXJpYWJsZXMgYW5kIHNldHRpbmdzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIFNFVFRJTkdTLkdSSURcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogU2V0dGluZ3MgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uc1xyXG4gKlxyXG4gKi9cbi8qKlxyXG4gIGUuZy5cclxuICAgIC50aGluZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogZ3JlZW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBibHVlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4qL1xuLyoqXHJcbiAqICAyLiBUT09MU1xyXG4gKi9cbi8qKlxyXG4gKiBUT09MUy5GVU5DVElPTlNcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogQ29tbW9uIGZ1bmN0aW9uc1xyXG4gKlxyXG4gKi9cbi8qKlxyXG4gKiBTdHJpcCBVbml0XHJcbiAqICBAZGVzYyAgICAgICA6IFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgdmFsdWUgdG8gd2UgY2FuIHVzZSBpdCBmb3IgY2FsY3VsYXRpb25zXHJcbiAqICBAc291cmNlICAgICA6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9zdHJpcC11bml0LWZ1bmN0aW9uL1xyXG4gKiAgQHBhcmFtICAgICAgOiAkbnVtIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cclxuICogIEByZXR1cm4gICAgIDogVW5pdGxlc3MgdmFsdWVcclxuICovXG4vKipcclxuICogIFJFTSBDYWxjXHJcbiAqICBAZGVzYyAgICAgIDogQ29udmVydHMgcHggdmFsdWVzIHRvIFJFTXNcclxuICogIEBwYXJhbSAgICAgOiAkdmFsIC0gVGhlIHZhbHVlIHRvIGNvbnZlcnQgKHVzdWFsbHkgcGFzc2VkIGluIHB4IGJ1dCB1bml0IG1heSBiZSBvbWl0dGVkKVxyXG4gKiAgQHBhcmFtICAgICA6ICRiYXNlIOKAkyBPcHRpb25hbCBwYXJhbWV0ZXIsIHBhc3NlZCBpZiB5b3UnZCBsaWtlIHRvIGNhbGN1bGF0ZSB3aXRoIGEgZGlmZmVyZW50IGJhc2UgZm9udCBzaXplXHJcbiAqICBAcGFyYW0gICAgIDogJGJhc2UtZm9udC1zaXplIOKAkyBUaGUgZGVmYXVsdCBmb250IHNpemUgKGRlZmluZWQgaW4gX3NldHRpbmdzLmJhc2Uuc2NzcylcclxuICogIEByZXR1cm4gICAgOiAkcmVtcyAtIHJlbS1jb252ZXJ0ZWQgdmFsdWVcclxuICovXG4vKipcclxuICogIERlY2ltYWwtUm91bmRcclxuICogIEBkZXNjICAgICAgOiBSb3VuZHMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIgdG8gdGhlIG5lYXJlc3Qgd2hvbGUgbnVtYmVyXHJcbiAqICBAcGFyYW0gICAgIDogJG51bWJlciAtIFRoZSBudW1iZXIgdG8gYmUgcm91bmRlZC4gbXVzdCBiZSB1bml0bGVzcy5cclxuICovXG4vKipcclxuICogIERlY2ltYWwtRmxvb3JcclxuICogIEBkZXNjICAgICAgOiBSb3VuZHMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIgZG93biB0byB0aGUgbmVhcmVzdCB3aG9sZSBudW1iZXJcclxuICovXG4vKipcclxuICogVE9PTFMuRlVOQ1RJT05TLlNUUklQVU5JVFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIHZhbHVlIHRvIHdlIGNhbiB1c2UgaXQgZm9yIGNhbGN1bGF0aW9uc1xyXG4gKiBAc291cmNlICAgICAgOiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3Mvc3RyaXAtdW5pdC1mdW5jdGlvbi9cclxuICpcclxuICovXG4vKipcclxuICogVE9PTFMuTUlYSU4uUE9TSVRJT05cclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogIFNldHMgdG9wLCBsZWZ0LCByaWdodCBhbmQgYm90dG9tIHZhbHVlcyBmb3IgYW4gZWxlbWVudFxyXG4gKlxyXG4gKi9cbi5wb3MtYSxcbi5wb3MtYS10LWwsXG4ucG9zLWEtdC1yLFxuLnBvcy1hLWItbCxcbi5wb3MtYS1iLXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnBvcy1mLFxuLnBvcy1mLXQtbCxcbi5wb3MtZi10LXIsXG4ucG9zLWYtYi1sLFxuLnBvcy1mLWItciB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ucG9zLWEtdC1sIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5wb3MtYS10LXIge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5wb3MtYS1iLWwge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnBvcy1hLWItciB7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnBvcy1mLXQtbCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4ucG9zLWYtdC1yIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4ucG9zLWYtYi1sIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5wb3MtZi1iLXIge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gKiBUT09MUy5NSVhJTi5CQVNFTElORV9HUklEXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6ICBBZGRzIGEgYmFzZWxpbmUgZ3JpZCBmb3Igc2V0dGluZyB0eXBlLlxyXG4gKiAgICAgICAgICAgICAgICAgVXNlZCBpbiBkZXZlbG9wbWVudCBvbmx5LlxyXG4gKlxyXG4gKi9cbi8qKlxyXG4gKiBAcGFyYW0gJHNwYWNpbmcgICAgU2V0IHRoZSBkZXNpcmVkIGxpbmUgaGVpZ2h0IG9mIHRoZSBncmlkLiBEZWZhdWx0cyB0byB0aGUgYmFzZSBsaW5lIGhlaWdodFxyXG4gKi9cbi8qKlxyXG4gKiBUT09MUy5CUkVBS1BPSU5UX0JJTkRJTkdcclxuICpcclxuICogQGF1dGhvciAgICAgIDogR2xlbiBbZ2xlbi5ob25leWJvbmVAbnZpbnRlcmFjdGl2ZS5jb21dXHJcbiAqIEBkZXNjcmlwdGlvbiA6IEJpbmRzIGEgcHNldWRvIGVsZW1lbnQgdG8gdGggYm9keSB0aGF0IGNhbiBiZVxyXG4gKiAgICAgICAgICAgICAgICBxdWVyaWVkIGJ5IEpTIGZvciBkZXRlcm1pbmluZyBicmVha3BvaW50c1xyXG4gKlxyXG4gKi9cbmJvZHk6OmFmdGVyIHtcbiAgY29udGVudDogJ2Jhc2UnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzQuMjVlbSkge1xuICBib2R5OjphZnRlciB7XG4gICAgY29udGVudDogXCJzbVwiOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgYm9keTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwibWRcIjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcImxnXCI7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICBib2R5OjphZnRlciB7XG4gICAgY29udGVudDogXCJ4bFwiOyB9IH1cblxuLyoqXHJcbiAqIDMuIEdFTkVSSUNcclxuICovXG4vKipcclxuICogR0VORVJJQy5SRVNFVFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBEZXNjcmliZSB0aGlzIHBhcnRpYWxcclxuICpcclxuICovXG4vKipcclxuICogIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXHJcbiAqICB2Mi4wIHwgMjAxMTAxMjZcclxuICogIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXHJcbiAqL1xuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG5idXR0b24ge1xuICBib3JkZXI6IG5vbmU7IH1cbiAgYnV0dG9uOmhvdmVyLCBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaHIge1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cblxuLyoqXHJcbiAqIEdFTkVSSUMuQk9YU0laSU5HXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IFNldHMgZ2xvYmFsIGJveC1zaXppbmdcclxuICogQHJlZmVyZW5jZSAgIDogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIEdFTkVSSUMuTElOS1NcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogR2VuZXJpYyBsaW5rc1xyXG4gKlxyXG4gKi9cbi5jLXRleHRfbGluaywgLmMtdGV4dF9saW5rLS1ib2xkLCBwIGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI0UxMkY5MjsgfVxuICAuYy10ZXh0X2xpbms6aG92ZXIsIC5jLXRleHRfbGluay0tYm9sZDpob3ZlciwgcCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzk1MTU1YzsgfVxuXG4uYy10ZXh0X2xpbmstLWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcclxuICogIDQuIEVMRU1FTlRTXHJcbiAqICBCYXNpYyBzdHlsZXMgZm9yIHJhdyBIVE1MIGVsZW1lbnRzXHJcbiAqICBObyBjbGFzc2VzIGhlcmVcclxuICovXG4vKipcclxuICogRUxFTUVOVFMuQkFTRVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBCYXNlIGVsZW1lbnQgc3R5bGVzXHJcbiAqXHJcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuaHRtbCxcbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgaHRtbC5kZXZfdHlwZSxcbiAgYm9keS5kZXZfdHlwZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzBmZiAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDFweCk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxLjVyZW07IH1cblxuLmNvbnRlbnQge1xuICBwYWRkaW5nOiA2MHB4IDMwcHg7IH1cblxubWFpbi5jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIG1haW4uY29udGVudCBoMSwgbWFpbi5jb250ZW50IGgyLCBtYWluLmNvbnRlbnQgaDMge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgbWFpbi5jb250ZW50IGgyLCBtYWluLmNvbnRlbnQgaDMsIG1haW4uY29udGVudCBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLyoqXHJcbiAqICBTZXQgaW1hZ2VzIGZvciByZXNwb25zaXZlIHNpemluZ1xyXG4gKi9cbmltZyxcbnN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLndyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuOHMgY3ViaWMtYmV6aWVyKDAuNTIsIDAuMDEsIDAuMTYsIDEpIDAuMzVzO1xuICAtbW96LXRyYW5zaXRpb246IDAuOHMgY3ViaWMtYmV6aWVyKDAuNTIsIDAuMDEsIDAuMTYsIDEpIDAuMzVzO1xuICB0cmFuc2l0aW9uOiAwLjhzIGN1YmljLWJlemllcigwLjUyLCAwLjAxLCAwLjE2LCAxKSAwLjM1czsgfVxuXG4vKipcclxuICogRUxFTUVOVFMuSEVBRElOR1NcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogQmFzZSBoZWFkaW5nIHN0eWxlc1xyXG4gKlxyXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW46IDEuNWVtIDAgMC41ZW0gMDsgfVxuICBoMS50LWJvbGQsIGgyLnQtYm9sZCwgaDMudC1ib2xkLCBoNC50LWJvbGQsIGg1LnQtYm9sZCwgaDYudC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDNyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDMuNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfSB9XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxZW07IH1cblxucC5sZWFkIHtcbiAgbWFyZ2luLXRvcDogMS4yZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuXG5wLCBhLCBzcGFuLCBsaSwgZGl2IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgcCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmJsb2NrcXVvdGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgY29udGVudDogJ1wiJzsgfVxuICBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICdcIic7IH1cblxuLyoqXHJcbiAqICA1LiBPQkpFQ1RTXHJcbiAqICBUaGVzZSBhcmUgcmVwZWF0aW5nIHZpc3VhbC9zdHJ1Y3R1cmFsIHBhdHRlcm5zIHdpdGggbm8gJ2Rlc2lnbicgYWRkZWRcclxuICogIE11c3QgYmUgYnVpbHQgd2l0aCBjbGFzc2VzIG9ubHkgdG8gYXZvaWQgc3BlY2lmaWNpdHkgaXNzdWVzXHJcbiAqL1xuLyoqXHJcbiAqIE9CSkVDVFMuR1JJRFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBUaGUgTlYgR3JpZFxyXG4gKiBAc2V0dGluZ3MgICAgOiBTZWUgLzEuc2V0dGluZ3MvX3NldHRpbmdzLmdyaWQuc2Nzc1xyXG4gKlxyXG4gKi9cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqICBHUklEIFdJRFRIIENBTFVMQVRPUlxyXG4gKi9cbi8qKlxyXG4gKiBHZW5lcmFsIFN0eWxlc1xyXG4gKi9cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uYi1zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDYxLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAgSGVscGVyIGNsYXNzZXMgZm9yIG5vbi1ncmlkIGl0ZW1zIHNvIHRoZXkgZml0IG5pY2VseSB3aXRoaW4gdGhlIGdyaWRcclxuICovXG4ubmctcCB7XG4gIHBhZGRpbmctbGVmdDogMS4xNjY2NyU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMTY2NjclOyB9XG5cbi5uZy1wciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMi4zMzMzMyU7IH1cblxuLm5nLXBsIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjMzMzMzJTtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ubmctbSB7XG4gIG1hcmdpbi1sZWZ0OiAyLjMzMzMzJTtcbiAgbWFyZ2luLXJpZ2h0OiAyLjMzMzMzJTsgfVxuXG4ubmctbXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAyLjMzMzMzJTsgfVxuXG4ubmctbWwge1xuICBtYXJnaW4tbGVmdDogMi4zMzMzMyU7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKipcclxuICogVGhlIEdyaWRcclxuICovXG4uZyB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMWVtO1xuICAqbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgKndvcmQtc3BhY2luZzogLTAuNDNlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplc3BlZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAubm8tZmxleGJveCAuZyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZy1tIHtcbiAgICBtYXJnaW46IDAgLTIuMzMzMzMlOyB9XG5cbi5vcGVyYS1vbmx5IDotby1wcmVmb2N1cyxcbi5nIHtcbiAgd29yZC1zcGFjaW5nOiAtMC40M2VtOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqICBHUklEIElURU1TXHJcbiAqL1xuLmdpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5naS1wIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjE2NjY3JTtcbiAgcGFkZGluZy1yaWdodDogMS4xNjY2NyU7IH1cblxuLmdpLXByIHtcbiAgcGFkZGluZy1yaWdodDogMi4zMzMzMyU7IH1cblxuLmdpLXBsIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjMzMzMzJTsgfVxuXG4uZ2ktbSB7XG4gIG1hcmdpbi1sZWZ0OiAyLjMzMzMzJTtcbiAgbWFyZ2luLXJpZ2h0OiAyLjMzMzMzJTsgfVxuXG4uZ2ktbWwge1xuICBtYXJnaW4tbGVmdDogMi4zMzMzMyU7IH1cblxuLmdpLW1yIHtcbiAgbWFyZ2luLXJpZ2h0OiAyLjMzMzMzJTsgfVxuXG4uZy12YW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5nLXZhbSAuZ2ksXG4uZy12YW0gLmdpLXAsXG4uZy12YW0gLmdpLXBsLFxuLmctdmFtIC5naS1wcixcbi5naS1tIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZ2ktMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ2ktbS5naS0xIHtcbiAgd2lkdGg6IDMuNjY2NjclOyB9XG5cbi5naS1tci5naS0xLCAuZ2ktbXIuZ2ktMSB7XG4gIHdpZHRoOiA2LjAlOyB9XG5cbi5naS1pbi0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5naS1tLmdpLWluLTEsXG4uZ2ktbWwuZ2ktaW4tMSB7XG4gIG1hcmdpbi1sZWZ0OiAxMC42NjY2NyU7IH1cblxuLmdpLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5naS1tLmdpLTIge1xuICB3aWR0aDogMTIuMCU7IH1cblxuLmdpLW1yLmdpLTIsIC5naS1tci5naS0yIHtcbiAgd2lkdGg6IDE0LjMzMzMzJTsgfVxuXG4uZ2ktaW4tMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdpLW0uZ2ktaW4tMixcbi5naS1tbC5naS1pbi0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE5LjAlOyB9XG5cbi5naS0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ2ktbS5naS0zIHtcbiAgd2lkdGg6IDIwLjMzMzMzJTsgfVxuXG4uZ2ktbXIuZ2ktMywgLmdpLW1yLmdpLTMge1xuICB3aWR0aDogMjIuNjY2NjclOyB9XG5cbi5naS1pbi0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ2ktbS5naS1pbi0zLFxuLmdpLW1sLmdpLWluLTMge1xuICBtYXJnaW4tbGVmdDogMjcuMzMzMzMlOyB9XG5cbi5naS00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ2ktbS5naS00IHtcbiAgd2lkdGg6IDI4LjY2NjY3JTsgfVxuXG4uZ2ktbXIuZ2ktNCwgLmdpLW1yLmdpLTQge1xuICB3aWR0aDogMzEuMCU7IH1cblxuLmdpLWluLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5naS1tLmdpLWluLTQsXG4uZ2ktbWwuZ2ktaW4tNCB7XG4gIG1hcmdpbi1sZWZ0OiAzNS42NjY2NyU7IH1cblxuLmdpLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5naS1tLmdpLTUge1xuICB3aWR0aDogMzcuMCU7IH1cblxuLmdpLW1yLmdpLTUsIC5naS1tci5naS01IHtcbiAgd2lkdGg6IDM5LjMzMzMzJTsgfVxuXG4uZ2ktaW4tNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdpLW0uZ2ktaW4tNSxcbi5naS1tbC5naS1pbi01IHtcbiAgbWFyZ2luLWxlZnQ6IDQ0LjAlOyB9XG5cbi5naS02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ2ktbS5naS02IHtcbiAgd2lkdGg6IDQ1LjMzMzMzJTsgfVxuXG4uZ2ktbXIuZ2ktNiwgLmdpLW1yLmdpLTYge1xuICB3aWR0aDogNDcuNjY2NjclOyB9XG5cbi5naS1pbi02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ2ktbS5naS1pbi02LFxuLmdpLW1sLmdpLWluLTYge1xuICBtYXJnaW4tbGVmdDogNTIuMzMzMzMlOyB9XG5cbi5naS03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ2ktbS5naS03IHtcbiAgd2lkdGg6IDUzLjY2NjY3JTsgfVxuXG4uZ2ktbXIuZ2ktNywgLmdpLW1yLmdpLTcge1xuICB3aWR0aDogNTYuMCU7IH1cblxuLmdpLWluLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5naS1tLmdpLWluLTcsXG4uZ2ktbWwuZ2ktaW4tNyB7XG4gIG1hcmdpbi1sZWZ0OiA2MC42NjY2NyU7IH1cblxuLmdpLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5naS1tLmdpLTgge1xuICB3aWR0aDogNjIuMCU7IH1cblxuLmdpLW1yLmdpLTgsIC5naS1tci5naS04IHtcbiAgd2lkdGg6IDY0LjMzMzMzJTsgfVxuXG4uZ2ktaW4tOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdpLW0uZ2ktaW4tOCxcbi5naS1tbC5naS1pbi04IHtcbiAgbWFyZ2luLWxlZnQ6IDY5LjAlOyB9XG5cbi5naS05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ2ktbS5naS05IHtcbiAgd2lkdGg6IDcwLjMzMzMzJTsgfVxuXG4uZ2ktbXIuZ2ktOSwgLmdpLW1yLmdpLTkge1xuICB3aWR0aDogNzIuNjY2NjclOyB9XG5cbi5naS1pbi05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ2ktbS5naS1pbi05LFxuLmdpLW1sLmdpLWluLTkge1xuICBtYXJnaW4tbGVmdDogNzcuMzMzMzMlOyB9XG5cbi5naS0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdpLW0uZ2ktMTAge1xuICB3aWR0aDogNzguNjY2NjclOyB9XG5cbi5naS1tci5naS0xMCwgLmdpLW1yLmdpLTEwIHtcbiAgd2lkdGg6IDgxLjAlOyB9XG5cbi5naS1pbi0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdpLW0uZ2ktaW4tMTAsXG4uZ2ktbWwuZ2ktaW4tMTAge1xuICBtYXJnaW4tbGVmdDogODUuNjY2NjclOyB9XG5cbi5naS0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdpLW0uZ2ktMTEge1xuICB3aWR0aDogODcuMCU7IH1cblxuLmdpLW1yLmdpLTExLCAuZ2ktbXIuZ2ktMTEge1xuICB3aWR0aDogODkuMzMzMzMlOyB9XG5cbi5naS1pbi0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdpLW0uZ2ktaW4tMTEsXG4uZ2ktbWwuZ2ktaW4tMTEge1xuICBtYXJnaW4tbGVmdDogOTQuMCU7IH1cblxuLmdpLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdpLW0uZ2ktMTIge1xuICB3aWR0aDogOTUuMzMzMzMlOyB9XG5cbi5naS1tci5naS0xMiwgLmdpLW1yLmdpLTEyIHtcbiAgd2lkdGg6IDk3LjY2NjY3JTsgfVxuXG4uZ2ktaW4tMTIge1xuICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuXG4uZ2ktbS5naS1pbi0xMixcbi5naS1tbC5naS1pbi0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDIuMzMzMzMlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzNC4yNWVtKSB7XG4gIC5naS1zbS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktc20tMSB7XG4gICAgd2lkdGg6IDMuNjY2NjclOyB9XG4gIC5naS1tbC5naS1zbS0xLFxuICAuZ2ktbXIuZ2ktc20tMSB7XG4gICAgd2lkdGg6IDYuMCU7IH1cbiAgLmdpLXNtLWluLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ2ktbS5naS1zbS1pbi0xLFxuICAuZ2ktbWwuZ2ktc20taW4tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwLjY2NjY3JTsgfVxuICAuZ2ktc20tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ2ktbS5naS1zbS0yIHtcbiAgICB3aWR0aDogMTIuMCU7IH1cbiAgLmdpLW1sLmdpLXNtLTIsXG4gIC5naS1tci5naS1zbS0yIHtcbiAgICB3aWR0aDogMTQuMzMzMzMlOyB9XG4gIC5naS1zbS1pbi0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5naS1tLmdpLXNtLWluLTIsXG4gIC5naS1tbC5naS1zbS1pbi0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTkuMCU7IH1cbiAgLmdpLXNtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdpLW0uZ2ktc20tMyB7XG4gICAgd2lkdGg6IDIwLjMzMzMzJTsgfVxuICAuZ2ktbWwuZ2ktc20tMyxcbiAgLmdpLW1yLmdpLXNtLTMge1xuICAgIHdpZHRoOiAyMi42NjY2NyU7IH1cbiAgLmdpLXNtLWluLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdpLW0uZ2ktc20taW4tMyxcbiAgLmdpLW1sLmdpLXNtLWluLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNy4zMzMzMyU7IH1cbiAgLmdpLXNtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktc20tNCB7XG4gICAgd2lkdGg6IDI4LjY2NjY3JTsgfVxuICAuZ2ktbWwuZ2ktc20tNCxcbiAgLmdpLW1yLmdpLXNtLTQge1xuICAgIHdpZHRoOiAzMS4wJTsgfVxuICAuZ2ktc20taW4tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ2ktbS5naS1zbS1pbi00LFxuICAuZ2ktbWwuZ2ktc20taW4tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1LjY2NjY3JTsgfVxuICAuZ2ktc20tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ2ktbS5naS1zbS01IHtcbiAgICB3aWR0aDogMzcuMCU7IH1cbiAgLmdpLW1sLmdpLXNtLTUsXG4gIC5naS1tci5naS1zbS01IHtcbiAgICB3aWR0aDogMzkuMzMzMzMlOyB9XG4gIC5naS1zbS1pbi01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5naS1tLmdpLXNtLWluLTUsXG4gIC5naS1tbC5naS1zbS1pbi01IHtcbiAgICBtYXJnaW4tbGVmdDogNDQuMCU7IH1cbiAgLmdpLXNtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdpLW0uZ2ktc20tNiB7XG4gICAgd2lkdGg6IDQ1LjMzMzMzJTsgfVxuICAuZ2ktbWwuZ2ktc20tNixcbiAgLmdpLW1yLmdpLXNtLTYge1xuICAgIHdpZHRoOiA0Ny42NjY2NyU7IH1cbiAgLmdpLXNtLWluLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdpLW0uZ2ktc20taW4tNixcbiAgLmdpLW1sLmdpLXNtLWluLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1Mi4zMzMzMyU7IH1cbiAgLmdpLXNtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktc20tNyB7XG4gICAgd2lkdGg6IDUzLjY2NjY3JTsgfVxuICAuZ2ktbWwuZ2ktc20tNyxcbiAgLmdpLW1yLmdpLXNtLTcge1xuICAgIHdpZHRoOiA1Ni4wJTsgfVxuICAuZ2ktc20taW4tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ2ktbS5naS1zbS1pbi03LFxuICAuZ2ktbWwuZ2ktc20taW4tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwLjY2NjY3JTsgfVxuICAuZ2ktc20tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ2ktbS5naS1zbS04IHtcbiAgICB3aWR0aDogNjIuMCU7IH1cbiAgLmdpLW1sLmdpLXNtLTgsXG4gIC5naS1tci5naS1zbS04IHtcbiAgICB3aWR0aDogNjQuMzMzMzMlOyB9XG4gIC5naS1zbS1pbi04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5naS1tLmdpLXNtLWluLTgsXG4gIC5naS1tbC5naS1zbS1pbi04IHtcbiAgICBtYXJnaW4tbGVmdDogNjkuMCU7IH1cbiAgLmdpLXNtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdpLW0uZ2ktc20tOSB7XG4gICAgd2lkdGg6IDcwLjMzMzMzJTsgfVxuICAuZ2ktbWwuZ2ktc20tOSxcbiAgLmdpLW1yLmdpLXNtLTkge1xuICAgIHdpZHRoOiA3Mi42NjY2NyU7IH1cbiAgLmdpLXNtLWluLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdpLW0uZ2ktc20taW4tOSxcbiAgLmdpLW1sLmdpLXNtLWluLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3Ny4zMzMzMyU7IH1cbiAgLmdpLXNtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5naS1tLmdpLXNtLTEwIHtcbiAgICB3aWR0aDogNzguNjY2NjclOyB9XG4gIC5naS1tbC5naS1zbS0xMCxcbiAgLmdpLW1yLmdpLXNtLTEwIHtcbiAgICB3aWR0aDogODEuMCU7IH1cbiAgLmdpLXNtLWluLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5naS1tLmdpLXNtLWluLTEwLFxuICAuZ2ktbWwuZ2ktc20taW4tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4NS42NjY2NyU7IH1cbiAgLmdpLXNtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5naS1tLmdpLXNtLTExIHtcbiAgICB3aWR0aDogODcuMCU7IH1cbiAgLmdpLW1sLmdpLXNtLTExLFxuICAuZ2ktbXIuZ2ktc20tMTEge1xuICAgIHdpZHRoOiA4OS4zMzMzMyU7IH1cbiAgLmdpLXNtLWluLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5naS1tLmdpLXNtLWluLTExLFxuICAuZ2ktbWwuZ2ktc20taW4tMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5NC4wJTsgfVxuICAuZ2ktc20tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5naS1tLmdpLXNtLTEyIHtcbiAgICB3aWR0aDogOTUuMzMzMzMlOyB9XG4gIC5naS1tbC5naS1zbS0xMixcbiAgLmdpLW1yLmdpLXNtLTEyIHtcbiAgICB3aWR0aDogOTcuNjY2NjclOyB9XG4gIC5naS1zbS1pbi0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLmdpLW0uZ2ktc20taW4tMTIsXG4gIC5naS1tbC5naS1zbS1pbi0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMi4zMzMzMyU7IH1cbiAgLmdpLXNtLXByIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMi4zMzMzMyU7IH1cbiAgLmdpLXNtLXBsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmdpLXNtLWluLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdpLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ2ktbS5naS1tZC0xIHtcbiAgICB3aWR0aDogMy42NjY2NyU7IH1cbiAgLmdpLW1sLmdpLW1kLTEsXG4gIC5naS1tci5naS1tZC0xIHtcbiAgICB3aWR0aDogNi4wJTsgfVxuICAuZ2ktbWQtaW4tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5naS1tLmdpLW1kLWluLTEsXG4gIC5naS1tbC5naS1tZC1pbi0xIHtcbiAgICBtYXJnaW4tbGVmdDogMTAuNjY2NjclOyB9XG4gIC5naS1tZC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5naS1tLmdpLW1kLTIge1xuICAgIHdpZHRoOiAxMi4wJTsgfVxuICAuZ2ktbWwuZ2ktbWQtMixcbiAgLmdpLW1yLmdpLW1kLTIge1xuICAgIHdpZHRoOiAxNC4zMzMzMyU7IH1cbiAgLmdpLW1kLWluLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbWQtaW4tMixcbiAgLmdpLW1sLmdpLW1kLWluLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxOS4wJTsgfVxuICAuZ2ktbWQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ2ktbS5naS1tZC0zIHtcbiAgICB3aWR0aDogMjAuMzMzMzMlOyB9XG4gIC5naS1tbC5naS1tZC0zLFxuICAuZ2ktbXIuZ2ktbWQtMyB7XG4gICAgd2lkdGg6IDIyLjY2NjY3JTsgfVxuICAuZ2ktbWQtaW4tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ2ktbS5naS1tZC1pbi0zLFxuICAuZ2ktbWwuZ2ktbWQtaW4tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI3LjMzMzMzJTsgfVxuICAuZ2ktbWQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ2ktbS5naS1tZC00IHtcbiAgICB3aWR0aDogMjguNjY2NjclOyB9XG4gIC5naS1tbC5naS1tZC00LFxuICAuZ2ktbXIuZ2ktbWQtNCB7XG4gICAgd2lkdGg6IDMxLjAlOyB9XG4gIC5naS1tZC1pbi00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5naS1tLmdpLW1kLWluLTQsXG4gIC5naS1tbC5naS1tZC1pbi00IHtcbiAgICBtYXJnaW4tbGVmdDogMzUuNjY2NjclOyB9XG4gIC5naS1tZC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5naS1tLmdpLW1kLTUge1xuICAgIHdpZHRoOiAzNy4wJTsgfVxuICAuZ2ktbWwuZ2ktbWQtNSxcbiAgLmdpLW1yLmdpLW1kLTUge1xuICAgIHdpZHRoOiAzOS4zMzMzMyU7IH1cbiAgLmdpLW1kLWluLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbWQtaW4tNSxcbiAgLmdpLW1sLmdpLW1kLWluLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0NC4wJTsgfVxuICAuZ2ktbWQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ2ktbS5naS1tZC02IHtcbiAgICB3aWR0aDogNDUuMzMzMzMlOyB9XG4gIC5naS1tbC5naS1tZC02LFxuICAuZ2ktbXIuZ2ktbWQtNiB7XG4gICAgd2lkdGg6IDQ3LjY2NjY3JTsgfVxuICAuZ2ktbWQtaW4tNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ2ktbS5naS1tZC1pbi02LFxuICAuZ2ktbWwuZ2ktbWQtaW4tNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUyLjMzMzMzJTsgfVxuICAuZ2ktbWQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ2ktbS5naS1tZC03IHtcbiAgICB3aWR0aDogNTMuNjY2NjclOyB9XG4gIC5naS1tbC5naS1tZC03LFxuICAuZ2ktbXIuZ2ktbWQtNyB7XG4gICAgd2lkdGg6IDU2LjAlOyB9XG4gIC5naS1tZC1pbi03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5naS1tLmdpLW1kLWluLTcsXG4gIC5naS1tbC5naS1tZC1pbi03IHtcbiAgICBtYXJnaW4tbGVmdDogNjAuNjY2NjclOyB9XG4gIC5naS1tZC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5naS1tLmdpLW1kLTgge1xuICAgIHdpZHRoOiA2Mi4wJTsgfVxuICAuZ2ktbWwuZ2ktbWQtOCxcbiAgLmdpLW1yLmdpLW1kLTgge1xuICAgIHdpZHRoOiA2NC4zMzMzMyU7IH1cbiAgLmdpLW1kLWluLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbWQtaW4tOCxcbiAgLmdpLW1sLmdpLW1kLWluLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2OS4wJTsgfVxuICAuZ2ktbWQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ2ktbS5naS1tZC05IHtcbiAgICB3aWR0aDogNzAuMzMzMzMlOyB9XG4gIC5naS1tbC5naS1tZC05LFxuICAuZ2ktbXIuZ2ktbWQtOSB7XG4gICAgd2lkdGg6IDcyLjY2NjY3JTsgfVxuICAuZ2ktbWQtaW4tOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ2ktbS5naS1tZC1pbi05LFxuICAuZ2ktbWwuZ2ktbWQtaW4tOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc3LjMzMzMzJTsgfVxuICAuZ2ktbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktbWQtMTAge1xuICAgIHdpZHRoOiA3OC42NjY2NyU7IH1cbiAgLmdpLW1sLmdpLW1kLTEwLFxuICAuZ2ktbXIuZ2ktbWQtMTAge1xuICAgIHdpZHRoOiA4MS4wJTsgfVxuICAuZ2ktbWQtaW4tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktbWQtaW4tMTAsXG4gIC5naS1tbC5naS1tZC1pbi0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDg1LjY2NjY3JTsgfVxuICAuZ2ktbWQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbWQtMTEge1xuICAgIHdpZHRoOiA4Ny4wJTsgfVxuICAuZ2ktbWwuZ2ktbWQtMTEsXG4gIC5naS1tci5naS1tZC0xMSB7XG4gICAgd2lkdGg6IDg5LjMzMzMzJTsgfVxuICAuZ2ktbWQtaW4tMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbWQtaW4tMTEsXG4gIC5naS1tbC5naS1tZC1pbi0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDk0LjAlOyB9XG4gIC5naS1tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdpLW0uZ2ktbWQtMTIge1xuICAgIHdpZHRoOiA5NS4zMzMzMyU7IH1cbiAgLmdpLW1sLmdpLW1kLTEyLFxuICAuZ2ktbXIuZ2ktbWQtMTIge1xuICAgIHdpZHRoOiA5Ny42NjY2NyU7IH1cbiAgLmdpLW1kLWluLTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAuZ2ktbS5naS1tZC1pbi0xMixcbiAgLmdpLW1sLmdpLW1kLWluLTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAyLjMzMzMzJTsgfVxuICAuZ2ktbWQtcHIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjMzMzMzJTsgfVxuICAuZ2ktbWQtcGwge1xuICAgIHBhZGRpbmctbGVmdDogMi4zMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZ2ktbWQtaW4tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ2ktbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5naS1tLmdpLWxnLTEge1xuICAgIHdpZHRoOiAzLjY2NjY3JTsgfVxuICAuZ2ktbWwuZ2ktbGctMSxcbiAgLmdpLW1yLmdpLWxnLTEge1xuICAgIHdpZHRoOiA2LjAlOyB9XG4gIC5naS1sZy1pbi0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktbGctaW4tMSxcbiAgLmdpLW1sLmdpLWxnLWluLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAxMC42NjY2NyU7IH1cbiAgLmdpLWxnLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbGctMiB7XG4gICAgd2lkdGg6IDEyLjAlOyB9XG4gIC5naS1tbC5naS1sZy0yLFxuICAuZ2ktbXIuZ2ktbGctMiB7XG4gICAgd2lkdGg6IDE0LjMzMzMzJTsgfVxuICAuZ2ktbGctaW4tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ2ktbS5naS1sZy1pbi0yLFxuICAuZ2ktbWwuZ2ktbGctaW4tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5LjAlOyB9XG4gIC5naS1sZy0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5naS1tLmdpLWxnLTMge1xuICAgIHdpZHRoOiAyMC4zMzMzMyU7IH1cbiAgLmdpLW1sLmdpLWxnLTMsXG4gIC5naS1tci5naS1sZy0zIHtcbiAgICB3aWR0aDogMjIuNjY2NjclOyB9XG4gIC5naS1sZy1pbi0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5naS1tLmdpLWxnLWluLTMsXG4gIC5naS1tbC5naS1sZy1pbi0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjcuMzMzMzMlOyB9XG4gIC5naS1sZy00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5naS1tLmdpLWxnLTQge1xuICAgIHdpZHRoOiAyOC42NjY2NyU7IH1cbiAgLmdpLW1sLmdpLWxnLTQsXG4gIC5naS1tci5naS1sZy00IHtcbiAgICB3aWR0aDogMzEuMCU7IH1cbiAgLmdpLWxnLWluLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktbGctaW4tNCxcbiAgLmdpLW1sLmdpLWxnLWluLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzNS42NjY2NyU7IH1cbiAgLmdpLWxnLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbGctNSB7XG4gICAgd2lkdGg6IDM3LjAlOyB9XG4gIC5naS1tbC5naS1sZy01LFxuICAuZ2ktbXIuZ2ktbGctNSB7XG4gICAgd2lkdGg6IDM5LjMzMzMzJTsgfVxuICAuZ2ktbGctaW4tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ2ktbS5naS1sZy1pbi01LFxuICAuZ2ktbWwuZ2ktbGctaW4tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ0LjAlOyB9XG4gIC5naS1sZy02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5naS1tLmdpLWxnLTYge1xuICAgIHdpZHRoOiA0NS4zMzMzMyU7IH1cbiAgLmdpLW1sLmdpLWxnLTYsXG4gIC5naS1tci5naS1sZy02IHtcbiAgICB3aWR0aDogNDcuNjY2NjclOyB9XG4gIC5naS1sZy1pbi02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5naS1tLmdpLWxnLWluLTYsXG4gIC5naS1tbC5naS1sZy1pbi02IHtcbiAgICBtYXJnaW4tbGVmdDogNTIuMzMzMzMlOyB9XG4gIC5naS1sZy03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5naS1tLmdpLWxnLTcge1xuICAgIHdpZHRoOiA1My42NjY2NyU7IH1cbiAgLmdpLW1sLmdpLWxnLTcsXG4gIC5naS1tci5naS1sZy03IHtcbiAgICB3aWR0aDogNTYuMCU7IH1cbiAgLmdpLWxnLWluLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdpLW0uZ2ktbGctaW4tNyxcbiAgLmdpLW1sLmdpLWxnLWluLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA2MC42NjY2NyU7IH1cbiAgLmdpLWxnLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdpLW0uZ2ktbGctOCB7XG4gICAgd2lkdGg6IDYyLjAlOyB9XG4gIC5naS1tbC5naS1sZy04LFxuICAuZ2ktbXIuZ2ktbGctOCB7XG4gICAgd2lkdGg6IDY0LjMzMzMzJTsgfVxuICAuZ2ktbGctaW4tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ2ktbS5naS1sZy1pbi04LFxuICAuZ2ktbWwuZ2ktbGctaW4tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY5LjAlOyB9XG4gIC5naS1sZy05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5naS1tLmdpLWxnLTkge1xuICAgIHdpZHRoOiA3MC4zMzMzMyU7IH1cbiAgLmdpLW1sLmdpLWxnLTksXG4gIC5naS1tci5naS1sZy05IHtcbiAgICB3aWR0aDogNzIuNjY2NjclOyB9XG4gIC5naS1sZy1pbi05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5naS1tLmdpLWxnLWluLTksXG4gIC5naS1tbC5naS1sZy1pbi05IHtcbiAgICBtYXJnaW4tbGVmdDogNzcuMzMzMzMlOyB9XG4gIC5naS1sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ2ktbS5naS1sZy0xMCB7XG4gICAgd2lkdGg6IDc4LjY2NjY3JTsgfVxuICAuZ2ktbWwuZ2ktbGctMTAsXG4gIC5naS1tci5naS1sZy0xMCB7XG4gICAgd2lkdGg6IDgxLjAlOyB9XG4gIC5naS1sZy1pbi0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ2ktbS5naS1sZy1pbi0xMCxcbiAgLmdpLW1sLmdpLWxnLWluLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODUuNjY2NjclOyB9XG4gIC5naS1sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ2ktbS5naS1sZy0xMSB7XG4gICAgd2lkdGg6IDg3LjAlOyB9XG4gIC5naS1tbC5naS1sZy0xMSxcbiAgLmdpLW1yLmdpLWxnLTExIHtcbiAgICB3aWR0aDogODkuMzMzMzMlOyB9XG4gIC5naS1sZy1pbi0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ2ktbS5naS1sZy1pbi0xMSxcbiAgLmdpLW1sLmdpLWxnLWluLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTQuMCU7IH1cbiAgLmdpLWxnLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2ktbS5naS1sZy0xMiB7XG4gICAgd2lkdGg6IDk1LjMzMzMzJTsgfVxuICAuZ2ktbWwuZ2ktbGctMTIsXG4gIC5naS1tci5naS1sZy0xMiB7XG4gICAgd2lkdGg6IDk3LjY2NjY3JTsgfVxuICAuZ2ktbGctaW4tMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gIC5naS1tLmdpLWxnLWluLTEyLFxuICAuZ2ktbWwuZ2ktbGctaW4tMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDIuMzMzMzMlOyB9XG4gIC5naS1sZy1wciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMzMzMzMlOyB9XG4gIC5naS1sZy1wbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5naS1sZy1pbi0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5naS14bC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdpLW0uZ2kteGwtMSB7XG4gICAgd2lkdGg6IDMuNjY2NjclOyB9XG4gIC5naS1tbC5naS14bC0xLFxuICAuZ2ktbXIuZ2kteGwtMSB7XG4gICAgd2lkdGg6IDYuMCU7IH1cbiAgLmdpLXhsLWluLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ2ktbS5naS14bC1pbi0xLFxuICAuZ2ktbWwuZ2kteGwtaW4tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwLjY2NjY3JTsgfVxuICAuZ2kteGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ2ktbS5naS14bC0yIHtcbiAgICB3aWR0aDogMTIuMCU7IH1cbiAgLmdpLW1sLmdpLXhsLTIsXG4gIC5naS1tci5naS14bC0yIHtcbiAgICB3aWR0aDogMTQuMzMzMzMlOyB9XG4gIC5naS14bC1pbi0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5naS1tLmdpLXhsLWluLTIsXG4gIC5naS1tbC5naS14bC1pbi0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTkuMCU7IH1cbiAgLmdpLXhsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdpLW0uZ2kteGwtMyB7XG4gICAgd2lkdGg6IDIwLjMzMzMzJTsgfVxuICAuZ2ktbWwuZ2kteGwtMyxcbiAgLmdpLW1yLmdpLXhsLTMge1xuICAgIHdpZHRoOiAyMi42NjY2NyU7IH1cbiAgLmdpLXhsLWluLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdpLW0uZ2kteGwtaW4tMyxcbiAgLmdpLW1sLmdpLXhsLWluLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNy4zMzMzMyU7IH1cbiAgLmdpLXhsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdpLW0uZ2kteGwtNCB7XG4gICAgd2lkdGg6IDI4LjY2NjY3JTsgfVxuICAuZ2ktbWwuZ2kteGwtNCxcbiAgLmdpLW1yLmdpLXhsLTQge1xuICAgIHdpZHRoOiAzMS4wJTsgfVxuICAuZ2kteGwtaW4tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ2ktbS5naS14bC1pbi00LFxuICAuZ2ktbWwuZ2kteGwtaW4tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1LjY2NjY3JTsgfVxuICAuZ2kteGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ2ktbS5naS14bC01IHtcbiAgICB3aWR0aDogMzcuMCU7IH1cbiAgLmdpLW1sLmdpLXhsLTUsXG4gIC5naS1tci5naS14bC01IHtcbiAgICB3aWR0aDogMzkuMzMzMzMlOyB9XG4gIC5naS14bC1pbi01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5naS1tLmdpLXhsLWluLTUsXG4gIC5naS1tbC5naS14bC1pbi01IHtcbiAgICBtYXJnaW4tbGVmdDogNDQuMCU7IH1cbiAgLmdpLXhsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdpLW0uZ2kteGwtNiB7XG4gICAgd2lkdGg6IDQ1LjMzMzMzJTsgfVxuICAuZ2ktbWwuZ2kteGwtNixcbiAgLmdpLW1yLmdpLXhsLTYge1xuICAgIHdpZHRoOiA0Ny42NjY2NyU7IH1cbiAgLmdpLXhsLWluLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdpLW0uZ2kteGwtaW4tNixcbiAgLmdpLW1sLmdpLXhsLWluLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1Mi4zMzMzMyU7IH1cbiAgLmdpLXhsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdpLW0uZ2kteGwtNyB7XG4gICAgd2lkdGg6IDUzLjY2NjY3JTsgfVxuICAuZ2ktbWwuZ2kteGwtNyxcbiAgLmdpLW1yLmdpLXhsLTcge1xuICAgIHdpZHRoOiA1Ni4wJTsgfVxuICAuZ2kteGwtaW4tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ2ktbS5naS14bC1pbi03LFxuICAuZ2ktbWwuZ2kteGwtaW4tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwLjY2NjY3JTsgfVxuICAuZ2kteGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ2ktbS5naS14bC04IHtcbiAgICB3aWR0aDogNjIuMCU7IH1cbiAgLmdpLW1sLmdpLXhsLTgsXG4gIC5naS1tci5naS14bC04IHtcbiAgICB3aWR0aDogNjQuMzMzMzMlOyB9XG4gIC5naS14bC1pbi04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5naS1tLmdpLXhsLWluLTgsXG4gIC5naS1tbC5naS14bC1pbi04IHtcbiAgICBtYXJnaW4tbGVmdDogNjkuMCU7IH1cbiAgLmdpLXhsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdpLW0uZ2kteGwtOSB7XG4gICAgd2lkdGg6IDcwLjMzMzMzJTsgfVxuICAuZ2ktbWwuZ2kteGwtOSxcbiAgLmdpLW1yLmdpLXhsLTkge1xuICAgIHdpZHRoOiA3Mi42NjY2NyU7IH1cbiAgLmdpLXhsLWluLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdpLW0uZ2kteGwtaW4tOSxcbiAgLmdpLW1sLmdpLXhsLWluLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3Ny4zMzMzMyU7IH1cbiAgLmdpLXhsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5naS1tLmdpLXhsLTEwIHtcbiAgICB3aWR0aDogNzguNjY2NjclOyB9XG4gIC5naS1tbC5naS14bC0xMCxcbiAgLmdpLW1yLmdpLXhsLTEwIHtcbiAgICB3aWR0aDogODEuMCU7IH1cbiAgLmdpLXhsLWluLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5naS1tLmdpLXhsLWluLTEwLFxuICAuZ2ktbWwuZ2kteGwtaW4tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4NS42NjY2NyU7IH1cbiAgLmdpLXhsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5naS1tLmdpLXhsLTExIHtcbiAgICB3aWR0aDogODcuMCU7IH1cbiAgLmdpLW1sLmdpLXhsLTExLFxuICAuZ2ktbXIuZ2kteGwtMTEge1xuICAgIHdpZHRoOiA4OS4zMzMzMyU7IH1cbiAgLmdpLXhsLWluLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5naS1tLmdpLXhsLWluLTExLFxuICAuZ2ktbWwuZ2kteGwtaW4tMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5NC4wJTsgfVxuICAuZ2kteGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5naS1tLmdpLXhsLTEyIHtcbiAgICB3aWR0aDogOTUuMzMzMzMlOyB9XG4gIC5naS1tbC5naS14bC0xMixcbiAgLmdpLW1yLmdpLXhsLTEyIHtcbiAgICB3aWR0aDogOTcuNjY2NjclOyB9XG4gIC5naS14bC1pbi0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLmdpLW0uZ2kteGwtaW4tMTIsXG4gIC5naS1tbC5naS14bC1pbi0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMi4zMzMzMyU7IH1cbiAgLmdpLXhsLXByIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMi4zMzMzMyU7IH1cbiAgLmdpLXhsLXBsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmdpLXhsLWluLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLyoqXHJcbiAqIE9CSkVDVFMuTEFZT1VUXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IENvcmUgbGF5b3V0IG9iamVjdHMgdXNlZCBpbiBhZGRpdGlvbiB0byB0aGUgZ3JpZFxyXG4gKlxyXG4gKi9cbi5vLXBhZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm8td2luZG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jb250ZW50IC5jLWZvb3Rlcl9fY29udGFjdCB7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudCAuYy1mb290ZXJfX2NvbnRhY3Qge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ubG9hZGVyLFxuLmxvYWRlcjpiZWZvcmUsXG4ubG9hZGVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzRmYmRlYjtcbiAgLXdlYmtpdC1hbmltYXRpb246IGxvYWQxIDFzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb246IGxvYWQxIDFzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogLjdlbTtcbiAgaGVpZ2h0OiAxZW07IH1cblxuLmxvYWRlciB7XG4gIGNvbG9yOiAjNGZiZGViO1xuICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgbWFyZ2luOiA4OHB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA4cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzOyB9XG4gIC5sb2FkZXI6OmJlZm9yZSwgLmxvYWRlcjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmxvYWRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMS41ZW07XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjMycztcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMyczsgfVxuICAubG9hZGVyOjphZnRlciB7XG4gICAgbGVmdDogMS41ZW07IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQxIHtcbiAgMCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwO1xuICAgIGhlaWdodDogMi41ZW07IH1cbiAgNDAlIHtcbiAgICBib3gtc2hhZG93OiAwIC0yZW07XG4gICAgaGVpZ2h0OiAzZW07IH0gfVxuXG5Aa2V5ZnJhbWVzIGxvYWQxIHtcbiAgMCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwO1xuICAgIGhlaWdodDogMi41ZW07IH1cbiAgNDAlIHtcbiAgICBib3gtc2hhZG93OiAwIC0yZW07XG4gICAgaGVpZ2h0OiAzZW07IH0gfVxuXG4uby1wYW5lbCB7XG4gIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vLXBhbmVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuby1wYW5lbCB7XG4gICAgICBwYWRkaW5nLXRvcDogOCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOCU7IH0gfVxuICAuby1wYW5lbC0tbGcge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vLXBhbmVsLS1sZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNSU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuby1wYW5lbC0tbGcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTIlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIlOyB9IH1cbiAgLm8tcGFuZWwtLXhsIHtcbiAgICBwYWRkaW5nLXRvcDogNi4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vLXBhbmVsLS14bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE4JTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE4JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5vLXBhbmVsLS14bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNiU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNiU7IH0gfVxuICAuby1wYW5lbC0taCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuby1wYW5lbC0taCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi8qKlxyXG4gKiBPQkpFQ1RTLlVJX0xJU1RcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogU3RyaXBzIHRleHQtbGlzdCBzdHlsZXMgZm9yIGNvc3VudHJ1Y3RpbmcgVUkgZWxlbWVudHNcclxuICpcclxuICovXG4uby11aV9saXN0LCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tYWluIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgcGFkZGluZzogOHB4IDAgMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y0YjVkODtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5tYWluIHVsIGxpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4IDhweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y0YjVkODsgfVxuICAgIC5tYWluIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubWFpbiB1bCBsaTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgdG9wOiA4cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEyRjkyOyB9XG5cbi8qKlxyXG4gKiBPQkpFQ1RTLlVJX0xJU1RcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogU3RyaXBzIHRleHQtbGlzdCBzdHlsZXMgZm9yIGNvc3VudHJ1Y3RpbmcgVUkgZWxlbWVudHNcclxuICpcclxuICovXG4uby1idXR0b24sXG5pbnB1dC5hY3Rpb24ge1xuICBwYWRkaW5nOiAwLjNlbSAxZW07XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDEuNGVtO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMTJGOTI7XG4gIGNvbG9yOiAjZmZmO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOyB9XG5cbi5vLWJ1dHRvbi0tc20ge1xuICBwYWRkaW5nOiAwLjNlbSAwLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cblxuLm8tYnV0dG9uLS1pbnYge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTEyRjkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmNGI1ZDggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uby1idXR0b24tLWNudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMTFjNzg7XG4gIGNvbG9yOiAjYzExYzc4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5vLWJ1dHRvbi0tY250OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzExYzc4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi51c2VyZm9ybSB7XG4gIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gIC51c2VyZm9ybSBmaWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnVzZXJmb3Jtc2dyb3VwIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuXG4uZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5maWVsZCBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzQ0NDsgfVxuICAuZmllbGQgaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDAuOTM3NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmllbGQgaW5wdXQuY2hlY2tib3gge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTsgfVxuICAuZmllbGQgdGV4dGFyZWEge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDAuOTM3NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuI0ZvcmdvdFBhc3N3b3JkIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4vKipcclxuICogT0JKRUNUUy5CTE9DS19HUklEXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IENyZWF0ZXMgYW4gZXZlbmx5LXNpemVkIGdyaWQgb2YgaXRlbXNcclxuICpcclxuICovXG4uby1ibG9ja19ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuby1ibG9ja19ncmlkLS0zdXAgLm8tYmxvY2tfZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzQuMjVlbSkge1xuICAgICAgLm8tYmxvY2tfZ3JpZC0tM3VwIC5vLWJsb2NrX2dyaWRfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm8tYmxvY2tfZ3JpZC0tM3VwIC5vLWJsb2NrX2dyaWRfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMzMzMzJTsgfSB9XG5cbi8qKlxyXG4gKiAgNi4gQ09NUE9ORU5UU1xyXG4gKiAgQSBjb21wb25lbnQgaXMgYSByZXVzYWJsZSBjaHVuayBvZiBVSSB0aGF0IGlzIGNsZWFybHkgZGVzaWduZWQsIGFzIG9wcG9zZWQgdG8gYW4gb2JqZWN0LlxyXG4gKiAgQ2xlYXJseSByZWZlcnMgdG8gYSBibG9jayBvZiBVSTogcGFnaW5hdGlvbiwgYnV0dG9ucywgbW9kYWxzLCBpY29ucy4uLiBldGNcclxuICogIFlvdSBzaG91bGQgYmUgYWJsZSB0byB0YWtlIGEgY29tcG9uZW50IGFuZCBwYXN0ZSBpdCBhbnl3aGVyZSBpbiB0aGUgYXBwXHJcbiAqICBNdXN0IGJlIGJ1aWx0IHdpdGggY2xhc3NlcyBvbmx5XHJcbiAqL1xuLnRvZ2dsZS1uYXZiYXIge1xuICBoZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiA2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2UxMjRlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudG9nZ2xlLW5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnRvZ2dsZS1uYXZiYXIgaSB7XG4gICAgY29sb3I6ICNlZTg4YzE7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuXG4uaGVhZGVyLWNvbnRhY3Qge1xuICBoZWlnaHQ6IDYwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEyRjkyOyB9XG4gIC5oZWFkZXItY29udGFjdCAuc29jaWFsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNC4yNWVtKSB7XG4gICAgICAuaGVhZGVyLWNvbnRhY3QgLnNvY2lhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmhlYWRlci1jb250YWN0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMTVweCA1cHggNXB4IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRlci1jb250YWN0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uYy1uYXZiYXIge1xuICBoZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0bDsgfVxuXG4uYy1uYXZiYXItLXJpZ2h0IHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYy1uYXZiYXItLWxlZnQge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmMtbmF2YmFyX3dyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIHotaW5kZXg6IDk5OTk7IH1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5ODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5uYXYtb3BlbiAub3ZlcmxheSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1haW4tbWVudSAudGVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmF2LWNvbGxhcHNlIC5tYWluLW1lbnUgLnRlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5jLW5hdmJhcl93cmFwLS1maXhlZFRvcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGhlaWdodDogNjBweDtcbiAgdG9wOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiAtMnB4IDlweCAyNXB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cbiAgLm5hdi1vcGVuIC5jLW5hdmJhcl93cmFwLS1maXhlZFRvcCB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jLW5hdmJhcl93cmFwLS1maXhlZFRvcCB7XG4gICAgICBoZWlnaHQ6IDEyMHB4OyB9XG4gICAgICAubmF2LWNvbGxhcHNlIC5jLW5hdmJhcl93cmFwLS1maXhlZFRvcCB7XG4gICAgICAgIGhlaWdodDogNjBweDsgfVxuICAgICAgICAubmF2LWNvbGxhcHNlIC5jLW5hdmJhcl93cmFwLS1maXhlZFRvcCAuaGlkZS1zY3JvbGwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm5hdi1jb2xsYXBzZSAuYy1uYXZiYXJfd3JhcC0tZml4ZWRUb3AgLmxvZ28ge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgICAgICAgLm5hdi1jb2xsYXBzZSAuYy1uYXZiYXJfd3JhcC0tZml4ZWRUb3AgLmxvZ28gaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTsgfSB9XG5cbi5jLW5hdmJhcl93cmFwLS1maXhlZEJ0bSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwOyB9XG5cbi5sb2dvLWFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTEyRjkyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2dvLWFyZWEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfSB9XG4gIC5sb2dvLWFyZWEgLmxvZ28ge1xuICAgIHBhZGRpbmc6IDAuNmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxvZ28tYXJlYSAubG9nbyA+IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4OyB9XG4gICAgICAubmF2LWNvbGxhcHNlIC5sb2dvLWFyZWEgLmxvZ28gPiBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAubG9nby1hcmVhIC5sb2dvID4gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAubG9nby1hcmVhIC5sb2dvIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5sb2dvLWFyZWEgLmxvZ28gLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBjb2xvcjogIzk1MTU1YzsgfVxuICAgIC5sb2dvLWFyZWEgLmxvZ28gLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjRTEyRjkyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBmb250LXNpemU6IDEuNWVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubG9nby1hcmVhIC5sb2dvIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwLjZyZW07IH1cbiAgICAgICAgLmxvZ28tYXJlYSAubG9nbyAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi41ZW07IH1cbiAgICAgICAgICAubmF2LWNvbGxhcHNlIC5sb2dvLWFyZWEgLmxvZ28gLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgICAgICAgLmxvZ28tYXJlYSAubG9nbyBwLmxlYWQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cblxuLnNvY2lhbCB7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTZweDsgfVxuXG51bC5jLW5hdmJhcl9tZW51IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogMTVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHVsLmMtbmF2YmFyX21lbnUge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICB1bC5jLW5hdmJhcl9tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgdWwuYy1uYXZiYXJfbWVudSBsaSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICB1bC5jLW5hdmJhcl9tZW51IGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICB1bC5jLW5hdmJhcl9tZW51IGxpIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgdWwuYy1uYXZiYXJfbWVudSBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAgIHVsLmMtbmF2YmFyX21lbnUgbGkgYTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3NWNhOTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICB1bC5jLW5hdmJhcl9tZW51IGxpIGE6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgdWwuYy1uYXZiYXJfbWVudSBsaS5jdXJyZW50IGE6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG51bC5jLW5hdmJhcl9tZW51LS12IGxpIHtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgdWwuYy1uYXZiYXJfbWVudS0tdiBsaSBhIHtcbiAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLmZvb3RlciB1bC5jLW5hdmJhcl9tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mb290ZXIgdWwuYy1uYXZiYXJfbWVudSBsaSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgICAgLmZvb3RlciB1bC5jLW5hdmJhcl9tZW51IGxpIGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZm9vdGVyIHVsLmMtbmF2YmFyX21lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi53cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDEyMHB4OyB9XG4gICAgICAubmF2LWNvbGxhcHNlIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7IH0gfVxuXG4uYy1qdW1ibyB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEyRjkyO1xuICBwYWRkaW5nLXRvcDogMi4yNWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi4yNWVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApO1xuICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1qdW1ibyB7XG4gICAgICBwYWRkaW5nLXRvcDogNi4yNWVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuMjVlbTsgfSB9XG4gIC5jLWp1bWJvIGEsIC5jLWp1bWJvIGgyLCAuYy1qdW1ibyBoMyB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmMtanVtYm8gLnRleHQtd3JhcCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jLWp1bWJvIC50ZXh0LXdyYXAge1xuICAgICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cbiAgLmMtanVtYm8gaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC41ZW0gMCAwLjVlbSAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmMtanVtYm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDNlbTsgfSB9XG4gICAgLmMtanVtYm8gaDEgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5jLWp1bWJvIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAyLjVlbTsgfVxuICAuYy1qdW1ibyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uYy1qdW1iby0tc20ge1xuICBwYWRkaW5nLXRvcDogMy41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UxMkY5MjsgfVxuICAuYy1qdW1iby0tc20gaDIge1xuICAgIGZvbnQtc2l6ZTogMi41ZW07IH1cblxuLmMtanVtYm8uZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5Vc2VyRGVmaW5lZEZvcm0gLmMtanVtYm8ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbmlwcGV0cyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLmMtYm94IHtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYy1ib3ggYSB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmMtYm94IGZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jLWJveCBmaWd1cmUgaW1nIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTsgfVxuICAuYy1ib3ggaDIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmc6IDZweCAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjRTEyRjkyO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjYWIxOTZhOyB9XG4gIC5jLWJveCBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5jLWJveCBoNCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4uYy1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1kcm9wZG93bl9faWNvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAuYy1kcm9wZG93bl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtOyB9XG4gIC5jLWRyb3Bkb3duX19pY29uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAuNWVtOyB9XG5cbi5jLWRyb3Bkb3duX19tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDE1cmVtO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMy43NXJlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmMtZHJvcGRvd25fX21lbnVfaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDEwMCU7IH1cblxuLmMtZHJvcGRvd25fX21lbnVfbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjEyNXJlbSAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgLmMtZHJvcGRvd25fX21lbnVfbGluayBbY2xhc3NePSdpY29uJ10ge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07IH1cblxuLmMtZHJvcGRvd25fX21lbnUtLXJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmMtZHJvcGRvd246aG92ZXIgLmMtZHJvcGRvd25fX21lbnUsXG4uYy1kcm9wZG93bjpmb2N1cyAuYy1kcm9wZG93bl9fbWVudSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRvcDogMy43NXJlbTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4vKiBNZW51IHN0eWxlcyAqL1xuYm9keS5tZW51LS1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzQuMjVlbSkge1xuICAgIGJvZHkubWVudS0tb3BlbiB7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfSB9XG5cbi5jLW1lbnUge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB0b3A6IDMuNzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdmlzaWJpbGl0eSAwcyAwLjVzO1xuICB6LWluZGV4OiA0OTk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1tZW51IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cbiAgLmMtbWVudS5jLW1lbnUtLW9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmMtbWVudSAuYy1idG4tLWNsb3NlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS44NzVyZW07XG4gICAgcmlnaHQ6IDEuODc1cmVtO1xuICAgIHotaW5kZXg6IDM7IH1cblxuLmMtbWVudV9fd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVyZW0gMC42MjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1tZW51X193cmFwIHtcbiAgICAgIGhlaWdodDogOTAlO1xuICAgICAgcGFkZGluZzogNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmMtbWVudV9fd3JhcCB7XG4gICAgICBwYWRkaW5nOiAxMCUgMTUlOyB9IH1cblxuLmMtbWVudV9fbGV2ZWwtLWN1cnJlbnQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5jLW1lbnVfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jLW1lbnVfX2l0ZW0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgLmMtbWVudV9faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jLW1lbnVfX2l0ZW0gLmMtbWVudV9fc3ViIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9IH1cbiAgLmMtbWVudV9faXRlbS5pcy1leHBhbmRlZCAuYy1tZW51X190b2dnbGU6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4gIC5jLW1lbnVfX2l0ZW0uaXMtZXhwYW5kZWQgLmMtbWVudV9fc3ViIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDUwZW07IH1cblxuLmMtbWVudV9fbGluayB7XG4gIGNvbG9yOiAjNzk3OTc5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXM7XG4gIHBhZGRpbmc6IDFlbSAwIDFlbSAwOyB9XG4gIC5jLW1lbnVfX2xpbms6aG92ZXIsIC5jLW1lbnVfX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjM2QzZTQyICFpbXBvcnRhbnQ7IH1cbiAgLmMtbWVudV9fbGlua1tjbGFzcyo9XCJ1LWJnXCJdIHtcbiAgICB0ZXh0LWluZGVudDogMS4yNXJlbTsgfVxuXG4uYy1tZW51X19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtbWVudV9faGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNGZiZGViOyB9IH1cbiAgLmMtbWVudV9faGVhZGVyIC5jLW1lbnVfX2xpbmsge1xuICAgIGNvbG9yOiAjMTExMTExO1xuICAgIHBhZGRpbmc6IDFlbSAwIDFlbSAxZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmMtbWVudV9faGVhZGVyIC5jLW1lbnVfX2xpbmsge1xuICAgICAgICBwYWRkaW5nOiAxZW0gMCAxZW0gMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFjdGl2ZSAuYy1tZW51X19oZWFkZXIge1xuICAgICAgY29sb3I6ICM0ZmJkZWI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzRmYmRlYjsgfSB9XG4gIC5hY3RpdmUgLmMtbWVudV9faGVhZGVyIC5jLW1lbnVfX2xpbmsge1xuICAgIGNvbG9yOiAjNGZiZGViOyB9XG4gICAgLmFjdGl2ZSAuYy1tZW51X19oZWFkZXIgLmMtbWVudV9fbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzRmYmRlYiAhaW1wb3J0YW50OyB9XG5cbi5jLW1lbnVfX3RvZ2dsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDMuNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgaGVpZ2h0OiAzLjlyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q0ZDRkNDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jLW1lbnVfX3RvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmMtbWVudV9fdG9nZ2xlOjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6ICdmcmluZ2VpY29ucyc7XG4gICAgY29udGVudDogXCJcXGU5MTFcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBjb2xvcjogIzRmYmRlYjtcbiAgICB3aWR0aDogMy43NXJlbTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4uYy1tZW51X19zdWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWY3O1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDFlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jLW1lbnVfX3N1YiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG1heC1oZWlnaHQ6IDUwZW07XG4gICAgICBwYWRkaW5nOiAxZW0gMDsgfSB9XG4gIC5jLW1lbnVfX3N1YiBsaS5hY3RpdmUgLmMtbWVudV9fbGluayB7XG4gICAgY29sb3I6ICM0ZmJkZWI7IH1cbiAgICAuYy1tZW51X19zdWIgbGkuYWN0aXZlIC5jLW1lbnVfX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICM0ZmJkZWIgIWltcG9ydGFudDsgfVxuXG4uYy1jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2UxMjRlO1xuICBwYWRkaW5nOiAyLjVyZW07IH1cbiAgLmMtY3RhIGgzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYy1jdGEgaDMgYSB7XG4gICAgICBjb2xvcjogI2Y0YjVkODsgfVxuICAuYy1jdGEgLm8tYnV0dG9uIHtcbiAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYy1jdGEgLm8tYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5bY2xhc3MqPVwiTGVhc2VcIl0gLmMtY3RhIC5vLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqICA3LiBVVElMSVRJRVNcclxuICovXG4vKipcclxuICogVVRJTElUSUVTXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IFRoZXNlIGNsYXNzZXMgdHJ1bXAgb3RoZXIgcHJlY2VlZGluZyBzdHlsZXMuXHJcbiAqICAgICAgICAgICAgICAgIFVzZXJmdWwgZm9yIHF1aWNrbHkgYXBwbHlpbmcgY29tbW9uIGFkanVzdG1lbnRzLlxyXG4gKi9cbi5jZjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnUtZnIge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnUtZmwge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udS1oaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udS10YyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udS10ciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi51LXRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udS13MTAwIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnUtdzc1IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4udS13NTAge1xuICB3aWR0aDogNTAlOyB9XG5cbi51LXR1cCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnUtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnUtc21vb3RoX3RyYW5zIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuXG4udS1iZy0tZml4ZWQge1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi51LWhpZGUtLXNtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51LWhpZGUtLXNtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiIsIi8qKlxyXG4gKiBNQVNURVIuU0NTU1xyXG4gKlxyXG4gKiBAUHJvamVjdCAgICAgOiBQcm9qZWN0IE5hbWVcclxuICogQEF1dGhvciAgICAgIDogQXV0aG9yTmFtZSBbYXV0aG9yLm5hbWVAbnZpbnRlcmFjdGl2ZS5jb21dXHJcbiAqXHJcbiAqL1xyXG5cclxuXHJcbi8vIFNldCB0aGUgdmlld3BvcnQgdG8gcmVzaXplIHJlc3BvbnNpdmVseSAoc2ltaWxhciB0byB2aWV3cG9ydCBtZXRhIHRhZylcclxuQHZpZXdwb3J0IHtcclxuXHR3aWR0aDogZGV2aWNlLXdpZHRoO1xyXG5cdHpvb206IDE7XHJcbn1cclxuXHJcbi8vIFBMVUdJTlNcclxuQGltcG9ydCAnLi4vYm93ZXJfY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2Nzcyc7XHJcblxyXG4vLyBGT05UU1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFNFVFRJTkdTXHJcbiAqL1xyXG5AaW1wb3J0ICcxLnNldHRpbmdzL3NldHRpbmdzLmNvbG9ycyc7XHJcbkBpbXBvcnQgJzEuc2V0dGluZ3Mvc2V0dGluZ3MuYmFzZSc7XHJcbkBpbXBvcnQgJzEuc2V0dGluZ3Mvc2V0dGluZ3MuZ3JpZCc7XHJcblxyXG4vKipcclxuICogIDIuIFRPT0xTXHJcbiAqL1xyXG5AaW1wb3J0ICcyLnRvb2xzL3Rvb2xzLmZ1bmN0aW9ucy5zY3NzJztcclxuQGltcG9ydCAnMi50b29scy90b29scy5taXhpbi5jbGVhcmZpeC5zY3NzJztcclxuQGltcG9ydCAnMi50b29scy90b29scy5taXhpbi5wb3NpdGlvbi5zY3NzJztcclxuQGltcG9ydCAnMi50b29scy90b29scy5taXhpbi5iYXNlbGluZV9ncmlkLnNjc3MnO1xyXG5AaW1wb3J0ICcyLnRvb2xzL3Rvb2xzLmJyZWFrcG9pbnRfYmluZGluZy5zY3NzJztcclxuXHJcblxyXG4vKipcclxuICogMy4gR0VORVJJQ1xyXG4gKi9cclxuQGltcG9ydCAnMy5nZW5lcmljL2dlbmVyaWMucmVzZXQnO1xyXG5AaW1wb3J0ICczLmdlbmVyaWMvZ2VuZXJpYy5saW5rcyc7XHJcblxyXG4vKipcclxuICogIDQuIEVMRU1FTlRTXHJcbiAqICBCYXNpYyBzdHlsZXMgZm9yIHJhdyBIVE1MIGVsZW1lbnRzXHJcbiAqICBObyBjbGFzc2VzIGhlcmVcclxuICovXHJcbkBpbXBvcnQgJzQuZWxlbWVudHMvZWxlbWVudHMuYmFzZSc7XHJcbkBpbXBvcnQgJzQuZWxlbWVudHMvZWxlbWVudHMudHlwZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqICA1LiBPQkpFQ1RTXHJcbiAqICBUaGVzZSBhcmUgcmVwZWF0aW5nIHZpc3VhbC9zdHJ1Y3R1cmFsIHBhdHRlcm5zIHdpdGggbm8gJ2Rlc2lnbicgYWRkZWRcclxuICogIE11c3QgYmUgYnVpbHQgd2l0aCBjbGFzc2VzIG9ubHkgdG8gYXZvaWQgc3BlY2lmaWNpdHkgaXNzdWVzXHJcbiAqL1xyXG5AaW1wb3J0ICc1Lm9iamVjdHMvb2JqZWN0cy5ncmlkJztcclxuQGltcG9ydCAnNS5vYmplY3RzL29iamVjdHMubGF5b3V0JztcclxuQGltcG9ydCAnNS5vYmplY3RzL29iamVjdHMucGFuZWxzJztcclxuQGltcG9ydCAnNS5vYmplY3RzL29iamVjdHMudWlfbGlzdCc7XHJcbkBpbXBvcnQgJzUub2JqZWN0cy9vYmplY3RzLmJ1dHRvbic7XHJcbkBpbXBvcnQgJzUub2JqZWN0cy9vYmplY3RzLmZvcm0nO1xyXG5AaW1wb3J0ICc1Lm9iamVjdHMvb2JqZWN0cy5ibG9ja19ncmlkJztcclxuXHJcblxyXG4vKipcclxuICogIDYuIENPTVBPTkVOVFNcclxuICogIEEgY29tcG9uZW50IGlzIGEgcmV1c2FibGUgY2h1bmsgb2YgVUkgdGhhdCBpcyBjbGVhcmx5IGRlc2lnbmVkLCBhcyBvcHBvc2VkIHRvIGFuIG9iamVjdC5cclxuICogIENsZWFybHkgcmVmZXJzIHRvIGEgYmxvY2sgb2YgVUk6IHBhZ2luYXRpb24sIGJ1dHRvbnMsIG1vZGFscywgaWNvbnMuLi4gZXRjXHJcbiAqICBZb3Ugc2hvdWxkIGJlIGFibGUgdG8gdGFrZSBhIGNvbXBvbmVudCBhbmQgcGFzdGUgaXQgYW55d2hlcmUgaW4gdGhlIGFwcFxyXG4gKiAgTXVzdCBiZSBidWlsdCB3aXRoIGNsYXNzZXMgb25seVxyXG4gKi9cclxuXHJcbkBpbXBvcnQgJzYuY29tcG9uZW50cy9jb21wb25lbnRzLm5hdmJhcic7XHJcbkBpbXBvcnQgJzYuY29tcG9uZW50cy9jb21wb25lbnRzLmp1bWJvJztcclxuQGltcG9ydCAnNi5jb21wb25lbnRzL2NvbXBvbmVudHMuYm94JztcclxuQGltcG9ydCAnNi5jb21wb25lbnRzL2NvbXBvbmVudHMuZHJvcGRvd24nO1xyXG5AaW1wb3J0ICc2LmNvbXBvbmVudHMvY29tcG9uZW50cy5tZW51JztcclxuQGltcG9ydCAnNi5jb21wb25lbnRzL2NvbXBvbmVudHMuY3RhJztcclxuXHJcblxyXG4vKipcclxuICogIDcuIFVUSUxJVElFU1xyXG4gKi9cclxuQGltcG9ydCAnNy51dGlsaXRpZXMvdXRpbGl0aWVzJztcclxuIiwiLy8gVGhlbWUgQ29sb3JzXHJcblxyXG4kdGhlbWUtbGlnaHRlcmdyYXkgIDogI2ZhZmFmNztcclxuJHRoZW1lLWxpZ2h0Z3JheSAgICA6ICNlYmViZWI7XHJcbiR0aGVtZS1ncmF5ICAgICAgICAgOiAjM2QzZTQyO1xyXG4kbWlkLWdyYXkgICAgICAgICAgIDogIzc5Nzk3OTtcclxuJGRhcmstZ3JheSAgICAgICAgICA6ICMyNjI3Mjg7XHJcblxyXG4vLyBUZXh0IENvbG9yc1xyXG4kaGVhZGluZy1jb2xvciAgICAgICA6ICR0aGVtZS1ncmF5O1xyXG4kdGV4dC1jb2xvciAgICAgICAgICA6ICMxMTExMTE7XHJcbiR0ZXh0LWNvbG9yLWRhcmsgICAgIDogJHRoZW1lLWdyYXk7XHJcbiR0ZXh0LWNvbG9yLWxpZ2h0ICAgIDogJG1pZC1ncmF5O1xyXG5cclxuJGJyYW5kLXllbGxvdyAgOiAjZmZkZjM1O1xyXG4kYnJhbmQtZ3JlZW4gICA6ICM2Y2M1ODI7XHJcbiRicmFuZC1hcXVhICAgIDogIzAwZmNmYTtcclxuJGJyYW5kLWJsdWUgICAgOiAjNGZiZGViO1xyXG4vKiRicmFuZC1ibHVlICAgIDogIzMzYjdmZjsqL1xyXG4kYnJhbmQtcHVycGxlICA6ICNhMDRiZmY7XHJcbiRicmFuZC1waW5rICAgIDogI2VjMGNmZjtcclxuJGJyYW5kLWJsdXNoICAgOiAjZGI0ZTVmO1xyXG4kYnJhbmQtb3JhbmdlICA6ICNmZjYwMDA7XHJcbiRicmFuZC1yZWQgICAgIDogJGJyYW5kLWJsdXNoO1xyXG5cclxuLy8kZ3JlZW46IzAwYWQ1OTtcclxuJGdyZWVuOiNFMTJGOTI7XHJcbi8vJGdyZWVuOmxpZ2h0ZW4oI0U4MzMzOCwxMCUpO1xyXG5cclxuLyoqXHJcbiAqIFVYL1ZhbGlkYXRpb24gY29sb3JzXHJcbiAqL1xyXG5cclxuJG5vdGljZSAgICAgICAgOiAkYnJhbmQteWVsbG93O1xyXG4kd2FybmluZyAgICAgICA6ICRicmFuZC1waW5rO1xyXG4kYWxlcnQgICAgICAgICA6ICRicmFuZC1yZWQ7XHJcblxyXG4kYXJ0aXN0cyAgICAgICA6ICRicmFuZC1wdXJwbGU7XHJcbiIsIi8qKlxyXG4gKiBTRVRUSU5HUy5CQVNFXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IEtleSBhcHBsaWNhdGlvbiB2YXJpYWJsZXMgYW5kIHNldHRpbmdzXHJcbiAqXHJcbiAqL1xyXG5cclxuJGJhc2UtZm9udC1zaXplOiAgICAxNnB4O1xyXG4kYmFzZS1saW5lLWhlaWdodDogIDEuNXJlbTtcclxuJHNwYWNlciA6ICAxLjI1cmVtOyAgLy8gMjBweFxyXG5cclxuXHJcbi8vIFotaW5kZXhcclxuJGVsZW1lbnRzOiBjb21wb25lbnRzLCBjb21wb25lbnRzLXVpLCBtb2RhbHMsIG5hdmlnYXRpb247XHJcblxyXG5cclxuXHJcblxyXG4vLyBUeXBvZ3JhcGh5XHJcbiRmb250LXNhbnM6ICAnUm9ib3RvJyxcIkhlbHZldGljYSBOZXVlXCIgLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1zZXJpZjogJ1JvYm90byBTbGFiJyxcIkhlbHZldGljYSBOZXVlXCIgLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1iYXNlOiAgJGZvbnQtc2FucztcclxuJGZvbnQtbmF2OiAgICRmb250LXNlcmlmO1xyXG5cclxuJG5hdmJhci1oZWlnaHQ6NjBweDtcclxuIiwiLyoqXHJcbiAqIFNFVFRJTkdTLkdSSURcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogU2V0dGluZ3MgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uc1xyXG4gKlxyXG4gKi9cclxuXHJcblxyXG4kYm9keU1heDogICAgICAgIDkwcmVtO1xyXG4kYm9keU1heFNsaW06ICAgIDYxLjI1cmVtO1xyXG4kZ3JpZENvbHM6ICAgICAgIDEyO1xyXG4kYm94U2l6aW5nOiAgICAgIGJvcmRlci1ib3g7XHJcbiRpbmNsdWRlSW5kZW50OiAgdHJ1ZTsgIC8vIFNldCB0byB0cnVlIHRvIGNyZWF0ZSBpbmRlbnQgY2xhc3Nlc1xyXG5cclxuLy8gRGVmYXVsdCBHdXR0ZXJzXHJcbiRndXR0ZXJWYWx1ZTogICAgMjggIWRlZmF1bHQ7ICAvLyBiYXNlZCBvbiBQaWV0ICYgRGllZ28ncyB3b3JrIDIuMzMzJSBmb3IgMTIgY29sdW1ucywgMS4xNjYlIGZvciAyNCBjb2x1bW5zICgxMiAqIDIuMzMzID0gfjI4IGFuZCAyNCAqIDEuMTY2ID0gfjI4IHRvbylcclxuJGd1dHRlcjogICAgICAgICBwZXJjZW50YWdlKCRndXR0ZXJWYWx1ZSAvICRncmlkQ29scyAvIDEwMCk7XHJcbiRuZWdhdGl2ZUd1dHRlcjogcGVyY2VudGFnZSgkZ3V0dGVyVmFsdWUgLyAkZ3JpZENvbHMgLyAxMDAgKiAtMSk7XHJcbiRub01hcmdpbjogICAgICAgMCBwZXJjZW50YWdlKCRndXR0ZXJWYWx1ZSAvICRncmlkQ29scyAvIDEwMCAqIC0xKTtcclxuXHJcblxyXG4vLyBCcmVha3BvaW50c1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAgIFwic21cIiA6IDM0LjI1ZW0sICAgIC8vIDU0OHB4XHJcbiAgICBcIm1kXCIgOiA0OGVtLCAgICAgICAvLyA3NjhweFxyXG4gICAgXCJsZ1wiIDogNjRlbSwgICAgICAgLy8gMTAyNHB4XHJcbiAgICBcInhsXCIgOiA5MGVtICAgICAgICAvLyAxNDQwcHhcclxuKTtcclxuXHJcbi8vIER1bXAgb3VyIGJyZWFrcG9pbnRzIGludG8gc29tZSB2YXJzIGZvciBlYXN5IHJlZmVyZW5jZSBpbiBicmVha3BvaW50IG1peGluc1xyXG4kc206ICBtYXAtZ2V0KCRicmVha3BvaW50cywgc20pO1xyXG4kbWQ6ICBtYXAtZ2V0KCRicmVha3BvaW50cywgbWQpO1xyXG4kbGc6ICBtYXAtZ2V0KCRicmVha3BvaW50cywgbGcpO1xyXG4keGw6ICBtYXAtZ2V0KCRicmVha3BvaW50cywgeGwpO1xyXG5cclxuLyoqXHJcbiAgZS5nLlxyXG4gICAgLnRoaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBncmVlbjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsdWVcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiovXHJcbiIsIi8qKlxyXG4gKiBUT09MUy5GVU5DVElPTlNcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogQ29tbW9uIGZ1bmN0aW9uc1xyXG4gKlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogU3RyaXAgVW5pdFxyXG4gKiAgQGRlc2MgICAgICAgOiBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIHZhbHVlIHRvIHdlIGNhbiB1c2UgaXQgZm9yIGNhbGN1bGF0aW9uc1xyXG4gKiAgQHNvdXJjZSAgICAgOiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3Mvc3RyaXAtdW5pdC1mdW5jdGlvbi9cclxuICogIEBwYXJhbSAgICAgIDogJG51bSAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXHJcbiAqICBAcmV0dXJuICAgICA6IFVuaXRsZXNzIHZhbHVlXHJcbiAqL1xyXG5cclxuIEBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcclxuICAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbiB9XHJcblxyXG5cclxuLyoqXHJcbiAqICBSRU0gQ2FsY1xyXG4gKiAgQGRlc2MgICAgICA6IENvbnZlcnRzIHB4IHZhbHVlcyB0byBSRU1zXHJcbiAqICBAcGFyYW0gICAgIDogJHZhbCAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0ICh1c3VhbGx5IHBhc3NlZCBpbiBweCBidXQgdW5pdCBtYXkgYmUgb21pdHRlZClcclxuICogIEBwYXJhbSAgICAgOiAkYmFzZSDigJMgT3B0aW9uYWwgcGFyYW1ldGVyLCBwYXNzZWQgaWYgeW91J2QgbGlrZSB0byBjYWxjdWxhdGUgd2l0aCBhIGRpZmZlcmVudCBiYXNlIGZvbnQgc2l6ZVxyXG4gKiAgQHBhcmFtICAgICA6ICRiYXNlLWZvbnQtc2l6ZSDigJMgVGhlIGRlZmF1bHQgZm9udCBzaXplIChkZWZpbmVkIGluIF9zZXR0aW5ncy5iYXNlLnNjc3MpXHJcbiAqICBAcmV0dXJuICAgIDogJHJlbXMgLSByZW0tY29udmVydGVkIHZhbHVlXHJcbiAqL1xyXG5cclxuIEBmdW5jdGlvbiByZW0oJHZhbCwgJGJhc2U6bnVsbCl7XHJcblxyXG4gICAgIEBpZiAkYmFzZSA9PSBudWxsIHtcclxuICAgICAgICAgJGJhc2UgOiAkYmFzZS1mb250LXNpemU7XHJcbiAgICAgfVxyXG5cclxuICAgICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcclxuICAgICAgICAgJGJhc2UgOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XHJcbiAgICAgfVxyXG5cclxuICAgICAkcmVtczogKCBzdHJpcC11bml0KCR2YWwpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKSArIHJlbTtcclxuXHJcbiAgICAgQHJldHVybiAkcmVtcztcclxuXHJcbiB9XHJcblxyXG5cclxuLyoqXHJcbiAqICBEZWNpbWFsLVJvdW5kXHJcbiAqICBAZGVzYyAgICAgIDogUm91bmRzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRvIHRoZSBuZWFyZXN0IHdob2xlIG51bWJlclxyXG4gKiAgQHBhcmFtICAgICA6ICRudW1iZXIgLSBUaGUgbnVtYmVyIHRvIGJlIHJvdW5kZWQuIG11c3QgYmUgdW5pdGxlc3MuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGRlY2ltYWwtcm91bmQgKCRudW1iZXIsICRkaWdpdHM6IDAsICRtb2RlOiByb3VuZCkge1xyXG4gICAgJG46IDE7XHJcbiAgICAvLyAkbnVtYmVyIG11c3QgYmUgYSBudW1iZXJcclxuICAgIEBpZiB0eXBlLW9mKCRudW1iZXIpICE9IG51bWJlciB7XHJcbiAgICAgICAgQHdhcm4gJyN7ICRudW1iZXIgfSBpcyBub3QgYSBudW1iZXIuJztcclxuICAgICAgICBAcmV0dXJuICRudW1iZXI7XHJcbiAgICB9XHJcbiAgICAvLyAkZGlnaXRzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXJcclxuICAgIEBpZiB0eXBlLW9mKCRkaWdpdHMpICE9IG51bWJlciB7XHJcbiAgICAgICAgQHdhcm4gJyN7ICRkaWdpdHMgfSBpcyBub3QgYSBudW1iZXIuJztcclxuICAgICAgICBAcmV0dXJuICRudW1iZXI7XHJcbiAgICB9IEBlbHNlIGlmIG5vdCB1bml0bGVzcygkZGlnaXRzKSB7XHJcbiAgICAgICAgQHdhcm4gJyN7ICRkaWdpdHMgfSBoYXMgYSB1bml0Lic7XHJcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xyXG4gICAgfVxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGlnaXRzIHtcclxuICAgICAgICAkbjogJG4gKiAxMDtcclxuICAgIH1cclxuICAgIEBpZiAkbW9kZSA9PSByb3VuZCB7XHJcbiAgICAgICAgQHJldHVybiByb3VuZCgkbnVtYmVyICogJG4pIC8gJG47XHJcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IGNlaWwge1xyXG4gICAgICAgIEByZXR1cm4gY2VpbCgkbnVtYmVyICogJG4pIC8gJG47XHJcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IGZsb29yIHtcclxuICAgICAgICBAcmV0dXJuIGZsb29yKCRudW1iZXIgKiAkbikgLyAkbjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuICcjeyAkbW9kZSB9IGlzIHVuZGVmaW5lZCBrZXl3b3JkLic7XHJcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBEZWNpbWFsLUZsb29yXHJcbiAqICBAZGVzYyAgICAgIDogUm91bmRzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIGRvd24gdG8gdGhlIG5lYXJlc3Qgd2hvbGUgbnVtYmVyXHJcbiAqL1xyXG5AZnVuY3Rpb24gZGVjaW1hbC1mbG9vciAoJG51bWJlciwgJGRpZ2l0czogMCkge1xyXG4gICAgQHJldHVybiBkZWNpbWFsLXJvdW5kKCRudW1iZXIsICRkaWdpdHMsIGZsb29yKTtcclxufVxyXG4iLCIvKipcclxuICogVE9PTFMuRlVOQ1RJT05TLlNUUklQVU5JVFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIHZhbHVlIHRvIHdlIGNhbiB1c2UgaXQgZm9yIGNhbGN1bGF0aW9uc1xyXG4gKiBAc291cmNlICAgICAgOiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3Mvc3RyaXAtdW5pdC1mdW5jdGlvbi9cclxuICpcclxuICovXHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG5cdCY6OmFmdGVyIHtcclxuXHQgIGNvbnRlbnQ6IFwiXCI7XHJcblx0ICBkaXNwbGF5OiB0YWJsZTtcclxuXHQgIGNsZWFyOiBib3RoO1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVE9PTFMuTUlYSU4uUE9TSVRJT05cclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogIFNldHMgdG9wLCBsZWZ0LCByaWdodCBhbmQgYm90dG9tIHZhbHVlcyBmb3IgYW4gZWxlbWVudFxyXG4gKlxyXG4gKi9cclxuXHJcbkBtaXhpbiBwb3NpdGlvbigkdG9wOidhdXRvJywgJHJpZ2h0OidhdXRvJywgJGJvdHRvbTonYXV0bycsICRsZWZ0OidhdXRvJyl7XHJcbiAgICBAaWYoJHRvcCAhPSAnYXV0bycpIHtcclxuICAgICAgICB0b3A6ICR0b3A7XHJcbiAgICB9XHJcbiAgICBAaWYoJHJpZ2h0ICE9ICdhdXRvJykge1xyXG4gICAgICAgIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBAaWYoJGJvdHRvbSAhPSAnYXV0bycpIHtcclxuICAgICAgICBib3R0b206ICRib3R0b207XHJcbiAgICB9XHJcbiAgICBAaWYoJGxlZnQgIT0gJ2F1dG8nKSB7XHJcbiAgICAgICAgbGVmdDogJGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcG9zKCRwb3NpdGlvbiwgJGFyZ3MpIHtcclxuICAvKipcclxuXHQgKiBMaXN0IG9mIG9mZnNldHMgdG8gY2hlY2sgZm9yIGluICRhcmdzXHJcbiBcdCAqL1xyXG4gICRvZmZzZXRzOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQ7XHJcblx0LyogT3JkZXIgZG9lc24ndCBtYXR0ZXIgKi9cclxuXHJcblxyXG4gIC8qKlxyXG4gICogV2UgbG9vcCB0aHJvdWdoICRvZmZzZXRzIHRvIGRlYWwgd2l0aCB0aGVtIG9uZSBieSBvbmVcclxuICAqL1xyXG4gIEBlYWNoICRvIGluICRvZmZzZXRzIHtcclxuXHJcbiAgICAvKipcclxuICAgICogSWYgY3VycmVudCBvZmZzZXQgZm91bmQgaW4gJGFyZ3NcclxuICAgICogYXNzaWducyBpdHMgaW5kZXggdG8gJGlcclxuICAgICogT3IgYGZhbHNlYCBpZiBub3QgZm91bmRcclxuICAgICovXHJcbiAgICAkaTogaW5kZXgoJGFyZ3MsICRvKTtcclxuXHJcbiAgICAvKipcclxuICAgICogTm93IHdlIGRvIHRoZSB2ZXJpZmljYXRpb25zXHJcbiAgICAqIDEuIElzIHRoZSBvZmZzZXQgbGlzdGVkIGluICRhcmdzPyAobm90IGZhbHNlKVxyXG4gICAgKiAyLiBJcyB0aGUgb2Zmc2V0IHZhbHVlIHdpdGhpbiB0aGUgbGlzdCByYW5nZT9cclxuICAgICogMy4gSXMgdGhlIG9mZnNldCB2YWx1ZSB2YWxpZD9cclxuICAgICovXHJcbiAgICBAaWYgJGlcclxuICAgIGFuZCAkaSArIDEgPD0gbGVuZ3RoKCRhcmdzKVxyXG4gICAgYW5kIHR5cGUtb2YoIG50aCgkYXJncywgJGkgKyAxKSkgPT0gbnVtYmVyIHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAqIElmIGV2ZXJ5dGhpbmcgaXMgb2theVxyXG4gICAgICAqIFdlIGFzc2lnbiB0aGUgYWNjb3JkaW5nIHZhbHVlIHRvIHRoZSBjdXJyZW50IG9mZnNldFxyXG4gICAgICAqL1xyXG4gICAgICAjeyRvfTogbnRoKCRhcmdzLCAkaSArIDEpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XHJcbn1cclxuXHJcbkBtaXhpbiBwb3MtYSgkYXJncykge1xyXG5cdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAkYXJncyk7XHJcbn1cclxuXHJcbkBtaXhpbiBwb3MtZigkYXJncykge1xyXG5cdEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAkYXJncyk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4ucG9zLWEsXHJcbi5wb3MtYS10LWwsXHJcbi5wb3MtYS10LXIsXHJcbi5wb3MtYS1iLWwsXHJcbi5wb3MtYS1iLXJ7XHJcbnBvc2l0aW9uOmFic29sdXRlO1xyXG59XHJcblxyXG4ucG9zLWYsXHJcbi5wb3MtZi10LWwsXHJcbi5wb3MtZi10LXIsXHJcbi5wb3MtZi1iLWwsXHJcbi5wb3MtZi1iLXJ7XHJcbnBvc2l0aW9uOmZpeGVkO1xyXG59XHJcblxyXG4ucG9zLWEtdC1se1xyXG50b3A6MDtcclxubGVmdDowO1xyXG59XHJcbi5wb3MtYS10LXJ7XHJcbnRvcDowO1xyXG5yaWdodDowO1xyXG59XHJcbi5wb3MtYS1iLWx7XHJcbmJvdHRvbTowO1xyXG5sZWZ0OjA7XHJcbn1cclxuLnBvcy1hLWItcntcclxuYm90dG9tOjA7XHJcbnJpZ2h0OjA7XHJcbn1cclxuXHJcblxyXG4ucG9zLWYtdC1se1xyXG50b3A6MDtcclxubGVmdDowO1xyXG59XHJcbi5wb3MtZi10LXJ7XHJcbnRvcDowO1xyXG5yaWdodDowO1xyXG59XHJcbi5wb3MtZi1iLWx7XHJcbmJvdHRvbTowO1xyXG5sZWZ0OjA7XHJcbn1cclxuLnBvcy1mLWItcntcclxuYm90dG9tOjA7XHJcbnJpZ2h0OjA7XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRPT0xTLk1JWElOLkJBU0VMSU5FX0dSSURcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogIEFkZHMgYSBiYXNlbGluZSBncmlkIGZvciBzZXR0aW5nIHR5cGUuXHJcbiAqICAgICAgICAgICAgICAgICBVc2VkIGluIGRldmVsb3BtZW50IG9ubHkuXHJcbiAqXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSAkc3BhY2luZyAgICBTZXQgdGhlIGRlc2lyZWQgbGluZSBoZWlnaHQgb2YgdGhlIGdyaWQuIERlZmF1bHRzIHRvIHRoZSBiYXNlIGxpbmUgaGVpZ2h0XHJcbiAqL1xyXG5AbWl4aW4gYmFzZWxpbmVfZ3JpZCgkc3BhY2luZzogJGJhc2UtbGluZS1oZWlnaHQpe1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzBmZiAwLCByZ2JhKDI1NSwyNTUsMjU1LDApIDFweCk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgJHNwYWNpbmc7XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRPT0xTLkJSRUFLUE9JTlRfQklORElOR1xyXG4gKlxyXG4gKiBAYXV0aG9yICAgICAgOiBHbGVuIFtnbGVuLmhvbmV5Ym9uZUBudmludGVyYWN0aXZlLmNvbV1cclxuICogQGRlc2NyaXB0aW9uIDogQmluZHMgYSBwc2V1ZG8gZWxlbWVudCB0byB0aCBib2R5IHRoYXQgY2FuIGJlXHJcbiAqICAgICAgICAgICAgICAgIHF1ZXJpZWQgYnkgSlMgZm9yIGRldGVybWluaW5nIGJyZWFrcG9pbnRzXHJcbiAqXHJcbiAqL1xyXG5cclxuLy8gSGlkZSB0aGUgcXVlcnkgaW5kaWNhdG9yXHJcbmJvZHk6OmFmdGVyIHtcclxuXHRjb250ZW50OiAnYmFzZSc7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRoZWlnaHQ6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuQGVhY2ggJHBvaW50LCAkd2lkdGggaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoKSB7XHJcblx0ICBib2R5OjphZnRlciB7XHJcblx0ICAgIGNvbnRlbnQ6ICRwb2ludDtcclxuXHQgIH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIEdFTkVSSUMuUkVTRVRcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogRGVzY3JpYmUgdGhpcyBwYXJ0aWFsXHJcbiAqXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqICBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xyXG4gKiAgdjIuMCB8IDIwMTEwMTI2XHJcbiAqICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxyXG4gKi9cclxuXHJcbiBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXHJcbiBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXHJcbiBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXHJcbiBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXHJcbiBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxyXG4gYiwgdSwgaSwgY2VudGVyLFxyXG4gZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcclxuIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxyXG4gdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXHJcbiBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcclxuIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcclxuIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxyXG4gdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcclxuIFx0bWFyZ2luOiAwO1xyXG4gXHRwYWRkaW5nOiAwO1xyXG4gXHRib3JkZXI6IDA7XHJcbiBcdGZvbnQtc2l6ZTogMTAwJTtcclxuIFx0Zm9udDogaW5oZXJpdDtcclxuIFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgIGxldHRlci1zcGFjaW5nOm5vcm1hbDtcclxuIH1cclxuIC8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cclxuIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXHJcbiBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xyXG4gXHRkaXNwbGF5OiBibG9jaztcclxuIH1cclxuIGJvZHkge1xyXG4gXHRsaW5lLWhlaWdodDogMTtcclxuIH1cclxuIG9sLCB1bCB7XHJcbiBcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiB9XHJcbiBibG9ja3F1b3RlLCBxIHtcclxuIFx0cXVvdGVzOiBub25lO1xyXG4gfVxyXG4gYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXHJcbiBxOmJlZm9yZSwgcTphZnRlciB7XHJcbiBcdGNvbnRlbnQ6ICcnO1xyXG4gXHRjb250ZW50OiBub25lO1xyXG4gfVxyXG4gdGFibGUge1xyXG4gXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gXHRib3JkZXItc3BhY2luZzogMDtcclxuIH1cclxuXHJcbiBidXR0b257XHJcbiAgYm9yZGVyOm5vbmU7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1c3tcclxuICAgIG91dGxpbmU6bm9uZTtcclxuICAgIH1cclxuIH1cclxuXHJcbmEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbmJ7XHJcbmZvbnQtd2VpZ2h0OmJvbGQ7XHJcbn1cclxuXHJcblxyXG5ocntcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG59XHJcblxyXG4vKipcclxuICogR0VORVJJQy5CT1hTSVpJTkdcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogU2V0cyBnbG9iYWwgYm94LXNpemluZ1xyXG4gKiBAcmVmZXJlbmNlICAgOiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cclxuICpcclxuICovXHJcbiIsIi8qKlxyXG4gKiBHRU5FUklDLkxJTktTXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IEdlbmVyaWMgbGlua3NcclxuICpcclxuICovXHJcblxyXG4uYy10ZXh0X2xpbmsge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiRncmVlbjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOmRhcmtlbigkZ3JlZW4sMjAlKTtcclxuICAgIH1cclxufVxyXG5cclxuLmMtdGV4dF9saW5rLS1ib2xkIHtcclxuICAgIEBleHRlbmQgLmMtdGV4dF9saW5rO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8vIFN0eWxlIGxpbmtzIHdpdGhpbiBwYXJhZ3JhcGhzXHJcbnAgYSB7XHJcbiAgICBAZXh0ZW5kIC5jLXRleHRfbGluaztcclxufVxyXG4iLCIvKipcclxuICogRUxFTUVOVFMuQkFTRVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBCYXNlIGVsZW1lbnQgc3R5bGVzXHJcbiAqXHJcbiAqL1xyXG4gaHRtbCB7XHJcbiAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuIH1cclxuXHJcbiAvLyBVcGRhdGUgYm94LXNpemluZyBmb3IgY2hpbGQgJiBwc2V1ZG8gZWxlbWVudHNcclxuICoge1xyXG4gICAgICYsXHJcbiAgICAgJjo6YmVmb3JlLFxyXG4gICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcclxuICAgICB9XHJcbiB9XHJcblxyXG5cclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XHJcbiAgICBmb250LXNpemU6MTZweDtcclxuXHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIC8vIGRpc3BsYXlzIGEgYmFzZWxpbmUgZ3JpZCBhcyBhIGJhY2tncm91bmQgZm9yIHNldHRpbmcgdmVydGljYWwgcmh5dGhtXHJcbiAgICAmLmRldl90eXBlIHtcclxuICAgICAgICBAaW5jbHVkZSBiYXNlbGluZV9ncmlkKCk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uY29udGVudHtcclxucGFkZGluZzo2MHB4IDMwcHg7XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5tYWluLmNvbnRlbnR7XHJcbndpZHRoOjEwMCU7XHJcbmZsb2F0OmxlZnQ7XHJcbmJhY2tncm91bmQ6ICNmZmY7XHJcblxyXG4gIGgxLGgyLGgze1xyXG4gIG1hcmdpbi10b3A6MDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgaDIsaDMsaDR7XHJcbiAgbWFyZ2luLXRvcDowO1xyXG4gIG1hcmdpbi1ib3R0b206MWVtO1xyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4vKipcclxuICogIFNldCBpbWFnZXMgZm9yIHJlc3BvbnNpdmUgc2l6aW5nXHJcbiAqL1xyXG5pbWcsXHJcbnN2ZyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5cclxuXHJcbi53cmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC44cyBjdWJpYy1iZXppZXIoLjUyLCAuMDEsIC4xNiwgMSkgLjM1cztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogLjhzIGN1YmljLWJlemllciguNTIsIC4wMSwgLjE2LCAxKSAuMzVzO1xyXG4gICAgdHJhbnNpdGlvbjogLjhzIGN1YmljLWJlemllciguNTIsIC4wMSwgLjE2LCAxKSAuMzVzXHJcbn1cclxuIiwiLyoqXHJcbiAqIEVMRU1FTlRTLkhFQURJTkdTXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IEJhc2UgaGVhZGluZyBzdHlsZXNcclxuICpcclxuICovXHJcblxyXG5cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIG1hcmdpbjogMS41ZW0gMCAwLjVlbSAwO1xyXG5cclxuXHJcbiAgICAmLnQtYm9sZCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuaDEge1xyXG4gICAgZm9udC1mYW1pbHk6JGZvbnQtc2VyaWYsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbSg0OCk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg2MCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oODApO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMiB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2VyaWYsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xyXG4gICAgZm9udC1zaXplOiByZW0oMjIpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyNik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzApO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMyB7XHJcbiAgICBmb250LWZhbWlseTokZm9udC1zZXJpZiwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OjcwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyNik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzApO1xyXG4gICAgfVxyXG59XHJcblxyXG5oNCB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2FucztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuaDUge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbnAubGVhZHtcclxubWFyZ2luLXRvcDoxLjJlbTtcclxuZm9udC13ZWlnaHQ6IDMwMDtcclxuZm9udC1zaXplOiAxLjJlbTtcclxubGluZS1oZWlnaHQ6MS41ZW07XHJcbn1cclxuXHJcbnAsIGEsIHNwYW4sIGxpLCBkaXYge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJhc2U7XHJcblxyXG59XHJcblxyXG5wIHtcclxuICAgIG1hcmdpbjogMCAwICRiYXNlLWxpbmUtaGVpZ2h0IDA7XHJcbiAgICBsaW5lLWhlaWdodDoxLjY7XHJcblxyXG4gICAgc3Ryb25ne1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbmVtIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuYmxvY2txdW90ZXtcclxuZm9udC1zaXplOjIwcHg7XHJcbmZvbnQtc3R5bGU6aXRhbGljO1xyXG5wYWRkaW5nOjIwcHg7XHJcbnBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cclxuICAmOmJlZm9yZXtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDowO1xyXG4gICAgdG9wOjA7XHJcbiAgICBjb250ZW50OidcIidcclxuICB9XHJcblxyXG4gICY6YWZ0ZXJ7XHJcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICBib3R0b206MDtcclxuICAgICAgICBjb250ZW50OidcIidcclxuICB9XHJcblxyXG59XHJcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcclxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcclxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxyXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcclxuXHJcbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXHJcbiAgJ3RvIGVtcyc6IGZhbHNlLFxyXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxyXG5cclxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxyXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcclxuXHJcbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcclxuXHJcbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxyXG4pO1xyXG5cclxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIEltcG9ydHNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xyXG5cclxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcclxuXHJcbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIEJyZWFrcG9pbnQgTWl4aW5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcclxuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcclxuXHJcbiAgLy8gUmVzZXQgY29udGV4dHNcclxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcclxuXHJcbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XHJcblxyXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xyXG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XHJcblxyXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XHJcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcclxuXHJcbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cclxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcclxuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xyXG4gIH1cclxuXHJcbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XHJcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xyXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XHJcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xyXG5cclxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XHJcbiAgICAkcHJpbnQ6IGZhbHNlO1xyXG5cclxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XHJcbiAgICAgICRwcmludDogdHJ1ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xyXG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XHJcbiAgICAgICAgJHByaW50OiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XHJcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XHJcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XHJcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcclxuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XHJcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XHJcblxyXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xyXG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcclxuICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xyXG59XHJcblxyXG5cclxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCIvKipcclxuICogT0JKRUNUUy5HUklEXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiA6IFRoZSBOViBHcmlkXHJcbiAqIEBzZXR0aW5ncyAgICA6IFNlZSAvMS5zZXR0aW5ncy9fc2V0dGluZ3MuZ3JpZC5zY3NzXHJcbiAqXHJcbiAqL1xyXG5cclxuLy8gRGVmYXVsdCBzZXR0aW5ncywgdGhlc2Ugc2hvdWxkIGJlIG92ZXJyaWRkZW4gaW4gLzEuc2V0dGluZ3MvX3NldHRpbmdzLmdyaWQuc2Nzc1xyXG4kYm9keU1heDogICAgICAgIDkwcmVtICAgICAgIWRlZmF1bHQ7XHJcbiRib2R5TWF4U2xpbTogICAgNjEuMjVyZW0gICAhZGVmYXVsdDtcclxuJGdyaWRDb2xzOiAgICAgICAxMiAgICAgICAgICFkZWZhdWx0O1xyXG4kYm94U2l6aW5nOiAgICAgIGJvcmRlci1ib3ggIWRlZmF1bHQ7XHJcbiRpbmNsdWRlSW5kZW50OiAgdHJ1ZSAgICAgICAhZGVmYXVsdDtcclxuXHJcbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqICBHUklEIFdJRFRIIENBTFVMQVRPUlxyXG4gKi9cclxuXHJcbiRncmlkTWFwOiAoKTsgLy9zZXQgYW4gZW1wdHkgbWFwIGZvciBzdGFydGVyc1xyXG4vL3RoaXMgbG9vcCBjcmVhdGVzIGFuIGFycmF5IChhIFNhc3MgXCJtYXBcIikgb2YgcG9zc2libGUgY29sdW1uIHdpZHRoIHBlcmNlbnRhZ2VzXHJcbkBmb3IgJHggZnJvbSAxIHRocm91Z2ggJGdyaWRDb2xzIHtcclxuICAgICRncmlkUGVyY2VudGFnZTogcGVyY2VudGFnZShkZWNpbWFsLWZsb29yKCgkeCAvICRncmlkQ29scyksIDEwKSk7XHJcbiAgICAkZ3JpZE1hcDogbWFwLW1lcmdlKCRncmlkTWFwLCAoXCIjeyR4fVwiOiAkZ3JpZFBlcmNlbnRhZ2UpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYWwgU3R5bGVzXHJcbiAqL1xyXG5cclxuLy8gQm94IHNpemluZ1xyXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiAkYm94U2l6aW5nO1xyXG59XHJcbi8vIEJvZHkgLy9cclxuLmIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOiAkYm9keU1heDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vLyBCb2R5IHNsaW0gLy9cclxuLmItcyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXgtd2lkdGg6ICRib2R5TWF4U2xpbTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogIEhlbHBlciBjbGFzc2VzIGZvciBub24tZ3JpZCBpdGVtcyBzbyB0aGV5IGZpdCBuaWNlbHkgd2l0aGluIHRoZSBncmlkXHJcbiAqL1xyXG4ubmctcCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xyXG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XHJcbn1cclxuLm5nLXByIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcbn1cclxuLm5nLXBsIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuLm5nLW0ge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXI7XHJcbn1cclxuLm5nLW1yIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyO1xyXG59XHJcbi5uZy1tbCB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGd1dHRlcjtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgR3JpZFxyXG4gKi9cclxuLmcge1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjMxZW07XHJcbiAgICAqbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgICp3b3JkLXNwYWNpbmc6IC0wLjQzZW07XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVzcGVlZDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4vLyAgICB3aWR0aDoxMDAlO1xyXG5cclxuICAgIC5uby1mbGV4Ym94ICYgeyAvLyBmYWxsYmFjayBub24tZmxleCBicm93c2VycyAobW9kZXJuaXpyIHJlcXVpcmVkKVxyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi1tIHsgLy8gVGhpcyBpcyBvbmx5IG5lZWRlZCBpZiAuZ2ktbSBjbGFzc2VzIGFyZSBhcHBsaWVkIHRvIGNoaWxkcmVuXHJcbiAgICAgICAgbWFyZ2luOiAwICRuZWdhdGl2ZUd1dHRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLm9wZXJhLW9ubHkgOi1vLXByZWZvY3VzLFxyXG4uZyB7XHJcbiAgICB3b3JkLXNwYWNpbmc6IC0wLjQzZW07XHJcbn1cclxuXHJcblxyXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKiAgR1JJRCBJVEVNU1xyXG4gKi9cclxuLmdpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vICBHcmlkIEl0ZW0gTW9kaWZpZXJzXHJcblxyXG4vLyBHcmlkIEl0ZW0g4oCTIFBhZGRlZFxyXG4uZ2ktcCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xyXG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XHJcbn1cclxuXHJcbi8vIEdyaWQgSXRlbSDigJMgUGFkZGVkIFJpZ2h0XHJcbi5naS1wciB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xyXG59XHJcblxyXG4vLyBHcmlkIEl0ZW0g4oCTIFBhZGRlZCBMZWZ0XHJcbi5naS1wbCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XHJcbn1cclxuXHJcbi8vIEdyaWQgSXRlbSDigJMgTWFyZ2luXHJcbi5naS1tIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyO1xyXG59XHJcblxyXG4vLyBHcmlkIEl0ZW0g4oCTIE1hcmdpbiBMZWZ0XHJcbi5naS1tbCB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGd1dHRlcjtcclxufVxyXG5cclxuLy8gR3JpZCBJdGVtIOKAkyBNYXJnaW4gUmlnaHRcclxuLmdpLW1yIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGd1dHRlcjtcclxufVxyXG5cclxuLy8gR3JpZCBJdGVtIOKAkyBWZXJ0aWNhbCBBbGlnbiBNaWRkbGVcclxuLmctdmFtIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmctdmFtIC5naSxcclxuLmctdmFtIC5naS1wLFxyXG4uZy12YW0gLmdpLXBsLFxyXG4uZy12YW0gLmdpLXByLFxyXG4uZ2ktbSB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4vLyBHcmlkIGdlbmVyYXRpb24gaW5jbHVkaW5nIHdpZHRocyBmb3IgZ2l2ZW4gbnVtYmVyIG9mIGNvbHVtbnNcclxuQGVhY2ggJGkgaW4gJGdyaWRNYXAge1xyXG4gICAgJGtleTogbnRoKCRpLCAxKTtcclxuICAgICR2YWx1ZTogbnRoKCRpLCAyKTtcclxuICAgIC5naS0jeyRrZXl9IHsgd2lkdGg6ICR2YWx1ZTsgfVxyXG4gICAgLmdpLW0uZ2ktI3ska2V5fSB7IHdpZHRoOiAkdmFsdWUgLSAoJGd1dHRlciAqIDIpOyB9XHJcbiAgICAuZ2ktbXIuZ2ktI3ska2V5fSwgLmdpLW1yLmdpLSN7JGtleX0geyB3aWR0aDogJHZhbHVlIC0gJGd1dHRlcjsgfVxyXG4gICAgQGlmICgkaW5jbHVkZUluZGVudCA9PSB0cnVlKSB7XHJcbiAgICAgICAgLmdpLWluLSN7JGtleX0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2ktbS5naS1pbi0jeyRrZXl9LFxyXG4gICAgICAgIC5naS1tbC5naS1pbi0jeyRrZXl9IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR2YWx1ZSArICRndXR0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL3JlcGVhdCBmb3IgcmVzcG9uc2l2ZSBicmVha3BvaW50c1xyXG5AZWFjaCAkYnJlYWtwb2ludCwgJHdpZHRoIGluICAkYnJlYWtwb2ludHMge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aCkge1xyXG4gICAgICAgIEBlYWNoICRpIGluICRncmlkTWFwIHtcclxuICAgICAgICAgICAgJGtleTogbnRoKCRpLCAxKTtcclxuICAgICAgICAgICAgJHZhbHVlOiBudGgoJGksIDIpO1xyXG4gICAgICAgICAgICAuZ2ktI3skYnJlYWtwb2ludH0tI3ska2V5fSB7IHdpZHRoOiAkdmFsdWU7IH1cclxuICAgICAgICAgICAgLmdpLW0uZ2ktI3skYnJlYWtwb2ludH0tI3ska2V5fSB7IHdpZHRoOiAkdmFsdWUgLSAoJGd1dHRlciAqIDIpOyB9XHJcbiAgICAgICAgICAgIC5naS1tbC5naS0jeyRicmVha3BvaW50fS0jeyRrZXl9LFxyXG4gICAgICAgICAgICAuZ2ktbXIuZ2ktI3skYnJlYWtwb2ludH0tI3ska2V5fSB7IHdpZHRoOiAkdmFsdWUgLSAkZ3V0dGVyOyB9XHJcbiAgICAgICAgICAgIEBpZiAoJGluY2x1ZGVJbmRlbnQgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgLmdpLSN7JGJyZWFrcG9pbnR9LWluLSN7JGtleX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZ2ktbS5naS0jeyRicmVha3BvaW50fS1pbi0jeyRrZXl9LFxyXG4gICAgICAgICAgICAgICAgLmdpLW1sLmdpLSN7JGJyZWFrcG9pbnR9LWluLSN7JGtleX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdmFsdWUgKyAkZ3V0dGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBCcmVha3BvaW50LXNwZWNpZmljIGxlZnQvcmlnaHQgcGFkZGluZ1xyXG4gICAgICAgIC5naS0jeyRicmVha3BvaW50fS1wciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdpLSN7JGJyZWFrcG9pbnR9LXBsIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyOyBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQnJlYWtwb2ludC1zcGVjaWZpYyBpbmRlbnQgcmVzZXRzXHJcbiAgICAgICAgQGlmICgkaW5jbHVkZUluZGVudCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIC5naS0jeyRicmVha3BvaW50fS1pbi0wIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBPQkpFQ1RTLkxBWU9VVFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBDb3JlIGxheW91dCBvYmplY3RzIHVzZWQgaW4gYWRkaXRpb24gdG8gdGhlIGdyaWRcclxuICpcclxuICovXHJcblxyXG4uby1wYWdlIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDApO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vLyBBbGxvd3MgZml4ZWQgcG9zaXRpb24gY2hpbGRyZW4gYW5kIGhpZGUgdGhlaXIgb3ZlcmZsb3dcclxuLm8td2luZG93IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIFR3ZWFrIG9uIGNvbnRhY3QgcGFnZVxyXG4uY29udGVudCAuYy1mb290ZXJfX2NvbnRhY3R7XHJcbnBhZGRpbmctdG9wOnJlbSg0MCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgcGFkZGluZy10b3A6MDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4vLyBMb2FkZXJcclxuLmxvYWRlcixcclxuLmxvYWRlcjpiZWZvcmUsXHJcbi5sb2FkZXI6YWZ0ZXIge1xyXG4gIGJhY2tncm91bmQ6ICRicmFuZC1ibHVlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkMSAxcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb246IGxvYWQxIDFzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG4gIHdpZHRoOiAuN2VtO1xyXG4gIGhlaWdodDogMWVtO1xyXG59XHJcblxyXG4ubG9hZGVyIHtcclxuICBjb2xvcjogJGJyYW5kLWJsdWU7XHJcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XHJcbiAgbWFyZ2luOiA4OHB4IGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtc2l6ZTogOHB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcblxyXG4gICY6OmJlZm9yZSxcclxuICAmOjphZnRlciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IC0xLjVlbTtcclxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjMycztcclxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgICAgbGVmdDogMS41ZW07XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vL2xvYWRlciBhbmltYXRpb25cclxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQxIHtcclxuICAwJSxcclxuICA4MCUsXHJcbiAgMTAwJSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDA7XHJcbiAgICBoZWlnaHQ6IDIuNWVtO1xyXG4gIH1cclxuICA0MCUge1xyXG4gICAgYm94LXNoYWRvdzogMCAtMmVtO1xyXG4gICAgaGVpZ2h0OiAzZW07XHJcbiAgfVxyXG59IFxyXG5cclxuQGtleWZyYW1lcyBsb2FkMSB7XHJcbiAgMCUsXHJcbiAgODAlLFxyXG4gIDEwMCUge1xyXG4gICAgYm94LXNoYWRvdzogMCAwO1xyXG4gICAgaGVpZ2h0OiAyLjVlbTtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIGJveC1zaGFkb3c6IDAgLTJlbTtcclxuICAgIGhlaWdodDogM2VtO1xyXG4gIH1cclxufSIsIi5vLXBhbmVsIHtcclxuICAgIHBhZGRpbmctdG9wOiByZW0oNjApO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMCU7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOCU7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDglO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWxnIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDgwKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgwKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTUlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS14bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMDApO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTAwKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtKDEwKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbSgxMCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTglO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTglO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTYlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTYlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gQWRkIG9wdGlvbmFsIHBhZGRkaW5nIHRvIGtlZXAgY29udGVudCBvZmYgdGhlIGVkZ2Ugb2YgdGhlIHdpbmRvd1xyXG4gICAgJi0taCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbSgxMCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDpyZW0oMTApO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIE9CSkVDVFMuVUlfTElTVFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBTdHJpcHMgdGV4dC1saXN0IHN0eWxlcyBmb3IgY29zdW50cnVjdGluZyBVSSBlbGVtZW50c1xyXG4gKlxyXG4gKi9cclxuXHJcbi5vLXVpX2xpc3QgLHVse1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi5tYWluIHVse1xyXG5tYXJnaW4tYm90dG9tOiAxOHB4O1xyXG5wYWRkaW5nOjhweCAwIDA7XHJcbmJvcmRlcjoxcHggc29saWQgbGlnaHRlbigkZ3JlZW4sIDMwJSk7XHJcbmJvcmRlci1yYWRpdXM6NHB4O1xyXG5cclxuIGxpe1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbWFyZ2luLWJvdHRvbToxMHB4O1xyXG4gIHBhZGRpbmc6MCAxMHB4IDhweCAyMHB4O1xyXG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIGxpZ2h0ZW4oJGdyZWVuLCAzMCUpO1xyXG5cclxuICAgICY6bGFzdC1jaGlsZHtcclxuICAgIGJvcmRlci1ib3R0b206bm9uZTtcclxuICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZXtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDo4cHg7XHJcbiAgICB0b3A6OHB4O1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDo2cHg7XHJcbiAgICBoZWlnaHQ6NnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICB9XHJcblxyXG4gfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBPQkpFQ1RTLlVJX0xJU1RcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogU3RyaXBzIHRleHQtbGlzdCBzdHlsZXMgZm9yIGNvc3VudHJ1Y3RpbmcgVUkgZWxlbWVudHNcclxuICpcclxuICovXHJcblxyXG4uby1idXR0b24sXHJcbmlucHV0LmFjdGlvbntcclxucGFkZGluZzowLjNlbSAxZW07XHJcbmxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5mb250LXNpemU6IDEuNGVtO1xyXG5mb250LWZhbWlseTokZm9udC1zYW5zO1xyXG5mb250LXdlaWdodDogNzAwO1xyXG5ib3JkZXItcmFkaXVzOiAycHg7XHJcbmJhY2tncm91bmQtY29sb3I6JGdyZWVuO1xyXG5jb2xvcjojZmZmO1xyXG5vdXRsaW5lOm5vbmU7XHJcbmJvcmRlcjpub25lO1xyXG50cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlO1xyXG5cclxuXHJcbn1cclxuXHJcbi5vLWJ1dHRvbi0tc217XHJcbnBhZGRpbmc6MC4zZW0gMC41ZW07XHJcbmZvbnQtd2VpZ2h0OiA3MDA7XHJcbmxpbmUtaGVpZ2h0OjE7XHJcbmZvbnQtc2l6ZTogMWVtO1xyXG5tYXJnaW4tdG9wOjhweDtcclxufVxyXG5cclxuLm8tYnV0dG9uLS1pbnZ7XHJcbmJvcmRlcjoxcHggc29saWQgJGdyZWVuO1xyXG5iYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xyXG5jb2xvcjpsaWdodGVuKCRncmVlbiwgMzAlKSFpbXBvcnRhbnQ7XHJcbmZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi5vLWJ1dHRvbi0tY250e1xyXG5ib3JkZXI6MXB4IHNvbGlkIGRhcmtlbigkZ3JlZW4sIDEwJSk7XHJcbmNvbG9yOmRhcmtlbigkZ3JlZW4sIDEwJSk7XHJcbmJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuXHJcbiAgJjpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKCRncmVlbiwgMTAlKTtcclxuICAgIGNvbG9yOiNmZmY7XHJcbiAgfVxyXG59XHJcbiIsIlxyXG5cclxuXHJcbi51c2VyZm9ybXtcclxucGFkZGluZzpyZW0oNDApIDA7XHJcblxyXG4gICAgZmllbGRzZXR7XHJcblxyXG5cclxuICAgICAgICBsZWdlbmR7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgICAgICAgcGFkZGluZzowO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4udXNlcmZvcm1zZ3JvdXAge1xyXG5ib3JkZXI6bm9uZTtcclxuYm9yZGVyLXJhZGl1czogNHB4O1xyXG5wYWRkaW5nOjA7XHJcbm1hcmdpbjowIDAgMjBweCAwO1xyXG59XHJcblxyXG5cclxuLmZpZWxke1xyXG5tYXJnaW4tYm90dG9tOjIwcHg7XHJcblxyXG4gICAgbGFiZWx7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgZm9udC13ZWlnaHQ6NDAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICM0NDQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXR7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtKDMwKTtcclxuICAgIHBhZGRpbmc6cmVtKDgpIHJlbSgxNSk7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNjY2M7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG5cclxuICAgICAgICAmLmNoZWNrYm94e1xyXG4gICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6YXV0bztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTRweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGV4dGFyZWF7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtKDMwKTtcclxuICAgIHBhZGRpbmc6cmVtKDgpIHJlbSgxNSk7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNjY2M7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuI0ZvcmdvdFBhc3N3b3Jke1xyXG5tYXJnaW4tdG9wOjE1cHg7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE9CSkVDVFMuQkxPQ0tfR1JJRFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gOiBDcmVhdGVzIGFuIGV2ZW5seS1zaXplZCBncmlkIG9mIGl0ZW1zXHJcbiAqXHJcbiAqL1xyXG5cclxuLm8tYmxvY2tfZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG5cclxuICAgIC8vIDMtdXAgYXQgZnVsbCBzaXplXHJcbiAgICAmLS0zdXAge1xyXG4gICAgICAgIC5vLWJsb2NrX2dyaWRfX2l0ZW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiXHJcblxyXG4udG9nZ2xlLW5hdmJhcntcclxuaGVpZ2h0OiRuYXZiYXItaGVpZ2h0O1xyXG53aWR0aDokbmF2YmFyLWhlaWdodDtcclxuYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oJGdyZWVuLCAyNSUpO1xyXG5kaXNwbGF5OmJsb2NrO1xyXG5cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDokbGcpIHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBpe1xyXG4gICAgY29sb3I6bGlnaHRlbigkZ3JlZW4sMjAlKTtcclxuICAgIGZvbnQtc2l6ZToxLjJlbTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5oZWFkZXItY29udGFjdHtcclxuaGVpZ2h0OiRuYXZiYXItaGVpZ2h0O1xyXG5mbG9hdDpsZWZ0O1xyXG5wYWRkaW5nLWxlZnQ6MjBweDtcclxud2lkdGg6MTAwJTtcclxuYmFja2dyb3VuZC1jb2xvcjokZ3JlZW47XHJcblxyXG4gICAgLnNvY2lhbHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuXHJcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDokc20pIHtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBhe1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMTVweCA1cHggNXB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRsZykge1xyXG4gICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICB3aWR0aDphdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcblxyXG5cclxufVxyXG5cclxuXHJcbi5jLW5hdmJhcntcclxuaGVpZ2h0OiRuYXZiYXItaGVpZ2h0O1xyXG53aWR0aDoxMDAlO1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiNjNGM0YzRsO1xyXG59XHJcblxyXG4uYy1uYXZiYXItLXJpZ2h0e1xyXG53aWR0aDphdXRvO1xyXG5mbG9hdDpyaWdodDtcclxufVxyXG5cclxuLmMtbmF2YmFyLS1sZWZ0e1xyXG53aWR0aDphdXRvO1xyXG5mbG9hdDpsZWZ0O1xyXG59XHJcblxyXG4uYy1uYXZiYXJfd3JhcHtcclxud2lkdGg6MTAwJTtcclxud2lkdGg6MTAwdnc7XHJcbnBvc2l0aW9uOiByZWxhdGl2ZTtcclxuYmFja2dyb3VuZDojZGRkO1xyXG56LWluZGV4Ojk5OTk7XHJcblxyXG59XHJcblxyXG4ub3ZlcmxheXtcclxucG9zaXRpb246Zml4ZWQ7XHJcbnRvcDowO1xyXG5sZWZ0OjA7XHJcbndpZHRoOjEwMCU7XHJcbmhlaWdodDoxMDAlO1xyXG56LWluZGV4Ojk5OTg7XHJcbmJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO1xyXG5kaXNwbGF5Om5vbmU7XHJcblxyXG4gICAgLm5hdi1vcGVuICZ7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5tYWluLW1lbnUgLnRlbHtcclxuZGlzcGxheTpub25lO1xyXG5tYXJnaW4tdG9wOjE2cHg7XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRsZykge1xyXG5cclxuICAgICAgICAubmF2LWNvbGxhcHNlICZ7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5jLW5hdmJhcl93cmFwLS1maXhlZFRvcHtcclxud2lkdGg6MTAwJTtcclxucG9zaXRpb246Zml4ZWQ7XHJcbmJhY2tncm91bmQtY29sb3I6IzAwMDtcclxuaGVpZ2h0OiRuYXZiYXItaGVpZ2h0O1xyXG50b3A6MDtcclxub3ZlcmZsb3c6IGhpZGRlbjtcclxuYm94LXNoYWRvdzogLTJweCA5cHggMjVweCAtMTNweCByZ2JhKDAsMCwwLDAuNzUpO1xyXG5cclxuXHJcbiAgLm5hdi1vcGVuICZ7XHJcbiAgaGVpZ2h0OmF1dG87XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JGxnKSB7XHJcbiAgaGVpZ2h0OiRuYXZiYXItaGVpZ2h0ICogMjtcclxuXHJcbiAgICAgICAgICAubmF2LWNvbGxhcHNlICZ7XHJcbiAgICAgICAgICBoZWlnaHQ6JG5hdmJhci1oZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAuaGlkZS1zY3JvbGx7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5sb2dve1xyXG4gICAgICAgICAgICBwYWRkaW5nOnJlbSgxMCk7XHJcblxyXG4gICAgICAgICAgICAgICAgaDF7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MS42ZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG59XHJcblxyXG4uYy1uYXZiYXJfd3JhcC0tZml4ZWRCdG17XHJcbnBvc2l0aW9uOmZpeGVkO1xyXG5ib3R0b206MDtcclxufVxyXG5cclxuXHJcbi5sb2dvLWFyZWF7XHJcbmhlaWdodDphdXRvO1xyXG5ib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JlZW47XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDokbGcpIHtcclxuICBib3JkZXItYm90dG9tOjA7XHJcbiAgfVxyXG5cclxuICAubG9nb3tcclxuICBwYWRkaW5nOjAuNmVtO1xyXG4gIGZsb2F0OmxlZnQ7XHJcblxyXG4gICAgICA+IGltZ3tcclxuICAgICAgbWF4LXdpZHRoOiAyMjBweDtcclxuXHJcbiAgICAgICAgICAubmF2LWNvbGxhcHNlICZ7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcclxuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgc3BhbntcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgbWFyZ2luOjA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OjE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sZWFke1xyXG4gICAgICBmb250LXNpemU6MWVtO1xyXG4gICAgICBjb2xvcjpkYXJrZW4oJGdyZWVuLDIwJSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50aXRsZXtcclxuICAgICAgY29sb3I6JGdyZWVuO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgZm9udC1zaXplOjEuNWVtO1xyXG5cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDokbGcpIHtcclxuICAgICAgcGFkZGluZzogMnJlbSAwLjZyZW07XHJcblxyXG5cclxuICAgICAgICAgICAgLnRpdGxle1xyXG4gICAgICAgICAgICBmb250LXNpemU6Mi41ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgLm5hdi1jb2xsYXBzZSAme1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEuNWVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcC5sZWFke1xyXG4gICAgICAgICAgICBmb250LXNpemU6MWVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG5cclxuLnNvY2lhbHtcclxuaGVpZ2h0OjIwcHg7XHJcbnBhZGRpbmc6IDE2cHg7XHJcbn1cclxuXHJcblxyXG51bC5jLW5hdmJhcl9tZW51e1xyXG5saXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbm1hcmdpbjogMDtcclxubWluLXdpZHRoOiByZW0oMjQwKTtcclxucGFkZGluZzogMDtcclxuYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxud2lkdGg6MTAwJTtcclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JGxnKSB7XHJcbiAgICB3aWR0aDphdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIGxpe1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDpsZWZ0O1xyXG4gICAgd2lkdGg6MTAwJTtcclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JGxnKSB7XHJcbiAgICB3aWR0aDphdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICAgICBhe1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOjAgcmVtKDgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiRuYXZiYXItaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnQtc2VyaWY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xyXG4gICAgICAgIGNvbG9yOiNGRkY7XHJcbiAgICAgICBmb250LXNpemU6MTRweCA7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlO1xyXG5cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JGxnKSB7XHJcbiAgICAgICAgcGFkZGluZzowIHJlbSgxMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzowIHJlbSgxNik7XHJcbiAgICAgICAgICAgICBmb250LXNpemU6MTZweCA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpsaWdodGVuKCRncmVlbiwxMCUpO1xyXG4gICAgICAgICAgICB3aWxsLWNoYW5nZTpvcGFjaXR5O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2U7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6MDtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JGxnKSB7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDo0cHg7XHJcbiAgICAgICAgICAgICAgICAgIGJvdHRvbTowO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmN1cnJlbnQgYTphZnRlcntcclxuICAgICAgICBvcGFjaXR5OjE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxudWwuYy1uYXZiYXJfbWVudS0tdntcclxuXHJcbiAgICBsaXtcclxuICAgIGZsb2F0Om5vbmU7XHJcblxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgcGFkZGluZzowIHJlbSg1KTtcclxuICAgICAgICBjb2xvcjojRkZGO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiRuYXZiYXItaGVpZ2h0IC8gMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4uZm9vdGVye1xyXG5iYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xyXG5cclxuICAgIHVsLmMtbmF2YmFyX21lbnV7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICBsaSBhe1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO1xyXG5cclxuICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi53cmFwcGVye1xyXG5wb3NpdGlvbjogcmVsYXRpdmU7XHJcbnBhZGRpbmctdG9wOiRuYXZiYXItaGVpZ2h0O1xyXG56LWluZGV4OjE7XHJcblxyXG5cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDokbWQpIHtcclxuICAgIGhlaWdodDokbmF2YmFyLWhlaWdodCAqIDI7XHJcblxyXG4gICAgICAgIC5uYXYtY29sbGFwc2UgJntcclxuICAgICAgICBwYWRkaW5nLXRvcDokbmF2YmFyLWhlaWdodDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5jLWp1bWJve1xyXG53aWR0aDoxMDAlO1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiRncmVlbjtcclxucGFkZGluZy10b3A6IDIuMjVlbTtcclxucGFkZGluZy1ib3R0b206IDIuMjVlbTtcclxuYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcbmZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7XHJcbmNvbG9yOiNmZmY7XHJcblxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JG1kKSB7XHJcbiAgcGFkZGluZy10b3A6IDYuMjVlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogNi4yNWVtO1xyXG4gIH1cclxuXHJcbiAgYSxoMixoM3tcclxuICBjb2xvcjojZmZmO1xyXG4gIH1cclxuXHJcbiAgLnRleHQtd3JhcHtcclxuICBwYWRkaW5nOjIwcHg7XHJcbi8vYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDEwOCwgMTg1LCAwLjgpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpO1xyXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JG1kKSB7XHJcbiAgICAgIHBhZGRpbmc6NDBweDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgaDF7XHJcbiAgZm9udC1zaXplOjJlbTtcclxuICBtYXJnaW46IDAuNWVtIDAgMC41ZW0gMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICBkaXNwbGF5OmlubGluZTtcclxuXHJcblxyXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JG1kKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTozZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW57XHJcbiAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcclxuICAgICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGgye1xyXG4gIG1hcmdpbi10b3A6MC41ZW07XHJcbiAgbWFyZ2luLWJvdHRvbToxZW07XHJcbiAgZm9udC1zaXplOjIuNWVtO1xyXG4gIH1cclxuXHJcbiAgaDR7XHJcbiAgbWFyZ2luLXRvcDowO1xyXG4gIH1cclxuXHJcbiAgaW1ne1xyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG4uYy1qdW1iby0tc217XHJcbnBhZGRpbmctdG9wOiAzLjVlbTtcclxucGFkZGluZy1ib3R0b206IDMuNWVtO1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiRncmVlbjtcclxuXHJcbiAgaDJ7XHJcbiAgZm9udC1zaXplOjIuNWVtO1xyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4uYy1qdW1iby5mb290ZXJ7XHJcbmJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbndpZHRoOjEwMCU7XHJcbmZsb2F0OmxlZnQ7XHJcbn1cclxuXHJcbi5Vc2VyRGVmaW5lZEZvcm0gLmMtanVtYm97XHJcbmRpc3BsYXk6bm9uZTtcclxufVxyXG4iLCJcclxuXHJcbi5zbmlwcGV0c3tcclxubWFyZ2luLXRvcDo0MHB4O1xyXG59XHJcblxyXG4uYy1ib3h7XHJcbnBhZGRpbmctYm90dG9tOjUwcHg7XHJcbnBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cclxuICAgIGF7XHJcbiAgICBjb2xvcjojMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIGZpZ3VyZXtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBoZWlnaHQ6MTgwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcclxuICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuXHJcbiAgICAgIGltZ3tcclxuICAgICAgbWluLXdpZHRoOjEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgaDJ7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDowcHg7XHJcbiAgICBsZWZ0OjE1cHg7XHJcbiAgICBwYWRkaW5nOjZweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmO1xyXG4gICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICRncmVlbjtcclxuICAgIGZvbnQtc2l6ZToyNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6NDAwO1xyXG4gICAgY29sb3I6ZGFya2VuKCRncmVlbiwxNSUpO1xyXG4gICAgfVxyXG5cclxuICAgIGgze1xyXG4gICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICBmb250LXdlaWdodDo3MDA7XHJcbiAgICBsaW5lLWhlaWdodDoyNXB4O1xyXG4gICAgZm9udC1mYW1pbHk6JGZvbnQtc2FucztcclxuICAgIG1hcmdpbi1ib3R0b206MjVweDtcclxuICAgIH1cclxuXHJcbiAgICBoNHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICBmb250LXNpemU6IDEwMCU7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8vIE5hdmJhciBWYXJpYWJsZXNcclxuXHJcbi8vIG9mZnNldCBzYW1lIGFzIG5hdmJhciBoZWlnaHRcclxuJGRyb3Bkb3duLW9mZnNldCAgICAgIDpyZW0oNjApO1xyXG5cclxuXHJcbi8vIERyb3Bkb3duIEJhc2VcclxuXHJcbi5jLWRyb3Bkb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmMtZHJvcGRvd25fX2ljb24ge1xyXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLWRyb3Bkb3duX19tZW51IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1pbi13aWR0aDogcmVtKDI0MCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogJGRyb3Bkb3duLW9mZnNldDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLmMtZHJvcGRvd25fX21lbnVfaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmMtZHJvcGRvd25fX21lbnVfbGluayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IHJlbSgxOCkgcmVtKDIyKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlO1xyXG5cclxuICAgIFtjbGFzc149J2ljb24nXSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcclxuICAgIH1cclxufVxyXG5cclxuLmMtZHJvcGRvd25fX21lbnUtLXJpZ2h0IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogMDtcclxufVxyXG5cclxuLmMtZHJvcGRvd246aG92ZXIgLmMtZHJvcGRvd25fX21lbnUsXHJcbi5jLWRyb3Bkb3duOmZvY3VzIC5jLWRyb3Bkb3duX19tZW51IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0b3A6ICRkcm9wZG93bi1vZmZzZXQ7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcbiIsIi8qIE1lbnUgc3R5bGVzICovXHJcbiRuYXZiYXItaGVpZ2h0OiByZW0oNjApO1xyXG5cclxuYm9keS5tZW51LS1vcGVue1xyXG5vdmVyZmxvdzpoaWRkZW47XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc20pe1xyXG4gICAgb3ZlcmZsb3c6YXV0bztcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIE1lbnVcclxuLmMtbWVudSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtbGlnaHRncmF5O1xyXG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHRvcDogJG5hdmJhci1oZWlnaHQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdmlzaWJpbGl0eSAwcyAwLjVzO1xyXG4gICAgei1pbmRleDogNDk5O1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jLW1lbnUtLW9wZW57XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBtb3ZlIHRvIG1pc2MgbGF5b3V0XHJcbiAgICAuYy1idG4tLWNsb3NlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogcmVtKDMwKTtcclxuICAgICAgICByaWdodDogcmVtKDMwKTtcclxuICAgICAgICB6LWluZGV4OiBpbmRleCgkZWxlbWVudHMsIG1vZGFscyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLW1lbnVfX3dyYXAge1xyXG5wb3NpdGlvbjogYWJzb2x1dGU7XHJcbm92ZXJmbG93OiBoaWRkZW47XHJcbndpZHRoOiAxMDAlO1xyXG5wYWRkaW5nOiByZW0oODApIHJlbSgxMCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgIGhlaWdodDogOTAlO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSg4MCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG4gICAgICAgIHBhZGRpbmc6IDEwJSAxNSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLW1lbnVfX2xldmVsLS1jdXJyZW50IHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbi5jLW1lbnVfX2l0ZW0ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJHRoZW1lLWxpZ2h0Z3JheSw5JSk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTApO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDpub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW1lbnVfX3N1YiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDIwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gYWNjb3JkaW9uXHJcbiAgICAmLmlzLWV4cGFuZGVkIHtcclxuICAgICAgICAuYy1tZW51X190b2dnbGU6OmFmdGVye1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmMtbWVudV9fc3ViIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNTBlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5jLW1lbnVfX2xpbmsge1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtYmFzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcztcclxuICAgIHBhZGRpbmc6IDFlbSAwIDFlbSAwO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItZGFyayAhaW1wb3J0YW50XHJcbiAgICB9XHJcblxyXG4gICAgJltjbGFzcyo9XCJ1LWJnXCJde1xyXG4gICAgICAgIHRleHQtaW5kZW50OiByZW0oMjApO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuLmMtbWVudV9faGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRicmFuZC1ibHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW1lbnVfX2xpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICAgICAgICBwYWRkaW5nOiAxZW0gMCAxZW0gMWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAwIDFlbSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWN0aXZlICYge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtYmx1ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRicmFuZC1ibHVlO1xyXG4gICAgICAgfVxyXG5cclxuICAgICAgICAuYy1tZW51X19saW5rIHtcclxuICAgICAgICBjb2xvcjogJGJyYW5kLWJsdWU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1ibHVlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmMtbWVudV9fdG9nZ2xlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogJG5hdmJhci1oZWlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBwYWRkaW5nOiAxZW0gMDtcclxuICAgIGhlaWdodDogMy45cmVtO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZW4oJHRoZW1lLWxpZ2h0Z3JheSw5JSk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdmcmluZ2VpY29ucyc7XHJcbiAgICAgICAgY29udGVudDogXCJcXGU5MTFcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBjb2xvcjogJGJyYW5kLWJsdWU7XHJcbiAgICAgICAgd2lkdGg6ICRuYXZiYXItaGVpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5jLW1lbnVfX3N1YiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtbGlnaHRlcmdyYXk7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMCAxZW07XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwZW07XHJcbiAgICAgICAgcGFkZGluZzogMWVtIDA7XHJcbiAgICB9XHJcblxyXG4gICAgbGkuYWN0aXZlIC5jLW1lbnVfX2xpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkYnJhbmQtYmx1ZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtYmx1ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJcclxuLmMtY3Rhe1xyXG4gIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKCRncmVlbiwgMjUlKTtcclxuICBwYWRkaW5nOnJlbSg0MCk7XHJcblxyXG4gIGgze1xyXG4gIG1hcmdpbjowO1xyXG4gIGNvbG9yOiNmZmY7XHJcblxyXG4gICAgICBhe1xyXG4gICAgICBjb2xvcjpsaWdodGVuKCRncmVlbiwzMCUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpLHNwYW4uaWNvbnt9XHJcblxyXG4gIH1cclxuXHJcbiAgLm8tYnV0dG9ue1xyXG4gIG1hcmdpbjoxNXB4IDAgMDtcclxuICBmbG9hdDpsZWZ0O1xyXG5cclxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiRtZCkge1xyXG4gICAgICBtYXJnaW46MDtcclxuICAgICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5bY2xhc3MqPVwiTGVhc2VcIl0gLmMtY3RhIC5vLWJ1dHRvbntcclxuZGlzcGxheTpub25lO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBVVElMSVRJRVNcclxuICpcclxuICogQGRlc2NyaXB0aW9uIDogVGhlc2UgY2xhc3NlcyB0cnVtcCBvdGhlciBwcmVjZWVkaW5nIHN0eWxlcy5cclxuICogICAgICAgICAgICAgICAgVXNlcmZ1bCBmb3IgcXVpY2tseSBhcHBseWluZyBjb21tb24gYWRqdXN0bWVudHMuXHJcbiAqL1xyXG5cclxuLmNme1xyXG5AaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLy8gU0hBRE9XU1xyXG4vLyBtYXkgYmUgb3ZlcmtpbGwgaWYgd2Ugb25seSBuZWVkIG9uZSBnZXQgcmlkIG9mIGl0ICYgdXNlIHNpbmdsZSB2YXJcclxuXHJcblxyXG5cclxuLnUtZnIge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4udS1mbCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLnUtaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udS10YyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi51LXRyIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4udS10bCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4udS13MTAwIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udS13NzUge1xyXG4gICAgd2lkdGg6IDc1JTtcclxufVxyXG5cclxuLnUtdzUwIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi51LXR1cCB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnUtYm9sZCB7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG59XHJcblxyXG4udS1zbW9vdGhfdHJhbnMge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLnUtYmctLWZpeGVkIHtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG59XHJcblxyXG5cclxuLnUtaGlkZS0tc20ge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== */
