/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

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

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

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

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

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

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

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

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

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

progress {
  vertical-align: baseline;
}

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

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

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

[hidden] {
  display: none;
}

@media print {
  html {
    background-color: #fff; }
  body,
  body.has-background-image,
  body:not(.has-background-image) {
    min-height: 100%;
    background-color: #fff;
    background-image: none; }
  a,
  .sup-header-default a {
    text-decoration: underline;
    color: #333; }
  main {
    width: 100% !important;
    margin-left: 0; }
  .site-footer {
    display: none; } }

body {
  font-size: 18px; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
  margin-bottom: 0; }

h1 {
  font-size: 54.93164px; }

h2 {
  font-size: 43.94531px; }

h3 {
  font-size: 35.15625px; }

h4 {
  font-size: 28.125px; }

h5 {
  font-size: 22.5px; }

h6 {
  font-size: 18px; }

.site-header {
  padding: 20px;
  background-color: #2ec1b4; }

.site-header-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row;
          flex-flow: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.site-footer {
  padding: 20px;
  background-color: #2ec1b4; }

.site-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1200px; }

.site-content.fixed-width {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto; }

.page-template-page-sidebar .site-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.page-template-page-sidebar .content-area {
  width: 70%; }

.page-template-page-sidebar .widget-area {
  width: 30%; }

.has-black-background-color {
  background-color: #232323; }

.has-white-color {
  color: #fff; }

.alignfull {
  margin-right: -100%;
  margin-left: -100%; }

.alignwide {
  margin-right: -5%;
  margin-left: -5%; }

.alignfull .wp-block-group__inner-container,
.alignwide .wp-block-group__inner-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1200px; }

.wsuwp-lodge-c_back-to-top_container {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 4; }

.wsuwp-lodge-c_back-to-top_link {
  display: block;
  width: 50px;
  height: 50px;
  padding: 10px;
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
  color: #fff;
  border: 3px solid #2ec1b4;
  border-radius: 100%;
  background-color: transparent; }
  .wsuwp-lodge-c_back-to-top_link > svg {
    fill: #2ec1b4; }

.wsuwp-lodge-c_back-to-top_link:hover {
  background-color: #e6e6e6; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbm9ybWFsaXplLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3JjL3Njc3MvYmFzZS9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3JjL3Njc3MvYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zcmMvc2Nzcy9iYXNlL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3JjL3Njc3MvYmFzZS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21vZHVsYXJzY2FsZS1zYXNzL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZS9fZnVuY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3JjL3Njc3MvZ2xvYmFscy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3NyYy9zY3NzL2dsb2JhbHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zcmMvc2Nzcy9nbG9iYWxzL19zaXRlLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3JjL3Njc3MvY29tcG9uZW50cy9fYmFjay10by10b3Auc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyRUFBMkU7O0FBRTNFOytFQUMrRTs7QUFFL0U7OztFQUdFOztBQUVGO0VBQ0UsaUJBQWlCLEVBQUUsTUFBTTtFQUN6Qiw4QkFBOEIsRUFBRSxNQUFNO0FBQ3hDOztBQUVBOytFQUMrRTs7QUFFL0U7O0VBRUU7O0FBRUY7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLGNBQWM7RUFDZCxnQkFBZ0I7QUFDbEI7O0FBRUE7K0VBQytFOztBQUUvRTs7O0VBR0U7O0FBRUY7RUFDRSx1QkFBdUIsRUFBRSxNQUFNO0VBQy9CLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGlCQUFpQixF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eUJOMEIrQiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAbWVkaWEgcHJpbnQge1xuXG5cdGh0bWwge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdH1cblxuXHRib2R5LFxuXHRib2R5Lmhhcy1iYWNrZ3JvdW5kLWltYWdlLFxuXHRib2R5Om5vdCguaGFzLWJhY2tncm91bmQtaW1hZ2UpIHtcblx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHR9XG5cblx0YSxcblx0LnN1cC1oZWFkZXItZGVmYXVsdCBhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdGNvbG9yOiAjMzMzO1xuXHR9XG5cblx0bWFpbiB7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdC5zaXRlLWZvb3RlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiYm9keSB7XG5cdGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdEBpbmNsdWRlIGNsZWFyLW1hcmdpbigpO1xufVxuXG5oMSB7XG5cdGZvbnQtc2l6ZTogbXMoNSk7XG59XG5cbmgyIHtcblx0Zm9udC1zaXplOiBtcyg0KTtcbn1cblxuaDMge1xuXHRmb250LXNpemU6IG1zKDMpO1xufVxuXG5oNCB7XG5cdGZvbnQtc2l6ZTogbXMoMik7XG59XG5cbmg1IHtcblx0Zm9udC1zaXplOiBtcygxKTtcbn1cblxuaDYge1xuXHRmb250LXNpemU6IG1zKDApO1xufVxuIiwiLy8gR2xvYmFsIFZhcmlhYmxlc1xuJGdsb2JhbC1mb250LXNpemU6IDE4cHg7XG4kZ2xvYmFsLWJhc2VsaW5lOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuODtcbiRnbG9iYWwtZ3JpZC1zaXplOiAxMjAwcHg7XG4kZ2xvYmFsLWJhc2UtdW5pdDogMjBweDtcblxuLy8gTW9kdWxhciBTY2FsZSBmb3IgSGVhZGxpbmVzXG4kbW9kdWxhcnNjYWxlOiAoXG5cdGJhc2U6IDE4cHgsIC8vIG1hdGNoIHRvIGdsb2JhbCB2YXIgKGhhcyB0byBiZSBwYXNzZWQgbWFudWFsbHkgZm9yIG5vdywgc29ycnkpXG5cdHJhdGlvOiAxLjI1IC8vIHJhdGlvIHlvdSdkIGxpa2UgeW91ciBoZWFkbGluZXMgdG8gc2NhbGUgYXQgKHNlZSBodHRwczovL3d3dy5tb2R1bGFyc2NhbGUuY29tLz8xJmVtJjEuMjUpXG4pO1xuXG4vLyBCcmVha3BvaW50c1xuJGJyZWFrcG9pbnRzOiAoXG5cdFwicGhvbmVcIjogICAgICAgIDQwMHB4LFxuXHRcInBob25lLXdpZGVcIjogICA0ODBweCxcblx0XCJwaGFibGV0XCI6ICAgICAgNTYwcHgsXG5cdFwidGFibGV0LXNtYWxsXCI6IDY0MHB4LFxuXHRcInRhYmxldFwiOiAgICAgICA3NjhweCxcblx0XCJ0YWJsZXQtd2lkZVwiOiAgMTAyNHB4LFxuXHRcImRlc2t0b3BcIjogICAgICAxMjQ4cHgsXG5cdFwiZGVza3RvcC13aWRlXCI6IDE0NDBweFxuKTtcblxuLy8gQ29sb3IgVmFyaWFibGVzXG4kcHJpbWFyeTogIzJlYzFiNDtcbiRzZWNvbmRhcnk6ICNkOTVmMTg7XG4kYmxhY2s6ICMyMzIzMjM7XG4kd2hpdGU6ICNmZmY7XG5cbi8vIENvbG9yIE1hcCBmb3IgTWl4aW5cbiRjb2xvcnM6IChcblx0cHJpbWFyeTogKFxuXHRcdGJhc2U6ICRwcmltYXJ5LFxuXHRcdGxpZ2h0OiBsaWdodGVuKCRwcmltYXJ5LCAxNSUpLFxuXHRcdGxpZ2h0ZXI6IGxpZ2h0ZW4oJHByaW1hcnksIDI1JSksXG5cdFx0bGlnaHRlc3Q6IGxpZ2h0ZW4oJHByaW1hcnksIDUwJSksXG5cdFx0ZGFyazogZGFya2VuKCRwcmltYXJ5LCAxNSUpLFxuXHRcdHRyYW5zOiB0cmFuc3BhcmVudGl6ZSgkcHJpbWFyeSwgLjUpXG5cdCksXG5cdHNlY29uZGFyeTogKFxuXHRcdGJhc2U6ICRzZWNvbmRhcnksXG5cdFx0bGlnaHQ6IGxpZ2h0ZW4oJHNlY29uZGFyeSwgMTUlKSxcblx0XHRsaWdodGVyOiBsaWdodGVuKCRzZWNvbmRhcnksIDI1JSksXG5cdFx0bGlnaHRlc3Q6IGxpZ2h0ZW4oJHNlY29uZGFyeSwgNTAlKSxcblx0XHRkYXJrOiBkYXJrZW4oJHNlY29uZGFyeSwgMTUlKSxcblx0XHR0cmFuczogdHJhbnNwYXJlbnRpemUoJHNlY29uZGFyeSwgLjUpXG5cdCksXG5cdGJsYWNrOiAoXG5cdFx0YmFzZTogJGJsYWNrLFxuXHQpLFxuXHR3aGl0ZTogKFxuXHRcdGJhc2U6ICR3aGl0ZSxcblx0XHRkYXJrZW4tMTA6IGRhcmtlbigkd2hpdGUsIDEwJSlcblx0KVxuKTtcbiIsIi8vXG4vLyBDb2xvciBNaXhpblxuLy9cbkBmdW5jdGlvbiBjb2xvcigkcGFsZXR0ZSwgJHRvbmU6IFwiYmFzZVwiKSB7XG5cdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRwYWxldHRlKSwgJHRvbmUpO1xufVxuXG4vL1xuLy8gTWVkaWEgUXVlcmllc1xuLy9cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIG1xKFwic21hbGxcIikgeyBjb2xvcjogcmVkOyB9XG4vL1xuJGJyZWFrcG9pbnRzOiAoXG5cdFwic21hbGxcIjogIDc2OHB4LFxuXHRcIm1lZGl1bVwiOiAxMDI0cHgsXG5cdFwibGFyZ2VcIjogIDE0NDBweCxcbik7XG5cbkBtaXhpbiBtcSgkd2lkdGgsICR0eXBlOiBtaW4pIHtcblx0QGlmIG1hcF9oYXNfa2V5KCRicmVha3BvaW50cywgJHdpZHRoKSB7XG5cdFx0JHdpZHRoOiBtYXBfZ2V0KCRicmVha3BvaW50cywgJHdpZHRoKTtcblxuXHRcdEBpZiAkdHlwZSA9PSBtYXgge1xuXHRcdFx0JHdpZHRoOiAkd2lkdGggLSAxcHg7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoI3skdHlwZX0td2lkdGg6ICR3aWR0aCkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8vXG4vLyBaLWluZGV4XG4vL1xuLy8gRXhhbXBsZTogei1pbmRleDogeihcInNpdGUtaGVhZGVyXCIpO1xuLy9cbiR6LWluZGV4ZXM6IChcblx0XCJvdXRkYXRlZC1icm93c2VyXCIsXG5cdFwibW9kYWxcIixcblx0XCJzaXRlLWhlYWRlclwiLFxuXHRcInBhZ2Utd3JhcHBlclwiLFxuXHRcInNpdGUtZm9vdGVyXCJcbik7XG5cbkBmdW5jdGlvbiB6KCRuYW1lKSB7XG5cdEBpZiBpbmRleCgkei1pbmRleGVzLCAkbmFtZSkge1xuXHRcdEByZXR1cm4gKGxlbmd0aCgkei1pbmRleGVzKSAtIGluZGV4KCR6LWluZGV4ZXMsICRuYW1lKSkgKyAxO1xuXHR9XG5cblx0QGVsc2Uge1xuXHRcdEB3YXJuIFwiVGhlcmUgaXMgbm8gaXRlbSBcIiN7JG5hbWV9XCIgaW4gdGhpcyBsaXN0OyBjaG9vc2Ugb25lIG9mOiAjeyR6LWluZGV4ZXN9XCI7XG5cdFx0QHJldHVybiBudWxsO1xuXHR9XG59XG5cbi8vXG4vLyBDbGVhciBNYXJnaW5cbi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBjbGVhci1tYXJnaW4obGVmdCk7XG5AbWl4aW4gY2xlYXItbWFyZ2luKCRwb3NpdGlvbjogYm90dG9tKSB7XG5cdG1hcmdpbi0jeyRwb3NpdGlvbn06IDA7XG59XG5cbi8vXG4vLyBDbGVhciBQYWRkaW5nXG4vL1xuLy8gRXhhbXBsZTogQGluY2x1ZGUgY2xlYXItcGFkZGluZyhsZWZ0KTtcbkBtaXhpbiBjbGVhci1wYWRkaW5nKCRwb3NpdGlvbjogYm90dG9tKSB7XG5cdHBhZGRpbmctI3skcG9zaXRpb259OiAwO1xufVxuXG4vL1xuLy8gTGF5b3V0IFRvb2xzXG4vL1xuLy8gRXhhbXBsZTogQGluY2x1ZGUgcm93KFwiZml4ZWRcIiwgNCk7XG5AbWl4aW4gcm93KCR0eXBlOiBmaXhlZCwgJHBhZGRpbmctbW9kaWZpZXI6IDEpIHtcblx0ZGlzcGxheTogZmxleDtcblxuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZzogMCAkZ2xvYmFsLWJhc2UtdW5pdCAqICRwYWRkaW5nLW1vZGlmaWVyO1xuXG5cdEBpZiAoJHR5cGUgPT0gXCJmaXhlZFwiKSB7XG5cdFx0bWF4LXdpZHRoOiAkZ2xvYmFsLWdyaWQtc2l6ZTtcblx0fVxuXG5cdEBlbHNlIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuQG1peGluIGNvbHVtbigkY291bnQ6IDEpIHtcblx0d2lkdGg6IHBlcmNlbnRhZ2UoJGNvdW50IC8gMTIpO1xufVxuXG5AbWl4aW4gc2lkZWJhcigpIHtcblx0d2lkdGg6IDMwJTtcbn1cblxuQG1peGluIGd1dHRlcigpIHtcblx0cGFkZGluZy1yaWdodDogJGdsb2JhbC1iYXNlLXVuaXQ7XG5cdHBhZGRpbmctbGVmdDogJGdsb2JhbC1iYXNlLXVuaXQ7XG59XG5cbi8vXG4vLyBBZGQgcmVxdWlyZWQgcHN1ZWRvIGVsZW1lbnQgcHJvcGVydGllc1xuLy9cbkBtaXhpbiBwc3VlZG8oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdGNvbnRlbnQ6IFwiXCI7XG59XG4iLCJAZnVuY3Rpb24gbXMtZnVuY3Rpb24oJHY6IDAsICRiYXNlOiBmYWxzZSwgJHJhdGlvOiBmYWxzZSwgJHRocmVhZDogZmFsc2UsICRzZXR0aW5nczogJG1vZHVsYXJzY2FsZSkge1xuXG4gIC8vIFBhcnNlIHNldHRpbmdzXG4gICRtcy1zZXR0aW5nczogbXMtc2V0dGluZ3MoJGJhc2UsJHJhdGlvLCR0aHJlYWQsJHNldHRpbmdzKTtcbiAgJGJhc2U6IG50aCgkbXMtc2V0dGluZ3MsIDEpO1xuICAkcmF0aW86IG50aCgkbXMtc2V0dGluZ3MsIDIpO1xuXG4gIC8vIFJlbmRlciB0YXJnZXQgdmFsdWVzIGZyb20gc2V0dGluZ3MuXG4gIEBpZiB1bml0KCRyYXRpbykgIT0gJycge1xuICAgICRyYXRpbzogbXMtdGFyZ2V0KCRyYXRpbywkYmFzZSlcbiAgfVxuXG4gIC8vIEZhc3QgY2FsYyBpZiBub3QgbXVsdGkgc3RyYW5kZWRcbiAgQGlmKGxlbmd0aCgkYmFzZSkgPT0gMSkge1xuICAgIEByZXR1cm4gbXMtcG93KCRyYXRpbywgJHYpICogJGJhc2U7XG4gIH1cblxuICAvLyBDcmVhdGUgbmV3IGJhc2UgYXJyYXlcbiAgJG1zLWJhc2VzOiBudGgoJGJhc2UsMSk7XG5cbiAgLy8gTm9ybWFsaXplIGJhc2UgdmFsdWVzXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRiYXNlKSB7XG4gICAgLy8gaW5pdGlhbCBiYXNlIHZhbHVlXG4gICAgJG1zLWJhc2U6IG50aCgkYmFzZSwkaSk7XG4gICAgLy8gSWYgdGhlIGJhc2UgaXMgYmlnZ2VyIHRoYW4gdGhlIG1haW4gYmFzZVxuICAgIEBpZigkbXMtYmFzZSA+IG50aCgkYmFzZSwxKSkge1xuICAgICAgLy8gZGl2aWRlIHRoZSB2YWx1ZSB1bnRpbCBpdCBhbGlnbnMgd2l0aCBtYWluIGJhc2UuXG4gICAgICBAd2hpbGUoJG1zLWJhc2UgPiBudGgoJGJhc2UsMSkpIHtcbiAgICAgICAgJG1zLWJhc2U6ICRtcy1iYXNlIC8gJHJhdGlvO1xuICAgICAgfVxuICAgICAgJG1zLWJhc2U6ICRtcy1iYXNlICogJHJhdGlvO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYmFzZSBpcyBzbWFsbGVyIHRoYW4gdGhlIG1haW4gYmFzZS5cbiAgICBAZWxzZSBpZiAoJG1zLWJhc2UgPCBudGgoJGJhc2UsMSkpIHtcbiAgICAgIC8vIHB1bXAgdXAgdGhlIHZhbHVlIHVudGlsIGl0IGFsaWducyB3aXRoIG1haW4gYmFzZS5cbiAgICAgIEB3aGlsZSAkbXMtYmFzZSA8IG50aCgkYmFzZSwxKSB7XG4gICAgICAgICRtcy1iYXNlOiAkbXMtYmFzZSAqICRyYXRpbztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUHVzaCBpbnRvIG5ldyBhcnJheVxuICAgICRtcy1iYXNlczogYXBwZW5kKCRtcy1iYXNlcywkbXMtYmFzZSk7XG4gIH1cblxuICAvLyBTb3J0IGFycmF5IGZyb20gc21hbGxlc3QgdG8gbGFyZ2VzdC5cbiAgJG1zLWJhc2VzOiBtcy1zb3J0KCRtcy1iYXNlcyk7XG5cbiAgLy8gRmluZCBzdGVwIHRvIHVzZSBpbiBjYWxjdWxhdGlvblxuICAkdnRlcDogZmxvb3IoJHYgLyBsZW5ndGgoJG1zLWJhc2VzKSk7XG4gIC8vIEZpbmQgYmFzZSB0byB1c2UgaW4gY2FsY3VsYXRpb25cbiAgJG1zLWJhc2U6IHJvdW5kKCgkdiAvIGxlbmd0aCgkbXMtYmFzZXMpIC0gJHZ0ZXApICogbGVuZ3RoKCRtcy1iYXNlcykpICsgMTtcblxuICBAcmV0dXJuIG1zLXBvdygkcmF0aW8sICR2dGVwKSAqIG50aCgkbXMtYmFzZXMsJG1zLWJhc2UpO1xufSIsIi5zaXRlLWhlYWRlciB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgYmFzZSk7XG59XG5cbi5zaXRlLWhlYWRlci13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC1mbG93OiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbiIsIi5zaXRlLWZvb3RlciB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgYmFzZSk7XG59XG5cbi5zaXRlLWluZm8ge1xuXHRAaW5jbHVkZSByb3coXCJmaXhlZFwiKTtcbn1cbiIsIi5zaXRlLWNvbnRlbnQuZml4ZWQtd2lkdGgge1xuXHRtYXgtd2lkdGg6ICRnbG9iYWwtZ3JpZC1zaXplO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXNpZGViYXIgLnNpdGUtY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2lkZWJhciAuY29udGVudC1hcmVhLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1zaWRlYmFyIC53aWRnZXQtYXJlYSB7XG5cblxufVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXNpZGViYXIgLmNvbnRlbnQtYXJlYSB7XG5cdHdpZHRoOiA3MCU7XG59XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2lkZWJhciAud2lkZ2V0LWFyZWEge1xuXHR3aWR0aDogMzAlO1xufVxuXG4uaGFzLWJsYWNrLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjaywgYmFzZSk7XG59XG5cbi5oYXMtd2hpdGUtY29sb3Ige1xuXHRjb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xufVxuXG4uYWxpZ25mdWxsIHtcblx0bWFyZ2luLXJpZ2h0OiAtMTAwJTtcblx0bWFyZ2luLWxlZnQ6IC0xMDAlO1xufVxuXG4uYWxpZ253aWRlIHtcblx0bWFyZ2luLXJpZ2h0OiAtNSU7XG5cdG1hcmdpbi1sZWZ0OiAtNSU7XG59XG5cbi5hbGlnbmZ1bGwgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIsXG4uYWxpZ253aWRlIC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcblx0QGluY2x1ZGUgcm93KFwiZml4ZWRcIik7XG59XG4iLCIud3N1d3AtbG9kZ2UtY19iYWNrLXRvLXRvcF9jb250YWluZXIge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAyMHB4O1xuXHRib3R0b206IDIwcHg7XG5cdHotaW5kZXg6IHooXCJtb2RhbFwiKTtcbn1cblxuLndzdXdwLWxvZGdlLWNfYmFjay10by10b3BfbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdHdpZHRoOiA1MHB4O1xuXHRoZWlnaHQ6IDUwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cblx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuXHRjb2xvcjogY29sb3Iod2hpdGUsIGJhc2UpO1xuXHRib3JkZXI6IDNweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBiYXNlKTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0JiA+IHN2ZyB7XG5cdFx0ZmlsbDogY29sb3IocHJpbWFyeSwgYmFzZSk7XG5cdH1cbn1cblxuLndzdXdwLWxvZGdlLWNfYmFjay10by10b3BfbGluazpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlLCBkYXJrZW4tMTApO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/