/* 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,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, 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;
}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */



html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

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

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

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

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

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

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

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

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

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

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

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

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

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

td,
th {
  padding: 0;
}

/**
 *
 * FRNT Reset
 * Normalize v3.0.2 + Custom 
 */

* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

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;
}

body {
  line-height: 1;
}

blockquote,
q {
  quotes: none;
}

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

.ir {
  display: block;
  text-indent: -999em;
  overflow: hidden;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

.group:before,
.group:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
}

.group:after {
  clear: both;
}

.group {
  zoom: 1;
}

/*! normalize.css v7.0.0 | 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
 *    IE on Windows Phone and in iOS.
 */

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

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

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  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
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 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
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 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 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * 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 style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 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
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

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

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

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

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

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * 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 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

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

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 and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details,
menu {
  display: block;
}

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

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

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

template {
  display: none;
}

/* Hidden
   ========================================================================== */

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

[hidden] {
  display: none;
}

html {
  box-sizing: border-box;
}

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

a {
  color: inherit;
  text-decoration: none;
}

body {
  line-height: 1.4;
}

figure {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

mark {
  background: none;
  color: inherit;
}

.grid-1 {
  width: 6%;
}

.grid-1-offset-1 {
  width: 8%;
}

.grid-1-offset-2 {
  width: 3%;
}

.grid-2 {
  width: 14%;
}

.grid-2-offset-1 {
  width: 17%;
}

.grid-2-offset-2 {
  width: 11%;
}

.grid-3 {
  width: 23%;
}

.grid-3-offset-1 {
  width: 25%;
}

.grid-3-offset-2 {
  width: 20%;
}

.grid-4 {
  width: 31%;
}

.grid-4-offset-1 {
  width: 34%;
}

.grid-4-offset-2 {
  width: 28%;
}

.grid-5 {
  width: 40%;
}

.grid-5-offset-1 {
  width: 42%;
}

.grid-5-offset-2 {
  width: 37%;
}

.grid-6 {
  width: 48%;
}

.grid-6-offset-1 {
  width: 51%;
}

.grid-6-offset-2 {
  width: 45%;
}

.grid-7 {
  width: 57%;
}

.grid-7-offset-1 {
  width: 59%;
}

.grid-7-offset-2 {
  width: 54%;
}

.grid-8 {
  width: 65%;
}

.grid-8-offset-1 {
  width: 68%;
}

.grid-8-offset-2 {
  width: 62%;
}

.grid-9 {
  width: 74%;
}

.grid-9-offset-1 {
  width: 76%;
}

.grid-9-offset-2 {
  width: 71%;
}

.grid-10 {
  width: 82%;
}

.grid-10-offset-1 {
  width: 85%;
}

.grid-10-offset-2 {
  width: 79%;
}

.grid-11 {
  width: 91%;
}

.grid-11-offset-1 {
  width: 93%;
}

.grid-11-offset-2 {
  width: 88%;
}

.grid-12 {
  width: 100%;
}

.grid-12-offset-1 {
  width: 102%;
}

.grid-12-offset-2 {
  width: 96%;
}

@media only screen and (min-width: 750px) and (max-width: 1029px) {
  .grid-tablet-1 {
    width: 6%;
  }

  .grid-tablet-2 {
    width: 14%;
  }

  .grid-tablet-3 {
    width: 23%;
  }

  .grid-tablet-4 {
    width: 31%;
  }

  .grid-tablet-5 {
    width: 40%;
  }

  .grid-tablet-6 {
    width: 48%;
  }

  .grid-tablet-7 {
    width: 57%;
  }

  .grid-tablet-8 {
    width: 65%;
  }

  .grid-tablet-9 {
    width: 74%;
  }

  .grid-tablet-10 {
    width: 82%;
  }

  .grid-tablet-11 {
    width: 91%;
  }

  .grid-tablet-12 {
    width: 100%;
  }
}

@media only screen and (max-width: 749px) {
  .grid-mobile-1 {
    width: 6%;
  }

  .grid-mobile-2 {
    width: 14%;
  }

  .grid-mobile-3 {
    width: 23%;
  }

  .grid-mobile-4 {
    width: 31%;
  }

  .grid-mobile-5 {
    width: 40%;
  }

  .grid-mobile-6 {
    width: 48%;
  }

  .grid-mobile-7 {
    width: 57%;
  }

  .grid-mobile-8 {
    width: 65%;
  }

  .grid-mobile-9 {
    width: 74%;
  }

  .grid-mobile-10 {
    width: 82%;
  }

  .grid-mobile-11 {
    width: 91%;
  }

  .grid-mobile-12 {
    width: 100%;
  }
}

::-moz-selection {
  background: #000;
  color: #fff;
}

::selection {
  background: #000;
  color: #fff;
}

a {
  color: inherit;
  text-decoration: none;
}

html {
  font-size: 16px;
}

body {
  background: #fff;
  color: #1f1f1f;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 400;
  overflow-x: hidden;
}

mark {
  background: none;
}

:focus {
  outline: none;
}

input::-ms-clear {
  display: none;
}

.container,
.card-article.is-featured .card-article__main-image,
.block-topic__main-image {
  margin: 0 auto;
  position: relative;
  max-width: 1230px;
  width: 90%;
}

.boxes {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.site {
  padding-top: 92px;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .site {
    padding-top: 85px;
  }
}

input[type="text"],
input[type="email"],
input[type="password"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

.prop-full-width {
  display: block;
  height: auto;
  width: 100%;
}

.prop-hide-overflow {
  overflow: hidden;
}

.prop-max-width {
  display: block;
  height: auto;
  max-width: 100%;
}

.prop-overlay {
  position: relative;
  z-index: 20;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.prop-image-gradient-darken {
  position: relative;
  z-index: 0;
}

.prop-image-gradient-darken > img {
  position: relative;
  z-index: -1;
}

.prop-image-gradient-darken:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.4));
  content: " ";
}

.prop-image-gradient-darken--light {
  position: relative;
}

.prop-image-gradient-darken--light > img {
  position: relative;
  z-index: -1;
}

.prop-image-gradient-darken--light:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: linear-gradient(transparent -10%, rgba(0, 0, 0, 0.14));
  content: " ";
}

.prop-darken-image {
  position: relative;
}

.prop-darken-image:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.45);
  content: " ";
}

.fade-in-transition {
  opacity: 1;
  transition: all .4s;
  transform: translateY(0);
  visibility: visible;
}

.fade-in-enter,
.fade-in-leave {
  opacity: 0;
  transform: translateY(50px);
  visibility: hidden;
}

.component-button {
  background: none;
  border: 2px solid #9FA5A9;
  border-radius: 30px;
  color: #9FA5A9;
  display: inline-block;
  font-weight: 600;
  transition: all 0.4s;
}

.component-button:hover {
  background: #9FA5A9;
  color: #fff;
}

.component-button.is-file {
  position: relative;
}

.component-button.is-file input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.component-button-menu,
.block-search__close {
  border-color: #9FA5A9;
  display: block;
  width: 36px;
}

.component-button-menu .lines .line,
.block-search__close .lines .line {
  background: #9FA5A9;
  height: 2px;
  transition: background 0.4s;
  position: relative;
}

.component-button-menu .lines .line-2,
.block-search__close .lines .line-2 {
  margin: 8px 0;
}

.component-button-menu:hover,
.block-search__close:hover {
  border-color: #000;
  outline: none;
}

.component-button-menu:hover .line,
.block-search__close:hover .line {
  background: #000;
}

.component-button-blocky {
  background: #9FA5A9;
  display: inline-block;
  font-size: 0.625rem;
  letter-spacing: 0.02em;
  padding: 7.5px 15px;
  text-transform: uppercase;
}

.component-button-close {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 36px;
  width: 36px;
  border-color: #9FA5A9;
}

.component-button-close .lines {
  width: 50%;
}

.component-button-close .lines .line {
  background: #9FA5A9;
  height: 2px;
  margin: 4px 0;
  position: relative;
}

.component-button-close .lines .line-1 {
  top: 6px;
  transform: rotate(45deg);
}

.component-button-close .lines .line-2 {
  opacity: 0;
}

.component-button-close .lines .line-3 {
  top: -6px;
  transform: rotate(-45deg);
}

.component-button-search {
  border-color: #9FA5A9;
}

.component-button-search svg {
  display: block;
  height: 20px;
  fill: #1f1f1f;
  width: 20px;
}

.component-button-search:focus,
.component-button-search:hover {
  border-color: #000;
  outline: none;
}

.component-button-search:focus svg,
.component-button-search:hover svg {
  fill: #000;
}

.component-button-social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 32px;
  width: 32px;
  border-color: #fff;
  transition: all 0.4s;
}

@media only screen and (max-width: 769px) {
  .component-button-social {
    height: 58px;
    width: 58px;
  }
}

@media only screen and (max-width: 749px) {
  .component-button-social {
    height: 40px;
    width: 40px;
  }
}

.component-button-social svg {
  position: relative;
  z-index: 10;
  display: block;
  fill: #fff;
  height: auto;
  transition: all 0.4s;
}

.component-button-social.is-facebook svg {
  height: 10px;
  width: 6px;
  top: 0px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-facebook svg {
    height: auto;
    width: 9px;
  }
}

.component-button-social.is-twitter svg {
  height: 8px;
  width: 10px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-twitter svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-google svg {
  height: 10px;
  width: 10px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-google svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-linkedin svg {
  height: auto;
  width: 8px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-linkedin svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-instagram svg {
  height: 12px;
  width: 12px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-instagram svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-rss svg {
  display: block;
  height: 8px;
  width: 7px;
  position: relative;
}

.component-button-pager {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 35px;
  width: 35px;
  background: #fff;
  border-color: #9FA5A9;
  border-width: 2px;
  margin: 0 7.5px 0 0;
  transition: background 0.4s;
  overflow: hidden;
}

.component-button-pager svg {
  display: block;
  fill: #9FA5A9;
  position: relative;
  width: 8px;
}

.component-button-pager.is-left svg {
  right: 1px;
}

.component-button-pager.is-left:hover svg {
  animation: pager 0.5s reverse;
}

.component-button-pager.is-right svg {
  left: 1px;
}

.component-button-pager.is-right:hover svg {
  animation: pager 0.5s;
}

.component-button-pager.is-inactive {
  opacity: 0.1;
}

.component-button-more {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  line-height: 0;
  margin-bottom: 30px;
}

.component-button-more svg {
  display: block;
  fill: #DD2222;
  height: 30px;
  margin-left: 15px;
  transform: rotate(90deg);
  width: 30px;
}

.component-button-more > span {
  color: #DD2222;
  display: block;
  font-size: 30px;
}

.component-button-more.has-topstroke {
  border-top: 1px solid #9FA5A9;
  padding-top: 30px !important;
}

.component-button-newsletter {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.component-button-newsletter svg {
  display: block;
  height: auto;
  margin-right: 5px;
  width: 21px;
  fill: #1f1f1f;
}

@media only screen and (max-width: 1199px) {
  .component-button-newsletter svg {
    margin-right: 0;
  }
}

.component-button-newsletter-inline {
  border: 2px solid;
  border-width: 2px 0;
  -o-border-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
     border-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
  border-image-slice: 1;
  margin: 30px 0;
}

@media only screen and (min-width: 750px) {
  .component-button-newsletter-inline {
    display: none;
  }
}

.component-button-newsletter-inline a {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  padding: 15px 0;
  text-align: left;
}

.component-button-recommended-inline {
  border: 2px solid #2c383c;
  border-width: 2px 0;
  border-image-slice: 1;
  margin: 30px 0;
}

.component-button-recommended-inline a {
  color: #1f1f1f;
  display: block;
  font-size: 24px;
  font-weight: 600;
  padding: 30px 0;
  text-align: center;
}

@keyframes pager {
  0% {
    transform: translateX(0);
  }

  49% {
    transform: translateX(250%);
  }

  50% {
    transform: translateX(-250%);
  }

  0% {
    transform: translateX(0);
  }
}

.component-gradient-button {
  background-image: linear-gradient(to right, #d22, #2b388f) !important;
  color: #fff !important;
  display: block;
  padding: 14px;
  font-size: 16px;
  margin: 30px auto 0;
  max-width: 250px;
  text-align: center;
  width: 100%;
}

.download-button {
  text-align: center;
  background-color: #fff !important;
  border: 0;
  box-shadow: none;
  display: block;
  padding: 15px 25px;
  background-image: linear-gradient(to right, #d22, #2b388f) !important;
  color: #fff !important;
  font-size: 16px;
  margin: 0 auto;
}

.download-button a {
  color: #fff !important;
  text-shadow: none !important;
  text-decoration: none !important;
  background-image: none !important;
}

.component-heading {
  color: #1f1f1f;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 769px) {
  .component-heading {
    font-size: 24px;
  }
}

.component-heading svg {
  fill: #1f1f1f;
  display: inline-block;
  height: 30px;
  width: 30px;
  margin-left: 7.5px;
  margin-top: 2px;
}

@media only screen and (max-width: 769px) {
  .component-heading svg {
    height: 22px;
    width: 22px;
  }
}

.component-heading.has-topstroke {
  border-top: 1px solid #9FA5A9;
  padding-top: 30px !important;
}

.component-heading.show-mobile {
  display: none;
}

@media only screen and (max-width: 769px) {
  .component-heading.show-mobile {
    display: block;
  }
}

.is-dark .component-heading {
  color: #fff;
}

.component-gallery {
  position: relative;
  z-index: 10;
  background: #f5f5f5;
}

@media only screen and (max-width: 1029px) {
  .component-gallery {
    background: #fff;
  }
}

.component-gallery .wp-caption {
  height: 100%;
}

.component-gallery .wp-caption-text {
  transform: translateY(0) !important;
}

@media only screen and (min-width: 1030px) {
  .component-gallery .wp-caption-text {
    padding-bottom: 0 !important;
  }
}

.component-gallery .wp-caption-text p {
  font-size: 0.875rem !important;
  transition: height .4s;
  overflow: hidden;
  height: 0;
}

@media only screen and (max-width: 1029px) {
  .component-gallery .wp-caption-text p {
    height: auto;
  }
}

.component-gallery .slick-dots {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  list-style: none;
  margin: 0 0 5px 0;
}

.component-gallery .slick-dots li {
  margin: 0 4px !important;
}

.component-gallery .slick-dots li.slick-active button {
  background: none;
}

.component-gallery .slick-dots button {
  background: #1f1f1f;
  border: 1px solid #1f1f1f;
  border-radius: 100%;
  height: 10px;
  margin: 0;
  padding: 0;
  text-indent: -999999px;
  width: 10px;
}

.component-gallery .component-button-pager {
  background: none;
  border-color: #fff;
}

.component-gallery .component-button-pager svg {
  fill: #fff;
}

.component-gallery .component-button-pager:hover {
  background: rgba(0, 0, 0, 0.8);
}

.component-gallery .component-gallery__numbers {
  position: relative;
  z-index: 10;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  margin: 0 0 0 7px;
  padding: 1px 0 0 40px;
}

.component-gallery .component-gallery__numbers > .line {
  background: #000;
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  width: 25px;
}

@media only screen and (min-width: 1030px) {
  .component-gallery:hover .wp-caption-text p {
    height: 75px;
  }
}

.component-gallery.is-ebook .component-gallery__nav {
  padding: 15px;
}

.component-gallery.is-ebook .component-button-pager {
  border-color: #000;
}

.component-gallery.is-ebook .component-button-pager svg {
  fill: #000;
}

.component-gallery.is-ebook .component-button-pager:hover {
  background: rgba(255, 255, 255, 0.8);
}

.component-gallery__nav {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 50;
  margin-bottom: 30px;
}

@media only screen and (max-width: 1029px) {
  .component-gallery__nav {
    display: none;
  }
}

.component-gallery__nav a {
  background-image: none !important;
  text-shadow: none !important;
}

.view-single-post .content .component-gallery .wp-caption {
  margin: 0;
}

.component-magazine-rack {
  background-color: #f5f5f5;
  margin-bottom: 60px;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .component-magazine-rack {
    border-top: 4px solid #2c383c;
  }
}

.component-magazine-rack .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.component-magazine-rack .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-magazine-rack .boxing figure {
  margin-top: 25px;
}

.component-magazine-rack .component-heading {
  text-transform: capitalize;
}

@media only screen and (max-width: 829px) {
  .component-magazine-rack {
    padding: 30px 0 0;
  }

  .component-magazine-rack > .container,
  .card-article.is-featured .component-magazine-rack > .card-article__main-image,
  .component-magazine-rack > .block-topic__main-image {
    width: 100%;
  }

  .component-magazine-rack .component-heading {
    padding: 0 30px;
  }
}

.component-magazine-rack.is-last {
  margin-bottom: 0;
}

.component-menu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-menu > li {
  margin: 0 15px;
  position: relative;
}

.component-menu > li .action-toggle-submenu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-menu > li .action-toggle-submenu .icon-chevron-down {
  background-image: url(../fonts/chevron-down.svg?e62234319323c0c1adbcfb907c6f0636);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 10px;
  margin-left: 5px;
  width: 10px;
}

.tag .component-menu .is-active a:not(.action-toggle-submenu),
.category .component-menu .is-active a:not(.action-toggle-submenu) {
  border-bottom: 2px solid red;
  padding-bottom: 2px;
}

.component-newsletter-policy {
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
}

.component-newsletter-policy a {
  border-bottom: 1px solid #fff;
}

.component-newsletter-policy a:hover {
  color: #fff;
}

.block-newsletter-overlay .component-newsletter-policy,
.block-newsletter-sidebar .component-newsletter-policy {
  color: #000;
}

.block-newsletter-overlay .component-newsletter-policy a,
.block-newsletter-sidebar .component-newsletter-policy a {
  border-bottom: 1px solid #000;
}

.block-newsletter-overlay .component-newsletter-policy a:hover,
.block-newsletter-sidebar .component-newsletter-policy a:hover {
  color: #000;
}

.component-recommended-inline {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 18.75px;
  padding: 37.5px 0;
}

@media only screen and (min-width: 770px) {
  .component-recommended-inline {
    text-align: center;
  }
}

@media only screen and (max-width: 769px) {
  .component-recommended-inline {
    font-size: 18px;
    padding: 18.75px 0;
  }
}

.component-recommended-inline a {
  color: #DD2222;
}

@media only screen and (max-width: 769px) {
  .component-recommended-inline span {
    text-transform: uppercase;
  }
}

.component-share a {
  display: block;
}

.component-share a:not(:last-child) {
  margin-bottom: 11.25px;
}

@media only screen and (min-width: 770px) {
  .component-share a.show-mobile {
    display: none;
  }
}

.component-share svg {
  fill: #000;
  height: 30px;
  width: 30px;
}

.is-dark .component-share svg {
  fill: #fff;
}

body[data-blogid="8"] .component-share__facebook,
body[data-blogid="8"] .component-share__google,
body[data-blogid="8"] .component-share__twitter {
  display: none;
}

.component-social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-social a:not(:last-child) {
  margin-right: 10px;
}

@media only screen and (min-width: 830px) {
  .component-social a:not(:last-child) {
    margin-right: 18.75px;
  }
}

.component-social svg {
  display: block;
  height: auto;
  fill: #000;
  height: 30px;
  width: 30px;
}

@media only screen and (min-width: 770px) {
  .component-sticky {
    position: fixed;
    z-index: 1;
  }
}

.component-submenu {
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  left: 0;
  top: 92px;
  background-color: white;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  background-color: #f5f5f5;
  border-bottom: 1px solid #9FA5A9;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 45px;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  border-top: 1px solid transparent;
  height: 0px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  transition: all .3s;
}

.component-submenu > li {
  margin: 0 15px;
}

.is-dark .component-submenu {
  background: #2c383c;
}

.is-dark .component-submenu a {
  color: #fff;
}

.component-switcher {
  position: relative;
  z-index: 90;
  background: rgba(255, 255, 255, 0.7);
  color: #1f1f1f;
  height: 100%;
  left: 0;
  margin: 0;
  opacity: 0;
  position: fixed;
  text-transform: none;
  top: 0;
  transition: all .3s;
  visibility: hidden;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .component-switcher {
    background-color: transparent;
  }
}

.component-switcher__current {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-switcher__current .icon-chevron-down {
  background-image: url(../fonts/chevron-down-white.svg?2645aade5a27736a7c7cff6f601e7e80);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 10px;
  margin-left: 5px;
  width: 10px;
}

.component-switcher__links {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: column;
      flex-direction: column;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.2);
  background: #fff;
  bottom: 175px;
  left: 50%;
  letter-spacing: 0;
  padding: 25px;
  position: absolute;
  text-align: left;
  width: 370px;
}

@media only screen and (max-width: 769px) {
  .component-switcher__links {
    bottom: auto;
    height: 100vh;
    height: auto;
    left: 100%;
    min-height: 100%;
    top: 0;
    transition: left .5s;
  }
}

@media screen and (max-height: 900px) {
  .component-switcher__links {
    bottom: auto;
    height: 100vh;
    height: auto;
    left: 100%;
    min-height: 100%;
    top: 0;
    transition: left .5s;
  }
}

.component-switcher__links a {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 18px;
  width: 100%;
  border-bottom: 1px solid #ddd;
  margin: 0 0 11.25px 0;
  padding: 0 0 11.25px 0;
}

@media only screen and (max-width: 769px) {
  .component-switcher__links a {
    font-size: 16px;
  }
}

@media screen and (max-height: 900px) {
  .component-switcher__links a {
    font-size: 16px;
  }
}

.component-switcher__links h3 {
  font-size: 24px;
  margin-bottom: 8px;
}

.component-switcher__links h4 {
  color: #555;
  font-size: 15px;
  margin-bottom: 37.5px;
}

.component-switcher__links .icon-check {
  background-image: url(../fonts/icon-check_black.svg?e9fa6e92ba956c6d7933afa889803055);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 18px;
  margin-left: 5px;
  opacity: 0;
  transition: .3s;
  width: 18px;
}

.component-switcher__link.is-current .icon-check {
  opacity: 1;
}

.component-switcher__link:not(.is-current):hover .icon-check {
  opacity: .2;
}

.card-ad-inline {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-bottom: 18.75px;
  background-image: none !important;
  text-shadow: none !important;
}

@media screen and (min-width: 601px) {
  .card-ad-inline > .col-1 {
    margin-right: 18.75px;
    max-width: 235px;
  }
}

@media screen and (max-width: 600px) {
  .card-ad-inline > .col-1 {
    margin-bottom: 11.25px;
    width: 100%;
  }
}

.card-ad-inline > .col-2 {
  -ms-flex: 1;
      flex: 1;
}

.is-dark .card-ad-inline .card-ad-inline__action {
  border-color: #fff;
  color: #fff;
}

.card-ad-inline__image {
  display: block;
  height: auto;
  width: 100%;
  width: 100%;
}

@media screen and (min-width: 601px) {
  .card-ad-inline__image {
    border-right: 4px solid #000;
  }
}

@media screen and (max-width: 600px) {
  .card-ad-inline__image {
    border-bottom: 4px solid #000;
  }
}

.card-ad-inline__content {
  font-size: 22px;
}

@media only screen and (min-width: 770px) {
  .card-ad-inline__content {
    margin-bottom: 18.75px;
  }
}

@media only screen and (max-width: 769px) {
  .card-ad-inline__content {
    display: inline;
    font-size: 18px;
  }
}

.card-ad-inline__action {
  border-radius: 0;
  border-width: 1px;
  border-color: #000;
  color: #000;
  font-size: 12px;
  padding: 3px 10px;
  text-transform: uppercase;
}

.card-ad-inline__action:hover {
  background: #000;
}

@media only screen and (max-width: 769px) {
  .card-ad-inline__action {
    display: inline-block;
    color: #DD2222;
    border: none;
    font-size: 18px;
    font-weight: 400;
    padding: 0;
  }
}

@media only screen and (min-width: 770px) and (max-width: 1029px) {
  .card-ad-inline .col-1 {
    margin-right: 0;
  }

  .card-ad-inline .col-1 img {
    max-width: 125px;
  }

  .card-ad-inline .col-2 {
    padding-left: 18.75px;
  }

  .card-ad-inline__content {
    font-size: 16px;
    margin-bottom: 9.375px;
  }
}

.card-ad-sidebar {
  display: block;
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar {
    margin-top: 7.5px;
    padding-left: 5%;
  }
}

@media only screen and (max-width: 749px) {
  .card-ad-sidebar {
    margin-bottom: 22.5px;
  }
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar .col-2 {
    padding: 0 18.75px;
  }
}

.card-ad-sidebar__image {
  display: block;
  height: auto;
  width: 100%;
  border-bottom: 4px solid #000;
  margin-bottom: 18.75px;
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar__content {
    margin-bottom: 18.75px;
  }
}

.card-ad-sidebar__action {
  border-radius: 0;
  border-width: 1px;
  font-size: 12px;
  padding: 3px 10px;
  text-transform: uppercase;
}

@media only screen and (max-width: 749px) {
  .card-ad-sidebar__action {
    color: #DD2222;
    border: none;
    text-transform: capitalize;
    padding: 0;
  }
}

.card-article {
  position: relative;
}

.card-article.is-list figure {
  width: 33%;
}

.card-article.is-list .card-article__header {
  padding-left: 30px;
  width: 66%;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .card-article__header {
    padding: 0;
    width: 100%;
  }
}

.card-article.is-list .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .boxing {
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 0 30px 12px 30px;
  }
}

.card-article.is-list .card-article__main-image {
  margin: 0;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .card-article__main-image {
    width: 100%;
  }
}

.card-article.is-list .card-article__title {
  font-size: 25px;
  line-height: 1.2em;
}

.card-article.is-list .card-article__author {
  color: #2c383c;
  font-size: 13px;
}

.card-article.is-list .card-article__topic {
  display: none;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    margin-bottom: 0;
    margin-top: 15px;
  }

  .card-article.is-list:last-child {
    padding-bottom: 30px;
  }

  .card-article.is-list:last-child {
    padding-bottom: 10px;
  }
}

@media only screen and (max-width: 749px) {
  .card-article.is-large {
    padding: 0;
  }
}

.card-article.is-large .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .card-article.is-large .boxed {
    background: #fff;
  }
}

.card-article.is-large .card-article__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-size: 40px;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article.is-large .card-article__title {
    font-size: 2rem;
  }
}

@media only screen and (max-width: 749px) {
  .card-article.is-large .card-article__title {
    font-size: 1.375rem;
  }
}

.card-article.is-large .card-article__author {
  font-size: 13px;
}

.card-article.is-large .card-article__topic {
  display: none;
}

.card-article.is-small .card-article__header {
  padding: 0;
}

.card-article.is-small .card-article__main-image {
  margin-bottom: 15px;
}

@media only screen and (min-width: 770px) {
  .card-article.is-small .boxed {
    position: relative;
  }

  .card-article.is-small .card-article__title {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article.is-small .card-article__header {
    position: relative;
    z-index: 10;
    margin: 0;
    max-width: 735px;
    padding-bottom: 30px;
  }

  .card-article.is-small .boxed {
    background: #fff;
  }

  .card-article.is-small .card-article__title {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}

.card-article.is-small .card-article__topic {
  display: none;
}

.card-article.is-small .card-article__title {
  cursor: pointer;
}

@media only screen and (min-width: 770px) {
  .card-article.is-featured {
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    padding: 30px 30px 0;
  }

  .card-article.is-featured:last-child {
    padding-bottom: 30px;
  }

  .card-article.is-featured:nth-child(1) {
    border-width: 0;
    padding: 0;
    margin-top: 0;
  }

  .card-article.is-featured:nth-child(1) header {
    padding: 15px 30px 0;
  }

  .card-article.is-featured:nth-child(1) .card-article__title {
    margin-top: 5px;
    line-height: 1.1;
  }
}

.card-article.is-featured .card-article__header {
  background-color: #fff;
  text-align: center;
  width: 100%;
  margin-top: -6px;
  padding-bottom: 30px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__header {
    text-align: left;
    padding-bottom: 0;
  }
}

.card-article.is-featured .card-article__title {
  font-size: 40px;
  max-width: 1230px;
  margin: 0 auto;
  padding: 15px 90px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__title {
    margin: 0;
    padding: 0;
  }
}

@media only screen and (max-width: 599px) {
  .card-article.is-featured .card-article__title {
    font-size: 25px;
  }
}

.card-article.is-featured .card-article__author {
  width: 675px;
  display: block;
  margin: 0 auto;
  border-bottom: 1px solid #9FA5A9;
  padding-bottom: 45px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__author {
    display: none;
  }
}

.card-article.is-featured .card-article__topic a {
  font-size: 13px;
}

.card-article.is-aside,
.card-article.is-on-the-rack {
  width: 31%;
}

.card-article.is-aside .card-article__header,
.card-article.is-on-the-rack .card-article__header {
  border-radius: 100%;
  -ms-flex: 3;
      flex: 3;
  padding-left: 22.5px;
  width: 100%;
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .card-article.is-aside .card-article__header,
  .card-article.is-on-the-rack .card-article__header {
    padding-left: 0;
  }
}

.card-article.is-aside .card-article__title,
.card-article.is-on-the-rack .card-article__title {
  font-size: 16px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-aside .card-article__title a,
  .card-article.is-on-the-rack .card-article__title a {
    font-size: 1.3125rem;
  }
}

.card-article.is-aside figure,
.card-article.is-on-the-rack figure {
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  height: 105px;
  overflow: hidden;
  width: 105px;
}

@media only screen and (max-width: 1199px) {
  .card-article.is-aside figure,
  .card-article.is-on-the-rack figure {
    margin: 25px auto 0;
  }
}

.card-article.is-aside img,
.card-article.is-on-the-rack img {
  display: none;
}

@media only screen and (max-width: 829px) {
  .card-article.is-aside,
  .card-article.is-on-the-rack {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding: 30px 30px 0;
    width: 100%;
  }

  .card-article.is-aside:first-child,
  .card-article.is-on-the-rack:first-child {
    margin-top: 0;
  }

  .card-article.is-aside .card-article__main-image,
  .card-article.is-on-the-rack .card-article__main-image {
    height: 80px;
    width: 80px;
  }

  .card-article.is-aside .card-article__main-image img,
  .card-article.is-on-the-rack .card-article__main-image img {
    margin-left: -104%;
    width: 300px;
  }
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .card-article.is-aside .boxing,
  .card-article.is-on-the-rack .boxing {
    -ms-flex-direction: column;
        flex-direction: column;
    margin-top: 30px;
    text-align: center;
  }
}

.card-article__main-image {
  position: relative;
  z-index: 10;
  display: block;
}

.card-article__main-image > a {
  display: block;
  overflow: hidden;
}

.card-article__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.card-article__main-image .autodesk {
  position: relative;
  z-index: 20;
  bottom: 30px;
  right: 30px;
  position: absolute;
}

@media only screen and (max-width: 749px) {
  .card-article__main-image .autodesk {
    display: none;
  }
}

.card-article__main-image .autodesk svg {
  display: block;
  fill: #fff;
  height: auto;
  width: 150px;
}

.card-article__header {
  padding: 15px 0;
}

.card-article__title {
  color: #1f1f1f;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 18px;
  padding: 7.5px 0;
}

.card-article__topic a {
  color: #9FA5A9;
  font-size: 12px;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article__topic a {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__topic a {
    font-size: 15px;
  }
}

.card-article__author {
  color: #2c383c;
  font-size: 12px;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article__author {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__author {
    font-size: 15px;
  }
}

.card-article__description {
  display: none;
}

@media only screen and (min-width: 770px) {
  .card-article__description {
    display: block;
    margin-top: 15px;
  }
}

/* ================================== 
**** Video Card specific styles *****
===================================== */

.card-article--video {
  background-repeat: no-repeat;
  background-size: cover;
}

.card-article--video .card-article__thumbnail-navitem {
  cursor: pointer;
}

.card-article__main-video {
  background-color: #fff;
  background-image: url(../images/loading_spinner_black.gif?78a89c7221ae5de2c1f4c85809f17b54);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 90px 90px;
}

.card-article__main-video.loading--start iframe {
  opacity: 0;
  transition: opacity 0s;
}

.card-article__main-video.loading--end iframe {
  opacity: 1;
  transition: opacity .9s;
}

.card-article__scrolling-nav {
  max-height: 610px;
}

@media only screen and (min-width: 770px) {
  .card-article__scrolling-nav {
    overflow-y: scroll;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__scrolling-nav {
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    max-height: 200px;
    min-width: 100%;
    overflow-x: auto;
  }
}

.active .card-article__thumbnail-navitem a:after {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  color: #fff;
  content: "Now Playing";
  font-size: 24px;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}

.card-article__thumbnail-navitem a {
  background-color: #000;
  display: block;
  position: relative;
}

.card-article__thumbnail-navitem img.wp-post-image {
  opacity: 1;
  transition: .3s;
  width: 100%;
}

.active .card-article__thumbnail-navitem img.wp-post-image {
  opacity: 0;
}

.card-article__play-btn {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background-color: #fff;
  bottom: 0;
  height: 50px;
  left: 0;
  padding: 14px;
  position: absolute;
  width: 50px;
}

.card-article-feature {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  padding: 40px 0 45px;
}

@media only screen and (max-width: 749px) {
  .card-article-feature {
    padding: 0;
  }
}

.card-article-feature > .box-1 {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  width: 65%;
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-1 {
    width: 100%;
  }
}

.card-article-feature > .box-1 img {
  height: auto;
  height: auto;
  max-width: 100%;
  margin-top: 7px;
  width: 100%;
}

@media only screen and (max-width: 979px) {
  .card-article-feature > .box-1 img {
    margin-top: 4px;
  }
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-1 img {
    margin-top: 0;
  }
}

.card-article-feature > .box-2 {
  width: 31%;
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-2 {
    padding: 37.5px 37.5px;
    width: 100%;
  }
}

.card-article-feature__topic {
  color: #9FA5A9;
  font-size: 13px;
  text-transform: uppercase;
}

.card-article-feature__follow {
  margin-top: 75px;
}

.card-article-feature__title {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 36px;
  line-height: 1.2em;
  margin-bottom: 7.5px;
}

@media only screen and (max-width: 1399px) {
  .card-article-feature__title {
    font-size: 28px;
  }
}

@media only screen and (max-width: 979px) {
  .card-article-feature__title {
    font-size: 24px;
  }
}

.card-article-feature__subtitle {
  color: #9FA5A9;
  font-size: 13px;
  letter-spacing: 1px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 979px) {
  .card-article-feature__subtitle {
    font-size: 10px;
  }
}

.card-article-feature__author {
  color: #2c383c;
  font-size: 16px;
  text-transform: uppercase;
}

@media only screen and (max-width: 979px) {
  .card-article-feature__author {
    font-size: 12px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article-feature__follow {
    display: none;
  }
}

.card-article-feature__description {
  display: none;
}

@media only screen and (min-width: 770px) {
  .card-article-feature__description {
    display: block;
    margin-top: 15px;
  }
}

.card-article-snippet {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.card-article-snippet h2 {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
  min-height: 80px;
}

@media only screen and (max-width: 749px) {
  .card-article-snippet {
    width: 100%;
  }
}

@media only screen and (min-width: 770px) and (max-width: 979px) {
  .card-article-snippet {
    width: calc(50% - 10px);
  }
}

.card-article-snippet figure {
  position: relative;
}

.card-article-snippet .component-general-category {
  bottom: 0;
  color: #fff;
  padding: 22.5px 15px;
  position: absolute;
}

.card-article-snippet .component-general-category svg {
  display: block;
  width: 10px;
}

.card-author {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background: #fff;
  margin: 0 0 60px 0;
  padding: 60px 75px;
}

@media only screen and (max-width: 1029px) {
  .card-author {
    padding: 30px 30px;
  }
}

@media only screen and (max-width: 829px) {
  .card-author .box {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) {
  .card-author .box-1 {
    width: 30%;
  }
}

@media only screen and (max-width: 749px) {
  .card-author .box-1 {
    margin: 0 0 30px 0;
  }
}

@media only screen and (min-width: 750px) {
  .card-author .box-2 {
    width: 60%;
  }
}

.card-author header {
  margin: 0 0 15px 0;
}

.card-author h2 {
  font-size: 1.5625rem;
  line-height: 1.2;
}

.card-author p {
  font-size: 0.9375rem;
  line-height: 1.4;
}

.card-author p:not(:last-child) {
  margin: 0 0 1.4em 0;
}

.card-author .avatar {
  display: block;
  height: auto;
  max-width: 100%;
  margin: 0 0 15px 0;
}

@media only screen and (max-width: 749px) {
  .card-author .avatar {
    width: 100%;
  }
}

.card-author .social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.card-author .social a {
  margin: 0 5px;
}

.card-author .social .component-button-social {
  border-color: #a9b5b8;
}

.card-author .social .component-button-social svg {
  fill: #a9b5b8;
}

.card-author-snippet {
  background: #fff;
  display: block;
}

.card-author-snippet figure {
  position: relative;
}

.card-author-snippet h1 {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
}

.card-author-snippet__avatar {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  background: rgba(0, 0, 0, 0.5);
  transition: all .4s;
}

.card-author-snippet__avatar img {
  display: block;
  height: auto;
  width: 100%;
}

.card-author-snippet__blurred {
  height: 250px;
  opacity: .25;
  overflow: hidden;
  filter: blur(5px);
}

.card-speaker {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: column;
      flex-direction: column;
  margin: 15px 15px 0;
}

@media only screen and (min-width: 750px) {
  .card-speaker {
    width: 45%;
    width: calc(50% - 30px);
  }
}

@media only screen and (max-width: 749px) {
  .card-speaker {
    text-align: center;
  }
}

.card-speaker__copy {
  text-align: justify;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .card-speaker__copy {
    font-size: 21px;
  }
}

.card-speaker__name {
  font-size: 20px;
  margin-bottom: 15px;
}

@media only screen and (max-width: 769px) {
  .card-speaker__name {
    font-size: 23px;
  }
}

.card-speaker__image {
  border-radius: 50%;
  margin-bottom: 15px;
  max-width: 144px;
  width: 100%;
}

.has-one .card-speaker__image {
  max-width: 160px;
}

@media only screen and (max-width: 769px) {
  .has-one .card-speaker__image {
    max-width: 210px;
  }
}

@media only screen and (max-width: 769px) {
  .card-speaker__image {
    max-width: 210px;
  }
}

.card-header {
  color: #fff;
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 770px) {
  .card-header:after {
    position: relative;
    z-index: -1;
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
    bottom: 0;
    content: " ";
    height: 100%;
    position: absolute;
    padding: 0 9999px;
    margin: 0 -9999px;
  }

  .card-header:before {
    left: 0;
  }
}

.card-header .box {
  position: relative;
  z-index: 10;
  background: #1f1f1f;
  background-size: cover;
  background-position: center center;
  padding: 180px 0;
}

@media only screen and (max-width: 769px) {
  .card-header .box {
    padding: 90px 0;
    width: 100%;
  }
}

.card-header .info {
  position: relative;
  z-index: 10;
}

.card-header .author-image {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  border-radius: 100%;
  margin: 0 auto 15px auto;
  width: 120px;
}

@media only screen and (max-width: 769px) {
  .card-header .author-image {
    width: 150px;
  }
}

.card-header .action {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.card-header .action a {
  margin: 0 5px;
}

.card-header.has-description .box {
  padding: 90px 0px;
  background: #fff;
  color: #1f1f1f;
}

@media only screen and (max-width: 769px) {
  .card-header.has-description .box {
    width: 90%;
  }
}

.card-header.has-description .info {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.card-header.has-description .info .box {
  padding: 0px 0px;
}

.card-header.has-description .subbox-1 {
  width: 34%;
}

.card-header.has-description .subbox-2 {
  width: 66%;
}

.card-header.has-description .card-header__title {
  font-size: 1.875rem;
  margin: 0 auto 15px;
  max-width: 62%;
}

@media only screen and (max-width: 1029px) {
  .card-header.has-description .grid-4,
  .card-header.has-description .grid-8 {
    width: 100%;
  }
}

.card-header .component-button-social:hover {
  background: #000;
  border-color: #000;
}

.card-header__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-size: 3.125rem;
  margin: 0 0 15px 0;
}

.card-header__description {
  background: #fff;
  color: #000;
  padding: 60px 30px;
  text-align: left;
  border-left: 1px solid #9FA5A9;
}

@media only screen and (max-width: 1029px) {
  .card-header__description {
    padding: 45px;
    border: none;
    text-align: center;
  }
}

@media only screen and (max-width: 749px) {
  .card-header__description {
    padding: 45px 0;
  }

  .card-header__description p {
    padding: 0 30px;
  }
}

.card-header__description .boxed {
  margin: 0 auto;
  max-width: 600px;
}

.card-header__description p {
  line-height: 1.4;
}

.card-staff {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 749px) {
  .card-staff {
    text-align: center;
  }
}

.card-staff .box {
  width: 49%;
}

@media only screen and (max-width: 749px) {
  .card-staff .box {
    width: 100%;
  }
}

.card-staff__position {
  color: #9FA5A9;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .5px;
  margin: 3px 0 0 0;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) {
  .card-staff__position {
    text-align: right;
  }
}

@media only screen and (max-width: 749px) {
  .card-staff__position {
    margin: 0 0 5px 0;
  }
}

.card-staff__name {
  font-size: 18px;
  font-weight: 400;
}

.block-footer {
  background-color: #000;
  color: #fff;
  padding: 30px;
}

.block-footer-main {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .block-footer-main {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-1 {
    border-top: 1px solid #fff;
    -ms-flex-order: 2;
        order: 2;
    padding-top: 18.75px;
    text-align: center;
    width: 100%;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-1 .logo img {
    margin: 0 auto;
  }
}

.block-footer-main .box-2 {
  margin: 0 75px;
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-2 {
    margin: 0 0 18.75px 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-3 {
    margin: 0 0 18.75px 0;
  }
}

.block-footer__social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .block-footer__social {
    -ms-flex-pack: center;
        justify-content: center;
  }
}

.block-footer__social svg {
  fill: #fff;
  height: 25px;
  width: 25px;
}

.block-footer__social a:not(:first-child) {
  margin: 0 0 0 18.75px;
}

.block-footer__qr {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-left: 18.75px;
}

.block-footer__qr-img {
  margin-bottom: 7.5px;
}

.block-footer__menu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}

@media only screen and (max-width: 769px) {
  .block-footer__menu {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

.block-footer__menu > a {
  margin: 0 7.5px;
}

@media only screen and (max-width: 769px) {
  .block-footer__menu > a {
    margin: 0 0 7.5px 0;
  }
}

.block-footer-secondary {
  font-size: 12px;
  letter-spacing: .1em;
  margin: 15px 0 0;
  text-align: center;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-footer-secondary {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

.block-footer-secondary a {
  margin: 0 5px;
}

@media only screen and (max-width: 769px) {
  .block-footer-secondary a {
    margin: 5px 0;
  }
}

@media only screen and (min-width: 770px) {
  .block-footer__newsletter {
    display: none;
  }
}

body.state--image-enlarged {
  overflow-y: hidden;
}

.enlargeable {
  cursor: pointer;
}

#image-viewer {
  background-color: rgba(255, 255, 255, 0.95);
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: start;
      justify-content: flex-start;
  transition: all .3s;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow-y: scroll;
}

#image-viewer.active {
  opacity: 1;
  z-index: 999;
}

#image-viewer__img {
  max-width: calc(100% - 30px);
  padding-top: 115px;
}

#image-viewer__close {
  position: absolute;
  top: 30px;
  right: 30px;
  cursor: pointer;
  font-size: 30px;
}

#image-viewer__caption {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  color: #000;
  text-align: left;
  max-width: calc(100% - 30px);
  padding-bottom: 15px;
}

.block-header {
  position: relative;
  z-index: 60;
  background: #fff;
  border-bottom: 1px solid #9FA5A9;
  height: 92px;
  left: 0;
  position: fixed;
  transition: all .3s;
  top: 0;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-header {
    height: 85px;
  }
}

.block-header .boxes {
  height: 60px;
}

.block-header .boxes > .box-1 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-1 {
    display: none;
  }
}

.block-header .boxes > .box-2 {
  position: relative;
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-2 {
    -ms-flex: 1;
        flex: 1;
  }
}

@media only screen and (max-width: 769px) {
  .block-header .boxes > .box-2 {
    -ms-flex: 3;
        flex: 3;
  }

  .block-header .boxes > .box-2 img {
    display: block;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 349px) {
  .block-header .boxes > .box-2 {
    height: 40px;
  }

  .block-header .boxes > .box-2 img {
    height: 40px;
  }
}

.block-header .boxes > .box-2 .block-header__postmeta {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.block-header .boxes > .box-2 .block-header__postmeta > div.show-mobile {
  width: 100%;
}

.block-header .boxes > .box-2 .component-share {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  padding: 0 7.5px;
  width: 100%;
}

.block-header .boxes > .box-2 .component-share a {
  margin: 0;
}

.block-header .boxes > .box-2 .component-share svg {
  height: 29px;
  width: 29px;
}

.block-header .boxes > .box-3 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex: 5;
      flex: 5;
}

@media only screen and (max-width: 769px) {
  .block-header .boxes > .box-3 {
    display: none;
  }
}

.block-header .boxes > .box-3 .block-header__postmeta {
  display: -ms-flexbox;
  display: flex;
  padding: 0 18.75px;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
}

@media only screen and (max-width: 979px) {
  .block-header .boxes > .box-3 .block-header__postmeta {
    display: none;
  }
}

.block-header .boxes > .box-4 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 1399px) {
  .block-header .boxes > .box-4 span {
    display: none;
  }
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-4 {
    -ms-flex: 1;
        flex: 1;
  }
}

@media only screen and (min-width: 770px) {
  .block-header .box-4 > a {
    padding: 0 10px;
  }
}

@media only screen and (max-width: 769px) {
  .block-header .box-4 .component-button-autodesk,
  .block-header .box-4 .component-button-newsletter {
    display: none;
  }
}

@media only screen and (max-width: 829px) {
  .block-header .logo img {
    margin: 0 auto;
    width: auto;
    height: 44px;
    display: block;
  }
}

.block-header .logo-autodesk {
  display: block;
  margin: 0 22.5px 0 0;
  height: auto;
  width: 110px;
}

@media only screen and (max-width: 829px) {
  .block-header .logo-autodesk {
    display: none;
  }
}

.block-header .logo-letter {
  display: block;
  height: auto;
  margin: 0 15px 0 0;
  width: 25px;
}

.block-header .component-button {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin: 0 15px 0 0;
  padding: 13.5px 30px;
}

@media only screen and (max-width: 829px) {
  .block-header .component-button {
    margin: 0;
  }
}

.block-header__main {
  padding: 15px;
}

@media only screen and (max-width: 829px) {
  .block-header__main {
    padding: 15px 22.5px;
  }
}

.block-header__main .logo-tease {
  transition: all .5s ease;
}

.block-header__main .logo-tease a {
  display: block;
}

.nav-tease {
  opacity: 1;
  transition: all 400ms ease-out;
}

.block-header__postmeta {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  transition: all .5s ease;
  transform: translateY(100px);
  opacity: 0;
  height: 0;
  padding: 0 30px 0 0;
  visibility: hidden;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-header__postmeta {
    transform: translate3d(0, 100%, 0);
    font-size: 14px;
    padding: 0 15px;
  }
}

.block-header__postmeta strong {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.block-header__postmeta .show-mobile {
  display: block;
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta .show-mobile {
    display: none;
  }
}

.block-header__postmeta .show-desktop {
  display: none;
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta .show-desktop {
    display: block;
  }
}

.block-header__postmeta__reading {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 80%;
}

.block-header__postmeta__reading strong {
  margin: 0 10px 0 0;
}

.block-header__postmeta__reading div {
  width: 50%;
}

.block-header__postmeta__share {
  margin-left: 20px;
  width: 15%;
}

@media only screen and (max-width: 1199px) {
  .block-header__postmeta__share {
    width: 10%;
  }
}

@media only screen and (max-width: 749px) {
  .block-header__postmeta__share {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .block-header__postmeta__share strong {
    display: none;
  }
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta-social {
    display: none;
  }
}

.block-header__postmeta-social > div {
  -ms-flex: auto;
      flex: auto;
}

.block-header__postmeta-social .component-share-alt {
  padding: 0 10%;
}

.block-header__postmeta-social a {
  background-color: #000;
  border-width: 0;
}

.block-header__postmeta-social svg {
  fill: #fff;
}

.block-search {
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: -1;
  background: #fff;
  padding: 90px 0 90px 0;
  overflow-y: scroll;
  position: fixed;
  left: 0;
  height: 100%;
  position: fixed;
  transform: translate3d(0, 50px, 0);
  transition: all .7s;
  top: 0;
  visibility: visible;
  width: 101%;
}

.block-search .results {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-search .card-article-snippet {
  margin: 0 0 30px 0;
}

@media only screen and (max-width: 769px) {
  .block-search .card-article-snippet {
    margin: 0 0 9px 0;
    width: 49%;
  }
}

@media only screen and (max-width: 749px) {
  .block-search .card-article-snippet {
    width: 100%;
  }
}

.block-search .card-article-snippet:not(:nth-child(4n+4)) {
  margin-right: 2%;
}

@media only screen and (max-width: 769px) {
  .block-search .card-article-snippet:not(:nth-child(4n+4)) {
    margin-right: 1%;
  }
}

.block-search form {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin: 0 0 30px 0;
}

.block-search form .input {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 5rem;
  background: none;
  border: none;
  display: block;
  width: 100%;
}

@media only screen and (max-width: 829px) {
  .block-search form .input {
    font-size: 4.0625rem;
  }
}

@media only screen and (max-width: 749px) {
  .block-search form .input {
    font-size: 1.875rem;
  }
}

.block-search form .input:focus {
  outline: none;
}

.block-search form label {
  display: none;
}

.searchwp-live-search-results-fadeout {
  background: linear-gradient(transparent, #fff 65%);
  width: 100%;
  height: 15%;
  position: fixed;
  bottom: 0;
  z-index: 9999;
}

@media screen and (min-height: 800px) {
  .searchwp-live-search-results-fadeout {
    height: 20%;
  }
}

@media screen and (min-height: 900px) {
  .searchwp-live-search-results-fadeout {
    bottom: 50px;
  }
}

@media screen and (min-height: 1000px) {
  .searchwp-live-search-results-fadeout {
    bottom: 75px;
  }
}

.block-search__close {
  position: absolute;
  right: 45px;
  top: 65px;
}

.block-search__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.block-search__close .line-2 {
  opacity: 0;
}

.block-search__close .line-3 {
  transform: rotate(-45deg);
  top: -10px;
}

@media only screen and (min-width: 750px) {
  .block-search__box1 {
    padding-left: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .block-search__box1 {
    padding-left: 2%;
  }
}

.block-search__box2 {
  display: none;
}

.searchwp-live-search-results-showing {
  -ms-flex-align: stretch;
      align-items: stretch;
  box-shadow: none !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  left: 0 !important;
  width: 100% !important;
}

.searchwp-live-search-results {
  border-radius: 0 !important;
  min-height: none !important;
  max-height: 70vh !important;
}

@media only screen and (max-width: 749px) {
  .searchwp-live-search-results {
    position: fixed !important;
    top: 170px !important;
  }
}

.searchwp-live-search-results .container,
.searchwp-live-search-results .card-article.is-featured .card-article__main-image,
.card-article.is-featured .searchwp-live-search-results .card-article__main-image,
.searchwp-live-search-results .block-topic__main-image {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
}

@media only screen and (min-width: 750px) {
  .searchwp-live-search-results .container,
  .searchwp-live-search-results .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .searchwp-live-search-results .card-article__main-image,
  .searchwp-live-search-results .block-topic__main-image {
    padding-left: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .searchwp-live-search-results .container,
  .searchwp-live-search-results .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .searchwp-live-search-results .card-article__main-image,
  .searchwp-live-search-results .block-topic__main-image {
    padding-left: 2%;
  }
}

.searchwp-live-search-results .spinner {
  left: calc(50% - 15px);
}

.searchwp-live-search-results .spinner > div > div {
  height: 30px !important;
  border-radius: 100px !important;
}

.searchwp-live-search-result {
  margin-bottom: 30px;
}

@media only screen and (max-width: 749px) {
  .searchwp-live-search-result {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) and (max-width: 979px) {
  .searchwp-live-search-result {
    width: calc(50% - 10px);
    margin-right: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .searchwp-live-search-result {
    margin-right: 2%;
  }
}

.searchwp-live-search-result a {
  height: 100%;
}

.searchwp-live-search-result__author {
  position: absolute;
  color: #fff;
  bottom: 15px;
  left: 15px;
  font-size: 1rem;
}

.searchwp-live-search-result__link {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: column;
      flex-direction: column;
  display: flex !important;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  opacity: 1;
  white-space: normal !important;
  transition: opacity .2s;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.searchwp-live-search-result__link:hover {
  opacity: .9;
}

.searchwp-live-search-result__meta {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
  min-height: 80px;
}

.searchwp-live-search-result__thumbnail {
  background-color: #000;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  margin-right: 15px;
  width: 100%;
  height: auto;
  position: relative;
}

.searchwp-live-search-result__thumbnail img {
  max-width: 100%;
  height: auto;
  opacity: .7;
}

.searchwp-live-search-no-min-chars:after {
  display: none !important;
}

.block-newsletter form .mktoFormRow:nth-child(2) {
  margin-top: 16px !important;
}

.block-single {
  padding-top: 37.5px;
}

@media only screen and (max-width: 769px) {
  .block-single .box-1,
  .block-single .box-3 {
    display: none;
  }

  .block-single .box-2 {
    width: 100%;
  }
}

.block-single .component-share-alt {
  padding-top: 11.25px;
}

.block-single__top {
  -ms-flex-align: start;
      align-items: flex-start;
  margin-bottom: 18.75px;
}

@media only screen and (max-width: 769px) {
  .block-single__top {
    width: 100%;
  }
}

.block-single__top .component-share {
  -ms-flex-align: end;
      align-items: flex-end;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-top: 10.5px;
  margin-left: 56.25px;
}

@media only screen and (max-width: 979px) {
  .block-single__top .component-share {
    margin-left: 18.75px;
  }
}

.block-single__body {
  background-color: #fff;
  padding: 15px 0 30px;
  position: relative;
  z-index: 0;
}

.block-single__body .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .block-single__body .boxes {
    padding: 0 30px;
    width: 100%;
  }
}

.block-single__header {
  margin-bottom: 37.5px;
}

@media only screen and (min-width: 770px) {
  .block-single__header {
    max-width: 60%;
  }
}

@media only screen and (max-width: 769px) {
  .block-single__header {
    padding: 0 30px;
  }
}

.block-single__meta {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 13px;
  text-transform: uppercase;
}

.block-single__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  color: #1f1f1f;
  margin-bottom: 18.75px;
}

@media only screen and (min-width: 770px) {
  .block-single__title {
    max-width: 1230px;
  }
}

@media only screen and (max-width: 749px) {
  .block-single__title {
    font-size: 1.75rem;
  }
}

.block-single__topic {
  color: #9FA5A9;
}

@media only screen and (min-width: 480px) and (max-width: 769px) {
  .block-single__topic {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 479px) {
  .block-single__topic {
    font-size: 0.75rem;
  }
}

.block-single__author {
  color: #2c383c;
  margin-right: 18.75px;
}

@media only screen and (min-width: 480px) and (max-width: 769px) {
  .block-single__author {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 769px) {
  .block-single__author {
    margin-bottom: 7.5px;
  }
}

@media only screen and (max-width: 479px) {
  .block-single__author {
    font-size: 0.75rem;
  }
}

.block-single__content {
  color: #1f1f1f;
  position: relative;
}

.block-single__content img,
.block-single__content figure {
  height: auto;
  max-width: 100%;
}

.block-single__content p {
  font-size: 14px;
  line-height: 1.4em;
  margin-bottom: 15px;
}

.block-single__content p:first-of-type {
  font-weight: 600;
}

.block-single__content p:nth-child(2) {
  font-size: 18px;
  margin-bottom: 30px;
}

.block-single__content p a:not([href^="https://cdn"]) {
  color: #1859a8;
  font-weight: 600;
  display: inline-block;
}

.is-dark .block-single__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #222d31, -0.03em 0 #222d31, 0 0.03em #222d31, 0 -0.03em #222d31, 0.06em 0 #222d31, -0.06em 0 #222d31, 0.09em 0 #222d31, -0.09em 0 #222d31, 0.12em 0 #222d31, -0.12em 0 #222d31, 0.15em 0 #222d31, -0.15em 0 #222d31;
  background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.is-dark .block-single__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .block-single__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .block-single__content a:not([href^="https://cdn"]) *,
.is-dark .block-single__content a:not([href^="https://cdn"]) *:after,
.is-dark .block-single__content a:not([href^="https://cdn"]):after,
.is-dark .block-single__content a:not([href^="https://cdn"]) *:before,
.is-dark .block-single__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.is-dark .block-single__content a:not([href^="https://cdn"]):visited {
  color: rgba(255, 255, 255, 0.9);
}

.block-single__content .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

.block-single__content .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

.block-single__box {
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-single__box {
    padding: 0;
  }
}

.block-single__box .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .block-single__box .boxed {
    background: #fff;
  }
}

.block-single__main-image {
  position: relative;
  z-index: 10;
}

.block-single__main-image > a {
  display: block;
}

.block-single__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-single__main-image {
    width: 100%;
  }
}

.block-single__sidebar {
  background-color: #fff;
  z-index: 11;
}

.block-single__recommended {
  border-top: 4px solid #2c383c;
  color: #1f1f1f;
  font-weight: 400;
  padding: 60px 30px;
  margin-top: 60px;
  text-align: left;
}

.block-single__recommended .entry {
  margin-bottom: 30px;
}

.block-single__recommended .entry:last-child .divider {
  display: none;
}

.block-single__recommended .component-heading span {
  font-size: 24px;
  margin-bottom: 15px;
}

.block-single__recommended .category a {
  color: #9FA5A9;
  font-size: 10px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

.block-single__recommended .title {
  font-size: 16px;
}

.block-single__recommended .divider {
  background-color: #2c383c;
  display: block;
  height: 1px;
  margin-top: 30px;
  width: 80px;
}

.block-single__tag-list {
  margin-bottom: 45px;
  margin-top: 30px;
}

.block-single__tag,
.block-single__tag-spacer {
  color: #DD2222;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
}

.is-dark .block-single__tag,
.is-dark .block-single__tag-spacer {
  color: #fff;
}

.block-single__tag:hover {
  text-decoration: underline;
}

body[data-blogid="8"] .block-single__read-time {
  display: none;
}

.block-topic__mobile-title {
  border-bottom: 1px solid #f5f5f5;
  display: none;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  padding: 22.5px 0;
  text-align: center;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-topic__mobile-title {
    display: block;
  }
}

.block-topic__header {
  position: relative;
}

.block-topic__header .block-topic__title {
  font-size: 40px;
  margin-bottom: 30px;
  text-align: center;
}

@media only screen and (max-width: 769px) {
  .block-topic__header .block-topic__title {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic__header {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
  }
}

.block-topic__body {
  background-color: #fff;
  margin-top: -6px;
  padding: 15px 0 30px;
}

@media only screen and (max-width: 769px) {
  .block-topic__body {
    margin-top: 5px;
  }
}

.block-topic__body .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-topic__entry {
  text-align: center;
}

@media only screen and (max-width: 769px) {
  .block-topic__entry {
    text-align: left;
  }
}

.block-topic__subtopics {
  background-color: #f5f5f5;
  border-bottom: 1px solid #9FA5A9;
  font-size: 14px;
  font-weight: 500;
  height: 50px;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-topic__subtopics {
    border-top: 1px solid #9FA5A9;
    margin-bottom: 0;
  }
}

.block-topic__subtopics .slick-list {
  margin: 0 auto;
  width: 75%;
}

@media only screen and (min-width: 770px) {
  .block-topic__subtopics .slick-list {
    width: 600px;
  }
}

.block-topic__subtopics .slick-slide {
  height: 100%;
}

.block-topic__subtopics .is-active {
  border-bottom: 2px solid #DD2222;
  padding-bottom: 2px;
}

.block-topic__subtopics a {
  margin: 0 15px;
}

@media only screen and (max-width: 769px) {
  .block-topic__subtopics a {
    margin: 0;
    padding: 0 11.25px;
  }
}

.block-topic__arrow {
  position: absolute;
  top: 15px;
  right: 64px;
  width: 30px;
}

@media only screen and (min-width: 770px) {
  .block-topic__arrow {
    display: none;
  }
}

.block-topic__arrow.is-right {
  right: 8%;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow.is-right {
    right: 2.5%;
  }
}

.block-topic__arrow.is-left {
  left: 8%;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow.is-left {
    left: 5%;
  }
}

.block-topic__arrow.slick-disabled svg {
  fill: #9FA5A9;
}

.block-topic__arrow svg {
  width: 20px;
  fill: #DD2222;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow {
    top: auto;
    bottom: 10px;
  }
}

.block-topic__title {
  font-size: 2.5rem;
  line-height: 1.2;
  color: #1f1f1f;
  font-size: 35px;
  margin: 15px auto;
  max-width: 90%;
  padding-left: 0 !important;
}

@media only screen and (max-width: 769px) {
  .block-topic__title {
    font-size: 1.875rem;
    margin: 15px 0;
  }
}

.block-topic__topic {
  margin-bottom: 7.5px;
}

.block-topic__topic a {
  color: #9FA5A9;
  font-size: 13px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-topic__topic a {
    font-size: 16px;
  }
}

.block-topic__author {
  border: 0 solid !important;
  color: #2c383c;
  display: block;
  font-size: 16px;
  line-height: 100%;
  margin: 0 auto;
  padding-bottom: 30px;
  text-transform: uppercase;
  width: auto;
}

@media only screen and (max-width: 769px) {
  .block-topic__author {
    display: none;
  }
}

.block-topic__content {
  color: #1f1f1f;
}

.block-topic__content img,
.block-topic__content figure {
  height: auto;
  max-width: 100%;
}

.block-topic__content img {
  margin: 22.5px 0;
}

.block-topic__content p {
  font-size: 14px;
  line-height: 1.4em;
  margin-bottom: 15px;
}

.block-topic__content p:nth-child(2) {
  font-size: 18px;
  margin-bottom: 30px;
}

.block-topic__content .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

.block-topic__content .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

.block-topic__box {
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-topic__box {
    padding: 0;
  }
}

.block-topic__box .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .block-topic__box .boxed {
    background: #fff;
  }
}

@media only screen and (max-width: 749px) {
  .block-topic__box .container,
  .block-topic__box .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .block-topic__box .card-article__main-image,
  .block-topic__box .block-topic__main-image {
    width: 100%;
  }
}

.block-topic__main-image {
  position: relative;
  z-index: 10;
  display: block;
  margin-bottom: 7.5px;
}

@media only screen and (max-width: 769px) {
  .block-topic__main-image {
    width: 100%;
  }
}

.block-topic__main-image > a {
  display: block;
  overflow: hidden;
}

.block-topic__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
}

.block-topic__sidebar {
  margin-top: 8%;
}

.block-topic__recommended {
  border-top: 4px solid #2c383c;
  color: #1f1f1f;
  font-weight: 400;
  padding: 30px;
  margin-top: 60px;
  text-align: left;
}

.block-topic__recommended .entry {
  margin-bottom: 30px;
}

.block-topic__recommended .entry:last-child .divider {
  display: none;
}

.block-topic__recommended .heading {
  font-size: 24px;
  margin-bottom: 15px;
}

.block-topic__recommended .category {
  color: #9FA5A9;
  font-size: 10px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

.block-topic__recommended .title {
  font-size: 16px;
}

.block-topic__recommended .divider {
  background-color: #2c383c;
  display: block;
  height: 1px;
  margin-top: 30px;
  width: 80px;
}

.block-topic-section {
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-topic-section {
    border-top: 4px solid #000;
    padding: 30px 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .component-heading {
    padding-left: 30px;
  }
}

.block-topic-section .card-article.is-video-nav {
  margin-bottom: 60px !important;
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-video-nav {
    border: none !important;
    margin: 0 0 0 10px !important;
    min-width: 200px;
    padding: 0 !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    margin-bottom: 0;
    margin-top: 10px;
    padding: 30px 30px 0 30px !important;
  }

  .block-topic-section .card-article:last-child {
    padding-bottom: 30px;
  }

  .block-topic-section .card-article:first-child {
    margin-top: 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-large:last-child {
    padding: 0 !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-large:last-child .card-article__header {
    padding: 15px 30px;
  }
}

.block-topic-section .card-article .card-article__main-image {
  background-image: none !important;
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article__title {
    font-size: 35px !important;
    line-height: 1.2;
    padding-top: 5px;
  }
}

@media only screen and (max-width: 599px) {
  .block-topic-section .card-article__title {
    font-size: 25px !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article__topic a {
    display: block;
    margin-top: 10px;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section--video .box {
    width: 100%;
  }
}

.block-featured-section .component-magazine-rack {
  background: #fff;
  margin-bottom: 0;
}

@media only screen and (min-width: 770px) {
  .block-featured-section .component-magazine-rack {
    padding: 22.5px;
  }
}

.block-featured-section__article {
  background-color: #f5f5f5;
}

.block-featured-section__subtitle {
  font-size: 20px;
  margin-bottom: 0;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__subtitle {
    padding: 0 30px;
    font-size: 24px;
    margin-bottom: 30px;
  }
}

.block-featured-section__subtitle > a {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-featured-section__icon-arrow-alt {
  margin-left: 11.25px;
}

@media only screen and (min-width: 770px) {
  .block-featured-section__icon-arrow-alt {
    display: none;
  }
}

.block-featured-section__icon-arrow-alt svg {
  display: block;
  height: auto;
  fill: #000;
  width: 28px;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__icon-arrow-alt svg {
    width: 22px;
  }
}

.block-featured-section__icon-arrow {
  margin-left: 11.25px;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__icon-arrow {
    display: none;
  }
}

@media only screen and (max-width: 749px) {
  .block-featured-section__icon-arrow {
    transform: rotate(90deg);
  }
}

.block-featured-section__icon-arrow svg {
  display: block;
  height: auto;
  fill: #DD2222;
  width: 8px;
}

.block-menu {
  text-transform: uppercase;
}

.block-menu a {
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 500;
}

.block-megamenu {
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: 40;
  background: #fff;
  left: 0;
  height: 100vh;
  position: fixed;
  transform: translate3d(0, 50px, 0);
  transition: all .7s;
  top: 0;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-megamenu {
    overflow-y: scroll;
  }
}

.block-megamenu .main-content {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (min-width: 770px) {
  .block-megamenu .main-content {
    height: 100vh;
    overflow-y: scroll;
  }
}

.block-megamenu .navigation-secondary {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 1.5625rem;
  line-height: 1.2;
  font-size: 1.875rem;
  -ms-flex-direction: column;
      flex-direction: column;
  line-height: 1;
  padding: 0 0 118px 0;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-megamenu .navigation-secondary {
    font-size: 1.5rem;
    padding-top: 85px;
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 749px) {
  .block-megamenu .navigation-secondary {
    font-size: 1rem;
  }
}

.block-megamenu .navigation-secondary a {
  padding: 14px 0;
  width: 100%;
}

.block-megamenu .navigation-secondary a:hover {
  background: rgba(255, 255, 255, 0.5);
}

.block-megamenu .navigation-secondary a svg {
  display: none;
}

@media only screen and (max-width: 769px) {
  .block-megamenu .navigation-secondary a {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: row;
        flex-direction: row;
    border-bottom: 1px solid #9FA5A9;
    line-height: 0;
    margin-bottom: 0;
    padding: 19.5px 30px;
  }

  .block-megamenu .navigation-secondary a span {
    color: #1f1f1f;
    font-size: 30px;
    text-align: left;
  }

  .block-megamenu .navigation-secondary a svg {
    display: block;
    fill: #1f1f1f;
    width: 30px;
    margin-left: 15px;
  }
}

@media only screen and (max-width: 499px) {
  .block-megamenu .navigation-secondary a span {
    font-size: 22px;
  }
}

@media only screen and (max-width: 349px) {
  .block-megamenu .navigation-secondary a span {
    font-size: 18px;
  }
}

.block-megamenu .block-footer {
  padding: 37.5px 30px 120px 30px;
}

.block-megamenu .block-footer-main .boxes {
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-megamenu .block-footer-main .box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  margin-bottom: 30px;
  width: 100%;
}

.block-megamenu .block-footer-main .box-1 {
  margin-bottom: 0;
  -ms-flex-order: 1;
      order: 1;
}

.block-megamenu .block-footer-main .box-1 img {
  width: 160px;
}

.block-megamenu .block-footer-main .box-2 {
  font-size: 18px;
  letter-spacing: 0;
}

@media only screen and (min-width: 770px) {
  .block-megamenu .block-footer-main .box-3 {
    border-bottom: 1px solid #9FA5A9;
    padding-bottom: 45px;
    margin-bottom: 45px;
  }
}

@media only screen and (max-width: 769px) {
  .block-megamenu .block-footer-main .box-3 {
    margin-bottom: 18.75px;
  }
}

.block-megamenu .block-footer-main .box-3 a {
  margin: 0 10px;
}

.block-megamenu .block-footer-main .component-button-social {
  background-color: #fff;
  border: 0 solid;
  height: 48px;
  width: 48px;
}

.block-megamenu .block-footer-main .component-button-social svg {
  fill: #000;
  height: 28px;
  width: 28px;
}

.block-articles-aside {
  background-color: #f5f5f5;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-articles-aside {
    border-top: 4px solid #2c383c;
  }
}

.block-articles-aside .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-articles-aside .boxing {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 829px) {
  .block-articles-aside {
    padding: 30px 0 0;
  }

  .block-articles-aside > .container,
  .card-article.is-featured .block-articles-aside > .card-article__main-image,
  .block-articles-aside > .block-topic__main-image {
    width: 100%;
  }

  .block-articles-aside .component-heading {
    padding: 0 30px;
  }
}

.block-articles-latest {
  padding: 60px 0;
}

.block-articles-latest article {
  margin-bottom: 45px;
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .card-article__main-image {
    margin-bottom: 15px;
  }
}

.block-articles-latest .component-heading {
  margin-bottom: 60px;
}

.block-articles-latest .component-heading.is-centered {
  text-align: center;
}

.block-articles-latest .component-heading.is-bottomcap {
  -ms-flex-pack: center;
      justify-content: center;
  margin: 30px 0 0;
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .component-heading.is-bottomcap {
    border-top: 1px solid #9FA5A9;
    margin-top: 0;
    padding: 20px 0;
  }

  .block-articles-latest .component-heading.is-bottomcap span {
    color: #DD2222;
  }

  .block-articles-latest .component-heading.is-bottomcap svg,
  .block-articles-latest .component-heading.is-bottomcap .st0 {
    stroke: #DD2222;
  }
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .component-heading {
    padding: 0 30px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 769px) {
  .block-articles-latest {
    padding-top: 30px;
    padding-bottom: 0;
  }

  .block-articles-latest > .container,
  .card-article.is-featured .block-articles-latest > .card-article__main-image,
  .block-articles-latest > .block-topic__main-image {
    width: 100%;
  }
}

.block-magazine-rack,
.block-editors-picks {
  background-color: #f5f5f5;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-magazine-rack,
  .block-editors-picks {
    border-top: 4px solid #2c383c;
  }
}

.block-magazine-rack .boxes,
.block-editors-picks .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-magazine-rack .boxing,
.block-editors-picks .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-magazine-rack .boxing figure,
.block-editors-picks .boxing figure {
  margin-top: 25px;
}

@media only screen and (max-width: 829px) {
  .block-magazine-rack,
  .block-editors-picks {
    padding: 30px 0;
  }

  .block-magazine-rack > .container,
  .block-editors-picks > .container,
  .card-article.is-featured .block-magazine-rack > .card-article__main-image,
  .card-article.is-featured .block-editors-picks > .card-article__main-image,
  .block-magazine-rack > .block-topic__main-image,
  .block-editors-picks > .block-topic__main-image {
    width: 100%;
  }

  .block-magazine-rack .component-heading,
  .block-editors-picks .component-heading {
    padding: 15px 30px;
  }
}

.block-magazine-rack.is-last,
.is-last.block-editors-picks {
  margin-bottom: 0;
}

.block-newsletter {
  position: relative;
}

.block-newsletter .mktoEmailField {
  z-index: 1;
}

.block-newsletter .title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  color: #000;
  font-weight: 400;
  margin-bottom: 10px;
  text-align: center;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .title {
    display: none;
  }
}

.block-newsletter .subtitle {
  display: block;
  text-align: center;
}

.block-newsletter h3 {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #9FA5A9;
  padding: 30px 0;
  text-align: center;
}

@media only screen and (max-width: 749px) {
  .block-newsletter h3 {
    padding: 22.5px 0;
  }
}

.block-newsletter .logo {
  display: block;
  margin: 0 auto 20px;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .logo {
    display: none;
  }
}

.block-newsletter form {
  width: 100% !important;
  /* ======== old styles to clean up============== */
}

.block-newsletter form #FirstName,
.block-newsletter form #LastName {
  display: none;
}

.block-newsletter form .mktoFormRow,
.block-newsletter form .mktoOFFset,
.block-newsletter form .mktoClear {
  display: none;
}

.block-newsletter form .mktoFieldDescriptor.mktoFormCol {
  width: 100%;
}

.block-newsletter form .mktoFormRow:nth-child(2),
.block-newsletter form .mktoFormRow:nth-child(3) {
  display: block;
  margin: 30px 0 60px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter form .mktoFormRow:nth-child(3) {
    margin-bottom: 10px;
  }
}

.block-newsletter form .mktoFormRow label {
  color: #9FA5A9;
  font-size: 12px;
  font-weight: 200;
  text-transform: uppercase !important;
}

.block-newsletter form .mktoFormRow .mktoEmailField {
  background-color: transparent;
  border: 1px solid #000;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 20px;
  font-weight: 300;
  height: 50px;
  margin-bottom: 20px;
  margin-top: -31px;
  transition: background-color .3s;
  width: 100% !important;
}

.block-newsletter form .mktoFormRow .mktoEmailField:focus,
.block-newsletter form .mktoFormRow .mktoEmailField.has-value {
  background-color: #fff;
}

.block-newsletter form .mktoFieldWrap {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  float: none !important;
  width: 100%;
}

.block-newsletter form .mktoFormRow:nth-child(3) > .mktoFieldDescriptor > .mktoFieldWrap > label {
  display: none;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList {
  margin-top: -15px;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList label {
  color: #1f1f1f;
  -ms-flex: 1;
      flex: 1;
  font-weight: 400;
  max-width: 100px;
  margin: 0;
  text-align: left !important;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList input {
  margin: 0 10px 0 25px;
}

.block-newsletter form .mktoRadioList {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  width: 100% !important;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-newsletter form .mktoButtonRow {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-newsletter form .mktoButtonRow {
    margin-bottom: 37.5px;
  }
}

.block-newsletter form .mktoButtonRow > span {
  margin: 0 !important;
}

.block-newsletter form button.mktoButton {
  background-image: linear-gradient(to right, #dd2222, #2b388f) !important;
  border: 0 solid !important;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  height: 50px;
  min-width: 170px;
  margin-top: 15px;
  padding: 0 !important;
  padding-top: 2px !important;
  text-transform: uppercase !important;
}

.block-newsletter form .mktoGutter.mktoHasWidth {
  display: none;
}

.block-newsletter form.mktoForm .mktoError .mktoErrorMsg {
  border-radius: 0;
  background-color: #DD2222;
  background-image: none;
  border: 0 solid;
  box-shadow: none;
  padding: 10px 20px;
  text-shadow: transparent 0 -1px 0;
  color: #fff;
}

.block-newsletter form.mktoForm .mktoError .mktoErrorArrow {
  background-color: #DD2222;
  border: 0 solid;
}

.block-newsletter form p {
  margin: 0 0 39.99px 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}

.block-newsletter form p a {
  color: #DD2222;
  border-bottom: 1px solid #DD2222;
}

.block-newsletter form .row:not(:last-child) {
  margin: 0 0 15px 0;
}

.block-newsletter form .row.touched.invalid {
  outline: 1px solid red;
}

.block-newsletter form .row p {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #DD2222;
  font-size: 10px;
  padding: 7.5px 15px;
}

.block-newsletter form .privacy {
  color: #9FA5A9;
  font-size: 11px;
  line-height: 1.5;
}

.block-newsletter form .privacy label {
  position: static;
}

.block-newsletter form .privacy a {
  color: #000;
  border-bottom: 1px solid #000;
}

.block-newsletter form .is-errored-privacy {
  background: rgba(255, 0, 0, 0.5);
  color: #fff;
  padding: 5px;
}

.block-newsletter form .privacy-message {
  color: red;
  font-size: 12px;
  margin: 10px 0 20px 0;
  text-align: center;
}

.block-newsletter form .input {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100%;
}

.block-newsletter form .input:focus {
  outline: none;
}

.block-newsletter form .submit {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #000;
  border: none;
  color: #fff;
  display: block;
  padding: 22.5px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.block-newsletter form .submit:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.block-newsletter form .submit span {
  position: relative;
  z-index: 1;
}

.block-newsletter form .submit:hover:after {
  width: 100%;
}

.block-newsletter form .submit:disabled {
  opacity: .5;
}

.block-newsletter form .submit:disabled:after {
  width: 100%;
}

.block-newsletter form .create {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid #9FA5A9;
  color: #9FA5A9;
  display: block;
  padding: 18px 0;
  text-align: center;
  width: 100%;
}

.block-newsletter form .errormsg {
  color: red;
  margin: 10px 0 0 0;
}

.block-newsletter .boxed {
  background: #fff;
  padding: 75px 135px;
  border-bottom: 20px solid;
  -o-border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
     border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .boxed {
    padding: 22.5px;
  }
}

.block-newsletter.is-geo .isRadioRow {
  display: none !important;
}

.block-newsletter-sidebar.state-success .block-newsletter__success,
.block-newsletter-inline.state-success .block-newsletter__success,
.block-newsletter-footer.state-success .block-newsletter__success,
.state-success.block-newsletter-inline .block-newsletter__success,
.block-newsletter-unsubscribe.state-success .block-newsletter__success {
  opacity: 1;
  visibility: visible;
}

.block-newsletter-sidebar {
  border-top: 5px solid #000;
}

.block-newsletter-sidebar .boxed {
  padding: 30px 30px;
}

.block-newsletter-sidebar .title,
.block-newsletter-sidebar .subtitle {
  text-align: left;
}

.block-newsletter-sidebar .title {
  font-size: 1.5rem;
  line-height: 1.2;
  margin-bottom: -5px;
}

.block-newsletter-sidebar .subtitle {
  line-height: 1.4;
  margin: 15px 0 0;
}

.block-newsletter-sidebar form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 15px;
}

.block-newsletter-sidebar form > div:nth-child(2) {
  width: 60%;
  margin-bottom: 0 !important;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(2) {
    width: 100%;
    margin-bottom: -10px !important;
  }
}

.block-newsletter-sidebar form > div:nth-child(2) .mktoError {
  right: -64px !important;
  bottom: -40px !important;
}

.block-newsletter-sidebar form > div:nth-child(3) {
  -ms-flex-order: 3;
      order: 3;
  width: 100%;
  margin: -7px 0 -10px !important;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(3):nth-child(3) {
    margin-top: 15px !important;
    -ms-flex-order: 0 !important;
        order: 0 !important;
    margin-bottom: 0 !important;
  }
}

.block-newsletter-sidebar form > div:nth-child(5) {
  width: 40%;
  -ms-flex-align: baseline;
      align-items: baseline;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(5) {
    width: 100%;
    -ms-flex-align: baseline;
        align-items: baseline;
    margin-bottom: 30px;
  }
}

.block-newsletter-sidebar form > div:nth-child(5) span,
.block-newsletter-sidebar form > div:nth-child(5) button {
  width: 100%;
}

.block-newsletter-sidebar form > div:nth-child(5) button {
  margin-top: 18px;
}

.block-newsletter-sidebar form .mktoFieldWrap {
  -ms-flex-align: left;
      align-items: left;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-newsletter-sidebar form .mktoRadioList {
  margin-top: -15px;
  padding: 0;
  width: 100% !important;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-newsletter-sidebar form .mktoButtonRow {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: left;
      justify-content: left;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-top: -1px;
  width: 100%;
}

.block-newsletter-sidebar form .mktoButtonRow > span {
  margin: 0 !important;
}

.block-newsletter-sidebar form .mktoButtonRow button {
  min-width: 0 !important;
  font-size: 11px !important;
}

.block-newsletter-sidebar form .mktoFormRow .mktoEmailField {
  border: 1px solid #9FA5A9;
  font-size: "Artifakt Element", "Helvetica", sans-serif;
  padding-left: 15px;
  font-size: 12px;
}

.block-newsletter-sidebar form .mktoFormRow label.mktoLabel {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300;
  margin-left: 15px;
  width: auto !important;
  font-size: 11px;
}

.block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList input {
  margin: 0 10px 0 0;
  font-size: 11px;
}

.block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList label {
  font-size: 10px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-sidebar {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar .mktoEmailField {
    margin-bottom: 0 !important;
  }

  .block-newsletter-sidebar button.mktoButton {
    margin-top: 0 !important;
  }
}

.block-newsletter-inline__policy {
  margin-top: 18.75px;
  text-align: center;
}

.block-newsletter-sidebar__policy {
  margin-top: 18.75px;
}

.block-newsletter-overlay {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 10;
  background-image: linear-gradient(to right, rgba(221, 34, 34, 0.95), rgba(43, 56, 143, 0.95));
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  transition: all .7s;
  width: 100%;
}

@media only screen and (min-width: 1030px) {
  .block-newsletter-overlay {
    transform: translate3d(0, 50px, 0);
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay {
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 740px) and (min-width: 750px) and (max-width: 866px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 680px) and (min-width: 867px) and (max-width: 1029px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 650px) and (min-width: 1030px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

.block-newsletter-overlay .box-container {
  position: relative;
  z-index: 20;
  max-width: 1060px;
}

@media only screen and (min-width: 1030px) and (max-width: 1399px) {
  .block-newsletter-overlay .box-container {
    width: 85%;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .box-container {
    width: 80%;
  }
}

.block-newsletter-overlay .actions {
  background: #f5f5f5;
  font-size: 1.25rem;
}

.block-newsletter-overlay .actions > .box {
  width: 50%;
}

.block-newsletter-overlay .actions a {
  padding: 37.5px 45px;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .actions a {
    padding: 22.5px 22.5px;
  }
}

.block-newsletter-overlay .actions a.is-active {
  background: #fff;
}

.block-newsletter-overlay .title {
  font-size: 30px;
  line-height: 1.3;
}

.block-newsletter-overlay .subtitle {
  font-size: 1.25rem;
  line-height: 1.4;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .subtitle {
    font-size: 1.6rem;
    font-weight: 400;
    margin-bottom: 10px;
  }
}

@media only screen and (min-width: 750px) {
  .block-newsletter-overlay .subtitle {
    margin-top: 10px;
  }
}

.block-newsletter-overlay .forms {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 0;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .forms {
    border-top: 5px solid #000;
  }
}

.block-newsletter-overlay .featured-image {
  width: 50%;
  background-position: 50%;
  background-size: cover;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .featured-image {
    display: none;
  }
}

.block-newsletter-overlay .boxed {
  background: #fff;
  padding: 112.5px 45px 127.5px;
  width: 50%;
  border: 0 solid;
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .boxed {
    padding: 82.5px 45px 45px;
    border-bottom: 20px solid;
    -o-border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
       border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
    width: 100%;
  }
}

@media only screen and (max-width: 479px) {
  .block-newsletter-overlay .boxed {
    padding: 52.5px 30px 30px;
  }
}

@media only screen and (max-height: 780px) and (min-width: 750px) {
  .block-newsletter-overlay .boxed {
    padding-top: 60px;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .mktoFormRow {
    height: 0;
  }

  .block-newsletter-overlay .mktoFormRow label {
    text-align: center !important;
  }

  .block-newsletter-overlay .mktoFormRow .mktoEmailField {
    margin-top: -37px !important;
  }
}

.block-newsletter-overlay form .mktoFormRow label {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300 !important;
  padding-left: 10px;
  width: 100% !important;
}

.block-newsletter-overlay form .mktoAsterix {
  display: none !important;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-overlay form .mktoLabel.mktoHasWidth {
    position: relative;
    top: -5px;
  }
}

.block-newsletter-overlay form button.mktoButton {
  border-radius: 0;
  font-family: "Artifakt Element", "Helvetica", sans-serif !important;
  font-weight: 500 !important;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay form button.mktoButton {
    margin-top: 0 !important;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay form .mktoFormRow:nth-child(3) .mktoRadioList {
    margin-top: -20px !important;
  }
}

.block-newsletter-overlay .message {
  text-align: center;
  padding: 0 0 30px 0;
}

.block-newsletter-overlay .block-newsletter__close .line {
  background: #1f1f1f;
}

.block-newsletter-overlay__policy {
  left: 0;
  bottom: 18.75px;
  position: absolute;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 479px) {
  .block-newsletter-overlay__policy {
    padding: 0 15px;
  }
}

.block-newsletter-footer,
.block-newsletter-inline {
  background-color: #2c383c;
  position: relative;
  padding: 37.5px 0 0 0;
  z-index: 5;
}

.block-newsletter-footer:before,
.block-newsletter-inline:before {
  background: #fff;
  content: ' ';
  background-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4);
  background-size: 100px auto;
  height: 30px;
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
}

.block-newsletter-footer .title,
.block-newsletter-inline .title {
  font-size: 2rem;
  margin-bottom: 0;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-footer .title,
  .block-newsletter-inline .title {
    display: block;
    font-size: 1.75rem;
  }
}

.block-newsletter-footer .title,
.block-newsletter-inline .title,
.block-newsletter-footer .subtitle,
.block-newsletter-inline .subtitle {
  color: #fff;
}

.block-newsletter-footer .boxed,
.block-newsletter-inline .boxed {
  background-color: transparent;
  border: 0 solid;
  padding: 30px 33%;
}

@media only screen and (max-width: 479px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 60px 30px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 829px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 60px 60px;
  }
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 30px 25%;
  }
}

.block-newsletter-footer .block-newsletter__success,
.block-newsletter-inline .block-newsletter__success {
  background-color: #2c383c;
  padding: 0;
}

.block-newsletter-footer form,
.block-newsletter-inline form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 20px;
}

.block-newsletter-footer form > div:nth-child(2),
.block-newsletter-inline form > div:nth-child(2) {
  width: 75%;
  margin-bottom: 0 !important;
}

.block-newsletter-footer form > div:nth-child(2) .mktoError,
.block-newsletter-inline form > div:nth-child(2) .mktoError {
  right: -64px !important;
  bottom: -40px !important;
}

.block-newsletter-footer form > div:nth-child(3),
.block-newsletter-inline form > div:nth-child(3) {
  -ms-flex-order: 3;
      order: 3;
  width: 100%;
  margin: -7px 0 -10px !important;
}

.block-newsletter-footer form > div:nth-child(3) .mktoRadioList,
.block-newsletter-inline form > div:nth-child(3) .mktoRadioList {
  margin-top: 0 !important;
}

.block-newsletter-footer form > div:nth-child(3) .mktoRadioList label,
.block-newsletter-inline form > div:nth-child(3) .mktoRadioList label {
  color: #fff !important;
  position: relative;
  top: 1px;
}

.block-newsletter-footer form > div:nth-child(5),
.block-newsletter-inline form > div:nth-child(5) {
  width: 25%;
  -ms-flex-align: baseline;
      align-items: baseline;
}

.block-newsletter-footer form > div:nth-child(5) span,
.block-newsletter-inline form > div:nth-child(5) span,
.block-newsletter-footer form > div:nth-child(5) button,
.block-newsletter-inline form > div:nth-child(5) button {
  height: 33px;
  margin-top: 3px;
  width: 100%;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-footer form > div:nth-child(2),
  .block-newsletter-inline form > div:nth-child(2) {
    width: 60%;
  }

  .block-newsletter-footer form > div:nth-child(5),
  .block-newsletter-inline form > div:nth-child(5) {
    width: 40%;
  }

  .block-newsletter-footer form > div:nth-child(5) button,
  .block-newsletter-inline form > div:nth-child(5) button {
    min-width: 0;
  }
}

.block-newsletter-footer form .mktoFieldWrap,
.block-newsletter-inline form .mktoFieldWrap {
  -ms-flex-align: left;
      align-items: left;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-newsletter-footer form button.mktoButton,
.block-newsletter-inline form button.mktoButton {
  border-radius: 0;
  background-color: #fff !important;
  background-image: none !important;
  color: #2c383c !important;
}

.block-newsletter-footer form .mktoFormRow .mktoEmailField,
.block-newsletter-inline form .mktoFormRow .mktoEmailField {
  border: 1px solid #9FA5A9;
  color: #fff;
  height: 33px;
}

.block-newsletter-footer form .mktoFormRow .mktoEmailField:focus,
.block-newsletter-inline form .mktoFormRow .mktoEmailField:focus,
.block-newsletter-footer form .mktoFormRow .mktoEmailField.has-value,
.block-newsletter-inline form .mktoFormRow .mktoEmailField.has-value {
  background-color: #2c383c;
}

.block-newsletter-footer form .mktoFormRow label.mktoLabel.mktoHasWidth,
.block-newsletter-inline form .mktoFormRow label.mktoLabel.mktoHasWidth {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300;
  color: #fff;
  left: 10px;
  position: relative;
  top: -8px;
  width: auto !important;
}

.block-newsletter-footer form .mktoFieldDescriptor.mktoFormCol,
.block-newsletter-inline form .mktoFieldDescriptor.mktoFormCol {
  margin-bottom: 5px !important;
}

.block-newsletter-footer form .mktoOffset,
.block-newsletter-inline form .mktoOffset {
  display: none;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-footer,
  .block-newsletter-inline {
    border: 0 solid;
  }
}

.block-newsletter-footer__policy {
  margin-top: 18.75px;
  text-align: center;
}

.block-newsletter-inline {
  border-width: 0;
}

.block-newsletter-inline form > div:nth-child(5) button {
  margin-top: 2px;
}

.block-newsletter-unsubscribe {
  padding-top: 15px;
}

.block-newsletter-unsubscribe .mktoOffset {
  display: none;
}

.block-newsletter-unsubscribe .mktoFieldWrap {
  display: block !important;
}

.block-newsletter-unsubscribe .mktoFormRow:nth-child(2) {
  margin-bottom: 0 !important;
}

.block-newsletter-unsubscribe #Email {
  padding-left: 15px;
}

.block-newsletter-unsubscribe label {
  margin-left: 15px !important;
  width: auto !important;
}

.block-newsletter-unsubscribe button {
  color: #fff !important;
  margin-top: 0 !important;
}

.block-newsletter-unsubscribe .block-newsletter__success {
  margin: -30px -10% 0;
  width: 120%;
}

.block-newsletter-unsubscribe .block-newsletter__success .title {
  display: block;
  font-size: 16px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-unsubscribe .block-newsletter__success {
    margin: 0 -3% 0;
    width: 106%;
    display: block;
    padding: 60px 0 120px;
  }
}

@media only screen and (max-width: 769px) {
  .block-newsletter-unsubscribe {
    padding-top: 5px !important;
  }

  .block-newsletter-unsubscribe .mktoButtonWrap,
  .block-newsletter-unsubscribe button {
    width: 100% !important;
  }

  .block-newsletter-unsubscribe button {
    margin-top: 0 !important;
  }

  .block-newsletter-unsubscribe .mktoFormRow {
    margin-bottom: 0 !important;
  }
}

.block-newsletter__close {
  right: 10px;
  position: absolute;
  top: 60px;
  transform: translate3d(-50%, -200%, 0);
  width: 18px;
  z-index: 10;
}

.block-newsletter__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.block-newsletter__close .line-2 {
  opacity: 0;
}

.block-newsletter__close .line-3 {
  transform: rotate(-45deg);
  top: -11px;
}

.block-newsletter__success {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background: #fff;
  height: 100%;
  left: 0;
  padding: 112.5px 45px 127.5px;
  opacity: 0;
  position: absolute;
  top: 0;
  visibility: hidden;
  transition: all .4s ease;
  width: 100%;
  z-index: 2;
}

.block-newsletter__success .boxeded {
  width: 100%;
}

.mktoButtonWrap .is-waiting {
  background-color: #fff !important;
  color: #9FA5A9 !important;
  display: none;
  background-image: none !important;
  border: 0 solid !important;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  height: 50px;
  min-width: 170px;
  margin-top: 2px !important;
  opacity: 1;
  padding: 0 !important;
  padding-top: 2px !important;
  text-transform: uppercase !important;
}

.mktoButtonWrap.state-waiting .is-waiting {
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  display: -ms-flexbox;
  display: flex;
}

.mktoButtonWrap.state-waiting button:first-child {
  display: none;
}

#mktoForm_2003 .mktoButtonWrap .is-waiting,
.block-newsletter-sidebar #mktoForm_1919 .mktoButtonWrap .is-waiting {
  background-image: linear-gradient(to right, #dd2222, #2b388f) !important;
  border: 0 solid !important;
  color: #fff !important;
  margin-top: 15px !important;
  opacity: .5;
}

.block-newsletter-sidebar #mktoForm_1919 .mktoButtonWrap .is-waiting {
  top: 3px !important;
  position: relative;
  min-width: 0;
  font-size: 11px !important;
}

.block-newsletter-footer form > div:nth-child(5) button,
.block-newsletter-inline form > div:nth-child(5) button {
  margin-top: 2px !important;
}

/* ========= NEW MARKETO FORM MIGRATION ================= */

#emailsignup__footer,
#emailsignup__inline,
#emailsignup__overlay,
.emailsignup__sidebar {
  margin: 0 auto;
  max-width: 300px;
}

#emailsignup__footer iframe,
#emailsignup__inline iframe,
#emailsignup__overlay iframe,
.emailsignup__sidebar iframe {
  width: 100%;
}

.block-authors {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-authors > .box {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  margin: 0 0 35px 0;
  width: 19%;
}

@media only screen and (max-width: 829px) {
  .block-authors > .box {
    width: 30%;
  }
}

@media only screen and (max-width: 749px) {
  .block-authors > .box {
    width: 46%;
    margin: 2%;
  }
}

.block-authors > .box.is-empty {
  opacity: 0;
}

.block-staff {
  margin: 37.5px auto 60px auto;
  max-width: 600px;
}

.block-staff ul {
  margin: 0 0 40px 0;
}

.block-staff li:not(:last-child) {
  margin: 0 0 20px 0;
}

.block-staff__heading {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: .5px;
  margin: 0 0 25px 0;
  text-align: center;
  text-transform: uppercase;
}

.block-staff__contributers {
  text-align: center;
  color: #9FA5A9;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.block-staff__contributers a {
  border-bottom: 1px solid #9FA5A9;
}

.block-awards {
  margin: 0 auto;
  max-width: 570px;
}

.block-awards .boxes {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 829px) {
  .block-awards .boxes {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

@media only screen and (min-width: 830px) {
  .block-awards .box:not(:nth-last-child(-n + 3)) {
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 829px) {
  .block-awards .box:not(:last-child) {
    margin-bottom: 25px;
  }
}

.block-awards__heading {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .5px;
  margin: 0 0 25px 0;
  text-align: center;
  text-transform: uppercase;
}

.block-event .main-image .wp-post-image {
  width: 100%;
}

.block-event__container {
  padding-bottom: 75px !important;
}

@media only screen and (max-width: 769px) {
  .block-event__container {
    padding-top: 40px !important;
  }
}

.block-event__speakers {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-left: -15px;
  margin-right: -15px;
}

.block-event__speakers.has-one .card-speaker {
  width: auto;
}

.block-event__section {
  letter-spacing: -0.02em;
  margin: 45px 0 0;
  text-align: center;
}

.block-event__section--intro {
  margin: 30px 0;
}

.block-event__section--intro .block-event__subtext {
  margin-bottom: 15px;
}

@media only screen and (max-width: 769px) {
  .block-event__section--intro .block-event__subtext {
    font-size: 21px;
  }
}

.block-event__heading {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__subtext {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__subtext {
    font-size: 23px;
  }
}

.block-event__copy {
  text-align: left;
  font-size: 18px;
}

@media only screen and (max-width: 769px) {
  .block-event__copy {
    font-size: 1rem;
  }
}

.block-event__copy h2,
.block-event__copy h3,
.block-event__copy h4,
.block-event__copy h5,
.block-event__copy h6 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__copy h3 {
  font-size: 32px;
}

.block-event__copy h4 {
  font-size: 24px;
}

.block-event__copy h5 {
  font-size: 18px;
}

.block-event__copy h6 {
  font-size: 12px;
}

.block-event__copy a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
  display: inline-block;
}

.block-event__copy a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-event__copy a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-event__copy a:not([href^="https://cdn"]) *,
.block-event__copy a:not([href^="https://cdn"]) *:after,
.block-event__copy a:not([href^="https://cdn"]):after,
.block-event__copy a:not([href^="https://cdn"]) *:before,
.block-event__copy a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.block-event__copy a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.block-event__cta {
  background-color: #dd2222;
  background-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  margin-top: 30px;
  min-width: 240px;
  padding: 22px 60px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__cta {
    font-size: 18px;
    padding: 15px 60px;
  }
}

.block-event__divider {
  border-bottom: 2px solid #DD2222;
  height: 0;
  margin: 0 auto;
  width: 105px;
}

.block-event__section--hotel {
  margin-top: 75px;
}

.block-event__hotel-image {
  margin-top: 30px;
  margin-bottom: 67.5px;
}

.block-event__google-map {
  margin-top: 30px;
  margin-bottom: 67.5px;
}

.block-event__url {
  margin: -5px 0 15px;
}

@media only screen and (max-width: 769px) {
  .block-event__url {
    font-size: 18px;
    overflow-wrap: break-word;
  }
}

.block-event__social a {
  margin: 0 5px;
}

@media only screen and (max-width: 769px) {
  .block-event__social a {
    margin: 0 7.5px;
  }
}

.block-event__social svg {
  width: 25px;
}

@media only screen and (max-width: 769px) {
  .block-event__social svg {
    width: 50px;
  }
}

.block-event__footer-content {
  margin-top: 67.5px;
}

.block-event__footer-content h2 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__footer-content h3 {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__footer-content h3 {
    font-size: 23px;
  }
}

.block-event__footer-content p a {
  font-weight: 800;
}

.block-event__footer-content figure {
  margin: 30px 0;
  max-width: 100%;
}

.block-event__footer-content figure img {
  height: auto;
  width: 100%;
}

#gated-content--agenda {
  display: none;
  margin: 60px 0;
}

#gate_code--agenda {
  display: block;
  margin: 60px 0 0;
}

.block-event__gate-code .block-event__copy {
  text-align: center;
}

.block-event__gate-code #iframe1 {
  margin-top: 30px;
}

.block-event__gate-code #iframe1 iframe {
  width: 100%;
}

.block-event__gate-code .block-event__gate-code-footer {
  margin-top: 0;
  margin-bottom: 60px;
}

.block-event__gate-code .block-event__divider {
  margin-bottom: 60px;
  margin-top: 20px;
}

#gated-content--agenda {
  text-align: left;
}

#gated-content--agenda p {
  margin-bottom: 30px;
}

@media only screen and (min-width: 770px) {
  .view-author:after {
    position: relative;
    z-index: -1;
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
    bottom: 0;
    content: " ";
    height: 100%;
    position: absolute;
    padding: 0 9999px;
    margin: 0 -9999px;
  }

  .view-author:before {
    left: 0;
  }

  .view-author:after {
    bottom: auto;
    height: 500px;
    top: 92px;
  }
}

@media only screen and (max-width: 769px) {
  .view-author {
    background: #fafafa;
  }

  .view-author .block-articles-latest .component-heading {
    line-height: 1;
  }
}

.view-author .row {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .view-author .row {
    width: 100%;
  }
}

@media only screen and (max-width: 769px) {
  .view-author .row > .box {
    width: 100%;
  }
}

.view-author > .container:first-child,
.card-article.is-featured .view-author > .card-article__main-image:first-child,
.view-author > .block-topic__main-image:first-child {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  margin: 100px auto;
}

@media only screen and (max-width: 769px) {
  .view-author > .container:first-child,
  .card-article.is-featured .view-author > .card-article__main-image:first-child,
  .view-author > .block-topic__main-image:first-child {
    margin: 0;
    padding-bottom: 30px;
  }
}

.view-author .card-header {
  padding-top: 10px;
}

.view-author .card-header .avatar {
  border-radius: 50%;
  height: 120px;
  margin: 0 auto 15px;
  width: 120px;
}

.view-author .card-header:after {
  background: none;
  display: none;
}

.view-author .block-articles-latest {
  padding: 60px;
}

@media only screen and (max-width: 769px) {
  .view-author .block-articles-latest {
    padding: 0;
  }
}

.view-front-page > .row:nth-child(1) {
  position: relative;
}

.view-front-page .container,
.view-front-page .card-article.is-featured .card-article__main-image,
.card-article.is-featured .view-front-page .card-article__main-image,
.view-front-page .block-topic__main-image {
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 769px) {
  .view-front-page .container,
  .view-front-page .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .view-front-page .card-article__main-image,
  .view-front-page .block-topic__main-image {
    width: 100%;
  }
}

.view-front-page .row {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .view-front-page .row > .box {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .row > .box-1.has-no-mobile-margin .card-article.is-large {
    margin: 0;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .row > .box-1.grid-8-offset-1:not(.has-no-mobile-margin) .card-article.is-large {
    margin: 0 0 60px 0;
  }
}

.view-front-page .row > .box-2 .card-article.is-small:last-child {
  margin: 0;
}

.view-front-page .row:not(:last-child) {
  margin-bottom: 60px;
  padding-bottom: 1px;
}

@media only screen and (max-width: 749px) {
  .view-front-page .row:not(:last-child) {
    margin-bottom: 0px;
  }
}

@media only screen and (min-width: 750px) {
  .view-front-page .card-article.is-small:first-child {
    margin: 0 0 60px 0;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .card-article.is-small {
    margin: 0 0 60px 0;
  }
}

.view-front-page .button-the-latest {
  border-bottom: 4px solid #2c383c;
  border-top: 1px solid #9FA5A9;
  padding: 30px;
}

@media only screen and (max-width: 769px) {
  .view-front-page .block-editors-picks + .block-topic-section {
    padding-bottom: 0;
  }
}

.view-front-page__bar {
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px auto;
  height: 37.5px;
}

.view-page-authors header {
  font-size: 2.5rem;
  line-height: 1.2;
  margin: 0 0 22.5px 0;
  text-align: left;
}

.view-page-authors header h2 {
  color: #1f1f1f;
  margin: 30px 0;
  font-size: 40px;
  text-align: center;
}

.view-page-authors .block-authors__name {
  font-size: 16px;
  line-height: 1.2;
  padding: 22.5px 15px;
}

.view-page {
  padding-bottom: 90px;
}

.view-page .page-container {
  position: relative;
  z-index: 40;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
  margin-top: -90px;
  max-width: 810px;
  padding: 60px 75px 90px 75px;
}

@media only screen and (max-width: 749px) {
  .view-page .page-container {
    padding: 30px;
  }
}

.view-page .stripes-container {
  position: relative;
  z-index: -1;
  margin-bottom: -400px;
  min-height: 500px;
}

.view-page .stripes-container:after {
  position: relative;
  z-index: -1;
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px;
  bottom: 0;
  content: " ";
  height: 100%;
  position: absolute;
  padding: 0 9999px;
  margin: 0 -9999px;
}

.view-page .stripes-container:before {
  left: 0;
}

.view-page .main-image {
  position: relative;
  z-index: 10;
}

.view-page .main-image:after {
  position: relative;
  z-index: -1;
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px;
  bottom: 0;
  content: " ";
  height: 100%;
  position: absolute;
  padding: 0 9999px;
  margin: 0 -9999px;
}

.view-page .main-image:before {
  left: 0;
}

.view-page .main-image .container,
.view-page .main-image .card-article.is-featured .card-article__main-image,
.card-article.is-featured .view-page .main-image .card-article__main-image,
.view-page .main-image .block-topic__main-image {
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 769px) {
  .view-page .main-image .container,
  .view-page .main-image .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .view-page .main-image .card-article__main-image,
  .view-page .main-image .block-topic__main-image {
    width: 100%;
  }
}

.view-page header {
  font-size: 2.5rem;
  line-height: 1.2;
  margin: 0 0 22.5px 0;
  text-align: center;
}

.view-page header h2 {
  margin: 0;
}

.view-page header h1,
.view-page header h2,
.view-page header h3,
.view-page header h4,
.view-page header h5 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-weight: 400;
}

.view-page__content h1,
.view-page__content h2,
.view-page__content h3,
.view-page__content h4,
.view-page__content h5 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-weight: 400;
}

.view-page__content p {
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 0 0 1.4em 0;
}

@media only screen and (max-width: 769px) {
  .view-page__content p {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-page__content p {
    font-size: 1rem;
  }
}

.view-page__content p:last-child {
  margin: 0;
}

.view-page__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
}

.view-page__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.view-page__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.view-page__content a:not([href^="https://cdn"]) *,
.view-page__content a:not([href^="https://cdn"]) *:after,
.view-page__content a:not([href^="https://cdn"]):after,
.view-page__content a:not([href^="https://cdn"]) *:before,
.view-page__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.view-page__content a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.is-dark .view-page__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #222d31, -0.03em 0 #222d31, 0 0.03em #222d31, 0 -0.03em #222d31, 0.06em 0 #222d31, -0.06em 0 #222d31, 0.09em 0 #222d31, -0.09em 0 #222d31, 0.12em 0 #222d31, -0.12em 0 #222d31, 0.15em 0 #222d31, -0.15em 0 #222d31;
  background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.is-dark .view-page__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .view-page__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .view-page__content a:not([href^="https://cdn"]) *,
.is-dark .view-page__content a:not([href^="https://cdn"]) *:after,
.is-dark .view-page__content a:not([href^="https://cdn"]):after,
.is-dark .view-page__content a:not([href^="https://cdn"]) *:before,
.is-dark .view-page__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.is-dark .view-page__content a:not([href^="https://cdn"]):visited {
  color: rgba(255, 255, 255, 0.9);
}

.view-page__content strong,
.view-page__content b {
  font-weight: 800;
}

.view-page__content em {
  font-style: italic;
}

.view-page__content img {
  height: auto;
  max-width: 100%;
}

.view-page__content .post-password-form input[type="password"] {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100%;
}

.view-page__content .post-password-form input[type="password"]:focus {
  outline: none;
}

.view-page__content .post-password-form input[type="submit"] {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #000;
  border: none;
  color: #fff;
  display: block;
  padding: 22.5px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.view-page__content .post-password-form input[type="submit"]:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.view-page__content .post-password-form input[type="submit"] span {
  position: relative;
  z-index: 1;
}

.view-page__content .post-password-form input[type="submit"]:hover:after {
  width: 100%;
}

.ebook-container {
  padding: 0 0 25px 0;
  position: relative;
}

.ebook-container .ebook-controls {
  position: relative;
  z-index: 50;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background-color: rgba(255, 255, 255, 0.8);
  top: 0;
  left: 0;
  position: absolute;
}

.ebook-container .slick-arrow {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% auto;
  border: none;
  height: 30px;
  transition: all .4s;
  text-indent: -999999px;
  width: 30px;
}

.ebook-container .slick-arrow.slick-next {
  background-image: url(../fonts/icon-arrow-right.svg?b403f8b74908f4a3e1fda131cc7d7325);
}

.ebook-container .slick-arrow.slick-prev {
  background-image: url(../fonts/icon-arrow-left.svg?f00bf64937e01744a0a3404e50f8af25);
}

.ebook-container .slick-arrow.slick-disabled {
  opacity: .25;
}

.view-single-post .wistia_responsive_padding {
  margin-bottom: 1.4em;
}

.view-single-post .block-magazine-rack,
.view-single-post .block-editors-picks {
  position: relative;
  z-index: 10;
}

.view-single-post .main-image__caption {
  bottom: 90px;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  left: 0;
  max-width: 640px;
  opacity: 0;
  padding: 0 75px;
  position: absolute;
  transition: all .4s;
  width: 100%;
}

.view-single-post .main-image__caption > .boxed {
  border-left: 3px solid #fff;
  padding: 0 0 0 15px;
}

.view-single-post .block-single__content h2,
.view-single-post .block-single__content h3,
.view-single-post .block-single__content h4,
.view-single-post .block-single__content h5,
.view-single-post .block-single__content h6 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-bottom: 7.5px;
  font-weight: 800;
}

.view-single-post .block-single__content h3 {
  font-size: 1.125rem;
}

.view-single-post .block-single__content h4 {
  font-size: 0.9375rem;
}

.view-single-post .block-single__content h5 {
  font-size: 0.8125rem;
  text-transform: uppercase;
}

.view-single-post .block-single__content h6 {
  color: #9FA5A9;
  font-size: 0.8125rem;
  font-size: 13px;
  text-transform: uppercase;
}

.view-single-post .container strong,
.view-single-post .card-article.is-featured .card-article__main-image strong,
.card-article.is-featured .view-single-post .card-article__main-image strong,
.view-single-post .block-topic__main-image strong,
.view-single-post .container b,
.view-single-post .card-article.is-featured .card-article__main-image b,
.card-article.is-featured .view-single-post .card-article__main-image b,
.view-single-post .block-topic__main-image b {
  font-weight: 800;
}

.view-single-post .container em,
.view-single-post .card-article.is-featured .card-article__main-image em,
.card-article.is-featured .view-single-post .card-article__main-image em,
.view-single-post .block-topic__main-image em {
  font-style: italic;
}

.view-single-post .container p,
.view-single-post .card-article.is-featured .card-article__main-image p,
.card-article.is-featured .view-single-post .card-article__main-image p,
.view-single-post .block-topic__main-image p {
  position: relative;
  z-index: 10;
}

.view-single-post .container p,
.view-single-post .card-article.is-featured .card-article__main-image p,
.card-article.is-featured .view-single-post .card-article__main-image p,
.view-single-post .block-topic__main-image p,
.view-single-post .container ul,
.view-single-post .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured .view-single-post .card-article__main-image ul,
.view-single-post .block-topic__main-image ul {
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 0 0 1.4em 0;
}

@media only screen and (max-width: 769px) {
  .view-single-post .container p,
  .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured .view-single-post .card-article__main-image p,
  .view-single-post .block-topic__main-image p,
  .view-single-post .container ul,
  .view-single-post .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured .view-single-post .card-article__main-image ul,
  .view-single-post .block-topic__main-image ul {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-single-post .container p,
  .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured .view-single-post .card-article__main-image p,
  .view-single-post .block-topic__main-image p,
  .view-single-post .container ul,
  .view-single-post .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured .view-single-post .card-article__main-image ul,
  .view-single-post .block-topic__main-image ul {
    font-size: 1rem;
  }
}

.view-single-post .container p:last-child,
.view-single-post .card-article.is-featured .card-article__main-image p:last-child,
.card-article.is-featured .view-single-post .card-article__main-image p:last-child,
.view-single-post .block-topic__main-image p:last-child,
.view-single-post .container ul:last-child,
.view-single-post .card-article.is-featured .card-article__main-image ul:last-child,
.card-article.is-featured .view-single-post .card-article__main-image ul:last-child,
.view-single-post .block-topic__main-image ul:last-child {
  margin: 0;
}

.view-single-post .container ul,
.view-single-post .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured .view-single-post .card-article__main-image ul,
.view-single-post .block-topic__main-image ul {
  margin-left: 1.4em;
}

.view-single-post .container ul li:not(:last-child),
.view-single-post .card-article.is-featured .card-article__main-image ul li:not(:last-child),
.card-article.is-featured .view-single-post .card-article__main-image ul li:not(:last-child),
.view-single-post .block-topic__main-image ul li:not(:last-child) {
  margin: 0 0 5px 0;
}

.view-single-post .container blockquote,
.view-single-post .card-article.is-featured .card-article__main-image blockquote,
.card-article.is-featured .view-single-post .card-article__main-image blockquote,
.view-single-post .block-topic__main-image blockquote {
  border-bottom: 1px solid #a9b5b8;
  border-top: 1px solid #a9b5b8;
  margin: 2.2em 0;
  text-align: center;
}

.view-single-post .container blockquote p,
.view-single-post .card-article.is-featured .card-article__main-image blockquote p,
.card-article.is-featured .view-single-post .card-article__main-image blockquote p,
.view-single-post .block-topic__main-image blockquote p {
  font-weight: 800;
  font-size: 1.5rem;
  margin: 35px auto !important;
}

@media only screen and (min-width: 750px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    max-width: 70%;
  }
}

@media only screen and (max-width: 769px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    font-size: 1.25rem;
  }
}

.view-single-post .container .entry-content-asset,
.view-single-post .card-article.is-featured .card-article__main-image .entry-content-asset,
.card-article.is-featured .view-single-post .card-article__main-image .entry-content-asset,
.view-single-post .block-topic__main-image .entry-content-asset,
.view-single-post .container .wp-video,
.view-single-post .card-article.is-featured .card-article__main-image .wp-video,
.card-article.is-featured .view-single-post .card-article__main-image .wp-video,
.view-single-post .block-topic__main-image .wp-video,
.view-single-post .container .component-gallery,
.view-single-post .card-article.is-featured .card-article__main-image .component-gallery,
.card-article.is-featured .view-single-post .card-article__main-image .component-gallery,
.view-single-post .block-topic__main-image .component-gallery {
  margin: 0 0 1.4em 0;
}

.view-single-post .container .size-full,
.view-single-post .card-article.is-featured .card-article__main-image .size-full,
.card-article.is-featured .view-single-post .card-article__main-image .size-full,
.view-single-post .block-topic__main-image .size-full,
.view-single-post .container .alignnone,
.view-single-post .card-article.is-featured .card-article__main-image .alignnone,
.card-article.is-featured .view-single-post .card-article__main-image .alignnone,
.view-single-post .block-topic__main-image .alignnone {
  display: block;
  height: auto;
  max-width: 100%;
}

@media only screen and (min-width: 770px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    position: relative;
    width: 100vw !important;
    max-width: none;
    left: -75px;
    margin: 7% 0 !important;
  }

  .view-single-post .container .is-fullbrowserwidth img,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth img,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth img,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth img {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 980px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    left: calc( 0px - 5vw + -21%);
  }
}

@media only screen and (min-width: 1400px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    left: calc( 0px - ( (100vw - 1230px) / 2) + -21%);
  }
}

.view-single-post .container .is-fullbrowserwidth .alignnone,
.view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth .alignnone,
.card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth .alignnone,
.view-single-post .block-topic__main-image .is-fullbrowserwidth .alignnone {
  width: 100% !important;
}

.view-single-post .container .redshift-video-embed.aligncenter > div,
.view-single-post .card-article.is-featured .card-article__main-image .redshift-video-embed.aligncenter > div,
.card-article.is-featured .view-single-post .card-article__main-image .redshift-video-embed.aligncenter > div,
.view-single-post .block-topic__main-image .redshift-video-embed.aligncenter > div {
  width: 100% !important;
}

.view-single-post .container .alignright,
.view-single-post .card-article.is-featured .card-article__main-image .alignright,
.card-article.is-featured .view-single-post .card-article__main-image .alignright,
.view-single-post .block-topic__main-image .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

@media only screen and (max-width: 749px) {
  .view-single-post .container .alignright,
  .view-single-post .card-article.is-featured .card-article__main-image .alignright,
  .card-article.is-featured .view-single-post .card-article__main-image .alignright,
  .view-single-post .block-topic__main-image .alignright {
    float: none;
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
}

.view-single-post .container .alignleft,
.view-single-post .card-article.is-featured .card-article__main-image .alignleft,
.card-article.is-featured .view-single-post .card-article__main-image .alignleft,
.view-single-post .block-topic__main-image .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

@media only screen and (max-width: 749px) {
  .view-single-post .container .alignleft,
  .view-single-post .card-article.is-featured .card-article__main-image .alignleft,
  .card-article.is-featured .view-single-post .card-article__main-image .alignleft,
  .view-single-post .block-topic__main-image .alignleft {
    float: none;
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
}

.view-single-post .container .component-gallery .wp-caption,
.view-single-post .card-article.is-featured .card-article__main-image .component-gallery .wp-caption,
.card-article.is-featured .view-single-post .card-article__main-image .component-gallery .wp-caption,
.view-single-post .block-topic__main-image .component-gallery .wp-caption {
  margin-bottom: 0;
}

.view-single-post .container .wp-caption,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption,
.view-single-post .block-topic__main-image .wp-caption {
  margin-bottom: 1.4em;
  overflow: hidden;
  position: relative;
  z-index: 11;
}

.view-single-post .container .wp-caption img,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption img,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption img,
.view-single-post .block-topic__main-image .wp-caption img {
  display: block;
  height: auto;
  width: 100%;
}

.view-single-post .container .wp-caption .wp-caption-text,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text,
.view-single-post .block-topic__main-image .wp-caption .wp-caption-text {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  bottom: 0;
  left: 0;
  font-size: 0.875rem;
  margin: 0;
  padding: 30px;
  position: absolute;
  transform: translateY(100%);
  transition: transform .4s;
  width: 100%;
  z-index: 5;
}

@media only screen and (max-width: 1029px) {
  .view-single-post .container .wp-caption .wp-caption-text,
  .view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
  .card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text,
  .view-single-post .block-topic__main-image .wp-caption .wp-caption-text {
    background: #fff;
    color: #9FA5A9;
    position: static;
    transform: none;
  }
}

.view-single-post .container .wp-caption .wp-caption-text a,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text a,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text a,
.view-single-post .block-topic__main-image .wp-caption .wp-caption-text a {
  background: none;
  border-bottom: 1px solid #fff;
  text-shadow: none;
}

.view-single-post .container .wp-caption:hover .wp-caption-text,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption:hover .wp-caption-text,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption:hover .wp-caption-text,
.view-single-post .block-topic__main-image .wp-caption:hover .wp-caption-text {
  transform: translateY(0);
}

.block-single__sidebar .site-ad {
  margin-bottom: 40px;
}

.block-single__sidebar .site-ad:last-child {
  margin-bottom: 0;
}

.is-dark,
.is-dark .block-single__body,
.is-dark .block-magazine-rack,
.is-dark .block-editors-picks {
  background-color: #222d31;
  color: #fff;
}

.is-dark .box-4 svg {
  fill: #fff;
}

.is-dark .block-newsletter-footer:before,
.is-dark .block-newsletter-inline:before {
  background-color: transparent !important;
}

.is-dark .block-menu a,
.is-dark .component-button-newsletter,
.is-dark .block-single__title,
.is-dark .block-single__content,
.is-dark .component-heading span {
  color: #fff;
}

.is-dark .block-single__author {
  color: #9FA5A9;
}

.is-dark .block-magazine-rack,
.is-dark .block-editors-picks {
  border-top: 1px solid #9FA5A9;
}

.is-dark .block-magazine-rack .card-article__title,
.is-dark .block-editors-picks .card-article__title,
.is-dark .block-magazine-rack .card-article__author,
.is-dark .block-editors-picks .card-article__author {
  color: #fff;
}

.is-dark.block-header {
  border-color: #fff;
}

.is-dark .component-share-alt {
  background-color: transparent;
}

.is-dark .component-share-alt a {
  border-color: transparent;
}

.is-dark .component-share-alt svg {
  fill: #2c383c;
}

.is-dark .block-single__sidebar {
  background-color: #222d31;
  outline: 30px solid #222d31;
}

.is-dark .block-single__recommended {
  border-color: #9FA5A9;
}

.is-dark .block-single__recommended .title {
  color: #fff;
}

.is-dark .block-single__recommended .divider {
  background-color: #9FA5A9;
}

.is-dark .block-newsletter-sidebar {
  border-color: #9FA5A9;
}

.is-dark .block-newsletter-sidebar .boxed {
  background-color: transparent;
  -o-border-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) 50 0 repeat;
     border-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) 50 0 repeat;
}

.is-dark .block-newsletter-sidebar .title,
.is-dark .block-newsletter-sidebar .subtitle {
  color: #fff;
}

.is-dark .block-newsletter-sidebar form button.mktoButton {
  background-color: #fff !important;
  background-image: none !important;
  color: #2c383c !important;
}

.is-dark .block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList label {
  color: #fff;
}

.is-dark .container .wp-caption .wp-caption-text,
.is-dark .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
.card-article.is-featured .is-dark .card-article__main-image .wp-caption .wp-caption-text,
.is-dark .block-topic__main-image .wp-caption .wp-caption-text {
  background-color: #2c383c;
  color: #fff;
}

/* ==== Event pop up hacks ========== */

body[data-blogid="4"] .container p,
body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
.card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
body[data-blogid="4"] .block-topic__main-image p,
body[data-blogid="4"] .container ul,
body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
body[data-blogid="4"] .block-topic__main-image ul {
  font-size: 1rem;
}

@media only screen and (max-width: 769px) {
  body[data-blogid="4"] .container p,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
  body[data-blogid="4"] .block-topic__main-image p,
  body[data-blogid="4"] .container ul,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
  body[data-blogid="4"] .block-topic__main-image ul {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 749px) {
  body[data-blogid="4"] .container p,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
  body[data-blogid="4"] .block-topic__main-image p,
  body[data-blogid="4"] .container ul,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
  body[data-blogid="4"] .block-topic__main-image ul {
    font-size: 0.8125rem;
  }
}

#block-single__gated-content {
  display: none;
  margin: 60px 0;
}

#block-single__gate_code {
  display: block;
  margin: 60px 0 0;
}

#block-single__gate_code h3 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
  margin-top: 60px;
  text-align: center;
}

#block-single__gate_code .block-single__gate-code-footer p {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 12px;
  font-weight: 100;
  line-height: 1.5;
  margin: 7.5px auto 10px;
  max-width: 500px;
}

#block-single__gate_code .block-single__gate-code-footer p a {
  background-image: none;
  color: #9FA5A9;
  text-decoration: underline;
}

@media only screen and (max-width: 769px) {
  #block-single__gate_code .block-single__gate-code-footer p {
    font-size: 12px;
  }
}

.block-single__gate-code .block-single__copy {
  text-align: center;
}

.block-single__gate-code #iframe1 {
  margin-top: 30px;
}

.block-single__gate-code #iframe1 iframe {
  width: 100%;
}

.block-single__gate-code .block-single__gate-code-footer {
  margin-top: 0;
  margin-bottom: 60px;
}

.block-single__gate-code .block-single__divider {
  margin-bottom: 60px;
  margin-top: 20px;
}

#block-single__gated-content {
  text-align: left;
}

#block-single__gated-content p {
  margin-bottom: 30px;
}

.view-topic-page .block-magazine-rack,
.view-topic-page .block-editors-picks {
  padding: 30px 0 15px 0;
}

.view-topic-page .block-magazine-rack .component-heading,
.view-topic-page .block-editors-picks .component-heading {
  margin-bottom: 7.5px;
}

.view-topic-page .block-magazine-rack .component-heading span,
.view-topic-page .block-editors-picks .component-heading span {
  font-size: 20px;
}

.state-header-shadowed .block-header {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.state-header-shadowed .block-header.is-dark {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.2);
  background: #000;
  color: rgba(255, 255, 255, 0.9);
}

.state-header-shadowed .block-header.is-dark .logo svg {
  fill: rgba(255, 255, 255, 0.9);
}

.state-header-init .nav-tease {
  opacity: 0;
}

.state-header-init .logo-tease {
  height: 60px;
}

@media only screen and (max-width: 769px) {
  .state-header-init .logo-tease {
    transform: translateY(-100px);
    opacity: 0;
  }
}

@media only screen and (max-width: 769px) {
  .state-header-init .logo-image {
    display: none;
  }
}

.state-header-init .block-header__postmeta {
  transform: translateY(-12px);
  opacity: 1;
  visibility: visible;
  height: 14px;
}

@media only screen and (max-width: 769px) {
  .state-header-init .block-header__postmeta {
    transform: translateY(0);
    text-align: center;
  }
}

.state-header-init .block-header__postmeta-social {
  transform: translateY(-60px);
  opacity: 1;
  height: 58px;
}

@media only screen and (min-width: 1030px) and (min-width: 750px) {
  .state-newsletter-open {
    overflow: hidden;
  }
}

@media only screen and (min-width: 1030px) {
  .state-newsletter-open .site {
    overflow: hidden;
    filter: blur(1px);
  }
}

.state-newsletter-open .block-newsletter {
  opacity: 1;
  visibility: visible;
  z-index: 60;
  transform: translate3d(0, 0, 0);
}

.state-newsletter-open .block-newsletter.block-newsletter-overlay.state-success .block-newsletter__success {
  opacity: 1;
  visibility: visible;
}

.state-newsletter-open .component-layout-close-overlay {
  opacity: 1;
  visibility: visible;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1;
}

@media only screen and (max-width: 1029px) {
  .state-newsletter-open .block-user-actions {
    transform: translateY(100%);
  }
}

@media only screen and (min-width: 750px) {
  .state-megamenu-open {
    overflow: hidden;
  }
}

.state-megamenu-open .site {
  overflow: hidden;
  filter: blur(1px);
}

.state-megamenu-open .block-header .navigation-primary {
  opacity: 1;
  visibility: visible;
}

.state-megamenu-open .block-megamenu__bottom,
.state-megamenu-open .block-megamenu {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.state-megamenu-open .component-button-menu .line-1,
.state-megamenu-open .block-search__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.state-megamenu-open .component-button-menu .line-2,
.state-megamenu-open .block-search__close .line-2 {
  opacity: 0;
}

.state-megamenu-open .component-button-menu .line-3,
.state-megamenu-open .block-search__close .line-3 {
  transform: rotate(-45deg);
  top: -10px;
}

@media only screen and (max-width: 1029px) {
  .state-megamenu-open .block-user-actions {
    transform: translateY(100%);
  }
}

@media only screen and (min-width: 750px) {
  .state-search-open {
    overflow: hidden;
  }
}

.state-search-open .site {
  overflow: hidden;
  filter: blur(1px);
}

.state-search-open .block-search {
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 70;
  position: fixed;
  transform: translate3d(0, 0, 0);
}

.state-submenu-open .component-submenu {
  height: 50px;
  margin-top: 0px;
  padding: 15px 0;
  opacity: 1;
  overflow: hidden;
}

body.state-switcher-open {
  overflow: hidden;
}

.state-switcher-open .component-switcher {
  opacity: 1;
  overflow-y: scroll;
  visibility: visible;
}

@media only screen and (max-width: 769px) {
  .state-switcher-open .component-switcher__links {
    left: 30px;
    width: calc(100% - 30px);
  }
}

@media screen and (max-height: 900px) and (min-width: 770px) {
  .state-switcher-open .component-switcher__links {
    width: 400px;
    left: calc(100% - 400px);
  }
}

@media only screen and (max-width: 769px) {
  body[data-blogid="4"] .block-newsletter-footer .title,
  body[data-blogid="4"] .block-newsletter-inline .title,
  body[data-blogid="4"] .block-newsletter-inline .title,
  body[data-blogid="4"] .block-single__title {
    font-size: 29.4px !important;
  }

  body[data-blogid="4"] .block-topic__mobile-title {
    font-size: 31.5px;
  }

  body[data-blogid="4"] .block-topic-section .card-article__title {
    font-size: 26.25px !important;
  }

  body[data-blogid="4"] .card-article-feature__title,
  body[data-blogid="4"] .block-featured-section__subtitle,
  body[data-blogid="4"] .component-heading {
    font-size: 25.25px;
  }

  body[data-blogid="4"] .card-article.is-on-the-rack .card-article__title,
  body[data-blogid="4"] .view-single-post .container p,
  body[data-blogid="4"] .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .view-single-post .card-article__main-image p,
  body[data-blogid="4"] .view-single-post .block-topic__main-image p,
  body[data-blogid="4"] .block-newsletter .subtitle,
  body[data-blogid="4"] .view-page-authors .block-authors__name {
    font-size: 16.8px;
  }

  body[data-blogid="4"] .card-article__topic a,
  body[data-blogid="4"] .card-article__author {
    font-size: 15.75px;
  }

  body[data-blogid="4"] .block-footer__menu {
    font-size: 14.7px;
  }

  body[data-blogid="4"] .card-article-feature__author,
  body[data-blogid="4"] .block-footer-secondary,
  body[data-blogid="4"] .block-single__author,
  body[data-blogid="4"] .block-single__topic {
    font-size: 12.6px;
  }

  body[data-blogid="4"] .card-article.is-aside .card-article__title a,
  body[data-blogid="4"] .card-article.is-on-the-rack .card-article__title a {
    font-size: 1.378rem;
  }

  body[data-blogid="4"] .card-header.has-description .card-header__title {
    font-size: 1.968rem;
  }
}

@media screen and (min-width: 1400px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter {
    font-size: 13px;
    padding: 0 2px;
    letter-spacing: unset;
  }
}

@media screen and (min-width: 1541px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter svg {
    display: block;
  }
}

@media screen and (min-width: 1400px) and (max-width: 1540px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter svg {
    display: none;
  }
}

.gform_wrapper ul {
  list-style: none;
}

.gform_wrapper .gform_title {
  display: none;
}

.gform_wrapper .gfield_description.validation_message {
  color: #DD2222;
}

.gform_wrapper div.validation_error {
  color: #DD2222 !important;
  border: none !important;
  padding: 0 !important;
  text-align: left !important;
  margin-bottom: 0 !important;
}

.gform_wrapper .gform_fields li.gfield.gfield_error {
  background-color: transparent !important;
  border-bottom: none !important;
  border-top: none !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.gform_wrapper li {
  margin: 0 0 15px 0;
}

.gform_wrapper .ginput_complex > span {
  display: block;
}

.gform_wrapper .ginput_complex > span:not(:last-child) {
  margin: 0 0 15px 0;
}

.gform_wrapper label {
  position: absolute;
  left: -999999px;
}

.gform_wrapper .gform_description {
  font-size: 0.9375rem;
  line-height: 1.4;
  display: block;
  margin: 0 0 15px 0;
}

.gform_wrapper ul.gform_fields li.gfield {
  padding-right: 0 !important;
}

.gform_wrapper .ginput_complex.ginput_container {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.gform_wrapper .ginput_complex.ginput_container > span:not(:last-child) {
  margin-bottom: 0;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span {
  display: block;
  width: 100%;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span:first-child {
  margin-bottom: 15px;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span:last-child {
  margin-bottom: 0px;
}

.gform_wrapper input,
.gform_wrapper textarea {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100% !important;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
  outline: none;
}

.gform_wrapper input[type="submit"].gform_button.button {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #000;
  color: #fff;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  width: 100%;
}

.gform_wrapper input[type="submit"].gform_button.button:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.gform_wrapper input[type="submit"].gform_button.button span {
  position: relative;
  z-index: 1;
}

.gform_wrapper input[type="submit"].gform_button.button:hover {
  background: #000;
}

.gform_wrapper input[type="submit"].gform_button.button:hover:after {
  width: 100%;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9zY3NzL2FwcC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2hlbHBlcnMuY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2JyZWFrcG9pbnQvaW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L3ZhcmlhYmxlcy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9fYnJlYWtwb2ludHMtcGFyc2Uuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9fc3RyaW5nLXRvLW51bWJlci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2JyZWFrcG9pbnQvZnVuY3Rpb25zL19icmVha3BvaW50cy12YWx1ZXMuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L21peGlucy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L21peGlucy9fYnJlYWtwb2ludC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInJlc291cmNlcy9zY3NzL2Vudi92YXJpYWJsZXMvX2JhY2tncm91bmRzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19pbWFnZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGluay5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGV2ZWxzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19wcm9wcy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGF5b3V0LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19vdmVybGF5LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19zaGFkb3dzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvc2V0dXAvaW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL2Vudi9zZXR1cC9fYmFzZS5zY3NzIiwibm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIm5vZGVfbW9kdWxlcy9ycy1icmVha3BvaW50cy9pbmRleC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvc2V0dXAvX2xheW91dC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL19wcm9wcy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL190cmFuc2l0aW9ucy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9pbmRleC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9faGVhZGluZ3Muc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2dhbGxlcnkuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX21hZ2F6aW5lLXJhY2suc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX25ld3NsZXR0ZXItcG9saWN5LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19yZWNvbW1lbmRlZC1pbmxpbmUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3NoYXJlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19zb2NpYWwuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fc3VibWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jYXJkcy9fYWQtaW5saW5lLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jYXJkcy9fYWQtc2lkZWJhci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY2FyZHMvX2FydGljbGUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hcnRpY2xlLWZlYXR1cmUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hcnRpY2xlLXNuaXBwZXQuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hdXRob3Iuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hdXRob3Itc25pcHBldC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY2FyZHMvX3NwZWFrZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19oZWFkZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19zdGFmZi5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX2Zvb3Rlci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19oZWFkZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fc2VhcmNoLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX3NpbmdsZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL190b3BpYy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL190b3BpYy1zZWN0aW9uLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX2ZlYXR1cmVkLXNlY3Rpb24uc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fbWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19tZWdhbWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hcnRpY2xlcy1hc2lkZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hcnRpY2xlcy1sYXRlc3Quc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fbWFnYXppbmUtcmFjay5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19lZGl0b3JzLXBpY2tzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX25ld3NsZXR0ZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fYXV0aG9ycy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19zdGFmZi5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hd2FyZHMuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fZXZlbnQuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92aWV3cy9fYXV0aG9yLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92aWV3cy9fZnJvbnQtcGFnZS5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvdmlld3MvX3BhZ2UtYXV0aG9ycy5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvdmlld3MvX3BhZ2Uuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL19zaW5nbGUuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL190b3BpYy5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX2hlYWRlci5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL19uZXdzbGV0dGVyLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX21lZ2FtZW51LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX3NlYXJjaC5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL19zdWJtZW51LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX3N3aXRjaGVyLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9nZW9zLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92ZW5kb3IvZ3Jhdml0eS9faW5kZXguc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwidmVuZG9yL2hlbHBlcnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYnJlYWtwb2ludC9pbmRleFwiO1xuXG5AaW1wb3J0IFwiZW52L2luZGV4XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbmRleFwiO1xuQGltcG9ydCBcImNhcmRzL2luZGV4XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2luZGV4XCI7XG5AaW1wb3J0IFwidmlld3MvaW5kZXhcIjtcbkBpbXBvcnQgXCJzdGF0ZXMvaW5kZXhcIjtcblxuXG4vLyBnZW8gc3BlY2lmaWMgXG5AaW1wb3J0IFwiZ2Vvc1wiO1xuXG4vLyBncmF2aXR5IGZvcm1zXG5AaW1wb3J0IFwidmVuZG9yL2dyYXZpdHkvaW5kZXhcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59LyoqXG4gKlxuICogRlJOVCBSZXNldFxuICogTm9ybWFsaXplIHYzLjAuMiArIEN1c3RvbSBcbiAqL1xuXG4qIHtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufS5pciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuLmdyb3VwOmJlZm9yZSwgLmdyb3VwOmFmdGVyIHtcblx0Y29udGVudDogXCJcXDAwMjBcIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdyb3VwOmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbi5ncm91cCB7XG5cdHpvb206IDE7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMvaW5kZXgnO1xuQGltcG9ydCAnZnVuY3Rpb25zL2luZGV4JztcbkBpbXBvcnQgJ21peGlucy9pbmRleCc7XG4iLCIkYnJlYWtwb2ludHMtdmFsdWVzOiAoXG4gIG1vYmlsZS1zbWFsbDogMzIwLFxuICBtb2JpbGUtbWVkaXVtOiA0ODAsXG4gIG1vYmlsZS1sYXJnZTogNzUwLFxuXG4gIHRhYmxldC1zbWFsbDogNzcwLFxuICB0YWJsZXQtbWVkaXVtOiA4MzAsXG4gIHRhYmxldC1sYXJnZTogOTgwLFxuXG4gIGRlc2t0b3Atc21hbGw6IDEwMzAsXG4gIGRlc2t0b3AtbWVkaXVtOiAxMjAwLFxuICBkZXNrdG9wLWxhcmdlOiAxNDAwXG4pICFkZWZhdWx0O1xuXG4kYnJlYWtwb2ludHMtaWU4OiBmYWxzZSFkZWZhdWx0O1xuIiwiQGltcG9ydCAnYnJlYWtwb2ludHMtcGFyc2UnO1xuQGltcG9ydCAnc3RyaW5nLXRvLW51bWJlcic7XG5AaW1wb3J0ICdicmVha3BvaW50cy12YWx1ZXMnO1xuIiwiQGZ1bmN0aW9uIF9icmVha3BvaW50cy1wYXJzZSgkc3RyaW5nKSB7XG4gIC8vIHRleHQgdG8gc2VhcmNoIGZvclxuICAkRlJPTTogJ2Zyb20gJztcbiAgJFRPOiAndG8gJztcblxuXG4gIC8vIGNvbnZlcnQgdG8gc3RyaW5nXG4gICRzdHJpbmc6IGluc3BlY3QoJHN0cmluZyk7XG5cblxuICAvLyBmbGFncyBmb3IgbWluIGFuZCBtYXggdmFsdWVzXG4gICRoYXMtbWluOiBmYWxzZTtcbiAgJGhhcy1tYXg6IGZhbHNlO1xuXG5cbiAgLy8gY2hlY2sgd2hhdCB0eXBlIG9mIGJyZWFrcG9pbnRzIHdlIGhhdmVcbiAgQGlmIHR5cGUtb2Yoc3RyLWluZGV4KCRzdHJpbmcsICRGUk9NKSkgPT0gbnVtYmVyIHtcbiAgICAkaGFzLW1pbjogdHJ1ZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKHN0ci1pbmRleCgkc3RyaW5nLCAkVE8pKSA9PSBudW1iZXIge1xuICAgICRoYXMtbWF4OiB0cnVlO1xuICB9XG5cblxuICAvLyBzbGljZSB0aGUgc3RyaW5nIHRvIHJldHJpZXZlIG1pbiBhbmQgbWF4IHZhbHVlcyBmb3IgYnJlYWtwb2ludHNcbiAgQGlmICRoYXMtbWluIGFuZCAkaGFzLW1heCB7XG4gICAgJG1pbi1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkRlJPTSkgKyAxLCBzdHItaW5kZXgoJHN0cmluZywgJFRPKSAtIDIpO1xuICAgICRtYXgtYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1pbmRleCgkc3RyaW5nLCAkVE8pICsgc3RyLWxlbmd0aCgkVE8pKTtcblxuICAgIEByZXR1cm4gKCRtaW4tYnJlYWtwb2ludCwgJG1heC1icmVha3BvaW50KTtcbiAgfSBAZWxzZSBpZiAkaGFzLW1pbiA9PSBmYWxzZSB7XG4gICAgJG1heC1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkVE8pICsgMSk7XG5cbiAgICBAcmV0dXJuIChmYWxzZSwgJG1heC1icmVha3BvaW50KTtcbiAgfSBAZWxzZSBpZiAkaGFzLW1heCA9PSBmYWxzZSB7XG4gICAgJG1pbi1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkRlJPTSkgKyAxKTtcblxuICAgIEByZXR1cm4gKCRtaW4tYnJlYWtwb2ludCwgZmFsc2UpO1xuICB9XG5cbiAgQHJldHVybiAoZmFsc2UsIGZhbHNlKTtcbn1cbiIsIkBmdW5jdGlvbiBfc3RyaW5nLXRvLW51bWJlcigkc3RyaW5nKSB7XG4gIC8vIGluc3BpcmVkIGJ5IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDEvMTUvc2Fzcy1zdHJpbmctdG8tbnVtYmVyL1xuXG4gICRkaWdpdHM6ICcwMTIzNDU2Nzg5JztcbiAgJG51bWJlcjogMDtcbiAgJG5lZ2F0aXZlOiBmYWxzZTtcbiAgJHVuaXRzOiAoXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ2NtJzogMWNtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ2luJzogMWluLFxuICAgICdtbSc6IDFtbSxcbiAgICAncGMnOiAxcGMsXG4gICAgJ3BpY2EnOiAxcGljYSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndmgnOiAxdmgsXG4gICAgJ3Z3JzogMXZ3XG4gICk7XG4gICR1bml0OiBudWxsO1xuXG4gIC8vIGlzIGl0IG5lZ2F0aXZlP1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsICctJykgPT0gMSB7XG4gICAgJG5lZ2F0aXZlOiB0cnVlO1xuICAgICRzdHJpbmc6IHN0ci1zbGljZSgkc3RyaW5nLCAyKTtcbiAgfVxuXG4gIC8vIHBhcnNlIHRoZSBzdHJpbmcgYW5kIG1hcCBpdCB0byB0aGUgaW5kZXhlcyBvZiAkZGlnaXRzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGRpZ2l0OiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkZGlnaXRzLCAkZGlnaXQpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGluZGV4KSA9PSBudW1iZXIge1xuICAgICAgJG51bWJlcjogJG51bWJlciAqIDEwICsgKCRpbmRleCAtIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHVuaXQ6ICR1bml0I3skZGlnaXR9O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVnYXRpdmUge1xuICAgICRudW1iZXI6ICRudW1iZXIgKiAoLTEpO1xuICB9XG5cbiAgQGlmICR1bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdHMsICR1bml0KSB7XG4gICAgJG51bWJlcjogJG51bWJlciAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG4gIH1cblxuICBAaWYgJHN0cmluZyA9PSAkdW5pdCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cbiIsIkBmdW5jdGlvbiBfYnJlYWtwb2ludHMtdmFsdWVzKCR2YWx1ZSkge1xuICAvLyB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBwcmUtZXhpc3RpbmcgYnJlYWtwb2ludHNcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy12YWx1ZXMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMtdmFsdWVzLCAkdmFsdWUpO1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogMXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nIHtcbiAgICAkdmFsdWU6IF9zdHJpbmctdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9IG51bWJlciB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiQGltcG9ydCAnYnJlYWtwb2ludCc7XG4iLCJAbWl4aW4gYnJlYWtwb2ludCgkc3RyaW5nKSB7XG4gICRzdHJpbmc6IF9icmVha3BvaW50cy1wYXJzZSgkc3RyaW5nKTtcbiAgJG1pbi1icmVha3BvaW50OiBfYnJlYWtwb2ludHMtdmFsdWVzKG50aCgkc3RyaW5nLCAxKSk7XG4gICRtYXgtYnJlYWtwb2ludDogX2JyZWFrcG9pbnRzLXZhbHVlcyhudGgoJHN0cmluZywgMikpO1xuXG4gIEBpZiAoJG1pbi1icmVha3BvaW50ID09IGZhbHNlIGFuZCAkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2UpIG9yICgkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2UgYW5kICRicmVha3BvaW50cy1pZTgpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAkbWluLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1heC1icmVha3BvaW50IC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLWJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiAkbWF4LWJyZWFrcG9pbnQgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXMvaW5kZXhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJzZXR1cC9pbmRleFwiO1xuIiwiQGltcG9ydCBcImNvbG9yc1wiO1xuQGltcG9ydCBcImJhY2tncm91bmRzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbiIsIi8vIGdlbmVyaWNcblxuJFdISVRFOiAjZmZmO1xuJEJMQUNLOiAjMDAwO1xuXG4vLyBicmFuZFxuXG4kV0hJVEUtT0ZGOiAjZmFmYWZhO1xuJEJMQUNLLU9GRjogIzFmMWYxZjtcbiRHUkVZOiAjOUZBNUE5O1xuJEdSRVktQkxVRTogI2E5YjViODtcbiRHUkVZLUxJR0hUOiAjZjVmNWY1O1xuJERBUkstQkxVRTogIzJjMzgzYztcbiRSRUQ6ICNERDIyMjI7XG4kRVJST1I6ICRSRUQ7XG5cbiREQVJLLUFSVElDTEUtQkc6ICMyMjJkMzE7XG5cbiRGQUNFQk9PSzogIzNiNTk5ODtcbiRUV0lUVEVSOiAjNTVhY2VlO1xuJEdPT0dMRTogI2YwMzUzMDtcbiRMSU5LRURJTjogIzAwNzdiNTtcbiIsIi8vIGRpYWdvbmFsIHN0cmlwZWQgcGF0dGVyblxuJFNUUklQRUQ6IHVybCguLi9pbWFnZXMvcGF0dGVybi5wbmcpIGNlbnRlciBjZW50ZXI7IiwiLy8gJENPTFVNTlM6IDIwcHg7XG5cbiRHUklELUNPTDogNzU7XG4kR1JJRC1TUEFDRVI6IDMwO1xuXG4kR1JJRC1DT05UQUlORVI6ICgkR1JJRC1DT0wgKiAxMikgKyAoJEdSSUQtU1BBQ0VSICogMTEpO1xuXG5cbiRIRUFERVJfSEVJR0hUOiA5MnB4O1xuJEhFQURFUl9IRUlHSFRfTU9CSUxFOiA4NXB4O1xuJE5BVklHQVRJT05fQkFSOiA1MnB4O1xuJEZPT1RFUl9IRUlHSFQ6IDkzcHg7XG5cbi8vIGxheW91dFxuJENPTlRBSU5FUjogMCAxMHZ3O1xuIiwiJFRJVExFOiAnQXJ0aWZha3QgTGVnZW5kJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4kU0FOUzogJ0FydGlmYWt0IEVsZW1lbnQnLCdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuJFNFUklGOiAnR2VvcmdpYScsIHNlcmlmO1xuXG4kTElORUhFSUdIVDogMS40O1xuXG4kQkFTRS1TSVpFOiAxNnB4O1xuXG4kSDE6IDMwcHg7XG4kSDI6IDI0cHg7XG4kSDM6IDIwcHg7XG4iLCJAaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbiIsIkBmdW5jdGlvbiBncmlkKCRuOiAxKSB7XG4gICAgQHJldHVybiAkR1JJRC1DT0wgKiAkbiArIHB4O1xufVxuXG5AZnVuY3Rpb24gZ3JpZC1waXhlbHMoJGNvbCwkc3BhY2VyKSB7XG4gICAgQHJldHVybiAoJEdSSUQtQ09MICogJGNvbCkgKyAoJEdSSUQtU1BBQ0VSICogJHNwYWNlcikgKyBweDtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtcGVyY2VudGFnZSgkY29sLCRzcGFjZXIpIHtcbiAgICAkbnVtYmVyOiAoKCRHUklELUNPTCAqICRjb2wpICsgKCRHUklELVNQQUNFUiAqICRzcGFjZXIpKSAvICRHUklELUNPTlRBSU5FUjtcbiAgICAkbnVtYmVyOiBmbG9vcigkbnVtYmVyKjEwMCkgLyAxMDA7XG4gICAgQHJldHVybiBwZXJjZW50YWdlKCRudW1iZXIpO1xufVxuIiwiQGZ1bmN0aW9uIHBpeGVscy10by1yZW0oJHBpeGVscykge1xuICAgIEByZXR1cm4gJHBpeGVscy8kQkFTRS1TSVpFICsgcmVtO1xufVxuIiwiQGltcG9ydCBcImltYWdlXCI7XG5AaW1wb3J0IFwibGlua1wiO1xuQGltcG9ydCBcImxldmVsc1wiO1xuQGltcG9ydCBcInByb3BzXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwib3ZlcmxheVwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJzaGFkb3dzXCI7XG4iLCJAbWl4aW4gaW1hZ2UtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGltYWdlLWZ1bGwge1xuICAgIEBpbmNsdWRlIGltYWdlLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gaW1hZ2UtbWF4IHtcbiAgICBAaW5jbHVkZSBpbWFnZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbGluay10ZXh0LXVuZGVybGluZS1jcm9wKCRiYWNrZ3JvdW5kKSB7XG4gIHRleHQtc2hhZG93OiAgLjAzZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjAzZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAwIC4wM2VtICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIDAgLS4wM2VtICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC4wNmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLS4wNmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLjA5ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjA5ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAuMTJlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC0uMTJlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC4xNWVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLS4xNWVtIDAgJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBsaW5rLXRleHQtdW5kZXJsaW5lKCRjb2xvci1iZywgJGNvbG9yLXRleHQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvci10ZXh0LCAkY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtc2l6ZTogMXB4IDFweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA5NSU7XG59XG5cbkBtaXhpbiBsaW5rLXRleHQtc2VsZWN0aW9uKCRzZWxlY3Rpb24pIHtcblxuICAmOjpzZWxlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGxpbmstdGV4dC11bmRlcmxpbmUtY3JvcCgkc2VsZWN0aW9uKTtcbiAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0aW9uO1xuICB9XG5cbn1cblxuQG1peGluIGxzcy1saW5rLXVuZGVybGluZSgkYmFja2dyb3VuZCwgJHRleHQsICRzZWxlY3Rpb24pe1xuICBAaW5jbHVkZSBsaW5rLXRleHQtdW5kZXJsaW5lLWNyb3AoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBsaW5rLXRleHQtdW5kZXJsaW5lKCRiYWNrZ3JvdW5kLCAkdGV4dCk7XG4gIEBpbmNsdWRlIGxpbmstdGV4dC1zZWxlY3Rpb24oJHNlbGVjdGlvbik7XG5cbiAgY29sb3I6ICR0ZXh0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgKixcbiAgKjphZnRlcixcbiAgJjphZnRlcixcbiAgKjpiZWZvcmUsXG4gICY6YmVmb3JlIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR0ZXh0O1xuICB9XG5cbn1cbiIsIkBtaXhpbiBsZXZlbHMoJGxldmVsOiAwKXtcblxuICAgIEBpZigkbGV2ZWwgPT0gMCl7XG4gICAgICAgICRsZXZlbDogLTE7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSAxKXtcbiAgICAgICAgJGxldmVsOiAxMDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDIpe1xuICAgICAgICAkbGV2ZWw6IDIwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gMyl7XG4gICAgICAgICRsZXZlbDogMzA7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSA0KXtcbiAgICAgICAgJGxldmVsOiA0MDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDUpe1xuICAgICAgICAkbGV2ZWw6IDUwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gNil7XG4gICAgICAgICRsZXZlbDogNjA7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSA3KXtcbiAgICAgICAgJGxldmVsOiA3MDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDgpe1xuICAgICAgICAkbGV2ZWw6IDgwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gOSl7XG4gICAgICAgICRsZXZlbDogOTA7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6ICRsZXZlbDtcbn1cbiIsIkBtaXhpbiBwcm9wLW1heC13aWR0aCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuXG5AbWl4aW4gcHJvcC1mdWxsLXdpZHRoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLCAkZGlyZWN0aW9uOiByb3cpe1xuICAgIGFsaWduLWl0ZW1zOiAkYWxpZ247XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cblxuXG5AbWl4aW4gbGF5b3V0LW92ZXJsYXl7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGxheW91dC1idXR0b24oJGRpbWVuc2lvbil7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkQkxBQ0s7XG4gICAgaGVpZ2h0OiAkZGltZW5zaW9uO1xuICAgIHdpZHRoOiAkZGltZW5zaW9uO1xufVxuXG5AbWl4aW4gbGF5b3V0LWhpZGRlbntcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1peGluIGxheW91dC12aXNpYmxle1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTs7XG59XG5cbkBtaXhpbiBsYXlvdXQtc3RhdGUtb3BlbntcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2l0ZXtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gbmVlZGVkIGZvciBtb2JpbGUvdGFibGV0c1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMXB4KTtcbiAgICB9XG5cbn1cblxuQG1peGluIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQtYmFzaWN7XG4gICAgYmFja2dyb3VuZDogJFNUUklQRUQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweDtcbn1cblxuQG1peGluIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmR7XG4gICAgJjphZnRlcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKC0xKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0cmlwZWQtYmFja2dyb3VuZC1iYXNpYztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvLyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDc1cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6IDAgOTk5OXB4O1xuICAgICAgICBtYXJnaW46IDAgLTk5OTlweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBsYXlvdXQtZGl2aWRlZC1saXN0KCRzcGFjZXI6IDEsICRjb2xvcjogJEdSRVkpIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcblx0bWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgJHNwYWNlcik7XG5cdHBhZGRpbmctdG9wOiBncmlkLXBpeGVscygwLCAkc3BhY2VyKTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLCAkc3BhY2VyKTtcblx0fVxufVxuXG4iLCJAbWl4aW4gbGF5b3V0LW92ZXJsYXkoJGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLCAuOCkpIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiQG1peGluIGgxIHtcbiAgICBmb250LXNpemU6ICRIMTtcbn1cblxuQG1peGluIGgyIHtcbiAgICBmb250LXNpemU6ICRIMjtcbn1cblxuQG1peGluIGgzIHtcbiAgICBmb250LXNpemU6ICRIMztcbn1cblxuQG1peGluIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogJExJTkVIRUlHSFQ7XG59XG5cbi8vIG9sZFxuXG5AbWl4aW4gdHlwZS1oMSB7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDQwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbkBtaXhpbiB0eXBlLWgzIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuQG1peGluIHR5cGUtaDQge1xuICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5cbkBtaXhpbiB0eXBlLXNtYWxsIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA3ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5AbWl4aW4gdHlwZS1wIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuXG5cbiIsIkBtaXhpbiBzaGFkb3ctMSB7XG4gICAgYm94LXNoYWRvdzogM3B4IDNweCAyNHB4IHJnYmEoJEJMQUNLLC4xKTtcbn1cblxuQG1peGluIHNoYWRvdy0xLWhvdmVyIHtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDU0cHggcmdiYSgkQkxBQ0ssLjIpO1xufVxuXG5AbWl4aW4gc2hhZG93LTIge1xuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMjRweCByZ2JhKCRCTEFDSywuMik7XG59XG4iLCJAaW1wb3J0IFwiYmFzZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsYXlvdXRcIjtcbkBpbXBvcnQgXCJwcm9wc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG4iLCJAaW1wb3J0IFwifm5vcm1hbGl6ZS5jc3NcIjtcbkBpbXBvcnQgXCJ+cmVzZXQtY3NzL3Jlc2V0LmNzc1wiO1xuQGltcG9ydCBcIn5ycy1icmVha3BvaW50cy9pbmRleFwiO1xuXG5odG1sIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuKiwgOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuXG5he1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYWRkcmVzc3tcblxufVxuXG5ib2R5e1xuICAgIGxpbmUtaGVpZ2h0OiAkTElORUhFSUdIVDtcbn1cblxuZmlndXJle1xuICAgIG1hcmdpbjogMDtcbn1cblxuaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5tYXJre1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIiRicmVha3BvaW50cy12YWx1ZXM6IChcbiAgbW9iaWxlLXNtYWxsOiAzMjAsXG4gIG1vYmlsZS1tZWRpdW06IDQ4MCxcbiAgbW9iaWxlLWxhcmdlOiA2NDAsXG5cbiAgdGFibGV0LXNtYWxsOiA3NjgsXG4gIHRhYmxldC1tZWRpdW06IDgwMCxcbiAgdGFibGV0LWxhcmdlOiA5ODAsXG5cbiAgZGVza3RvcC1zbWFsbDogMTAyNCxcbiAgZGVza3RvcC1tZWRpdW06IDEyMDAsXG4gIGRlc2t0b3AtbGFyZ2U6IDE0MDBcbikgIWRlZmF1bHQ7XG5cbiRicmVha3BvaW50cy1pZTg6IGZhbHNlIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBfYnJlYWtwb2ludHMtcGFyc2UoJHN0cmluZykge1xuICAvLyB0ZXh0IHRvIHNlYXJjaCBmb3JcbiAgJEZST006ICdmcm9tICc7XG4gICRUTzogJ3RvICc7XG5cblxuICAvLyBjb252ZXJ0IHRvIHN0cmluZ1xuICAkc3RyaW5nOiBpbnNwZWN0KCRzdHJpbmcpO1xuXG5cbiAgLy8gZmxhZ3MgZm9yIG1pbiBhbmQgbWF4IHZhbHVlc1xuICAkaGFzLW1pbjogZmFsc2U7XG4gICRoYXMtbWF4OiBmYWxzZTtcblxuXG4gIC8vIGNoZWNrIHdoYXQgdHlwZSBvZiBicmVha3BvaW50cyB3ZSBoYXZlXG4gIEBpZiB0eXBlLW9mKHN0ci1pbmRleCgkc3RyaW5nLCAkRlJPTSkpID09IG51bWJlciB7XG4gICAgJGhhcy1taW46IHRydWU7XG4gIH1cblxuICBAaWYgdHlwZS1vZihzdHItaW5kZXgoJHN0cmluZywgJFRPKSkgPT0gbnVtYmVyIHtcbiAgICAkaGFzLW1heDogdHJ1ZTtcbiAgfVxuXG5cbiAgLy8gc2xpY2UgdGhlIHN0cmluZyB0byByZXRyaWV2ZSBtaW4gYW5kIG1heCB2YWx1ZXMgZm9yIGJyZWFrcG9pbnRzXG4gIEBpZiAkaGFzLW1pbiBhbmQgJGhhcy1tYXgge1xuICAgICRtaW4tYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJEZST00pICsgMSwgc3RyLWluZGV4KCRzdHJpbmcsICRUTykgLSAyKTtcbiAgICAkbWF4LWJyZWFrcG9pbnQ6IHN0ci1zbGljZSgkc3RyaW5nLCBzdHItaW5kZXgoJHN0cmluZywgJFRPKSArIHN0ci1sZW5ndGgoJFRPKSk7XG5cbiAgICBAcmV0dXJuICgkbWluLWJyZWFrcG9pbnQsICRtYXgtYnJlYWtwb2ludCk7XG4gIH0gQGVsc2UgaWYgJGhhcy1taW4gPT0gZmFsc2Uge1xuICAgICRtYXgtYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJFRPKSArIDEpO1xuXG4gICAgQHJldHVybiAoZmFsc2UsICRtYXgtYnJlYWtwb2ludCk7XG4gIH0gQGVsc2UgaWYgJGhhcy1tYXggPT0gZmFsc2Uge1xuICAgICRtaW4tYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJEZST00pICsgMSk7XG5cbiAgICBAcmV0dXJuICgkbWluLWJyZWFrcG9pbnQsIGZhbHNlKTtcbiAgfVxuXG4gIEByZXR1cm4gKGZhbHNlLCBmYWxzZSk7XG59XG5cbkBmdW5jdGlvbiBfc3RyaW5nLXRvLW51bWJlcigkc3RyaW5nKSB7XG4gIC8vIGluc3BpcmVkIGJ5IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDEvMTUvc2Fzcy1zdHJpbmctdG8tbnVtYmVyL1xuXG4gICRkaWdpdHM6ICcwMTIzNDU2Nzg5JztcbiAgJG51bWJlcjogMDtcbiAgJG5lZ2F0aXZlOiBmYWxzZTtcbiAgJHVuaXRzOiAoXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ2NtJzogMWNtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ2luJzogMWluLFxuICAgICdtbSc6IDFtbSxcbiAgICAncGMnOiAxcGMsXG4gICAgJ3BpY2EnOiAxcGljYSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndmgnOiAxdmgsXG4gICAgJ3Z3JzogMXZ3XG4gICk7XG4gICR1bml0OiBudWxsO1xuXG4gIC8vIGlzIGl0IG5lZ2F0aXZlP1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsICctJykgPT0gMSB7XG4gICAgJG5lZ2F0aXZlOiB0cnVlO1xuICAgICRzdHJpbmc6IHN0ci1zbGljZSgkc3RyaW5nLCAyKTtcbiAgfVxuXG4gIC8vIHBhcnNlIHRoZSBzdHJpbmcgYW5kIG1hcCBpdCB0byB0aGUgaW5kZXhlcyBvZiAkZGlnaXRzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGRpZ2l0OiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkZGlnaXRzLCAkZGlnaXQpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGluZGV4KSA9PSBudW1iZXIge1xuICAgICAgJG51bWJlcjogJG51bWJlciAqIDEwICsgKCRpbmRleCAtIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHVuaXQ6ICR1bml0I3skZGlnaXR9O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVnYXRpdmUge1xuICAgICRudW1iZXI6ICRudW1iZXIgKiAoLTEpO1xuICB9XG5cbiAgQGlmICR1bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdHMsICR1bml0KSB7XG4gICAgJG51bWJlcjogJG51bWJlciAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG4gIH1cblxuICBAaWYgJHN0cmluZyA9PSAkdW5pdCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIF9icmVha3BvaW50cy12YWx1ZXMoJHZhbHVlKSB7XG4gIC8vIHRyeSB0byBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIHByZS1leGlzdGluZyBicmVha3BvaW50c1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLXZhbHVlcywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cy12YWx1ZXMsICR2YWx1ZSk7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gICAgfVxuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcge1xuICAgICR2YWx1ZTogX3N0cmluZy10by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBfc2V0LW1heC1icmVha3BvaW50KCRtYXgtYnJlYWtwb2ludCkge1xuICBAaWYgJG1heC1icmVha3BvaW50ICE9IGZhbHNlIHtcbiAgICBAaWYgdW5pdCgkbWF4LWJyZWFrcG9pbnQpID09IHB4IHtcbiAgICAgICRtYXgtYnJlYWtwb2ludDogJG1heC1icmVha3BvaW50IC0gMTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXgtYnJlYWtwb2ludDogJG1heC1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG1heC1icmVha3BvaW50O1xufVxuXG5cbkBtaXhpbiBicmVha3BvaW50KCRzdHJpbmcpIHtcbiAgJHN0cmluZzogX2JyZWFrcG9pbnRzLXBhcnNlKCRzdHJpbmcpO1xuICAkbWluLWJyZWFrcG9pbnQ6IF9icmVha3BvaW50cy12YWx1ZXMobnRoKCRzdHJpbmcsIDEpKTtcbiAgJG1heC1icmVha3BvaW50OiBfYnJlYWtwb2ludHMtdmFsdWVzKG50aCgkc3RyaW5nLCAyKSk7XG5cbiAgJG1heC1icmVha3BvaW50OiBfc2V0LW1heC1icmVha3BvaW50KCRtYXgtYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkbWluLWJyZWFrcG9pbnQgPT0gZmFsc2UgYW5kICRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSkgb3IgKCRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSBhbmQgJGJyZWFrcG9pbnRzLWllOCkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICRtaW4tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4LWJyZWFrcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi1icmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogJG1heC1icmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyByZXF1aXJlIGJyZWFrcG9pbnRcbkBtaXhpbiB0bygkbWVkaWEtcXVlcnkpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byAkbWVkaWEtcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuQG1peGluIGZyb20oJG1lZGlhLXF1ZXJ5KSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSAkbWVkaWEtcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuQG1peGluIGZyb20tdG8oJG1pbiwgJG1heCkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gJG1pbiB0byAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG5cblxuIiwiXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgIC5ncmlkLSN7JGl9IHtcbiAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgIH1cblxuICAgIC5ncmlkLSN7JGl9LW9mZnNldC0xIHtcbiAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSk7XG4gICAgfVxuXG4gICAgLmdyaWQtI3skaX0tb2Zmc2V0LTIge1xuICAgICAgICB3aWR0aDogZ3JpZC1wZXJjZW50YWdlKCRpLCRpIC0gMi4yNSk7XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gZGVza3RvcC1zbWFsbCkge1xuXG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgICAgICAuZ3JpZC10YWJsZXQtI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuXG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgICAgICAuZ3JpZC1tb2JpbGUtI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIjo6c2VsZWN0aW9ue1xuICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICBjb2xvcjogJFdISVRFO1xufVxuXG5he1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaHRtbHtcbiAgICBmb250LXNpemU6ICRCQVNFLVNJWkU7XG59XG5cbmJvZHl7XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxubWFya3tcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG46Zm9jdXN7b3V0bGluZTogbm9uZX1cbmlucHV0OjotbXMtY2xlYXIge2Rpc3BsYXk6IG5vbmV9XG5cbi5jb250YWluZXJ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogJEdSSUQtQ09OVEFJTkVSICsgcHg7XG4gICAgd2lkdGg6IDkwJTtcbn1cblxuLmJveGVze1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xufVxuXG4uc2l0ZXtcbiAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFRfTU9CSUxFO1xuICAgIH1cblxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxpbnB1dFt0eXBlPVwiZW1haWxcIl0saW5wdXRbdHlwZT1cInBhc3N3b3JkXCJde1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi5wcm9wLWZ1bGwtd2lkdGh7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcC1oaWRlLW92ZXJmbG93e1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9wLW1heC13aWR0aHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcC1vdmVybGF5e1xuICAgIEBpbmNsdWRlIGxldmVscygyKTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtb3ZlcmxheTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbn1cblxuLnByb3AtaW1hZ2UtZ3JhZGllbnQtZGFya2Vue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgPiBpbWd7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygwKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtb3ZlcmxheTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LHJnYmEoJEJMQUNLLC40KSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cblxufVxuXG4ucHJvcC1pbWFnZS1ncmFkaWVudC1kYXJrZW4tLWxpZ2h0e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gaW1ne1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMCk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LW92ZXJsYXk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAtMTAlLHJnYmEoJEJMQUNLLC4xNCkpO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICB9XG59XG5cbi5wcm9wLWRhcmtlbi1pbWFnZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IGltZ3tcbiAgICAgICAgLy9AaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LW92ZXJsYXk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLC40NSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cblxufVxuIiwiLmZhZGUtaW4tdHJhbnNpdGlvbntcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5mYWRlLWluLWVudGVyLFxuLmZhZGUtaW4tbGVhdmV7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJoZWFkaW5nc1wiO1xuQGltcG9ydCBcImdhbGxlcnlcIjtcbkBpbXBvcnQgXCJtYWdhemluZS1yYWNrXCI7XG5AaW1wb3J0IFwibWVudVwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXItcG9saWN5XCI7XG5AaW1wb3J0IFwicmVjb21tZW5kZWQtaW5saW5lXCI7XG5AaW1wb3J0IFwic2hhcmVcIjtcbkBpbXBvcnQgXCJzb2NpYWxcIjtcbkBpbXBvcnQgXCJzdGlja3lcIjtcbkBpbXBvcnQgXCJzdWJtZW51XCI7XG5AaW1wb3J0IFwic3dpdGNoZXJcIjtcbiIsIi5jb21wb25lbnQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAycHggc29saWQgJEdSRVk7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIGNvbG9yOiAkR1JFWTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkR1JFWTtcbiAgICBjb2xvcjogJFdISVRFO1xuICB9XG5cbiAgJi5pcy1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAkR1JFWTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzNnB4O1xuXG4gIC5saW5lcyB7XG4gICAgLy93aWR0aDogNTAlO1xuXG4gICAgLmxpbmUge1xuICAgICAgYmFja2dyb3VuZDogJEdSRVk7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAubGluZS0yIHtcbiAgICAgIG1hcmdpbjogOHB4IDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkQkxBQ0s7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC5saW5lIHtcbiAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICB9XG4gIH1cbn1cblxuLmNvbXBvbmVudC1idXR0b24tYmxvY2t5IHtcbiAgYmFja2dyb3VuZDogJEdSRVk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDEwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAwLjI1KSBncmlkLXBpeGVscygwLCAwLjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1jbG9zZSB7XG4gIEBpbmNsdWRlIGxheW91dC1idXR0b24oMzZweCk7XG4gIGJvcmRlci1jb2xvcjogJEdSRVk7XG5cbiAgLmxpbmVzIHtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgLmxpbmUge1xuICAgICAgYmFja2dyb3VuZDogJEdSRVk7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmxpbmUtMSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAubGluZS0yIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLmxpbmUtMyB7XG4gICAgICB0b3A6IC02cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1zZWFyY2gge1xuICBib3JkZXItY29sb3I6ICRHUkVZO1xuXG4gIHN2ZyB7XG4gICAgJGQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkZDtcbiAgICBmaWxsOiAkQkxBQ0stT0ZGO1xuICAgIHdpZHRoOiAkZDtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJEJMQUNLO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDogJEJMQUNLO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1zb2NpYWwge1xuICBAaW5jbHVkZSBsYXlvdXQtYnV0dG9uKDMycHgpO1xuICBib3JkZXItY29sb3I6ICRXSElURTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAkZGltZW5zaW9uOiA1OHB4O1xuICAgIGhlaWdodDogJGRpbWVuc2lvbjtcbiAgICB3aWR0aDogJGRpbWVuc2lvbjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgJGRpbWVuc2lvbjogNDBweDtcbiAgICBoZWlnaHQ6ICRkaW1lbnNpb247XG4gICAgd2lkdGg6ICRkaW1lbnNpb247XG4gIH1cblxuICBzdmcge1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmaWxsOiAkV0hJVEU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICB9XG5cbiAgJi5pcy1mYWNlYm9vayB7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICB0b3A6IDBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtdHdpdHRlciB7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgd2lkdGg6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1nb29nbGUge1xuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWxpbmtlZGluIHtcbiAgICBzdmcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDhweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWluc3RhZ3JhbSB7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIHdpZHRoOiAxMnB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtcnNzIHtcbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHdpZHRoOiA3cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG5cbi5jb21wb25lbnQtYnV0dG9uLXBhZ2VyIHtcbiAgJEZJTEw6ICRHUkVZO1xuXG4gIEBpbmNsdWRlIGxheW91dC1idXR0b24oMzVweCk7XG4gIGJhY2tncm91bmQ6ICRXSElURTtcbiAgYm9yZGVyLWNvbG9yOiAkRklMTDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIG1hcmdpbjogMCBncmlkLXBpeGVscygwLCAwLjI1KSAwIDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZpbGw6ICRGSUxMO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOHB4O1xuICB9XG5cbiAgJi5pcy1sZWZ0IHtcbiAgICBzdmcge1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGFuaW1hdGlvbjogcGFnZXIgMC41cyByZXZlcnNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtcmlnaHQge1xuICAgIHN2ZyB7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICBhbmltYXRpb246IHBhZ2VyIDAuNXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1pbmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC4xO1xuICB9XG59XG5cbi5jb21wb25lbnQtYnV0dG9uLW1vcmUge1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEpO1xuXG4gIHN2ZyB7XG4gICAgJGQ6IDMwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmlsbDogJFJFRDtcbiAgICBoZWlnaHQ6ICRkO1xuICAgIG1hcmdpbi1sZWZ0OiBncmlkLXBpeGVscygwLCAwLjUpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB3aWR0aDogJGQ7XG4gIH1cblxuICA+IHNwYW4ge1xuICAgIGNvbG9yOiAkUkVEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuXG4gICYuaGFzLXRvcHN0cm9rZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZO1xuICAgIHBhZGRpbmctdG9wOiBncmlkLXBpeGVscygwLCAxKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIge1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgY29sb3I6ICRCTEFDSy1PRkY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB3aWR0aDogMjFweDtcbiAgICBmaWxsOiAkQkxBQ0stT0ZGO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1uZXdzbGV0dGVyLWlubGluZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDJweCAwO1xuICAtbW96LWJvcmRlci1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmlnaHQsICNkZDIyMjIgMCUsICMyYzM4OGYgMTAwJSk7XG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICByaWdodCxcbiAgICAjZGQyMjIyIDAlLFxuICAgICMyYzM4OGYgMTAwJVxuICApO1xuICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RkMjIyMiAwJSwgIzJjMzg4ZiAxMDAlKTtcbiAgYm9yZGVyLWltYWdlLXNsaWNlOiAxO1xuICBtYXJnaW46IGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAwLjUpIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1yZWNvbW1lbmRlZC1pbmxpbmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAkREFSSy1CTFVFO1xuICBib3JkZXItd2lkdGg6IDJweCAwO1xuICBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwgMSkgMDtcblxuICBhIHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAxKSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBhZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDQ5JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MCUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MCUpO1xuICB9XG5cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uY29tcG9uZW50LWdyYWRpZW50LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2QyMiwgIzJiMzg4ZikgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gRG93bmxvYWQgYnV0dG9uXG4uZG93bmxvYWQtYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZDIyLCAjMmIzODhmKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIGEge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtaGVhZGluZyB7XG4gIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICBmb250LWZhbWlseTogJFRJVExFO1xuICBmb250LXNpemU6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6ICRCTEFDSy1PRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogZ3JpZC1waXhlbHMoMCwgLjI1KTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdG9wc3Ryb2tlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJEdSRVk7XG4gICAgcGFkZGluZy10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnNob3ctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kYXJrICYge1xuICAgIGNvbG9yOiAkV0hJVEU7XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtZ2FsbGVyeXtcbiAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgYmFja2dyb3VuZDogJEdSRVktTElHSFQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgIH1cblxuICAgIC53cC1jYXB0aW9ue2hlaWdodDogMTAwJX1cblxuICAgIC53cC1jYXB0aW9uLXRleHR7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNHB4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC40cztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2xpY2stZG90c3tcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuXG4gICAgICAgIGxpe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDRweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b257XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgJGQ6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0stT0ZGO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJEJMQUNLLU9GRjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRkO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG4gICAgICAgICAgICB3aWR0aDogJGQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb21wb25lbnQtYnV0dG9uLXBhZ2Vye1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICRXSElURTtcblxuICAgICAgICBzdmd7ZmlsbDogJFdISVRFfVxuXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRCTEFDSywuOCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb21wb25lbnQtZ2FsbGVyeV9fbnVtYmVyc3tcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDdweDtcbiAgICAgICAgcGFkZGluZzogMXB4IDAgMCA0MHB4O1xuXG4gICAgICAgID4gLmxpbmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0s7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNTAlLDApO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICY6aG92ZXJ7XG4gICAgICAgIC53cC1jYXB0aW9uLXRleHR7XG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWVib29re1xuICAgICAgICAuY29tcG9uZW50LWdhbGxlcnlfX25hdntcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tcG9uZW50LWJ1dHRvbi1wYWdlcntcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJEJMQUNLO1xuICAgICAgICAgICAgc3Zne2ZpbGw6ICRCTEFDS31cblxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRXSElURSwuOCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uY29tcG9uZW50LWdhbGxlcnlfX25hdntcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDUpO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBhe1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cblxuXG4vLyBUT0RPOiBicmVhayBvdXQgc2luZ2xlIHBhZ2UgaW50byBzbWFsbGVyIHNlY3Rpb25zIHRvIGhlbHAgd2l0aCB0aGlzXG4udmlldy1zaW5nbGUtcG9zdHtcbiAgICAuY29udGVudHtcbiAgICAgICAgLmNvbXBvbmVudC1nYWxsZXJ5e1xuICAgICAgICAgICAgLndwLWNhcHRpb257bWFyZ2luOiAwfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbXBvbmVudC1tYWdhemluZS1yYWNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJEdSRVktTElHSFQ7XG5cdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDIpO1xuXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuXHRcdGJvcmRlci10b3A6IDRweCBzb2xpZCAkREFSSy1CTFVFO1xuXHR9XG5cblx0LmJveGVzIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxuXHQuYm94aW5nIHtcblx0XHRAaW5jbHVkZSBsYXlvdXQtZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIsIHJvdyk7XG5cblx0XHRmaWd1cmUge1xuXHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHR9XG5cdH1cblxuXHQuY29tcG9uZW50LWhlYWRpbmcge1xuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG5cdFx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKSAwIDA7XG5cbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgXHR3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wb25lbnQtaGVhZGluZyAge1xuICAgICAgICBcdHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxhc3Qge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIuY29tcG9uZW50LW1lbnV7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuXG4gID4gbGl7XG4gICAgbWFyZ2luOiAwIGdyaWQoLjIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5hY3Rpb24tdG9nZ2xlLXN1Ym1lbnUge1xuICAgIFx0QGluY2x1ZGUgbGF5b3V0LWZsZXg7XG5cbiAgICBcdC5pY29uLWNoZXZyb24tZG93biB7XG4gICAgXHRcdCRkOiAxMHB4O1xuXG4gICAgXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NoZXZyb24tZG93bi5zdmcnKTtcbiAgICBcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBcdFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRcdGhlaWdodDogJGQ7XG4gICAgXHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgXHRcdHdpZHRoOiAkZDtcbiAgICBcdH1cbiAgICB9XG4gIH1cblxuICAudGFnICYsIC5jYXRlZ29yeSAmIHtcbiAgXHQuaXMtYWN0aXZlIHtcblxuICBcdFx0YTpub3QoLmFjdGlvbi10b2dnbGUtc3VibWVudSkge1xuICBcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDJweDtcbiAgXHRcdH1cblxuICBcdH1cbiAgfVxuXG59XG4iLCIuY29tcG9uZW50LW5ld3NsZXR0ZXItcG9saWN5e1xuICBjb2xvcjogJFdISVRFO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG5cbiAgYXtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJFdISVRFO1xuICAgICY6aG92ZXJ7Y29sb3I6ICRXSElURTt9XG4gIH1cblxuICAuYmxvY2stbmV3c2xldHRlci1vdmVybGF5ICYsIC5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIgJiB7XG4gIFx0Y29sb3I6ICRCTEFDSztcblxuICBcdGF7XG5cdCAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEJMQUNLO1xuXHQgICAgJjpob3Zlcntjb2xvcjogJEJMQUNLO31cblx0ICB9XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtcmVjb21tZW5kZWQtaW5saW5le1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEJMQUNLO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJEJMQUNLO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQoLjI1KTtcbiAgcGFkZGluZzogZ3JpZCguNSkgMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IGdyaWQoLjI1KSAwO1xuICB9XG5cbiAgYXtjb2xvcjogJFJFRDt9XG5cbiAgc3BhbntcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbXBvbmVudC1zaGFyZXtcblxuICBhe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMTUpO1xuICAgIH1cblxuICAgICYuc2hvdy1tb2JpbGV7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lO31cbiAgICB9XG4gIH1cblxuICBzdmd7XG4gICAgJGQ6IDMwcHg7XG4gICAgZmlsbDogJEJMQUNLO1xuICAgIGhlaWdodDogJGQ7XG4gICAgd2lkdGg6ICRkO1xuICB9XG5cbiAgLmlzLWRhcmsgJiBzdmd7XG4gICAgZmlsbDogJFdISVRFO1xuICB9XG59XG5cbmJvZHlbZGF0YS1ibG9naWQ9XCI4XCJdIC5jb21wb25lbnQtc2hhcmVfX2ZhY2Vib29rLFxuYm9keVtkYXRhLWJsb2dpZD1cIjhcIl0gLmNvbXBvbmVudC1zaGFyZV9fZ29vZ2xlLFxuYm9keVtkYXRhLWJsb2dpZD1cIjhcIl0gLmNvbXBvbmVudC1zaGFyZV9fdHdpdHRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIuY29tcG9uZW50LXNvY2lhbHtcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuXG4gIGF7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdyaWQoLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdmd7XG4gICAgJGQ6IDMwcHg7XG4gICAgQGluY2x1ZGUgaW1hZ2UtYmxvY2s7XG4gICAgZmlsbDogJEJMQUNLO1xuICAgIGhlaWdodDogJGQ7XG4gICAgd2lkdGg6ICRkO1xuICB9XG59XG4iLCIuY29tcG9uZW50LXN0aWNreXtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtc3VibWVudXtcblx0ZGlzcGxheTogZmxleDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDkycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5RkE1QTk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogNDVweDtcblx0cGFkZGluZzogMTVweCAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0aGVpZ2h0OiAwcHg7XG5cdG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblxuXHQ+IGxpe1xuXHRcdG1hcmdpbjogMCBncmlkKC4yKTtcblx0fVxuXG5cdC5pcy1kYXJrICYge1xuXHRcdGJhY2tncm91bmQ6ICREQVJLLUJMVUU7XG5cdFx0YXtjb2xvcjogJFdISVRFfVxuXHR9XG59XG4iLCIuY29tcG9uZW50LXN3aXRjaGVye1xuICBAaW5jbHVkZSBsZXZlbHMoJGxldmVsOiA5KTtcblxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC43KTtcbiAgY29sb3I6ICRCTEFDSy1PRkY7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5jb21wb25lbnQtc3dpdGNoZXJfX2N1cnJlbnR7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuXG4gIC5pY29uLWNoZXZyb24tZG93biB7XG4gICAgJGQ6IDEwcHg7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGV2cm9uLWRvd24td2hpdGUuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB3aWR0aDogJGQ7XG4gIH1cbn1cblxuXG4uY29tcG9uZW50LXN3aXRjaGVyX19saW5rc3tcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoICRhbGlnbjogZmxleC1zdGFydCwgJGRpcmVjdGlvbjogY29sdW1uLCAkanVzdGlmeTogZmxleC1zdGFydCApO1xuICBAaW5jbHVkZSBzaGFkb3ctMjtcblxuICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gIGJvdHRvbTogMTc1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDM3MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBib3R0b206IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC41cztcblx0XHR9XG5cdFx0XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDkwMHB4ICkge1xuXHRcdFx0XHRib3R0b206IGF1dG87XG5cdFx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBsZWZ0IC41cztcblx0XHR9XG5cbiAgYXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCggJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuICk7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgbWFyZ2luOiAwIDAgIGdyaWQoLjE1KSAwO1xuICAgIHBhZGRpbmc6IDAgMCAgZ3JpZCguMTUpIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDkwMHB4ICkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHR9XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuICBoNCB7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEuMjUpO1xuICB9XG5cbiAgLmljb24tY2hlY2sge1xuICAgICRkOiAxOHB4O1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1jaGVja19ibGFjay5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkZDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIHdpZHRoOiAkZDtcbiAgfVxufVxuXG4uY29tcG9uZW50LXN3aXRjaGVyX19saW5rICB7XG4gICYuaXMtY3VycmVudCB7XG4gICAgLmljb24tY2hlY2sge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguaXMtY3VycmVudCk6aG92ZXIge1xuICAgIC5pY29uLWNoZWNrIHtcbiAgICAgIG9wYWNpdHk6IC4yO1xuICAgIH1cbiAgfSBcbn1cbiIsIkBpbXBvcnQgXCJhZC1pbmxpbmVcIjtcbkBpbXBvcnQgXCJhZC1zaWRlYmFyXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZVwiO1xuQGltcG9ydCBcImFydGljbGUtZmVhdHVyZVwiO1xuQGltcG9ydCBcImFydGljbGUtc25pcHBldFwiO1xuQGltcG9ydCBcImF1dGhvclwiO1xuQGltcG9ydCBcImF1dGhvci1zbmlwcGV0XCI7XG5AaW1wb3J0IFwic3BlYWtlclwiO1xuQGltcG9ydCBcImhlYWRlclwiO1xuQGltcG9ydCBcInN0YWZmXCI7XG4iLCIuY2FyZC1hZC1pbmxpbmV7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogc3RyZXRjaCk7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQoLjI1KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gID4gLmNvbC0xe1xuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1x0XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdyaWQoLjI1KTtcblx0ICBtYXgtd2lkdGg6IDIzNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4xNSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgPiAuY29sLTJ7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5pcy1kYXJrICYge1xuICAgIC5jYXJkLWFkLWlubGluZV9fYWN0aW9ue1xuICAgICAgYm9yZGVyLWNvbG9yOiAkV0hJVEU7XG4gICAgICBjb2xvcjogJFdISVRFO1xuICAgIH1cbiAgfVxuXG59XG5cbi5jYXJkLWFkLWlubGluZV9faW1hZ2V7XG4gIEBpbmNsdWRlIGltYWdlLWZ1bGw7XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA0cHggc29saWQgJEJMQUNLO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRCTEFDSztcblx0XHRcdFx0Ly8gd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmNhcmQtYWQtaW5saW5lX19jb250ZW50e1xuICBmb250LXNpemU6IDIycHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmNhcmQtYWQtaW5saW5lX19hY3Rpb257XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICRCTEFDSztcbiAgY29sb3I6ICRCTEFDSztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmOmhvdmVye2JhY2tncm91bmQ6ICRCTEFDSzt9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJFJFRDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLyBtaWQtc2l6ZWQgZGV2aWNlIGN1c3RvbWl6YXRpb25zXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwgdG8gZGVza3RvcC1zbWFsbCl7XG5cblx0Ly8gLmNhcmQtYWQtaW5saW5lX19jb250ZW50IHtcblx0Ly8gXHRtYXJnaW4tYm90dG9tOiAwO1xuXHQvLyB9XG4vLyB9XG5cbi8vIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCl7XG5cdC5jYXJkLWFkLWlubGluZSB7XG5cdFx0LmNvbC0xIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0Ly8gYm9yZGVyLXdpZHRoOiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEyNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY29sLTIge1xuXHRcdFx0Ly8gYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkQkxBQ0s7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IGdyaWQoLjI1KTtcblx0XHRcdC8vIG1hcmdpbi1sZWZ0OiBncmlkKC4yNSk7XG5cdFx0fVxuXHR9XG5cblx0LmNhcmQtYWQtaW5saW5lX19jb250ZW50IHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogZ3JpZCguMTI1KTtcblx0fVxufVxuXG4vLyB2ZXJ5IHNtYWxsIG1vYmlsZSBkZXZpY2UgY3VzdG9taXphdGlvbnNcblxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbi8vIFx0LmNhcmQtYWQtaW5saW5lIHtcbi8vIFx0XHQuY29sLTEge1xuLy8gXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4vLyBcdFx0XHRpbWcge1xuLy8gXHRcdFx0XHRtYXgtd2lkdGg6IDgwcHg7XG4vLyBcdFx0XHR9XG4vLyBcdFx0fVxuLy8gXHRcdC5jb2wtMiB7XG5cdFx0XHRcbi8vIFx0XHR9XG4vLyBcdH1cblxuLy8gXHQuY2FyZC1hZC1pbmxpbmVfX2NvbnRlbnQge1xuLy8gXHRcdGZvbnQtc2l6ZTogMTNweDtcbi8vIFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy8gXHR9XG5cbi8vIFx0LmNhcmQtYWQtaW5saW5lX19hY3Rpb257XG4vLyBcdFx0Zm9udC1zaXplOiAxM3B4O1xuLy8gXHR9XG4vLyB9IiwiLmNhcmQtYWQtc2lkZWJhcntcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSl7XG4gICAgbWFyZ2luLXRvcDogNy41cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4zKTtcbiAgfVxuXG4gIC5jb2wtMntcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKXtcbiAgICAgIHBhZGRpbmc6IDAgZ3JpZCguMjUpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1hZC1zaWRlYmFyX19pbWFnZXtcbiAgQGluY2x1ZGUgaW1hZ2UtZnVsbDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRCTEFDSztcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xufVxuXG4uY2FyZC1hZC1zaWRlYmFyX19jb250ZW50e1xuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKXtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4yNSk7XG4gIH1cbn1cblxuLmNhcmQtYWQtc2lkZWJhcl9fYWN0aW9ue1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgY29sb3I6ICRSRUQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi5jYXJkLWFydGljbGV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlcntcbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fbWFpbi1pbWFnZSBpbWd7XG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLDEuMSwxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbGlzdCB7XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgIHdpZHRoOiA2NiU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJveGluZyB7XG4gICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQsICRhbGlnbjogZmxleC1zdGFydCk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwgMSkgZ3JpZC1waXhlbHMoMCwgLjQpIGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fbWFpbi1pbWFnZXtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fYXV0aG9yIHtcbiAgICAgICAgICAgIGNvbG9yOiAkREFSS19CTFVFO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdG9waWMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZGl2aWRlZC1saXN0KCk7XG5cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1sYXJnZXtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94ZWR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEUtT0ZGO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxle1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX2F1dGhvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX190b3BpY3tkaXNwbGF5OiBub25lO31cblxuICAgIH1cblxuICAgICYuaXMtc21hbGx7XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9faGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19tYWluLWltYWdle1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgLmJveGVke1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1hcnRpY2xlX190aXRsZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXG4gICAgICAgICAgICAuY2FyZC1hcnRpY2xlX19oZWFkZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiBncmlkLXBpeGVscyg3LDcpO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJveGVke1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RvcGlje1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtZmVhdHVyZWR7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQtYmFzaWM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1kaXZpZGVkLWxpc3QoKTtcbiAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAxKSBncmlkLXBpeGVscygwLCAxKSAwO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC41KSBncmlkLXBpeGVscygwLCAxKSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FyZC1hcnRpY2xlX190aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX21haW4taW1hZ2Uge1xuICAgICAgICAgICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9faGVhZGVye1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkR1JJRC1DT05UQUlORVIgKyBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNSkgZ3JpZC1waXhlbHMoMCwzKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byA2MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX2F1dGhvcntcbiAgICAgICAgICAgIHdpZHRoOiBncmlkLXBpeGVscyg5LCAwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxLjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX190b3BpYyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hc2lkZSwgJi5pcy1vbi10aGUtcmFjayB7IC8vIG5lZWQgdG8gcmVmYWN0b3IgYWxsIC5pcy1hc2lkZSBtZW50aW9uc1xuICAgICAgICB3aWR0aDogMzElO1xuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX2hlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgZmxleDogMztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZ3JpZC1waXhlbHMoMCwuNzUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbWVkaXVtIHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjFweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDVweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHdpZHRoOiAxMDVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZV9fbWFpbi1pbWFnZXtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwNCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1tZWRpdW0gdG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgIC5ib3hpbmcge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZC1hcnRpY2xlX19tYWluLWltYWdle1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW1ne1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNXM7XG4gICAgICAgIGhlaWdodDogYXV0bztcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYXV0b2Rlc2t7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygyKTtcbiAgICAgICAgYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICByaWdodDogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmaWxsOiAkV0hJVEU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4uY2FyZC1hcnRpY2xlX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG59XG5cbi5jYXJkLWFydGljbGVfX3RpdGxle1xuICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC4yNSkgMDtcbn1cblxuLmNhcmQtYXJ0aWNsZV9fdG9waWN7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmQtYXJ0aWNsZV9fYXV0aG9ye1xuICBjb2xvcjogJERBUktfQkxVRTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbn1cblxuLmNhcmQtYXJ0aWNsZV9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH0gXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gXG4qKioqIFZpZGVvIENhcmQgc3BlY2lmaWMgc3R5bGVzICoqKioqXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FyZC1hcnRpY2xlLS12aWRlbyB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgLmNhcmQtYXJ0aWNsZV9fdGh1bWJuYWlsLW5hdml0ZW0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uY2FyZC1hcnRpY2xlX19tYWluLXZpZGVvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvYWRpbmdfc3Bpbm5lcl9ibGFjay5naWZcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTBweCA5MHB4O1xuXG4gICAgJi5sb2FkaW5nLS1zdGFydCB7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAmLmxvYWRpbmctLWVuZCB7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuOXM7IFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cbi5jYXJkLWFydGljbGVfX3Njcm9sbGluZy1uYXYge1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogNjEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxufVxuLmNhcmQtYXJ0aWNsZV9fdGh1bWJuYWlsLW5hdml0ZW0ge1xuICAgIC5hY3RpdmUgJiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoIGNlbnRlciwgY2VudGVyICk7XG5cbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgY29udGVudDogXCJOb3cgUGxheWluZ1wiO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5hY3RpdmUgJiBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfSAgICBcbn1cbi5jYXJkLWFydGljbGVfX3BsYXktYnRuIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA1MHB4O1xufVxuIiwiLmNhcmQtYXJ0aWNsZS1mZWF0dXJle1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlcik7XG5cbiAgcGFkZGluZzogNDBweCAwIDQ1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICA+IC5ib3gtMXtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIHdpZHRoOiA2NSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBpbWcge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogN3B4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LWxhcmdlKXtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYm94LTJ7XG4gICAgLy8gcGFkZGluZzogZ3JpZCguNSkgMCBncmlkKC41KSAwO1xuICAgIHdpZHRoOiAzMSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICBwYWRkaW5nOiBncmlkKC41KSBncmlkKC41KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX3RvcGlje1xuICBjb2xvcjogJEdSRVk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNhcmQtYXJ0aWNsZS1mZWF0dXJlX19oZWFkZXJ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbGFyZ2Upe1xuICAgIC8vIG1hcmdpbi1ib3R0b206IGdyaWQoMSk7XG4gIH1cbn1cblxuLmNhcmQtYXJ0aWNsZS1mZWF0dXJlX19mb2xsb3cge1xuICBtYXJnaW4tdG9wOiBncmlkKDEpO1xufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIG1hcmdpbi1ib3R0b206IGdyaWQoLjEpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1sYXJnZSl7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX3N1YnRpdGxle1xuICBjb2xvcjogJEdSRVk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX2F1dGhvciB7XG4gIGNvbG9yOiAkREFSS19CTFVFO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX2ZvbGxvd3tcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe2Rpc3BsYXk6IG5vbmV9XG59XG5cbi5jYXJkLWFydGljbGUtZmVhdHVyZV9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH0gXG59XG4iLCIuY2FyZC1hcnRpY2xlLXNuaXBwZXR7XG4gICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuXG4gICAgaDJ7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtaDQ7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsIHRvIHRhYmxldC1sYXJnZSkge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICB9XG5cbiAgICBmaWd1cmV7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWdlbmVyYWwtY2F0ZWdvcnl7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIuY2FyZC1hdXRob3J7XG4gICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBmbGV4LXN0YXJ0KTtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwyKSAwO1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMikgZ3JpZC1waXhlbHMoMSwwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgfVxuXG4gICAgLmJveHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtMXtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSg1LDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwxKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC0ye1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogZ3JpZC1wZXJjZW50YWdlKDEwLDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGVhZGVye1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuICAgIH1cblxuICAgIGgye1xuICAgICAgICBAaW5jbHVkZSB0eXBlLWgzO1xuICAgIH1cblxuICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtcDtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS40ZW0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hdmF0YXJ7XG4gICAgICAgIEBpbmNsdWRlIHByb3AtbWF4LXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb2NpYWx7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBjZW50ZXIpO1xuXG4gICAgICAgIGF7bWFyZ2luOiAwIDVweH1cblxuICAgICAgICAuY29tcG9uZW50LWJ1dHRvbi1zb2NpYWx7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6JEdSRVktQkxVRTtcblxuICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgIGZpbGw6ICRHUkVZLUJMVUU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIuY2FyZC1hdXRob3Itc25pcHBldHtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBmaWd1cmV7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBoMXtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oNDtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgIH1cblxuXG59XG5cbi5jYXJkLWF1dGhvci1zbmlwcGV0X19hdmF0YXJ7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkQkxBQ0ssLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG5cbiAgICBpbWd7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxufVxuXG5cbi5jYXJkLWF1dGhvci1zbmlwcGV0X19ibHVycmVke1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgb3BhY2l0eTogLjI1O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmlsdGVyOiBibHVyKDVweCk7XG59XG4iLCIuY2FyZC1zcGVha2Vye1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRkaXJlY3Rpb246IGNvbHVtbik7XG4gICAgXG4gICAgbWFyZ2luOiAxNXB4IDE1cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICB9ICAgIFxuICAgIFxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG59XG4uY2FyZC1zcGVha2VyX19jb3B5e1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG5cbn1cblxuLmNhcmQtc3BlYWtlcl9fbmFtZXtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIH1cbn1cbi5jYXJkLXNwZWFrZXJfX2ltYWdle1xuICAgICRtb2JpbGUtd2lkdGg6IDIxMHB4O1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgICBtYXgtd2lkdGg6IDE0NHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmhhcy1vbmUgJiB7XG4gICAgICAgIG1heC13aWR0aDogMTYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1vYmlsZS13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG1heC13aWR0aDogJG1vYmlsZS13aWR0aDtcbiAgICB9XG59XG4iLCIuY2FyZC1oZWFkZXJ7XG4gICAgY29sb3I6ICRXSElURTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5ib3h7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLLU9GRjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCw2KSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDMpIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmluZm97XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICB9XG5cbiAgICAuYXV0aG9yLWltYWdle1xuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweCBhdXRvO1xuICAgICAgICB3aWR0aDogMTIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFjdGlvbntcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgICAgIGF7bWFyZ2luOiAwIDVweDt9XG4gICAgfVxuXG4gICAgJi5oYXMtZGVzY3JpcHRpb257XG5cbiAgICAgICAgLmJveHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMykgZ3JpZC1waXhlbHMoMCwwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXG4gICAgICAgICAgICAuYm94IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDApIGdyaWQtcGl4ZWxzKDAsMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3ViYm94LTEge1xuICAgICAgICAgICAgd2lkdGg6IDM0JTtcbiAgICAgICAgfVxuICAgICAgICAuc3ViYm94LTIge1xuICAgICAgICAgICAgd2lkdGg6IDY2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWhlYWRlcl9fdGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzBweCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MiU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIC5ncmlkLTQsIC5ncmlkLTgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWJ1dHRvbi1zb2NpYWw6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkQkxBQ0s7XG4gICAgfVxuXG59XG5cbi5jYXJkLWhlYWRlcl9fdGl0bGV7XG4gICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oNTBweCk7XG4gICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbn1cblxuXG4uY2FyZC1oZWFkZXJfX2Rlc2NyaXB0aW9ue1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBjb2xvcjogJEJMQUNLO1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMikgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJEdSRVk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxLjUpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEuNSkgMDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3hlZHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1waXhlbHMoOCwwKTtcbiAgICB9XG5cbiAgICBwe1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbn1cbiIsIi5jYXJkLXN0YWZme1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJveHtcbiAgICAgICAgd2lkdGg6IDQ5JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4uY2FyZC1zdGFmZl9fcG9zaXRpb257XG4gICAgY29sb3I6ICRHUkVZO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgIG1hcmdpbjogM3B4IDAgMCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKXtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICB9XG5cbn1cblxuLmNhcmQtc3RhZmZfX25hbWV7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCJAaW1wb3J0IFwiZm9vdGVyXCI7XG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwic2VhcmNoXCI7XG5AaW1wb3J0IFwic2luZ2xlXCI7XG5AaW1wb3J0IFwidG9waWNcIjtcbkBpbXBvcnQgXCJ0b3BpYy1zZWN0aW9uXCI7XG5AaW1wb3J0IFwiZmVhdHVyZWQtc2VjdGlvblwiO1xuQGltcG9ydCBcIm1lbnVcIjtcbkBpbXBvcnQgXCJtZWdhbWVudVwiO1xuQGltcG9ydCBcImFydGljbGVzLWFzaWRlXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZXMtbGF0ZXN0XCI7XG5AaW1wb3J0IFwibWFnYXppbmUtcmFja1wiO1xuQGltcG9ydCBcImVkaXRvcnMtcGlja3NcIjsgLy8gZXh0ZW5kcyBtYWdhemluZS1yYWNrXG5AaW1wb3J0IFwibmV3c2xldHRlclwiO1xuQGltcG9ydCBcImF1dGhvcnNcIjtcbkBpbXBvcnQgXCJzdGFmZlwiO1xuQGltcG9ydCBcImF3YXJkc1wiO1xuQGltcG9ydCBcImV2ZW50XCI7XG4iLCIuYmxvY2stZm9vdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1x0Y29sb3I6ICRXSElURTtcblx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKTtcbn1cblxuLmJsb2NrLWZvb3Rlci1tYWlue1xuXHRAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGNlbnRlcik7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQuYm94LTEge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJFdISVRFO1xuXHRcdFx0b3JkZXI6IDI7XG5cdFx0XHRwYWRkaW5nLXRvcDogZ3JpZCguMjUpO1xuXHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdCAgfVxuXG5cdCAgLmxvZ28gaW1nIHtcblx0ICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdCAgXHRcdG1hcmdpbjogMCBhdXRvO1xuXHQgIFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ib3gtMiB7XG5cdFx0bWFyZ2luOiAwIGdyaWQoMSk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luOiAwIDAgZ3JpZCguMjUpIDA7XG5cdFx0fVxuXHR9XG5cblx0LmJveC0zIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luOiAwIDAgZ3JpZCguMjUpIDA7XG5cdFx0fVxuXHR9XG59XG5cbi5ibG9jay1mb290ZXJfX3NvY2lhbHtcblx0QGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtZW5kKTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHRzdmcge1xuXHRcdCRkOiAyNXB4O1xuXHRcdGZpbGw6ICRXSElURTtcblx0XHRoZWlnaHQ6ICRkO1xuXHRcdHdpZHRoOiAkZDtcblx0fVxuXG5cdGEge1xuXHRcdCY6bm90KDpmaXJzdC1jaGlsZCl7XG5cdFx0XHRtYXJnaW46IDAgMCAwIGdyaWQoLjI1KTtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLWZvb3Rlcl9fcXIge1xuXHRAaW5jbHVkZSBsYXlvdXQtZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcblxuXHRtYXJnaW4tbGVmdDogZ3JpZCguMjUpO1xuXG5cdCYtaW1nIHtcblx0XHRtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAuMjUpO1xuXHR9XG59XG5cbi5ibG9jay1mb290ZXJfX21lbnV7XG5cdEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuXHRcdEBpbmNsdWRlIGxheW91dC1mbGV4KCRkaXJlY3Rpb246IGNvbHVtbik7XG5cdH1cblxuXHQ+IGEge1xuXHRcdG1hcmdpbjogMCBncmlkKC4xKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcblx0XHRcdG1hcmdpbjogMCAwIGdyaWQoLjEpIDA7XG5cdFx0fVxuXHR9XG59XG5cbi5ibG9jay1mb290ZXItc2Vjb25kYXJ5IHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0bWFyZ2luOiBncmlkLXBpeGVscygwLC41KSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdCBkaXNwbGF5OiBmbGV4O1xuXHRcdCBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cbiAgYSB7XG4gIFx0bWFyZ2luOiAwIDVweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRtYXJnaW46IDVweCAwO1xuXHRcdH1cbiAgfVxufVxuXG4uYmxvY2stZm9vdGVyX19uZXdzbGV0dGVye1xuXHRAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lfVxufVxuXG5cbi8vIEltYWdlIGVubGFyZ2VtZW50IHRlc3RcblxuYm9keS5zdGF0ZS0taW1hZ2UtZW5sYXJnZWQge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG59XG4uZW5sYXJnZWFibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNpbWFnZS12aWV3ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC45NSk7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwdnc7XG5cdGhlaWdodDogMTAwdmg7XG5cdHotaW5kZXg6IC0xO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRvcGFjaXR5OiAwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblxuXHQmLmFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR6LWluZGV4OiA5OTk7XG5cdH1cblxuXHQmX19pbWcge1xuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cdFx0cGFkZGluZy10b3A6IDExNXB4O1xuXHR9XG5cdCZfX2Nsb3NlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAzMHB4O1xuXHRcdHJpZ2h0OiAzMHB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdH1cblx0Jl9fY2FwdGlvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXHR9XG59XG4iLCIuYmxvY2staGVhZGVye1xuICAgIEBpbmNsdWRlIGxldmVscyg2KTtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRHUkVZO1xuICAgIGhlaWdodDogJEhFQURFUl9IRUlHSFQ7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6ICRIRUFERVJfSEVJR0hUX01PQklMRTtcbiAgICB9XG5cbiAgICAuYm94ZXN7XG4gICAgICAgIGhlaWdodDogNjBweDtcblxuICAgICAgICA+IC5ib3h7XG5cbiAgICAgICAgICAgICYtMSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0yIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtmbGV4OiAxO31cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDM7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byAzNTBweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGF7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICA+IGRpdi5zaG93LW1vYmlsZXt3aWR0aDogMTAwJX1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5jb21wb25lbnQtc2hhcmV7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgZ3JpZCguMSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBhe21hcmdpbjogMH1cbiAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAkZDogMjlweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJGQ7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0ze1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgICAgICAgICAgICAgIGZsZXg6IDU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBncmlkKC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi00e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBmbGV4LWVuZCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJveC00IHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgLmNvbXBvbmVudC1idXR0b24tYXV0b2Rlc2ssIC5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxvZ28ge1xuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5sb2dvLWF1dG9kZXNre1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGdyaWQtcGl4ZWxzKDAsLjc1KSAwIDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuXG5cblxuICAgIH1cblxuICAgIC5sb2dvLWxldHRlcntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWJ1dHRvbntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW46IDAgZ3JpZC1waXhlbHMoMCwuNSkgMCAwO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC40NSkgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICB9XG5cbn1cblxuXG4uYmxvY2staGVhZGVyX19tYWluIHtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSBncmlkLXBpeGVscygwLC43NSk7XG4gICAgfVxuXG4gIC5sb2dvLXRlYXNle1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICBhe2Rpc3BsYXk6IGJsb2NrfVxuICB9XG59XG5cblxuLm5hdi10ZWFzZXtcbiAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2Utb3V0O1xuICAgIC8vIGhlaWdodDogMDtcbiAgICAvLyBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICAgIC8vIHdpZHRoOiAxMDAlO1xufVxuXG4uYmxvY2staGVhZGVyX19wb3N0bWV0YXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgc3Ryb25ne1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnNob3ctbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93LWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhX19yZWFkaW5ne1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBmbGV4LXN0YXJ0KTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBzdHJvbmd7bWFyZ2luOiAwIDEwcHggMCAwO31cbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgd2lkdGg6IDgwJTtcblxuICAgIGRpdnt3aWR0aDogNTAlfVxuXG59XG5cbi5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhX19zaGFyZXtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB3aWR0aDogMTUlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3Ryb25ne1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhLXNvY2lhbCB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lfVxuXG5cbiAgICA+IGRpdiB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1zaGFyZS1hbHQge1xuICAgICAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICRXSElURTtcbiAgICB9XG59XG4iLCIuYmxvY2stc2VhcmNoe1xuICAgIEBpbmNsdWRlIGxheW91dC1oaWRkZW47XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDApO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJFdISVRFIDEwJSxyZ2JhKCRXSElURSwuODUpKTtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDMpIDAgZ3JpZC1waXhlbHMoMCwzKSAwO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCw1MHB4LDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAuN3M7XG4gICAgdG9wOiAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgd2lkdGg6IDEwMSU7XG5cbiAgICAucmVzdWx0c3tcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBzdHJldGNoLCAkanVzdGlmeTogZmxleC1zdGFydCk7XG4gICAgfVxuXG4gICAgLmNhcmQtYXJ0aWNsZS1zbmlwcGV0e1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLDEpIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjMpIDA7XG4gICAgICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOm50aC1jaGlsZCg0bis0KSl7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6Z3JpZC1wZXJjZW50YWdlKDAsMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBmb3Jte1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgpO1xuXG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMSkgMDtcblxuICAgICAgICAuaW5wdXR7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRTQU5TO1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDgwcHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSg2NXB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXN7b3V0bGluZTpub25lfVxuXG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdHMtZmFkZW91dCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCB0cmFuc3BhcmVudCwgJFdISVRFIDY1JSApO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogOTk5OTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA4MDBweCl7XG4gICAgICAgIGhlaWdodDogMjAlO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogOTAwcHgpe1xuICAgICAgICBib3R0b206IDUwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiAxMDAwcHgpe1xuICAgICAgICBib3R0b206IDc1cHhcbiAgICB9XG59XG5cblxuLmJsb2NrLXNlYXJjaF9fY2xvc2V7XG4gICAgQGV4dGVuZCAuY29tcG9uZW50LWJ1dHRvbi1tZW51O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDVweDtcbiAgICB0b3A6IDY1cHg7XG5cbiAgICAkdG9wOiA5cHg7XG5cbiAgICAubGluZS0xe1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICB9XG5cbiAgICAubGluZS0ye29wYWNpdHk6IDA7fVxuXG4gICAgLmxpbmUtM3tcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdG9wOiAtICR0b3AgLSAxO1xuICAgIH1cblxufVxuXG4uYmxvY2stc2VhcmNoX19ib3gxIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIlO1xuICAgIH1cbn1cblxuLmJsb2NrLXNlYXJjaF9fYm94MiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdHMtc2hvd2luZyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogNzB2aCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMTcwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgIC5zcGlubmVyIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgICAgXG4gICAgICAgID4gZGl2ID4gZGl2IHtcbiAgICAgICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1sYXJnZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdF9fYXV0aG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICRXSElURTtcbiAgICBib3R0b206IDE1cHg7XG4gICAgbGVmdDogMTVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0X19saW5rIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbjogZmxleC1zdGFydCwgJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcblxuICAgIEBpbmNsdWRlIHNoYWRvdy0xO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcblxuICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAuOTtcblxuICAgIH1cbn1cbi5zZWFyY2h3cC1saXZlLXNlYXJjaC1yZXN1bHRfX21ldGEge1xuICAgIEBpbmNsdWRlIHR5cGUtaDQ7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0X190aHVtYm5haWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRCTEFDSztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cblxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdF9fbWV0YSB7XG4gICAgc3Ryb25nIHtcbiAgICAgICAgLy8gZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbn1cbi5zZWFyY2h3cC1saXZlLXNlYXJjaC1uby1taW4tY2hhcnM6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCIvLyAqKioqKiBUZW1wIHNpZ251cCBmb3JtIGZpeCAqKioqKlxuLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG4vLyAqKioqKiogRW5kIHRlbXAgZml4ICoqKioqKioqXG5cbi5ibG9jay1zaW5nbGUge1xuICBwYWRkaW5nLXRvcDogZ3JpZCguNSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblxuICAgICAgLmJveC0xLCAuYm94LTMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAuYm94LTIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICB9XG5cbiAgLmNvbXBvbmVudC1zaGFyZS1hbHQge1xuICAgIHBhZGRpbmctdG9wOiBncmlkKC4xNSk7XG4gIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fdG9we1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb21wb25lbnQtc2hhcmV7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGRpcmVjdGlvbjogY29sdW1uLCAkYWxpZ246IGZsZXgtZW5kKTtcbiAgICBtYXJnaW4tdG9wOiBncmlkKC4xNCk7XG4gICAgbWFyZ2luLWxlZnQ6IGdyaWQoLjc1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LWxhcmdlKXtcbiAgICAgIG1hcmdpbi1sZWZ0OiBncmlkKC4yNSk7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSAwIGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAuYm94ZXMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiBncmlkKC41KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBwYWRkaW5nOiAwIGdyaWQtcGl4ZWxzKDAsMSk7XG4gIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fbWV0YXtcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ibG9jay1zaW5nbGVfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgICBtYXgtd2lkdGg6ICRHUklELUNPTlRBSU5FUiArIHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMnB4KTsgIC8vIG5lZWQgdG8gbG9vayBpbnRvIHRoaXMgYW5kIHBvc3NpYmx5IHJlbW92ZS5cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI4cHgpO1xuICAgIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fdG9waWMge1xuICBjb2xvcjogJEdSRVk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1tZWRpdW0gdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI0cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDEycHgpO1xuICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX2F1dGhvciB7XG4gICAgY29sb3I6ICREQVJLX0JMVUU7XG4gICAgbWFyZ2luLXJpZ2h0OiBncmlkKC4yNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLW1lZGl1bSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI0cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjEpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLW1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTJweCk7XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19jb250ZW50IHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbWcsIGZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIC8vIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwuNzUpIDAgMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsLjUpO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZXtmb250LXdlaWdodDogNjAwO31cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgYTpub3QoW2hyZWZePVwiaHR0cHM6Ly9jZG5cIl0pe1xuICAgICAgICAgICAgY29sb3I6ICMxODU5YTg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAvLyAgIEBpbmNsdWRlIGxzcy1saW5rLXVuZGVybGluZSgkV0hJVEUsIHJnYmEoJEJMQUNLLC45KSwgJEJMQUNLKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAuaXMtZGFyayAmIHtcbiAgICAgIGE6bm90KFtocmVmXj1cImh0dHBzOi8vY2RuXCJdKXtcbiAgICAgICAgQGluY2x1ZGUgbHNzLWxpbmstdW5kZXJsaW5lKCREQVJLLUFSVElDTEUtQkcsIHJnYmEoJFdISVRFLC45KSwgJFdISVRFKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDUlO1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG5cbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDUlIDAgMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG5cbiAgICAuYm94ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEUtT0ZGO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX21haW4taW1hZ2Uge1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1cztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgei1pbmRleDogMTE7XG59XG4uYmxvY2stc2luZ2xlX19yZWNvbW1lbmRlZCB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICREQVJLX0JMVUU7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSBncmlkLXBpeGVscygwLDEpO1xuICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5lbnRyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wb25lbnQtaGVhZGluZyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLC41KTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnkgYXtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsLjI1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmRpdmlkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSS19CTFVFO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgIH1cblxufVxuLmJsb2NrLXNpbmdsZV9fdGFnLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEuNSk7XG4gICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG59XG4uYmxvY2stc2luZ2xlX190YWcsIC5ibG9jay1zaW5nbGVfX3RhZy1zcGFjZXIge1xuICAgIGNvbG9yOiAkUkVEO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAuaXMtZGFyayAmIHtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICB9XG59XG4uYmxvY2stc2luZ2xlX190YWcge1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5ib2R5W2RhdGEtYmxvZ2lkPVwiOFwiXSAuYmxvY2stc2luZ2xlX19yZWFkLXRpbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmJsb2NrLXRvcGlje1xuICAuY2FyZC1hcnRpY2xlLWZlYXR1cmUgPiAuYm94LTJ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgLy8gbWluLWhlaWdodDogNDI3cHg7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay10b3BpY19fbW9iaWxlLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVktTElHSFQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAuNzUpIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxufVxuLmJsb2NrLXRvcGljX19oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5ibG9jay10b3BpY19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSk7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpIDAgZ3JpZC1waXhlbHMoMCwxKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG5cbiAgICAuYm94ZXMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fZW50cnkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX3N1YnRvcGljcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJEdSRVktTElHSFQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRHUkVZO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zbGljay1saXN0IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJFJFRDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIG1hcmdpbjogMCBncmlkKC4yKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIGdyaWQoLjE1KTtcbiAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgcmlnaHQ6IDY0cHg7XG4gICAgd2lkdGg6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lfVxuXG4gICAgJi5pcy1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiA4JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgcmlnaHQ6IDIuNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxlZnQge1xuICAgICAgICBsZWZ0OiA4JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWNrLWRpc2FibGVke1xuICAgICAgc3Zne2ZpbGw6ICRHUkVZO31cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgZmlsbDogJFJFRDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtaDE7XG5cbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbWFyZ2luOiBncmlkLXBpeGVscygwLC41KSBhdXRvO1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fdG9waWMge1xuICBtYXJnaW4tYm90dG9tOiBncmlkKC4xKTtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2F1dGhvciB7XG4gICAgYm9yZGVyOiAwIHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICREQVJLX0JMVUU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmJsb2NrLXRvcGljX19jb250ZW50IHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcblxuICAgIGltZywgZmlndXJlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiBncmlkLXBpeGVscygwLC43NSkgMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsLjUpO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDUlO1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG5cbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDUlIDAgMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLmJsb2NrLXRvcGljX19tYWluLWltYWdlIGltZyB7XG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLDEuMSwxKTsgLy8gKioqKk5vdCBzdXJlIGlmIHdlIGFyZSB1c2luZyB0aGlzIG9yIG5vdC5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3hlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRXSElURS1PRkY7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXJ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fbWFpbi1pbWFnZSB7XG4gICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4xKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1cztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX3NpZGViYXIge1xuICAgIG1hcmdpbi10b3A6IDglO1xufVxuLmJsb2NrLXRvcGljX19yZWNvbW1lbmRlZCB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICREQVJLX0JMVUU7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpO1xuICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5lbnRyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLC41KTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnkge1xuICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwuMjUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuZGl2aWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLX0JMVUU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgfVxuXG59XG4iLCIuYmxvY2stdG9waWMtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRCTEFDSztcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDA7XG4gIH1cblxuICAuY29tcG9uZW50LWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWFydGljbGUge1xuICAgICYuaXMtdmlkZW8tbmF2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDIpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1kaXZpZGVkLWxpc3QoKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5pcy1sYXJnZTpsYXN0LWNoaWxke1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLWFydGljbGVfX2hlYWRlcntcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLWFydGljbGVfX21haW4taW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHggIWltcG9ydGFudDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gNjAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICB9XG5cbiAgLmNhcmQtYXJ0aWNsZV9fdG9waWMge1xuICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG5cbi5ibG9jay10b3BpYy1zZWN0aW9uLS12aWRlbyB7XG4gIC5ib3gge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uIHtcbiAgLmNvbXBvbmVudC1tYWdhemluZS1yYWNre1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgICBwYWRkaW5nOiBncmlkKC4zKTtcbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLWZlYXR1cmVkLXNlY3Rpb25fX2FydGljbGV7XG4gIGJhY2tncm91bmQtY29sb3I6ICRHUkVZLUxJR0hUO1xufVxuXG5cbi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uX19zdWJ0aXRsZXtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBwYWRkaW5nOiAwIGdyaWQoLjQpO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC40KTtcbiAgfVxuXG4gID4gYXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG4gIH1cbn1cblxuLmJsb2NrLWZlYXR1cmVkLXNlY3Rpb25fX2ljb24tYXJyb3ctYWx0e1xuICBtYXJnaW4tbGVmdDogZ3JpZCguMTUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBzdmd7XG4gICAgQGluY2x1ZGUgaW1hZ2UtYmxvY2s7XG4gICAgZmlsbDogJEJMQUNLO1xuICAgIHdpZHRoOiAyOHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgfVxuICB9XG59XG5cbi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uX19pY29uLWFycm93e1xuICBtYXJnaW4tbGVmdDogZ3JpZCguMTUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuXG4gIHN2Z3tcbiAgICBAaW5jbHVkZSBpbWFnZS1ibG9jaztcbiAgICBmaWxsOiAkUkVEO1xuICAgIHdpZHRoOiA4cHg7XG4gIH1cbn1cbiIsIi5ibG9jay1tZW51IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBhIHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuIiwiLmJsb2NrLW1lZ2FtZW51e1xuICAgIEBpbmNsdWRlIGxheW91dC1oaWRkZW47XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDQpO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCw1MHB4LDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAuN3M7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuXG4gICAgLm1haW4tY29udGVudHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24tc2Vjb25kYXJ5e1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oMztcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogMCAwICgkRk9PVEVSX0hFSUdIVCArIDI1KSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjRweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFRfTU9CSUxFO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJFdISVRFLC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKTtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC42NSkgZ3JpZC1waXhlbHMoMCwgMSk7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJEJMQUNLLU9GRjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIDUwMHB4KSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gMzUwcHgpIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1mb290ZXIge1xuICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMS4yNSkgZ3JpZC1waXhlbHMoMCwxKSBncmlkLXBpeGVscygwLCA0KSBncmlkLXBpeGVscygwLDEpO1xuICAgIH1cblxuICAgIC5ibG9jay1mb290ZXItbWFpbiB7XG4gICAgICAgIC5ib3hlcyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC0xIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LTIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtMyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMS41KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEuNSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29tcG9uZW50LWJ1dHRvbi1zb2NpYWwgIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRCTEFDSztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stYXJ0aWNsZXMtYXNpZGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkR1JFWS1MSUdIVDtcblx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRib3JkZXItdG9wOiA0cHggc29saWQgJERBUkstQkxVRTtcblx0fVxuXG5cdC5ib3hlcyB7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cblx0LmJveGluZyB7XG5cdFx0QGluY2x1ZGUgbGF5b3V0LWZsZXgoY2VudGVyLCBjZW50ZXIsIHJvdyk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDAgMDtcblxuICAgICAgICA+IC5jb250YWluZXIge1xuICAgICAgICBcdHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBvbmVudC1oZWFkaW5nICB7XG4gICAgICAgIFx0cGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5ibG9jay1hcnRpY2xlcy1sYXRlc3Qge1xuXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSAwO1xuXG5cdGFydGljbGUge1xuXHRcdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMS41KTtcblx0fVxuXG5cdC5jYXJkLWFydGljbGVfX21haW4taW1hZ2V7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IGdyaWQoLjIpO1xuXHRcdH1cblx0fVxuXG5cdC5jb21wb25lbnQtaGVhZGluZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwyKTtcblxuXHRcdCYuaXMtY2VudGVyZWQge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdCYuaXMtYm90dG9tY2FwIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0bWFyZ2luOiBncmlkLXBpeGVscygwLDEpIDAgMDtcblxuXHQgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdCAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcblx0ICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblx0ICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXG5cdCAgICAgICAgICAgIHNwYW4ge1xuXHQgICAgICAgICAgICAgICAgY29sb3I6ICRSRUQ7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgc3ZnLCAuc3QwIHtcblx0XHRcdFx0XHRzdHJva2U6ICRSRUQ7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICB9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdFx0cGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cblx0XHRwYWRkaW5nLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICA+IC5jb250YWluZXIge1xuXG4gICAgICAgXHRcdHdpZHRoOiAxMDAlO1xuICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stbWFnYXppbmUtcmFjayB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRHUkVZLUxJR0hUO1xuXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuXHRcdGJvcmRlci10b3A6IDRweCBzb2xpZCAkREFSSy1CTFVFO1xuXHR9XG5cblx0LmJveGVzIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxuXHQuYm94aW5nIHtcblx0XHRAaW5jbHVkZSBsYXlvdXQtZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIsIHJvdyk7XG5cblx0XHRmaWd1cmUge1xuXHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDA7XG5cbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgXHR3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wb25lbnQtaGVhZGluZyAge1xuICAgICAgICBcdHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC41KSBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbGFzdCB7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5ibG9jay1lZGl0b3JzLXBpY2tzIHtcblx0QGV4dGVuZCAuYmxvY2stbWFnYXppbmUtcmFjaztcbn0iLCIuYmxvY2stbmV3c2xldHRlcntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5ta3RvRW1haWxGaWVsZCB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAgIC50aXRsZXtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICAgICAgY29sb3I6ICRCTEFDSztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBoM3tcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICNGaXJzdE5hbWUsICNMYXN0TmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93LC5ta3RvT0ZGc2V0LCAubWt0b0NsZWFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkRGVzY3JpcHRvci5ta3RvRm9ybUNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMiksIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDMpe1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdyBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5ta3RvRm9ybVJvdyAubWt0b0VtYWlsRmllbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkQkxBQ0s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmZvY3VzLCAmLmhhcy12YWx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRmllbGRXcmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyLCAkZGlyZWN0aW9uOiBjb2x1bW4pO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93Om50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICA+IC5ta3RvRmllbGREZXNjcmlwdG9yID4gLm1rdG9GaWVsZFdyYXAgPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ta3RvUmFkaW9MaXN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcblxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMjVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b1JhZGlvTGlzdCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRTQU5TO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9CdXR0b25Sb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLm1rdG9CdXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDIyMSwzNCwzNCwxKSwgcmdiYSg0Myw1NiwxNDMsMSkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDAgc29saWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9HdXR0ZXIubWt0b0hhc1dpZHRoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1rdG9Gb3JtIC5ta3RvRXJyb3IgLm1rdG9FcnJvck1zZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEVSUk9SO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogdHJhbnNwYXJlbnQgMCAtMXB4IDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWt0b0Zvcm0gLm1rdG9FcnJvciAubWt0b0Vycm9yQXJyb3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEVSUk9SO1xuICAgICAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgICAgICB9XG5cbi8qID09PT09PT09IG9sZCBzdHlsZXMgdG8gY2xlYW4gdXA9PT09PT09PT09PT09PSAqL1xuICAgICAgICBwe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwxLjMzMykgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRSRUQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRSRUQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3d7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50b3VjaGVkLmludmFsaWR7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkRVJST1I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjI1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnByaXZhY3l7XG4gICAgICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkQkxBQ0s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRCTEFDSztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWVycm9yZWQtcHJpdmFjeXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDAsMCwuNSk7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaXZhY3ktbWVzc2FnZXtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRHUkVZLUxJR0hUO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmZvY3Vze291dGxpbmU6IG5vbmV9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWl0e1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkV0hJVEUsLjEpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjRzO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7d2lkdGg6IDEwMCV9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWR7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICAgICAgJjphZnRlcnt3aWR0aDogMTAwJX1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNyZWF0ZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cGUtc21hbGw7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC42KSAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3Jtc2d7XG4gICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYm94ZWR7XG4gICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMi41KSBncmlkLXBpeGVscygwLDQuNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1pbWFnZTogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuX2RhcmsucG5nKSA1MCAwIHJlcGVhdDtcbiAgICAgICAgLy8gYm9yZGVyLWltYWdlLXNsaWNlOiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAgZ3JpZC1waXhlbHMoMCwuNzUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgLy8gcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMi41KSBncmlkLXBpeGVscygwLDIuNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5pcy1nZW8gLmlzUmFkaW9Sb3d7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cbi5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIsIC5ibG9jay1uZXdzbGV0dGVyLWlubGluZSwgLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyLCAuYmxvY2stbmV3c2xldHRlci11bnN1YnNjcmliZSB7XG4gICAgJi5zdGF0ZS1zdWNjZXNze1xuICAgICAgLmJsb2NrLW5ld3NsZXR0ZXJfX3N1Y2Nlc3N7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxufVxuLmJsb2NrLW5ld3NsZXR0ZXItc2lkZWJhciB7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRCTEFDSztcblxuICAgIC5ib3hlZCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgICB9XG5cbiAgICAudGl0bGUsIC5zdWJ0aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICAgICAgPiBkaXYge1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLm1rdG9FcnJvciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC02NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXJnaW46IC03cHggMCAtMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IC0yNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KXtcbiAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgc3BhbiwgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkV3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGxlZnQsICRqdXN0aWZ5OiBjZW50ZXIsICRkaXJlY3Rpb246IGNvbHVtbik7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b1JhZGlvTGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBmbGV4LWVuZCk7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0J1dHRvblJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGxlZnQpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93IC5ta3RvRW1haWxGaWVsZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJFNBTlM7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3cgbGFiZWwubWt0b0xhYmVsIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgLm1rdG9SYWRpb0xpc3Qge1xuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gLm1rdG9FcnJvciB7XG4gICAgICAgICAgICAvLyAgICAgcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vICAgICBib3R0b206IC0yMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgLm1rdG9FbWFpbEZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItaW5saW5lX19wb2xpY3l7bWFyZ2luLXRvcDogZ3JpZCguMjUpOyB0ZXh0LWFsaWduOiBjZW50ZXJ9XG4uYmxvY2stbmV3c2xldHRlci1zaWRlYmFyX19wb2xpY3l7bWFyZ2luLXRvcDogZ3JpZCguMjUpfVxuXG4uYmxvY2stbmV3c2xldHRlci1vdmVybGF5e1xuICAgIEBpbmNsdWRlIHNoYWRvdy0xO1xuICAgIEBpbmNsdWRlIGxheW91dC1oaWRkZW47XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyMjEsMzQsMzQsLjk1KSwgcmdiYSg0Myw1NiwxNDMsLjk1KSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjdzO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIGRlc2t0b3Atc21hbGwpe1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsNTBweCwwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICAgIFxuICAgIC8vIEFkanVzdG1lbnRzIGZvciBzaG9ydCBicm93c2VyIHdpbmRvd3NcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NDBweCApIGFuZCAobWluLXdpZHRoOiA3NTBweCkgYW5kIChtYXgtd2lkdGg6IDg2NnB4KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY4MHB4ICkgYW5kIChtaW4td2lkdGg6IDg2N3B4KSBhbmQgKG1heC13aWR0aDogMTAyOXB4KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY1MHB4ICkgYW5kIChtaW4td2lkdGg6IDEwMzBweCkge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5ib3gtY29udGFpbmVye1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMik7XG4gICAgICAgIG1heC13aWR0aDogMTA2MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsIHRvIGRlc2t0b3AtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAgODUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uc3tcbiAgICAgICAgYmFja2dyb3VuZDogJEdSRVktTElHSFQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyMHB4KTtcblxuICAgICAgICA+IC5ib3h7d2lkdGg6IDUwJX1cblxuICAgICAgICBhe1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxLjI1KSBncmlkLXBpeGVscygwLDEuNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjc1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmV7YmFja2dyb3VuZDogJFdISVRFO31cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgQGluY2x1ZGUgaDE7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm1zIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBzdHJldGNoLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJEJMQUNLO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveGVke1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDMuNzUpIGdyaWQtcGl4ZWxzKDAsMS41KSBncmlkLXBpeGVscygwLDQuMjUpO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBib3JkZXI6IDAgc29saWQ7XG4gICAgICAgIC8vIGJvcmRlci1pbWFnZS1zbGljZTogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMi43NSkgZ3JpZC1waXhlbHMoMCwxLjUpIGdyaWQtcGl4ZWxzKDAsMS41KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuX2RhcmsucG5nKSA1MCAwIHJlcGVhdDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLW1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDEuNzUpIGdyaWQtcGl4ZWxzKDAsMSkgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc4MHB4ICkgYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogZ3JpZC1waXhlbHMoMCwgMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWt0b0Zvcm1Sb3cge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ta3RvRW1haWxGaWVsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTM3cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvcm17XG4gICAgICAubWt0b0Zvcm1Sb3cgbGFiZWx7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5ta3RvQXN0ZXJpeHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxuXG4gICAgICAubWt0b0xhYmVsLm1rdG9IYXNXaWR0aHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSBidXR0b24ubWt0b0J1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRTQU5TICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0gLm1rdG9Gb3JtUm93Om50aC1jaGlsZCgzKSAubWt0b1JhZGlvTGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2V7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgICB9XG5cbiAgICAuYmxvY2stbmV3c2xldHRlcl9fY2xvc2V7XG4gICAgICAgIC5saW5le2JhY2tncm91bmQ6ICRCTEFDSy1PRkZ9XG4gICAgfVxuXG59XG5cbi5ibG9jay1uZXdzbGV0dGVyLW92ZXJsYXlfX3BvbGljeSB7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogZ3JpZCguMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbWVkaXVtKSB7XG4gICAgcGFkZGluZzogMCBncmlkKC4yKTtcbiAgfVxufVxuXG4uYmxvY2stbmV3c2xldHRlci1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLLUJMVUU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGdyaWQoLjUpIDAgMCAwO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcGF0dGVybi5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICAgICAgaGVpZ2h0OiBncmlkKC40KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuXG4gICAgfVxuXG4gICAgLnRpdGxlLCAuc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgIH1cblxuICAgIC5ib3hlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDAgc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDEpIDMzJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1tZWRpdW0gdG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgZ3JpZC1waXhlbHMoMCwgMik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LW1lZGl1bSB0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMSkgMjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ld3NsZXR0ZXJfX3N1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSSy1CTFVFO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgID4gZGl2IHtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAubWt0b0Vycm9yIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC02NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC03cHggMCAtMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgLm1rdG9SYWRpb0xpc3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KXtcbiAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgICAgIHNwYW4sIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpe1xuICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRmllbGRXcmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogbGVmdCwgJGp1c3RpZnk6IGNlbnRlciwgJGRpcmVjdGlvbjogY29sdW1uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJERBUkstQkxVRSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykgLm1rdG9SYWRpb0xpc3QgbGFiZWwge1xuICAgICAgICAgICAgLy8gY29sb3I6ICRXSElURTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdyAubWt0b0VtYWlsRmllbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuXG4gICAgICAgICAgICAmOmZvY3VzLCAmLmhhcy12YWx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUkstQkxVRTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdyBsYWJlbC5ta3RvTGFiZWwubWt0b0hhc1dpZHRoIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkRGVzY3JpcHRvci5ta3RvRm9ybUNvbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvT2Zmc2V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgIH1cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyX19wb2xpY3l7XG4gIG1hcmdpbi10b3A6IGdyaWQoLjI1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmxvY2stbmV3c2xldHRlci1pbmxpbmUge1xuICAgIEBleHRlbmQgLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyO1xuICAgIGJvcmRlci13aWR0aDogMDtcblxuICAgIGZvcm0gPiBkaXY6bnRoLWNoaWxkKDUpIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG5cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItdW5zdWJzY3JpYmUge1xuICAgIHBhZGRpbmctdG9wOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgLm1rdG9PZmZzZXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ta3RvRmllbGRXcmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNFbWFpbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGdyaWQtcGl4ZWxzKDAsIC41KSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5ibG9jay1uZXdzbGV0dGVyX19zdWNjZXNzIHtcbiAgICAgICAgbWFyZ2luOiAtMzBweCAtMTAlIDA7XG4gICAgICAgIHdpZHRoOiAxMjAlO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTMlIDA7XG4gICAgICAgICAgICB3aWR0aDogMTA2JTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgMCBncmlkLXBpeGVscygwLCA0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcblxuICAgICAgICAubWt0b0J1dHRvbldyYXAsIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1rdG9Gb3JtUm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXJfX2Nsb3Nle1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDYwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC0yMDAlLDApO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgJHRvcDogOXB4O1xuXG4gICAgLmxpbmUtMXtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6ICR0b3A7XG4gICAgfVxuXG4gICAgLmxpbmUtMntvcGFjaXR5OiAwO31cblxuICAgIC5saW5lLTN7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRvcDogLSAkdG9wIC0gMjtcbiAgICB9XG5cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXJfX3N1Y2Nlc3N7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMy43NSkgZ3JpZC1waXhlbHMoMCwxLjUpIGdyaWQtcGl4ZWxzKDAsNC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG5cbiAgLmJveGVkZWR7d2lkdGg6IDEwMCV9XG59XG5cbi5ta3RvQnV0dG9uV3JhcCB7XG4gICAgLmlzLXdhaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRHUkVZICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkFydGlmYWt0IEVsZW1lbnRcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5zdGF0ZS13YWl0aW5nIHtcbiAgICAgICAgLmlzLXdhaXRpbmcge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiNta3RvRm9ybV8yMDAzIC5ta3RvQnV0dG9uV3JhcCwgLmJsb2NrLW5ld3NsZXR0ZXItc2lkZWJhciAjbWt0b0Zvcm1fMTkxOSAubWt0b0J1dHRvbldyYXAge1xuICAgIC5pcy13YWl0aW5nIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZGQyMjIyLCAjMmIzODhmKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgc29saWQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbn1cbi5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIgI21rdG9Gb3JtXzE5MTkgLm1rdG9CdXR0b25XcmFwIHtcbiAgICAuaXMtd2FpdGluZyB7XG4gICAgICAgIHRvcDogM3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICB9XG59XG4vLyBxdWljayBmaXguIE5lZWRzIHQgYmUgcmVmYWN0b3JlZFxuLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyIGZvcm0gPiBkaXY6bnRoLWNoaWxkKDUpIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PSBORVcgTUFSS0VUTyBGT1JNIE1JR1JBVElPTiA9PT09PT09PT09PT09PT09PSAqL1xuXG4jZW1haWxzaWdudXBfX2Zvb3RlciwgI2VtYWlsc2lnbnVwX19pbmxpbmUsICNlbWFpbHNpZ251cF9fb3ZlcmxheSwgLmVtYWlsc2lnbnVwX19zaWRlYmFyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi5ibG9jay1hdXRob3Jze1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IHN0cmV0Y2gpO1xuXG4gID4gLmJveHtcbiAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICBtYXJnaW46IDAgMCAzNXB4IDA7XG4gICAgd2lkdGg6IDE5JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgIG1hcmdpbjogMiU7XG4gICAgfVxuXG4gICAgJi5pcy1lbXB0eXtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5ibG9jay1zdGFmZntcbiAgbWFyZ2luOiBncmlkKC41KSBhdXRvIDYwcHggYXV0bztcbiAgbWF4LXdpZHRoOiA2MDBweDtcblxuICB1bHtcbiAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gIH1cblxuICBsaXtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1zdGFmZl9faGVhZGluZ3tcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ibG9jay1zdGFmZl9fY29udHJpYnV0ZXJze1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkR1JFWTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBhe2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkR1JFWX1cbn1cbiIsIi5ibG9jay1hd2FyZHN7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcblxuICAgIC5ib3hlc3tcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKXtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5ib3h7XG5cbiAgICAgICAgJjpub3QoOm50aC1sYXN0LWNoaWxkKC1uICsgMykpe1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cbi5ibG9jay1hd2FyZHNfX2hlYWRpbmd7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwiLmJsb2NrLWV2ZW50e1xuICAvLyBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IHN0cmV0Y2gpO1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG5cbiAgICB9XG5cbiAgICAubWFpbi1pbWFnZSB7XG4gICAgICAud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxufVxuLmJsb2NrLWV2ZW50X19jb250YWluZXIge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEUtT0ZGICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLCAyLjUpICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIFxufVxuLmJsb2NrLWV2ZW50X19zcGVha2VycyB7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKTtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuXG4gICYuaGFzLW9uZSB7XG4gICAgLmNhcmQtc3BlYWtlciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbi5ibG9jay1ldmVudF9fc2VjdGlvbiB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBtYXJnaW46IGdyaWQtcGl4ZWxzKDAsIDEuNSkgMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJi0taW50cm8ge1xuICAgIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwgMSkgMDtcbiAgICBcbiAgICAuYmxvY2stZXZlbnRfX3N1YnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxufVxuLmJsb2NrLWV2ZW50X19oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xufVxuLmJsb2NrLWV2ZW50X19zdWJ0ZXh0IHtcbiAgY29sb3I6ICRHUkVZO1xuICBmb250LWZhbWlseTogJFRJVExFO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAuMjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICB9XG59XG4uYmxvY2stZXZlbnRfX2NvcHkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDE4cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cblxuICBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgfVxuICBoMywge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxuICBoNCwge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuICBoNSwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICBoNiwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gIGE6bm90KFtocmVmXj1cImh0dHBzOi8vY2RuXCJdKXtcbiAgICBAaW5jbHVkZSBsc3MtbGluay11bmRlcmxpbmUoJFdISVRFLCByZ2JhKCRCTEFDSywuOSksICRCTEFDSyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOztcbiAgfVxufVxuLmJsb2NrLWV2ZW50X19jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQyMjIyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkZDIyMjIgMCUsICMyYzM4OGYgMTAwJSk7XG4gIGNvbG9yOiAkV0hJVEU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAxKTtcbiAgbWluLXdpZHRoOiAyNDBweDtcbiAgcGFkZGluZzogMjJweCBncmlkLXBpeGVscygwLCAyKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nOiAxNXB4IGdyaWQtcGl4ZWxzKDAsIDIpO1xuICB9IFxufVxuLmJsb2NrLWV2ZW50X19kaXZpZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRSRUQ7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDVweDtcbn1cbi5ibG9jay1ldmVudF9fc2VjdGlvbi0taG90ZWwge1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAyLjUpO1xufVxuLmJsb2NrLWV2ZW50X19ob3RlbC1pbWFnZSB7XG4gIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAyLjI1KTtcbn1cbi5ibG9jay1ldmVudF9fZ29vZ2xlLW1hcCB7XG4gIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAyLjI1KTtcbn1cbi5ibG9jay1ldmVudF9fdXJsIHtcbiAgbWFyZ2luOiAtNXB4IDAgMTVweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB9ICBcbn1cbi5ibG9jay1ldmVudF9fc29jaWFsIHtcbiAgYSB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgIH1cbiAgfVxuICBzdmcge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICB9XG4gIH1cbn1cbi5ibG9jay1ldmVudF9fZm9vdGVyLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAyLjI1KTtcblxuICBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICB9XG4gIGgzIHtcbiAgICBjb2xvcjogJEdSRVk7XG4gICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjI1KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cbiAgfVxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwgMSkgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBHYXRlZCBDb250ZW50IHN0eWxlc1xuI2dhdGVkLWNvbnRlbnQtLWFnZW5kYXtcbiAgZGlzcGxheTpub25lO1xuICBtYXJnaW46NjBweCAwO1xufVxuI2dhdGVfY29kZS0tYWdlbmRhe1xuICBkaXNwbGF5OmJsb2NrO1xuICBtYXJnaW46IDYwcHggMCAwO1xufVxuXG4uYmxvY2stZXZlbnRfX2dhdGUtY29kZSB7XG4gIC5ibG9jay1ldmVudF9fY29weSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNpZnJhbWUxIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAuYmxvY2stZXZlbnRfX2dhdGUtY29kZS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuYmxvY2stZXZlbnRfX2RpdmlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4jZ2F0ZWQtY29udGVudC0tYWdlbmRhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59IiwiQGltcG9ydCBcImF1dGhvclwiO1xuQGltcG9ydCBcImZyb250LXBhZ2VcIjtcbkBpbXBvcnQgXCJwYWdlLWF1dGhvcnNcIjtcbkBpbXBvcnQgXCJwYWdlXCI7XG5AaW1wb3J0IFwic2luZ2xlXCI7XG5AaW1wb3J0IFwidG9waWNcIjsiLCIudmlldy1hdXRob3J7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgIFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICB0b3A6ICRIRUFERVJfSEVJR0hUOyAgIFxuICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgfSAgICBcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRXSElURS1PRkY7XG5cbiAgICAgICAgLmJsb2NrLWFydGljbGVzLWxhdGVzdCAuY29tcG9uZW50LWhlYWRpbmcge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucm93e1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmOmxhc3QtY2hpbGR7XG4gICAgICAgIC8vICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDIpIDA7XG4gICAgICAgIC8vIH1cblxuICAgICAgICA+IC5ib3h7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgID4gLmNvbnRhaW5lciB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93LTE7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIG1hcmdpbjogMTAwcHggYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stYXJ0aWNsZXMtbGF0ZXN0IHtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLnZpZXctZnJvbnQtcGFnZXtcblxuICAgID4gLnJvdzpudGgtY2hpbGQoMSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnJvd3tcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgPiAuYm94e1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmJveC0xe1xuXG4gICAgICAgICAgICAmLmhhcy1uby1tb2JpbGUtbWFyZ2lue1xuXG4gICAgICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZXtcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1sYXJnZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZ3JpZC04LW9mZnNldC0xOm5vdCguaGFzLW5vLW1vYmlsZS1tYXJnaW4pe1xuXG4gICAgICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZXtcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1sYXJnZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwyKSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmJveC0ye1xuXG4gICAgICAgICAgICAuY2FyZC1hcnRpY2xle1xuXG4gICAgICAgICAgICAgICAgJi5pcy1zbWFsbHtcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke21hcmdpbjowfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucm93Om5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jYXJkLWFydGljbGV7XG5cbiAgICAgICAgJi5pcy1zbWFsbHtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMikgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwyKSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5idXR0b24tdGhlLWxhdGVzdCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkREFSSy1CTFVFO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgIH1cblxuXG4gIC5ibG9jay1lZGl0b3JzLXBpY2tzICsgLmJsb2NrLXRvcGljLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi52aWV3LWZyb250LXBhZ2VfX2JhcntcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuLnBuZykgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICBoZWlnaHQ6IGdyaWQoLjUpO1xufVxuIiwiLnZpZXctcGFnZS1hdXRob3Jze1xuXG4gICAgaGVhZGVye1xuICAgICAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC43NSkgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBoMntcbiAgICAgICAgXHRjb2xvcjogJEJMQUNLLU9GRjtcbiAgICAgICAgXHRtYXJnaW46IDMwcHggMDtcbiAgICAgICAgXHRmb250LXNpemU6IDQwcHg7XG4gICAgICAgIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWF1dGhvcnNfX25hbWUge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC43NSkgZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH1cblxufVxuIiwiLnZpZXctcGFnZXtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwzKTtcblxuICAgIC5wYWdlLWNvbnRhaW5lcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDQpO1xuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLC0zKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLXBpeGVscyg4LDcpO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDIpIGdyaWQtcGl4ZWxzKDEsMCkgZ3JpZC1waXhlbHMoMCwzKSBncmlkLXBpeGVscygxLDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0cmlwZXMtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDApO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00MDBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuXG4gICAgLm1haW4taW1hZ2V7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGhlYWRlcntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaDJ7bWFyZ2luOjB9XG5cbiAgICAgICAgaDEsaDIsaDMsaDQsaDV7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi52aWV3LXBhZ2VfX2NvbnRlbnR7XG5cbiAgICBoMSxoMixoMyxoNCxoNXtcbiAgICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIHB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS40ZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgYTpub3QoW2hyZWZePVwiaHR0cHM6Ly9jZG5cIl0pe1xuICAgICAgQGluY2x1ZGUgbHNzLWxpbmstdW5kZXJsaW5lKCRXSElURSwgcmdiYSgkQkxBQ0ssLjkpLCAkQkxBQ0spO1xuICAgIH1cblxuICAgIC5pcy1kYXJrICYge1xuICAgICAgYTpub3QoW2hyZWZePVwiaHR0cHM6Ly9jZG5cIl0pe1xuICAgICAgICBAaW5jbHVkZSBsc3MtbGluay11bmRlcmxpbmUoJERBUkstQVJUSUNMRS1CRywgcmdiYSgkV0hJVEUsLjkpLCAkV0hJVEUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0cm9uZyxie2ZvbnQtd2VpZ2h0OiA4MDB9XG4gICAgZW17Zm9udC1zdHlsZTogaXRhbGljfVxuXG4gICAgaW1ne2hlaWdodDphdXRvO21heC13aWR0aDogMTAwJX1cblxuICAgIC5wb3N0LXBhc3N3b3JkLWZvcm17XG5cbiAgICAgICAgbGFiZWx7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJEdSRVktTElHSFQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6Zm9jdXN7b3V0bGluZTogbm9uZX1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRXSElURSwuMSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNHM7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgJjphZnRlcnt3aWR0aDogMTAwJX1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG4uZWJvb2stY29udGFpbmVye1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmVib29rLWNvbnRyb2xze1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRXSElURSwuOCk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5zbGljay1hcnJvd3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIGF1dG87XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICAgICAgICB3aWR0aDogMzBweDtcblxuICAgICAgICAmLnNsaWNrLW5leHR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tYXJyb3ctcmlnaHQuc3ZnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stcHJldntcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1hcnJvdy1sZWZ0LnN2Zyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWRpc2FibGVke1xuICAgICAgICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi52aWV3LXNpbmdsZS1wb3N0IHtcblxuXHQud2lzdGlhX3Jlc3BvbnNpdmVfcGFkZGluZyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjRlbTtcblx0fVxuXG4gIC5ibG9jay1tYWdhemluZS1yYWNre1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gICAgLm1haW4taW1hZ2VfX2NhcHRpb257XG4gICAgICAgIGJvdHRvbTogZ3JpZC1waXhlbHMoMCwzKTtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIGdyaWQtcGl4ZWxzKDEsMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiAuYm94ZWR7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRXSElURTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYmxvY2stc2luZ2xlX19jb250ZW50e1xuICAgICAgaDIsaDMsaDQsaDUsaDZ7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyNHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB9XG4gICAgICBoM3tcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE4cHgpO1xuICAgICAgfVxuICAgICAgaDR7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNXB4KTtcbiAgICAgIH1cbiAgICAgIGg1e1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTNweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgICBoNntcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTNweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFpbmVye1xuXG4gICAgICAgIHN0cm9uZywgYntcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIH1cblxuICAgICAgICBlbXtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuXG4gICAgICAgIHB7QGluY2x1ZGUgbGV2ZWxzKDEpO31cblxuICAgICAgICBwLCB1bHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxOHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjRlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTZweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjRlbTtcblxuICAgICAgICAgICAgbGk6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgYmxvY2txdW90ZXtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkR1JFWS1CTFVFO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZLUJMVUU7XG4gICAgICAgICAgICBtYXJnaW46IDIuMmVtIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjRweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzNXB4IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmVudHJ5LWNvbnRlbnQtYXNzZXQsIC53cC12aWRlbywgLmNvbXBvbmVudC1nYWxsZXJ5e1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS40ZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXplLWZ1bGwsLmFsaWdubm9uZXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWZ1bGxicm93c2Vyd2lkdGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGVmdDogLSA3NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNyUgMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAvLyBsZWZ0OiBjYWxjKCAwcHggLSAoICgoMTAwdncgLSAoIDEwMHZ3ICogLjkpKSAvIDIpKSAtIDYlICk7IC8vICgod2luZG93IHdpZHRoIC0gY29udGFpbmVyIHdpZHRoKSAvIDIpIC0gQm94IDEncyB3aWR0aFxuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoIDBweCAtIDV2dyArIC0yMSUgKTsgLy8gU2VlIGZ1bGwgY2FsY3VsYXRpb24gYWJvdmUgZm9yIHJlZmVyZW5jZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gZGVza3RvcC1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoIDBweCAtICggKDEwMHZ3IC0gMTIzMHB4KSAvIDIpICsgLTIxJSApOyAvLyAoKHdpbmRvdyB3aWR0aCAtIGNvbnRhaW5lciB3aWR0aCkgLyAyKSAtIEJveCAxJ3Mgd2lkdGhcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFsaWdubm9uZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWRzaGlmdC12aWRlby1lbWJlZHtcblxuICAgICAgICAgICAgJi5hbGlnbmNlbnRlcntcbiAgICAgICAgICAgICAgICA+IGRpdntcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGlnbnJpZ2h0e1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1JTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGlnbmxlZnR7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCA1JSAwIDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuY29tcG9uZW50LWdhbGxlcnkgLndwLWNhcHRpb257bWFyZ2luLWJvdHRvbTogMH1cblxuICAgICAgICAud3AtY2FwdGlvbntcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNGVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDExO1xuXG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb3AtZnVsbC13aWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndwLWNhcHRpb24tdGV4dHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRCTEFDSywuNSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTRweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJFdISVRFO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAud3AtY2FwdGlvbi10ZXh0e3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19zaWRlYmFyIHtcblxuICAgIC5zaXRlLWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pcy1kYXJrIHtcblxuICAgICYsICYgLmJsb2NrLXNpbmdsZV9fYm9keSwgJiAuYmxvY2stbWFnYXppbmUtcmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLLUFSVElDTEUtQkc7XG4gICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgfVxuXG4gICAgLmJveC00IHN2ZyB7XG4gICAgICAgIGZpbGw6ICRXSElURTtcbiAgICB9XG5cbiAgICAuYmxvY2stbmV3c2xldHRlci1mb290ZXIge1xuICAgICAgJjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudH1cbiAgICB9XG5cbiAgICAuYmxvY2stbWVudSBhLCAuY29tcG9uZW50LWJ1dHRvbi1uZXdzbGV0dGVyLCAuYmxvY2stc2luZ2xlX190aXRsZSwgLmJsb2NrLXNpbmdsZV9fY29udGVudCwgLmNvbXBvbmVudC1oZWFkaW5nIHNwYW4ge1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgIH1cblxuICAgIC5ibG9jay1zaW5nbGVfX2F1dGhvciwge1xuICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgfVxuXG4gICAgLmJsb2NrLW1hZ2F6aW5lLXJhY2sge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJEdSRVk7XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGUsIC5jYXJkLWFydGljbGVfX2F1dGhvciB7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1zdWJtZW51IGEge1xuICAgICAgLy8gY29sb3I6ICREQVJLLUJMVUU7XG4gICAgfVxuXG4gICAgJi5ibG9jay1oZWFkZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRXSElURTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LXNoYXJlLWFsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkREFSSy1CTFVFO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLXNpbmdsZV9fc2lkZWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLLUFSVElDTEUtQkc7XG4gICAgICAgIG91dGxpbmU6IDMwcHggc29saWQgJERBUkstQVJUSUNMRS1CRztcbiAgICB9XG5cbiAgICAuYmxvY2stc2luZ2xlX19yZWNvbW1lbmRlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJEdSRVk7XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgIH1cblxuICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkR1JFWTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRHUkVZO1xuXG4gICAgICAgIC5ib3hlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZTogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuLnBuZykgNTAgMCByZXBlYXQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUsIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICBidXR0b24ubWt0b0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkREFSSy1CTFVFICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykgLm1rdG9SYWRpb0xpc3QgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFpbmVyIC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSSy1CTFVFO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG59XG4vLyBKUCBzcGVjaWZpYyB0d2Vha3Ncbi8qID09PT0gRXZlbnQgcG9wIHVwIGhhY2tzID09PT09PT09PT0gKi9cbmJvZHlbZGF0YS1ibG9naWQ9XCI0XCJdIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcCwgdWwge1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTNweCk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2F0ZWQgQ29udGVudCBzdHlsZXNcbiNibG9jay1zaW5nbGVfX2dhdGVkLWNvbnRlbnR7XG4gIGRpc3BsYXk6bm9uZTtcbiAgbWFyZ2luOjYwcHggMDtcbn1cbiNibG9jay1zaW5nbGVfX2dhdGVfY29kZXtcbiAgZGlzcGxheTpibG9jaztcbiAgbWFyZ2luOiA2MHB4IDAgMDtcblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJsb2NrLXNpbmdsZV9fZ2F0ZS1jb2RlLWZvb3RlciBwIHtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LWZhbWlseTogJFRJVExFO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwgLjI1KSBhdXRvIDEwcHg7XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19nYXRlLWNvZGUge1xuICAuYmxvY2stc2luZ2xlX19jb3B5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI2lmcmFtZTEge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICBpZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5ibG9jay1zaW5nbGVfX2dhdGUtY29kZS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuYmxvY2stc2luZ2xlX19kaXZpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cblxuI2Jsb2NrLXNpbmdsZV9fZ2F0ZWQtY29udGVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG59IiwiLnZpZXctdG9waWMtcGFnZSB7XG4gIC5ibG9jay1tYWdhemluZS1yYWNre1xuICAgIHBhZGRpbmc6IGdyaWQoLjQpIDAgZ3JpZCguMikgMDtcblxuICAgIC5jb21wb25lbnQtaGVhZGluZ3tcbiAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjEpO1xuICAgICAgc3Bhbntmb250LXNpemU6IDIwcHg7fVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcImhlYWRlclwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXJcIjtcbkBpbXBvcnQgXCJtZWdhbWVudVwiO1xuQGltcG9ydCBcInNlYXJjaFwiO1xuQGltcG9ydCBcInN1Ym1lbnVcIjtcbkBpbXBvcnQgXCJzd2l0Y2hlclwiOyIsIi5zdGF0ZS1oZWFkZXIge1xuICAgICYtc2hhZG93ZWR7XG4gICAgICAgIC5ibG9jay1oZWFkZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgICAgICYuaXMtZGFya3tcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3ctMjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0s7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJFdISVRFLC45KTtcblxuICAgICAgICAgICAgICAgIC5sb2dvIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogcmdiYSgkV0hJVEUsLjkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbml0e1xuICAgICAgICAubmF2LXRlYXNlIHtcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLXRlYXNlIHtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28taW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGEge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGEtc29jaWFsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIuc3RhdGUtbmV3c2xldHRlci1vcGVuIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1zdGF0ZS1vcGVuO1xuICAgIH1cblxuICAgIC5ibG9jay1uZXdzbGV0dGVye1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogNjA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXG4gICAgICAgICYuYmxvY2stbmV3c2xldHRlci1vdmVybGF5LnN0YXRlLXN1Y2Nlc3N7XG4gICAgICAgICAgLmJsb2NrLW5ld3NsZXR0ZXJfX3N1Y2Nlc3N7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWxheW91dC1jbG9zZS1vdmVybGF5e1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtdmlzaWJsZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5ibG9jay11c2VyLWFjdGlvbnN7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLnN0YXRlLW1lZ2FtZW51LW9wZW57XG4gICAgQGluY2x1ZGUgbGF5b3V0LXN0YXRlLW9wZW47XG5cbiAgICAuYmxvY2staGVhZGVye1xuICAgICAgICAubmF2aWdhdGlvbi1wcmltYXJ5e1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stbWVnYW1lbnVfX2JvdHRvbSxcbiAgICAuYmxvY2stbWVnYW1lbnV7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC12aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWJ1dHRvbi1tZW51IHtcbiAgICAgICAgJHRvcDogOXB4O1xuXG4gICAgICAgIC5saW5lLTF7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB0b3A6ICR0b3A7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS0ye29wYWNpdHk6IDA7fVxuXG4gICAgICAgIC5saW5lLTN7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgdG9wOiAtICR0b3AgLSAxO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYmxvY2stdXNlci1hY3Rpb25ze1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5zdGF0ZS1zZWFyY2gtb3BlbntcbiAgICBAaW5jbHVkZSBsYXlvdXQtc3RhdGUtb3BlbjtcblxuICAgIC5ibG9jay1zZWFyY2h7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC12aXNpYmxlO1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoNyk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxuXG59XG4iLCIuc3RhdGUtc3VibWVudS1vcGVue1xuXG4gICAgLnNpdGUge1xuICAgIFx0Ly8gcGFkZGluZy10b3A6IDE0MXB4O1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtc3VibWVudXtcbiAgICBcdC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgXHRoZWlnaHQ6IDUwcHg7XG5cdFx0bWFyZ2luLXRvcDogMHB4O1xuXHRcdHBhZGRpbmc6IDE1cHggMDtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XG4gICAgfVxuXG59XG4iLCJib2R5LnN0YXRlLXN3aXRjaGVyLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc3RhdGUtc3dpdGNoZXItb3BlbiAuY29tcG9uZW50LXN3aXRjaGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uc3RhdGUtc3dpdGNoZXItb3BlbiAuY29tcG9uZW50LXN3aXRjaGVyX19saW5rcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgbGVmdDogMzBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICB9XG5cdFx0XHRcdFxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogOTAwcHggKSBhbmQgKG1pbi13aWR0aDogNzcwcHgpIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDQwMHB4KTtcbiAgICB9XG5cdFx0XHRcdFxufSIsIi8vIEpQIChibG9naWQgPSA0KVxuYm9keVtkYXRhLWJsb2dpZD1cIjRcIl0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cbiAgICAgICAgLy8gMjhweCAvIDEuNzVyZW1cbiAgICAgICAgLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyIC50aXRsZSwgLmJsb2NrLW5ld3NsZXR0ZXItaW5saW5lIC50aXRsZSwgLmJsb2NrLXNpbmdsZV9fdGl0bGUge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAzMC44cHggIWltcG9ydGFudDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDI5LjRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMzBweFxuICAgICAgICAuYmxvY2stdG9waWNfX21vYmlsZS10aXRsZSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDMzcHg7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMS41cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAyNXB4XG4gICAgICAgIC5ibG9jay10b3BpYy1zZWN0aW9uIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMjcuNXB4ICFpbXBvcnRhbnQ7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNi4yNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAgLy8gMjRweFxuICAgICAgICAuY2FyZC1hcnRpY2xlLWZlYXR1cmVfX3RpdGxlLCAuYmxvY2stZmVhdHVyZWQtc2VjdGlvbl9fc3VidGl0bGUsIC5jb21wb25lbnQtaGVhZGluZyB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDI2LjVweDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDI1LjI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAxNnB4IC8gMXJlbVxuICAgICAgICAuY2FyZC1hcnRpY2xlLmlzLW9uLXRoZS1yYWNrIC5jYXJkLWFydGljbGVfX3RpdGxlLCAudmlldy1zaW5nbGUtcG9zdCAuY29udGFpbmVyIHAsIC5ibG9jay1uZXdzbGV0dGVyIC5zdWJ0aXRsZSwgLnZpZXctcGFnZS1hdXRob3JzIC5ibG9jay1hdXRob3JzX19uYW1lIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTcuNnB4OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTYuOHB4O1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICAvLyAxNXB4XG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RvcGljIGEsIC5jYXJkLWFydGljbGVfX2F1dGhvciB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDE2LjVweDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDE1Ljc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAxNHB4XG4gICAgICAgIC5ibG9jay1mb290ZXJfX21lbnUge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxNS40cHg7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNC43cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAxMnB4IC8gLjc1cmVtXG4gICAgICAgIC5jYXJkLWFydGljbGUtZmVhdHVyZV9fYXV0aG9yLCAuYmxvY2stZm9vdGVyLXNlY29uZGFyeSwgLmJsb2NrLXNpbmdsZV9fYXV0aG9yLCAuYmxvY2stc2luZ2xlX190b3BpYyB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDEzLjJweDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDEyLjZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vcmVtc1xuICAgICAgICAvLzEuMzEyNVxuICAgICAgICAuY2FyZC1hcnRpY2xlLmlzLWFzaWRlIC5jYXJkLWFydGljbGVfX3RpdGxlIGEsIC5jYXJkLWFydGljbGUuaXMtb24tdGhlLXJhY2sgLmNhcmQtYXJ0aWNsZV9fdGl0bGUgYSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDEuNDQ0cmVtOyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLzEuODc1XG4gICAgICAgIC5jYXJkLWhlYWRlci5oYXMtZGVzY3JpcHRpb24gLmNhcmQtaGVhZGVyX190aXRsZSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDIuMDZyZW07IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjk2OHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBFUyAoYmxvZ2lkID0gNylcbmJvZHlbZGF0YS1ibG9naWQ9XCI3XCJdIHsgLy8gNiBmb3IgdGVzdGluZywgNyBmb3IgbGl2ZVxuXG5cdC5ibG9jay1oZWFkZXJfX21haW4ge1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XHRcdFx0XG5cdFx0XHQuY29tcG9uZW50LWJ1dHRvbi1uZXdzbGV0dGVyIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRwYWRkaW5nOiAwIDJweDtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IHVuc2V0O1xuXHRcdFx0fVx0XHRcblx0XHR9XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTU0MXB4KSB7XHRcdFx0XG5cdFx0XHQuY29tcG9uZW50LWJ1dHRvbi1uZXdzbGV0dGVyIHtcblx0XHRcdFx0XG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cdFx0XG5cdFx0fVxuXHRcdFxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkgYW5kIChtYXgtd2lkdGg6IDE1NDBweCApIHtcdFx0XHRcblx0XHRcdC5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIge1xuXHRcdFxuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cdFxuXHRcdFx0fVx0XHRcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXG5cdH1cbn0iLCIuZ2Zvcm1fd3JhcHBlcntcblxuICAgIHVse1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5nZm9ybV90aXRsZXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZXtjb2xvcjogJFJFRH1cblxuICAgIGRpdi52YWxpZGF0aW9uX2Vycm9ye1xuICAgICAgY29sb3I6ICRSRUQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbiAgICBsaXtcbiAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbXBsZXggPiBzcGFue1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBsYWJlbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtOTk5OTk5cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX2Rlc2NyaXB0aW9ue1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuICAgIH1cblxuICAgIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQge3BhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudH1cblxuICAgIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVye1xuICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBmbGV4LXN0YXJ0KTtcblxuICAgICAgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJvdHRvbTogMDt9XG4gICAgfVxuXG4gICAgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMiBzcGFue1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJjpmaXJzdC1jaGlsZHsgbWFyZ2luLWJvdHRvbTogIDE1cHg7fVxuICAgICAgJjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206IDBweH1cbiAgICB9XG5cbiAgICBpbnB1dCwgdGV4dGFyZWF7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc21hbGw7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJEdSRVktTElHSFQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpmb2N1c3tvdXRsaW5lOiBub25lfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZ2Zvcm1fYnV0dG9uLmJ1dHRvbntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0s7XG4gICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJFdISVRFLC4xKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC40cztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLO1xuICAgICAgICAgICAgJjphZnRlcnt3aWR0aDogMTAwJX1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDQUEsNERBQTREO0FBRTVEOzs7O0dBSUc7QTRCTEgsT0FBTyxDQUFQLHlCQUFPO0E1Qk9QLEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVU7RUFBRSxPQUFPO0VBQ2hDLG9CQUFvQixFQUFFLElBQUk7RUFBRSxPQUFPO0VBQ25DLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPO0NBQ3hDOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQztD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QWdCLENBQUs7RUFDakIsS0FBSyxFZkRELEdBQW1CO0NlRTFCOztBQVZELEFBQUEsT0FBTyxDQUFLO0VBQ1IsS0FBSyxFZk9ELEdBQW1CO0NlTjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkdELEdBQW1CO0NlRjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkRELEdBQW1CO0NlRTFCOztBQVZELEFBQUEsT0FBTyxDQUFLO0VBQ1IsS0FBSyxFZk9ELEdBQW1CO0NlTjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkdELEdBQW1CO0NlRjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkRELEdBQW1CO0NlRTFCOztBQVZELEFBQUEsT0FBTyxDQUFLO0VBQ1IsS0FBSyxFZk9ELEdBQW1CO0NlTjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkdELEdBQW1CO0NlRjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkRELEdBQW1CO0NlRTFCOztBQVZELEFBQUEsT0FBTyxDQUFLO0VBQ1IsS0FBSyxFZk9ELEdBQW1CO0NlTjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkdELEdBQW1CO0NlRjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkRELEdBQW1CO0NlRTFCOztBQVZELEFBQUEsT0FBTyxDQUFLO0VBQ1IsS0FBSyxFZk9ELEdBQW1CO0NlTjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkdELEdBQW1CO0NlRjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkRELEdBQW1CO0NlRTFCOztBQVZELEFBQUEsT0FBTyxDQUFLO0VBQ1IsS0FBSyxFZk9ELEdBQW1CO0NlTjFCOztBQUVELEFBQUEsZ0JBQWdCLENBQUs7RUFDakIsS0FBSyxFZkdELEdBQW1CO0NlRjFCOztBQUVELEFBQUEsZ0JB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 */