/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS and IE text size adjust after device orientation
*    change, without disabling
*    user zoom.
*/
@import 'https://fonts.googleapis.com/css2?family=Barlow:wght@600&display=swap';
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.
 */
[hidden] {
  display: none;
}

/**
* Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
*/
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
* Improve readability of focused elements when they are also in an
* active/hover state.
*/
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.6666666667em 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.
*/
input[type=search] {
  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;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

/* mobile menu background color */
/* link text color */
/* hover link text color */
/* 
link text color */
/* active link background color */
/* 3 vertical line color */
/* UL bg color */
/* link text color */
/* hover link text color */
/* active link text color */
/* text background color */
/* hover text background color */
/* active text background color */
/* input background color */
/* hover input background color */
/* input border color */
/* hover input border color */
/* form submit text color */
/* hover form submit text color */
/* form submit background color */
/* hover form submit background color */
/* form submit border color */
@media (min-width: 1024px) {
  body.toolbar-fixed .toolbar-oriented,
.toolbar-oriented .toolbar-bar,
.toolbar-oriented .toolbar-tray {
    padding-left: 140px;
    transition: padding-left 0.25s;
  }

  .fixedbody.toolbar-fixed .toolbar-oriented,
.fixed .toolbar-oriented .toolbar-bar,
.fixed .toolbar-oriented .toolbar-tray {
    padding-left: 70px;
  }
}
.theme-demo-block {
  padding: 20px;
  font-size: 80%;
  background: white;
  border: 1px solid #02da50;
  border-left: 8px solid #01752B;
  border-right: 8px solid #01752B;
  color: #001006;
  margin-top: 20px;
  border-radius: 2px;
  opacity: 0.5;
  transition: opacity 0.25s ease-in-out;
  cursor: pointer;
}
.theme-demo-block.active-region {
  border: 1px solid #02da50;
  border-left: 8px solid #01752B;
  border-right: 8px solid #01752B;
}
.theme-demo-block.inactive-region {
  border: 1px solid #fff066;
  border-left: 8px solid #ffe600;
  border-right: 8px solid #ffe600;
  color: #998a00;
}
.theme-demo-block:hover {
  opacity: 1;
}
.theme-demo-block h3 {
  color: black;
  font-size: 12px;
  font-weight: normal;
  font-variant: small-caps;
  margin: 0;
}
.theme-demo-block .demo-block-content p {
  margin: 0;
}
.theme-demo-block ~ .block-region.demo-block {
  display: none;
}

.block-local-tasks-block .tabs.primary {
  margin: 15px 0;
}
.block-local-tasks-block .tabs.primary li {
  margin-bottom: 3px;
  border-left: 3px solid #eee;
  transition: all 0.15s;
}
.block-local-tasks-block .tabs.primary li a {
  background-color: #eee;
}
.block-local-tasks-block .tabs.primary li.is-active, .block-local-tasks-block .tabs.primary li:hover {
  border-left-color: black;
}

.zero-clipboard {
  background-color: #f0f0f0;
  border: 1px solid #b3b3b3;
  border-bottom: 0;
  width: 60px;
  padding: 5px 10px;
  margin-top: 2em;
  border-radius: 3px 3px 0 0;
  font-weight: bold;
}

figure.highlight {
  display: inline-block;
  margin: 0;
  padding: 0 30px;
  margin: 0 0 1em 0;
  background-color: #f7f7f7;
  border: 1px solid #b3b3b3;
  border-radius: 0 0 5px 5px;
}

.context-typography .no-style {
  margin: 40px 0;
  width: 100%;
}
.context-typography .no-style td {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
}

.field--type-datetime .label, .form-item label {
  display: block;
  padding-top: 5px;
  font-weight: normal;
  color: #999999;
}

.form-item,
.form-actions {
  margin: 0;
  padding: 1em 0;
}

placeholder {
  color: black;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  background-color: white !important;
}

.form-item {
  padding: 10px 0;
}
.form-item input,
.form-item textarea,
.form-item select {
  color: #999999;
  border-color: black;
  background-color: white;
  border-radius: 0;
  border-style: solid;
  border-width: 1px;
  width: 100%;
  max-width: 100%;
  padding: 0.35em 1.5em;
  margin: 0.3em 0;
  font-weight: normal;
  box-sizing: border-box;
  box-shadow: none;
  transition: all 0.15s;
}
.form-item input:focus,
.form-item textarea:focus,
.form-item select:focus {
  border-color: black;
  background-color: white;
  outline: none;
}
.form-item input.form-text,
.form-item input.form-email,
.form-item input.form-number,
.form-item input.form-date,
.form-item input.form-time,
.form-item input.form-search,
.form-item select {
  height: 50px;
}
.form-item select {
  cursor: pointer;
}
.form-item select option {
  cursor: pointer;
}
.form-item input:disabled {
  background-color: #eee;
}
.form-item .description {
  color: #666666;
  font-style: italic;
}
.form-item textarea {
  padding-top: 1em;
}

input.form-file {
  background-color: transparent;
  border: none;
  padding-left: 0;
}

.form-managed-file .form-submit {
  margin: 0;
}

fieldset {
  border-radius: 3px;
  border-width: 1px;
  border-style: solid;
  border-color: black;
  padding: 10px !important;
}
fieldset .fieldset-legend {
  display: block;
  font-weight: normal;
  margin-top: 15px;
  margin-bottom: 5px;
}

.form-type-checkbox,
.form-type-radio {
  position: relative;
}
.form-type-checkbox input,
.form-type-radio input {
  display: none;
}
.form-type-checkbox input[type=checkbox]:checked + label:after, .form-type-checkbox input[type=radio]:checked + label:after,
.form-type-radio input[type=checkbox]:checked + label:after,
.form-type-radio input[type=radio]:checked + label:after {
  transition: all 0.15s;
}
.form-type-checkbox label,
.form-type-radio label {
  margin-top: 5px;
  display: inline-block;
  cursor: pointer;
  margin-left: 15px;
  padding-left: 8px;
}
.form-type-checkbox label:before, .form-type-checkbox label:after,
.form-type-radio label:before,
.form-type-radio label:after {
  position: absolute;
  content: " ";
  display: block;
  box-sizing: border-box;
  transition: all 0.15s;
}
.form-type-checkbox label:before,
.form-type-radio label:before {
  left: 0;
  top: 20px;
  width: 16px;
  height: 16px;
}
.form-type-checkbox label:after,
.form-type-radio label:after {
  left: 4px;
  top: 20px;
  width: 0;
  height: 0;
}

.form-type-checkbox label:before {
  border: 1px solid black;
  border-radius: 3px;
}
.form-type-checkbox label:after {
  background-color: black;
  border-radius: 0;
}
.form-type-checkbox input[type=checkbox]:checked + label:after {
  left: 4px;
  top: 24px;
  width: 8px;
  height: 8px;
}

.form-type-radio label:before {
  border: 2px solid black;
  border-radius: 50%;
}
.form-type-radio label:after {
  background-color: black;
  border-radius: 50%;
}
.form-type-radio input[type=radio]:checked + label:after {
  left: 5px;
  top: 25px;
  width: 6px;
  height: 6px;
}

.form-type-managed-file {
  position: relative;
  overflow: hidden;
  margin: 20px 0;
}
.form-type-managed-file > label {
  float: left;
  border-width: 1px;
  border-style: solid;
  color: #999999;
  border-color: black;
  background-color: white;
  padding: 5px 10px;
  margin-right: 10px;
  margin-top: 0;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 10px;
  min-width: 80px;
  cursor: pointer;
  box-sizing: border-box;
}
.form-type-managed-file .form-managed-file input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  opacity: 0;
}
.form-type-managed-file .js-hide.button {
  display: none;
}
.form-type-managed-file .description,
.form-type-managed-file .image-preview {
  clear: both;
}

.path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a,
.path-frontpage #content .simple-block .block-content .field--name-field-link a,
.path-frontpage #content .region-helper .block-content .field--name-field-link a,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a, .views-field-field-link a, .field--name-field-link a, .form-managed-file .form-submit, .form-submit {
  color: grey;
  border-color: grey;
  border-style: solid;
  border-width: 2px;
  width: auto;
  padding: 10px 15px;
  margin: 5px;
  transition: all 0.25s;
  display: inline-block;
  text-transform: uppercase;
  font-size: 22px;
  position: relative;
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a:hover,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a:hover,
.path-frontpage #content .simple-block .block-content .field--name-field-link a:hover,
.path-frontpage #content .region-helper .block-content .field--name-field-link a:hover,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a:hover,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a:hover, .views-field-field-link a:hover, .field--name-field-link a:hover, .form-submit:hover, .path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a:active,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a:active,
.path-frontpage #content .simple-block .block-content .field--name-field-link a:active,
.path-frontpage #content .region-helper .block-content .field--name-field-link a:active,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a:active,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a:active, .views-field-field-link a:active, .field--name-field-link a:active, .form-submit:active {
  color: white;
  text-decoration: none;
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a:hover:before,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a:hover:before,
.path-frontpage #content .simple-block .block-content .field--name-field-link a:hover:before,
.path-frontpage #content .region-helper .block-content .field--name-field-link a:hover:before,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a:hover:before,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a:hover:before, .views-field-field-link a:hover:before, .field--name-field-link a:hover:before, .form-submit:hover:before, .path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a:active:before,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a:active:before,
.path-frontpage #content .simple-block .block-content .field--name-field-link a:active:before,
.path-frontpage #content .region-helper .block-content .field--name-field-link a:active:before,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a:active:before,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a:active:before, .views-field-field-link a:active:before, .field--name-field-link a:active:before, .form-submit:active:before {
  border-left-width: 30px;
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a:before,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a:before,
.path-frontpage #content .simple-block .block-content .field--name-field-link a:before,
.path-frontpage #content .region-helper .block-content .field--name-field-link a:before,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a:before,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a:before, .views-field-field-link a:before, .field--name-field-link a:before, .form-managed-file .form-submit:before, .form-submit:before {
  position: absolute;
  right: -18px;
  top: 0;
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  display: block;
  content: "";
  transition: all 0.25s;
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a:hover,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a:hover,
.path-frontpage #content .simple-block .block-content .field--name-field-link a:hover,
.path-frontpage #content .region-helper .block-content .field--name-field-link a:hover,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a:hover,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a:hover, .views-field-field-link a:hover, .field--name-field-link a:hover, .form-submit:hover {
  background-color: black;
}
@media (min-width: 768px) {
  .path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a,
.path-frontpage #content .simple-block .block-content .field--name-field-link a,
.path-frontpage #content .region-helper .block-content .field--name-field-link a,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a, .views-field-field-link a, .field--name-field-link a, .form-managed-file .form-submit, .form-submit {
    font-size: 22px;
    padding: 20px 70px;
  }
}
@media (min-width: 1024px) {
  .path-frontpage [id*=section] .simple-block .block-content .field--name-field-link a,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link a,
.path-frontpage #content .simple-block .block-content .field--name-field-link a,
.path-frontpage #content .region-helper .block-content .field--name-field-link a,
.path-frontpage #helper .simple-block .block-content .field--name-field-link a,
.path-frontpage #helper .region-helper .block-content .field--name-field-link a, .views-field-field-link a, .field--name-field-link a, .form-managed-file .form-submit, .form-submit {
    padding: 20px 110px;
  }
}

.node-readmore a {
  color: white !important;
  border-color: transparent;
  border-style: solid;
  border-width: 0;
  width: auto;
  padding: 20px 70px;
  margin: 5px 0;
  transition: all 0.25s;
  display: inline-block;
  text-transform: uppercase;
  font-size: 22px;
  position: relative;
}
.node-readmore a:hover, .node-readmore a:active {
  color: white;
  background-color: black;
  text-decoration: none;
}
.node-readmore a:before {
  position: absolute;
  right: -22px;
  top: 0;
  width: 0;
  height: 0;
  border-top: 34px solid transparent;
  border-bottom: 33px solid transparent;
  border-left: 22px solid grey;
  display: block;
  content: "";
}
.node-readmore a:hover {
  background-color: black;
}
@media (min-width: 1024px) {
  .node-readmore a {
    padding: 20px 110px;
  }
}

.contact-message-feedback-form .form-actions:before, .contact-message-feedback-form .form-actions:after {
  content: " ";
  display: table;
}
.contact-message-feedback-form .form-actions:after {
  clear: both;
}
@media (min-width: 768px) {
  .contact-message-feedback-form .form-submit {
    margin-left: 5px;
    float: right;
  }
}

body {
  color: black;
  font-family: "Barlow", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: black;
  font-weight: bold;
  font-family: "Barlow", sans-serif;
}

h1 {
  font-size: 60px;
  margin: 20px 0;
}
@media (min-width: 1024px) {
  h1 {
    font-size: 60px;
  }
}
@media (min-width: 1600px) {
  h1 {
    font-size: 90px;
  }
}

h2 {
  font-size: 25px;
  margin: 0 0 20px 0;
}
h2.block-title {
  font-size: 36px;
  color: #4c4c4c;
  font-weight: normal;
  text-transform: uppercase;
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  h2.block-title {
    font-size: 52px;
  }
}
@media (min-width: 1600px) {
  h2.block-title {
    font-size: calc(80px + 0px);
  }
}

h3 {
  font-size: 20px;
}

h4 {
  font-size: 18px;
}

h5 {
  font-size: 12px;
  margin: 15px 0;
}

h6 {
  font-size: 10px;
  margin: 10px 0;
}

a,
a:hover,
a:visited,
a:focus {
  box-sizing: border-box;
  text-decoration: none;
  color: #f55808;
}

a:hover,
a:focus {
  color: black;
}

a:hover {
  text-decoration: underline;
}

p {
  margin: 0 0 15px 0;
  white-space: normal;
  word-wrap: break-word;
  line-height: 1.6;
}
p em {
  font-weight: 300;
  font-size: 18px;
}

ul {
  list-style-position: inside;
}

ul li,
ol li {
  line-height: 1.4em;
}

img {
  max-width: 100%;
  height: auto;
}

.path-frontpage [id*=section] .simple-block .block-title,
.path-frontpage [id*=section] .simple-block .block-content,
.path-frontpage [id*=section] .region-helper .block-title,
.path-frontpage [id*=section] .region-helper .block-content,
.path-frontpage #content .simple-block .block-title,
.path-frontpage #content .simple-block .block-content,
.path-frontpage #content .region-helper .block-title,
.path-frontpage #content .region-helper .block-content,
.path-frontpage #helper .simple-block .block-title,
.path-frontpage #helper .simple-block .block-content,
.path-frontpage #helper .region-helper .block-title,
.path-frontpage #helper .region-helper .block-content {
  padding-left: 2.8169014085%;
  padding-right: 2.8169014085%;
}
@media (min-width: 768px) {
  .path-frontpage [id*=section] .simple-block .block-title,
.path-frontpage [id*=section] .simple-block .block-content,
.path-frontpage [id*=section] .region-helper .block-title,
.path-frontpage [id*=section] .region-helper .block-content,
.path-frontpage #content .simple-block .block-title,
.path-frontpage #content .simple-block .block-content,
.path-frontpage #content .region-helper .block-title,
.path-frontpage #content .region-helper .block-content,
.path-frontpage #helper .simple-block .block-title,
.path-frontpage #helper .simple-block .block-content,
.path-frontpage #helper .region-helper .block-title,
.path-frontpage #helper .region-helper .block-content {
    padding-left: 1.4084507042%;
    padding-right: 1.4084507042%;
  }
}
@media (min-width: 1024px) {
  .path-frontpage [id*=section] .simple-block .block-title,
.path-frontpage [id*=section] .simple-block .block-content,
.path-frontpage [id*=section] .region-helper .block-title,
.path-frontpage [id*=section] .region-helper .block-content,
.path-frontpage #content .simple-block .block-title,
.path-frontpage #content .simple-block .block-content,
.path-frontpage #content .region-helper .block-title,
.path-frontpage #content .region-helper .block-content,
.path-frontpage #helper .simple-block .block-title,
.path-frontpage #helper .simple-block .block-content,
.path-frontpage #helper .region-helper .block-title,
.path-frontpage #helper .region-helper .block-content {
    max-width: 1000px;
    padding-right: 25px;
    padding-left: 25px;
  }
}
@media (min-width: 1600px) {
  .path-frontpage [id*=section] .simple-block .block-title,
.path-frontpage [id*=section] .simple-block .block-content,
.path-frontpage [id*=section] .region-helper .block-title,
.path-frontpage [id*=section] .region-helper .block-content,
.path-frontpage #content .simple-block .block-title,
.path-frontpage #content .simple-block .block-content,
.path-frontpage #content .region-helper .block-title,
.path-frontpage #content .region-helper .block-content,
.path-frontpage #helper .simple-block .block-title,
.path-frontpage #helper .simple-block .block-content,
.path-frontpage #helper .region-helper .block-title,
.path-frontpage #helper .region-helper .block-content {
    max-width: 1350px;
    padding-right: 233px;
    padding-left: calc(140px - 70px);
  }
}
@media (min-width: 1600px) {
  .path-frontpage [id*=section] .simple-block .block-content,
.path-frontpage [id*=section] .region-helper .block-content,
.path-frontpage #content .simple-block .block-content,
.path-frontpage #content .region-helper .block-content,
.path-frontpage #helper .simple-block .block-content,
.path-frontpage #helper .region-helper .block-content {
    padding-left: calc(140px - 70px + 10px);
    padding-right: 223px;
  }
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-field-subtitle,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-subtitle,
.path-frontpage #content .simple-block .block-content .field--name-field-subtitle,
.path-frontpage #content .region-helper .block-content .field--name-field-subtitle,
.path-frontpage #helper .simple-block .block-content .field--name-field-subtitle,
.path-frontpage #helper .region-helper .block-content .field--name-field-subtitle {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 20px;
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-body,
.path-frontpage [id*=section] .region-helper .block-content .field--name-body,
.path-frontpage #content .simple-block .block-content .field--name-body,
.path-frontpage #content .region-helper .block-content .field--name-body,
.path-frontpage #helper .simple-block .block-content .field--name-body,
.path-frontpage #helper .region-helper .block-content .field--name-body {
  margin-top: 30px;
}
@media (min-width: 1600px) {
  .path-frontpage [id*=section] .simple-block .block-content .field--name-body,
.path-frontpage [id*=section] .region-helper .block-content .field--name-body,
.path-frontpage #content .simple-block .block-content .field--name-body,
.path-frontpage #content .region-helper .block-content .field--name-body,
.path-frontpage #helper .simple-block .block-content .field--name-body,
.path-frontpage #helper .region-helper .block-content .field--name-body {
    margin-top: 20px;
  }
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-body h3,
.path-frontpage [id*=section] .region-helper .block-content .field--name-body h3,
.path-frontpage #content .simple-block .block-content .field--name-body h3,
.path-frontpage #content .region-helper .block-content .field--name-body h3,
.path-frontpage #helper .simple-block .block-content .field--name-body h3,
.path-frontpage #helper .region-helper .block-content .field--name-body h3 {
  font-family: "Barlow", sans-serif;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 20px;
}
.path-frontpage [id*=section] .simple-block .block-content .field--name-field-link,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-link,
.path-frontpage #content .simple-block .block-content .field--name-field-link,
.path-frontpage #content .region-helper .block-content .field--name-field-link,
.path-frontpage #helper .simple-block .block-content .field--name-field-link,
.path-frontpage #helper .region-helper .block-content .field--name-field-link {
  margin-top: 60px;
}
@media (min-width: 1600px) {
  .path-frontpage [id*=section] .simple-block .block-content .field--name-field-subtitle,
.path-frontpage [id*=section] .region-helper .block-content .field--name-field-subtitle,
.path-frontpage #content .simple-block .block-content .field--name-field-subtitle,
.path-frontpage #content .region-helper .block-content .field--name-field-subtitle,
.path-frontpage #helper .simple-block .block-content .field--name-field-subtitle,
.path-frontpage #helper .region-helper .block-content .field--name-field-subtitle {
    font-size: 30px;
  }
  .path-frontpage [id*=section] .simple-block .block-content .field--name-body h3,
.path-frontpage [id*=section] .region-helper .block-content .field--name-body h3,
.path-frontpage #content .simple-block .block-content .field--name-body h3,
.path-frontpage #content .region-helper .block-content .field--name-body h3,
.path-frontpage #helper .simple-block .block-content .field--name-body h3,
.path-frontpage #helper .region-helper .block-content .field--name-body h3 {
    font-size: 30px;
  }
}

[id*=section] .simple-block .block-title {
  margin: 0 auto 40px 0;
}
[id*=section] .simple-block .block-content {
  padding-bottom: 50px;
}
@media (min-width: 1024px) {
  [id*=section] .simple-block .block-content {
    padding-bottom: 90px;
  }
}
@media (min-width: 1600px) {
  [id*=section] .simple-block:first-child .block-content {
    padding-bottom: 60px;
  }
  [id*=section] .simple-block:last-child .block-content {
    padding-bottom: 100px;
  }
}

.menu:before, .menu:after,
.navigation:before,
.navigation:after {
  content: " ";
  display: table;
}
.menu:after,
.navigation:after {
  clear: both;
}

.site-logo img {
  max-width: 70px;
  padding: 30px;
  transition: all 0.25s;
}
@media (min-width: 1024px) {
  .site-logo img {
    max-width: 100%;
    padding: 20px;
    box-sizing: border-box;
  }
}

@media (min-width: 1024px) {
  .fixed .site-logo img {
    padding: 20px;
  }
}
#navigation {
  position: fixed;
  top: 0;
  bottom: 0;
  right: auto;
  left: -270px;
  width: 140px;
  transition: all 0.25s;
  -webkit-overflow-scrolling: touch;
  z-index: 999;
  background-color: black;
  box-sizing: border-box;
}
#navigation ul.menu {
  padding: 0;
  margin: 0;
}
#navigation ul.menu li {
  margin: 0;
  display: block;
  list-style: none;
  padding-top: 0;
  margin: 0;
}
#navigation ul.menu li a {
  color: white;
  display: block;
  text-align: left;
  padding: 25px 20px 20px 45px;
  font-size: 20px;
  font-weight: normal;
  transition: all 0.15s;
  text-indent: 0;
}
@media (min-width: 1024px) {
  #navigation ul.menu li a {
    padding: 25px 20px 30px 45px;
  }
}
#navigation ul.menu li a.is-active-menu {
  color: white;
  background-color: black;
  position: relative;
  transition: all 0.15s;
  border-bottom-color: transparent;
}
#navigation ul.menu li a.is-active-menu:after {
  position: absolute;
  right: -18px;
  top: 0;
  width: 0;
  height: 0;
  transition: all 0.25s;
  display: block;
  content: "";
}
@media (min-width: 1024px) {
  #navigation ul.menu li a.is-active-menu:after {
    border-top: 70px solid grey;
  }
}
#navigation ul.menu li a.is-active-menu:hover {
  background-color: grey;
}
#navigation ul.menu li a.is-active-menu:hover:after {
  border-left-width: 30px;
}
@media (min-width: 1024px) {
  #navigation ul.menu li a.is-active-menu:hover:before {
    top: 30px;
    width: 20px;
    height: 20px;
    left: 30px;
  }
}
#navigation ul.menu li a[class*=menu-] {
  position: relative;
}
#navigation ul.menu li a[class*=menu-]:before {
  position: absolute;
  top: 20px;
  left: -60px;
  width: 25px;
  height: 25px;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: inline-block;
  transition: all 0.15s;
}
@media (min-width: 1024px) {
  #navigation ul.menu li a[class*=menu-]:before {
    top: 30px;
  }
}
#navigation ul.menu li a:hover {
  text-decoration: none;
  background-color: black;
}
@media (min-width: 1024px) {
  #navigation ul.menu li a:hover:before {
    top: 28px;
    left: 10px;
    width: 27px;
    height: 27px;
  }
}
#navigation ul.menu li li {
  padding-left: 25px;
}
#navigation.is-visible {
  left: 0;
}
@media (min-width: 1024px) {
  #navigation {
    left: 0;
  }
  #navigation.fixed {
    width: 70px;
  }
  #navigation.fixed ul li a {
    padding-left: 5px;
    padding-right: 5px;
    transition: all 0.25s;
  }
  #navigation.fixed ul li a:before {
    top: 35px;
    left: 35px;
  }
  #navigation.fixed ul li a[class*=menu-] {
    padding: 30px 20px 30px 50px;
    text-indent: -300px;
    position: relative;
  }
  #navigation.fixed ul li a[class*=menu-]:before {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 32px;
    height: 32px;
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  #navigation.fixed ul li a[class*=menu-]:before {
    top: 30px;
  }
}
@media (min-width: 1024px) {
  #navigation.fixed ul li a:hover {
    width: 140px;
    margin-right: calc(140px - 70px);
    text-indent: 20px;
  }
}
@media (min-width: 1024px) {
  #navigation.animation ul li a {
    text-indent: -220px;
  }
}

.sliding-panel-fade-screen {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 18;
  background-color: black;
  transition: all 0.22s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.sliding-panel-fade-screen.is-visible {
  opacity: 0.4;
  visibility: visible;
}
@media (min-width: 1024px) {
  .sliding-panel-fade-screen.is-visible {
    visibility: hidden;
  }
}

#block-mobilemenutrigger {
  z-index: 20;
  position: absolute;
  right: 10px;
  top: 10px;
  background-color: grey;
}
#block-mobilemenutrigger p {
  margin-bottom: 0;
}
#block-mobilemenutrigger a {
  width: 45px;
  height: 35px;
  padding: 10px 6px;
  display: block;
}
#block-mobilemenutrigger a span,
#block-mobilemenutrigger a span:before,
#block-mobilemenutrigger a span:after {
  content: " ";
  width: 33px;
  height: 3px;
  background-color: white;
  display: block;
}
#block-mobilemenutrigger a span {
  position: relative;
  margin-top: 6px;
}
#block-mobilemenutrigger a span:before {
  position: absolute;
  top: -9px;
}
#block-mobilemenutrigger a span:after {
  position: absolute;
  top: 9px;
}
@media (min-width: 1024px) {
  #block-mobilemenutrigger {
    display: none;
  }
}
/*Laura Menu*/
.is-active {
  background-color: #fdb210;
  color: black !important;
}

.messages--warning {
  box-shadow: none;
  border-left: 8px solid #E09600;
}

.messages--status {
  box-shadow: none;
  border-left: 8px solid #77B259;
}

.messages--error {
  box-shadow: none;
  border-left: 8px solid #E62600;
}

.messages--success {
  box-shadow: none;
  border-left-width: 8px;
  border-color: #85c5e5;
  background-color: #D9EDF7;
}

table {
  border: 1px solid black;
}
table tr th {
  background-color: white;
  font-weight: bold;
  color: black;
}
table tr td {
  background-color: white;
  color: black;
}
table tr td,
table tr th {
  padding: 10px 15px;
  text-align: left;
}
table tr:nth-child(even) td {
  background-color: rgba(0, 0, 0, 0.2);
}

table.no-style {
  border: none;
}
table.no-style tr th {
  background-color: transparent;
  font-weight: normal;
}
table.no-style tr td {
  background-color: transparent;
}
table.no-style tr td,
table.no-style tr th {
  padding: 0;
  text-align: inherit;
}
table.no-style tr:nth-child(even) td {
  background-color: transparent;
}

[id*=breadcrumbs] li {
  color: black;
}
[id*=breadcrumbs] li a {
  font-size: 13px;
}
[id*=breadcrumbs] li:last-child a {
  pointer-events: none;
  cursor: default;
  font-weight: bold;
}

#footer {
  position: absolute;
  z-index: 999;
  right: 0;
  left: 0;
  background-color: black;
  border-top: 5px solid black;
  /*Social Icons*/
}
#footer .block-content {
  color: #cccccc;
}
#footer .block-content a {
  color: #cccccc;
}
#footer .region {
  text-align: center;
  padding: 10px;
}
@media (min-width: 1024px) {
  #footer .region {
    text-align: left;
  }
}
@media (min-width: 1600px) {
  #footer .region {
    padding-right: 40px;
    padding-top: 35px;
    padding-bottom: 35px;
  }
  #footer .region.region-footer-first {
    padding: 40px 0;
  }
}
#footer .region p {
  font-size: 13px;
  margin-bottom: 0;
}
#footer .region ul {
  padding-left: 0;
  margin: 0;
  text-align: center;
}
#footer .region ul:before, #footer .region ul:after {
  content: " ";
  display: table;
}
#footer .region ul:after {
  clear: both;
}
#footer .region ul li {
  list-style: none;
  display: inline-block;
  margin-right: 5px;
}
#footer .region ul li:last-child {
  margin-right: 0;
}
@media (min-width: 1024px) {
  #footer .region ul li {
    float: right;
  }
  #footer .region ul li:last-child {
    margin-right: 5px;
  }
}
#footer .region ul li a {
  width: 30px;
  height: 30px;
  content: " ";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-indent: -9999px;
}
#footer .region ul li a[href*=facebook] {
  background-image: url(../images/social/facebook.svg);
}
#footer .region ul li a[href*="plus.google"] {
  background-image: url(../images/social/google-plus.svg);
}
#footer .region ul li a[href*=linkedin] {
  background-image: url(../images/social/linkedin.svg);
}
#footer .region ul li a[href*=messenger] {
  background-image: url(../images/social/messenger.svg);
}
#footer .region ul li a[href*=pinterest] {
  background-image: url(../images/social/pinterest.svg);
}
#footer .region ul li a[href*=twitter] {
  background-image: url(../images/social/twitter.svg);
}
#footer .region ul li a[href*=viber] {
  background-image: url(../images/social/viber.svg);
}
#footer .region ul li a[href*=whatsapp] {
  background-image: url(../images/social/whatsapp.svg);
}
#footer .region ul li a[href*=instagram] {
  background-image: url(../images/social/instagram.svg);
}

.node--type-page h1.page-title,
.full.work h1.page-title {
  margin-top: 0;
  margin-bottom: 40px;
  line-height: 1;
  text-transform: uppercase;
}
.node--type-page h2.page-sub-title,
.full.work h2.page-sub-title {
  padding-top: 0;
  margin-bottom: 40px;
  font-family: "Barlow", sans-serif;
  text-transform: uppercase;
  font-size: 25px;
}
@media (min-width: 768px) {
  .node--type-page h2.page-sub-title,
.full.work h2.page-sub-title {
    font-size: 30px;
  }
}

@media (min-width: 1024px) {
  .node--type-page {
    padding-top: 24px;
  }
  .node--type-page.path-frontpage {
    padding-top: 0;
  }
}
.node--type-page .node-left {
  padding-bottom: 15px;
}
@media (min-width: 1024px) {
  .node--type-page .node-left {
    padding-bottom: 25px;
    width: 40%;
    float: left;
  }
}
@media (min-width: 1600px) {
  .node--type-page .node-left {
    width: 50%;
  }
}
.node--type-page .node-left img {
  display: block;
}
.node--type-page .node-right {
  padding: 15px;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .node--type-page .node-right {
    padding: 20px 50px 20px;
  }
}
@media (min-width: 1024px) {
  .node--type-page .node-right {
    padding-top: 0;
    width: 60%;
    float: right;
  }
}
@media (min-width: 1600px) {
  .node--type-page .node-right {
    width: 50%;
  }
}

@media (min-width: 1024px) {
  .full.work .node-work-left {
    width: 40%;
    float: left;
  }
}
@media (min-width: 1600px) {
  .full.work .node-work-left {
    width: 50%;
  }
}
.full.work .node-work-left img {
  display: block;
}
.full.work .node-work-left.bottom {
  padding: 15px;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .full.work .node-work-left.bottom {
    padding: 50px;
  }
}
@media (min-width: 1024px) {
  .full.work .node-work-left.bottom {
    margin-top: 25px;
    padding: 0;
    padding-right: 25px;
  }
}
@media (min-width: 1024px) {
  .full.work .node-work-right {
    width: 60%;
    float: right;
  }
}
@media (min-width: 1600px) {
  .full.work .node-work-right {
    width: 50%;
  }
}
.full.work .node-work-right .node-work-right-container {
  padding: 15px;
}
@media (min-width: 768px) {
  .full.work .node-work-right .node-work-right-container {
    padding: 20px 50px 20px;
  }
}
@media (min-width: 1024px) {
  .full.work .node-work-right {
   /* background: linear-gradient(174.5deg, transparent 0%, transparent 91%, #d9d9d9 91%);*/
    box-sizing: border-box;
    min-height: 820px;
    max-height: 820px;
    overflow: auto;
  }
  .full.work .node-work-right .node-work-right-container {
    padding: 0 50px;
    min-height: 735px;
    max-height: 735px;
    overflow: auto;
  }
}
/*.full.work .node-work-right.bottom {
  padding: 15px;
  background-color: #d9d9d9;
  min-height: inherit;
}*/
@media (min-width: 768px) {
  .full.work .node-work-right.bottom {
    padding: 50px;
  }
}
.full.work .node-work-right.bottom .node-work-right-bottom-container .field {
  padding: 10px;
  font-size: 15px;
}
.full.work .node-work-right.bottom .node-work-right-bottom-container .field:nth-child(even) {
  background-color: white;
}
.full.work .node-work-right.bottom .node-work-right-bottom-container .field .field__label {
  min-width: 100px;
  font-weight: 300;
  font-style: italic;
}
@media (min-width: 768px) {
  .full.work .node-work-right.bottom .node-work-right-bottom-container .field {
    font-size: 20px;
    padding: 20px;
  }
  .full.work .node-work-right.bottom .node-work-right-bottom-container .field .field__label {
    min-width: 200px;
  }
}
@media (min-width: 1024px) {
  .full.work {
    padding-top: 20px;
  }
}

.lightgallery-wrapper ul.lightgallery {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}
.lightgallery-wrapper ul.lightgallery li {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 47.8260869565%;
  float: left;
  margin-bottom: 20px;
}
.lightgallery-wrapper ul.lightgallery li:nth-child(2n+1) {
  margin-left: 0;
  margin-right: -100%;
  clear: both;
  margin-left: 0;
}
.lightgallery-wrapper ul.lightgallery li:nth-child(2n+2) {
  margin-left: 52.1739130435%;
  margin-right: -100%;
  clear: none;
}
@media (min-width: 768px) {
  .lightgallery-wrapper ul.lightgallery li {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 31.4285714286%;
    float: left;
    margin-bottom: 40px;
  }
  .lightgallery-wrapper ul.lightgallery li:nth-child(3n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .lightgallery-wrapper ul.lightgallery li:nth-child(3n+2) {
    margin-left: 34.2857142857%;
    margin-right: -100%;
    clear: none;
  }
  .lightgallery-wrapper ul.lightgallery li:nth-child(3n+3) {
    margin-left: 68.5714285714%;
    margin-right: -100%;
    clear: none;
  }
}

.lg-thumb .lg-thumb-item img {
  display: block;
}

.se-block {
  margin-top: 20px;
}

/* Laura Fundal */
.path-frontpage #header {
  height: 100vh;
  position: relative;
  background-image: url("../images/greline.jpg");

  overflow: hidden;
  margin-left: 4vw;
}
.path-frontpage #header .contextual-region {
  position: inherit;
}
.path-frontpage #header .header.images {
  position: absolute;
  top: 20px;
  left: 850px;
  bottom: 0;
  z-index: 100 !important;
}
@media screen and (max-width: 1023px) {
  .path-frontpage #header .header.images {
    left: -100px;
  }
}
@media (min-width: 1024px) {
  .path-frontpage #header .header.images {
    left: -25px;
  }
}
.path-frontpage #header .header.images .field__items {
  width: 496px !important;
  position: absolute !important;
  height: 600px;
  top: 26px;
  bottom: 0px;
  left: 0;
  right: 0;
}
.path-frontpage #header .header.images .field__items .slide-container {
  transform: translate3d(0px, 0px, 0px);
  position: absolute;
  width: 550px;
  height: 550px;
  top: 10px;
  bottom: 0;
  left: 850px;
  right: 0;
  display: block;
}
@media screen and (max-width: 1023px) {
  .path-frontpage #header .header.images .field__items .slide-container {
    width: 310px;
    height: 481px;
    left: 154px;
    top: 140px;
  }
}
.path-frontpage #header .header.images .field__items .slide-container div {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  background-position: top right;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.path-frontpage #header .header.content {
  z-index: 5 !important;
  padding: 0 1.4084507042%;
}
.path-frontpage #header .header.content .header-title {
  padding-top: 5vh;
  font-family: "Barlow", sans-serif;
  font-size: 20px;
  color: color-black;
  text-transform: uppercase;
}
@media screen and (max-width: 1023px) {
  .path-frontpage #header .header.content .header-title {
    font-size: 35px;
    margin: 5vh 0 0 0vw;
  }
}
@media (min-width: 768px) {
  .path-frontpage #header .header.content .header-title {
    font-size: 48px;
  }
}
@media (min-width: 1024px) {
  .path-frontpage #header .header.content .header-title {
    padding-top: 22vh;
    font-size: 58px;
  }
}
.path-frontpage #header .header.content .field--name-body {
  color: color-black;
  font-size: 21px;
}
@media screen and (max-width: 1023px) {
  .path-frontpage #header .header.content .field--name-body {
    margin: 0 0 0 0vw;
  }
}
.path-frontpage #header .header.content .field--name-field-link {
  padding-top: 7vh;
}
@media screen and (max-width: 1023px) {
  .path-frontpage #header .header.content .field--name-field-link {
    margin: 58vh 0 0 0vw;
  }
}
@media (min-width: 1024px) {
  .path-frontpage #header .header.content {
    padding-left: 280px;
    max-width: 580px;
  }
}

.extra-container {
  position: inherit !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  width: 100% !important;
  height: 80% !important;
}

.menu-about:before {
  background-image: url(../images/user.svg);
}

.menu-web:before {
  background-image: url(../images/web.svg);
}

.menu-print:before {
  background-image: url(../images/print.svg);
}

.menu-identity:before {
  background-image: url(../images/identity.svg);
}

.menu-art:before {
  background-image: url(../images/art.svg);
}

.menu-contact:before {
  background-image: url(../images/contact.svg);
}

.search-block-form .form-item,
.search-page-form .form-item {
  display: inline-block;
}

.path-frontpage #section_first,
.path-frontpage #section_first .block-title,
.path-frontpage #section_first .block-content {
  background-color: black;
}
.path-frontpage #section_second,
.path-frontpage #section_second .block-title,
.path-frontpage #section_second .block-content {
  background-color: black;
}
.path-frontpage #section_third,
.path-frontpage #section_third .block-title,
.path-frontpage #section_third .block-content {
  background-color: white;
}
.path-frontpage #section_fourth,
.path-frontpage #section_fourth .block-title,
.path-frontpage #section_fourth .block-content {
  background-color: white;
}
.path-frontpage #section_fourth .field,
.path-frontpage #section_fourth .views-field,
.path-frontpage #section_fourth .block-title .field,
.path-frontpage #section_fourth .block-title .views-field,
.path-frontpage #section_fourth .block-content .field,
.path-frontpage #section_fourth .block-content .views-field {
  color: black;
}

#section_fifth,
#section_fifth .block-title,
#section_fifth .block-content {
  background-color: white;
}

[id*=section_] {
  background-repeat: no-repeat;
  background-position: right top;
  background-size: auto 100%;
  position: relative;
}
[id*=section_] div[class*=separator] {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  max-width: 100%;
  display: none;
}
@media (min-width: 768px) {
  [id*=section_] div[class*=separator] {
    display: inherit;
  }
}
[id*=section_] div[class*=separator] svg {
  max-width: 100%;
  height: auto;
}
@media (min-width: 1600px) {
  [id*=section_] div[class*=separator] svg {
    height: inherit;
  }
}
@media (min-width: 768px) {
  .section-first-separator {
    bottom: -15px;
  }

  .section-second-separator {
    bottom: -50px;
  }

  .section-third-separator {
    bottom: -20px;
  }

  .section-fourth-separator {
    bottom: -25px;
  }
}
@media (min-width: 1024px) {
  .section-first-separator {
    bottom: -20px;
  }

  .section-second-separator {
    bottom: -60px;
  }

  .section-third-separator {
    bottom: -25px;
  }

  .section-fourth-separator {
    bottom: -35px;
  }
}
@media (min-width: 1600px) {
  .section-first-separator {
    bottom: -30px;
  }

  .section-second-separator {
    bottom: -105px;
  }

  .section-third-separator {
    bottom: -45px;
  }

  .section-fourth-separator {
    bottom: -50px;
  }
}
.article .author {
  margin: 5px 0 10px;
  color: gray;
  font-style: italic;
}
.article .author .field--name-uid {
  font-style: normal;
}

.path-user #content .container {
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 1024px) {
  .path-user #content .container {
    padding-left: 0;
  }
}

.view-works:before, .view-works:after {
  content: " ";
  display: table;
}
.view-works:after {
  clear: both;
}
.view-works .views-row {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 47.8260869565%;
  float: left;
  margin-bottom: 15px;
  position: relative;
}
.view-works .views-row:nth-child(2n+1) {
  margin-left: 0;
  margin-right: -100%;
  clear: both;
  margin-left: 0;
}
.view-works .views-row:nth-child(2n+2) {
  margin-left: 52.1739130435%;
  margin-right: -100%;
  clear: none;
}
@media (min-width: 768px) {
  .view-works .views-row {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 11.7647058824%;
    float: left;
    margin-bottom: 40px;
  }
  .view-works .views-row:nth-child(6n+1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0;
  }
  .view-works .views-row:nth-child(6n+2) {
    margin-left: 17.6470588235%;
    margin-right: -100%;
    clear: none;
  }
  .view-works .views-row:nth-child(6n+3) {
    margin-left: 35.2941176471%;
    margin-right: -100%;
    clear: none;
  }
  .view-works .views-row:nth-child(6n+4) {
    margin-left: 52.9411764706%;
    margin-right: -100%;
    clear: none;
  }
  .view-works .views-row:nth-child(6n+5) {
    margin-left: 70.5882352941%;
    margin-right: -100%;
    clear: none;
  }
  .view-works .views-row:nth-child(6n+6) {
    margin-left: 88.2352941176%;
    margin-right: -100%;
    clear: none;
  }
}
.view-works .views-row .views-field-field-lead-image img {
  display: block;
}
.view-works .views-row .views-field-view-node {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.25s;
  background-color: rgba(0, 0, 0, 0.8);
  text-align: center;
}
.view-works .views-row .views-field-view-node a {
  display: block;
  height: 100%;
  color: white;
  padding: 70px 10px;
  font-size: 17px;
}
.view-works .views-row .views-field-view-node a:after {
  background-image: url(../images/eye.svg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 5px;
  margin-bottom: -3px;
  width: 20px;
  height: 20px;
  content: " ";
  display: inline-block;
}
@media (min-width: 1600px) {
  .view-works .views-row .views-field-view-node a {
    padding: 100px 10px;
  }
}
.view-works .views-row .views-field-view-node a:hover {
  text-decoration: none;
}
.view-works .views-row:hover .views-field-view-node {
  opacity: 1;
}
.view-works .view-footer {
  clear: both;
  float: left;
}

.view-clients:before, .view-clients:after {
  content: " ";
  display: table;
}
.view-clients:after {
  clear: both;
}
.view-clients .views-row {
  margin-bottom: 40px;
}
.view-clients .views-row:before, .view-clients .views-row:after {
  content: " ";
  display: table;
}
.view-clients .views-row:after {
  clear: both;
}
@media (min-width: 768px) {
  .view-clients .views-row .views-field-field-client-image {
    float: left;
    margin-right: 30px;
  }
}
@media (min-width: 1024px) {
  .view-clients .views-row .views-field-field-client-image {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 36.6197183099%;
    float: left;
    margin-right: 1.4084507042%;
  }
}
.view-clients .views-row .views-field-body {
  margin-top: 5px;
  font-style: italic;
  font-weight: 300;
  margin-bottom: 5px;
  line-height: 1.5;
  font-size: 18px;
}
@media (min-width: 768px) {
  .view-clients .views-row .views-field-body {
    height: 140px;
    margin-bottom: 25px;
    margin-top: 30px;
  }
}
@media (min-width: 1024px) {
  .view-clients .views-row .views-field-body {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 61.9718309859%;
    float: right;
    margin-right: 0;
    height: auto;
    margin-top: 0;
  }
}
@media (min-width: 1600px) {
  .view-clients .views-row .views-field-body {
    margin-top: 30px;
  }
}
.view-clients .views-row .views-field-title {
  font-size: 17px;
  font-style: italic;
  font-weight: 300;
}
@media (min-width: 1024px) {
  .view-clients .views-row .views-field-title {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (min-width: 1600px) {
  .view-clients .views-row .views-field-title {
    width: auto;
  }
}

.kaka {
  display: grid;
  grid-template-columns: 90%;
  grid-gap: 3px;
  color: #444;
}
@media (min-width: 1024px) {
  .kaka {
    grid-template-columns: 90%;
  }
}
@media (min-width: 768px) {
  .kaka {
    grid-template-columns: 33% 33% 33%;
  }
}

.kaka-item {
  color: #fff;
  border-radius: 5px;
  padding: 20px;
  font-size: 150%;
  list-style-type: none;
}

body {
  background-color: white;
}
body:not(.path-frontpage) #content {
  min-height: calc(100vh - 129px);
}
body.path-user #content {
  min-height: calc(100vh - 166px);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYnJhcmllcy9ub3JtYWxpemUtbGlic2Fzcy9fbm9ybWFsaXplLnNjc3MiLCJ2YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2NzcyIsInZhcmlhYmxlcy9fYmFzZS1taXhpbnMuc2NzcyIsInZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCIuLi9saWJyYXJpZXMvY29tcGFzcy1icmVha3BvaW50L3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCJhZG1pbi10b29scy9fYWRtaW4tdG9vbGJhci5zY3NzIiwidmFyaWFibGVzL19ncmlkLnNjc3MiLCJhZG1pbi10b29scy9fcmVnaW9uLWRlbW8uc2NzcyIsImFkbWluLXRvb2xzL190YWJzLnNjc3MiLCJhZG1pbi10b29scy9fdHlwb2dyYXBoeS5zY3NzIiwiZWxlbWVudHMvX2Zvcm1zLnNjc3MiLCJlbGVtZW50cy9faHRtbC1lbGVtZW50cy5zY3NzIiwiZWxlbWVudHMvX21haW4tbWVudXMuc2NzcyIsImVsZW1lbnRzL19tZXNzYWdlcy5zY3NzIiwiZWxlbWVudHMvX3RhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19mdWxsLW5vZGUuc2NzcyIsIi4uL2xpYnJhcmllcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fcmVtLnNjc3MiLCIuLi9saWJyYXJpZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ2FsbGVyeS5zY3NzIiwiLi4vbGlicmFyaWVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9fc3Bhbi5zY3NzIiwiLi4vbGlicmFyaWVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3Jvd3Muc2NzcyIsIi4uL2xpYnJhcmllcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX2VuZC5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fc3VibWl0dGVkLnNjc3MiLCJjb21wb25lbnRzL191c2VyLnNjc3MiLCJjb21wb25lbnRzL192aWV3cy5zY3NzIiwiLi4vbGlicmFyaWVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsImRydXBwaW9fc21hbGxfYnVzaW5lc3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDcEdRO0FEMEdSO0VBQ0UsYUEvRDJCO0FBK0RlO0VBQzFDO0FBQTRCO0VBQzVCO0FBQWdDOzs7QUFHbEM7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBYUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7RUFLSTtBQUF1QjtFQUV6QjtBQUEwQjs7O0FBRzVCO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFJQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFJSjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBSUU7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFJQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUlKO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUlFO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUtGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUlKO0FBQUE7QUFJRTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFJSjtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0FBQWdCO0VBQ2hCO0FBQWU7RUFDZjtBQUFXOzs7QUFJWDtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtBQUE0QjtFQUM1QjtBQUFpQjs7O0FBR25CO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTs7O0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0VBRUU7QUFBd0I7RUFDeEI7QUFBWTs7O0FBSWhCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7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O0VEcENoQixZQ29DZ0I7RURwQ2hCLE9FS087RUZMUCxPRUtPO0VIZ0lQOztBRXZGQTtFRDlDQSxhRUtPO0VGTFAsY0VLTztFRkxQLE9HWmM7RUhZZCxhSWVPOztBSCtCUDtFRDlDQSxhRUtPO0VGTFAsY0VLTztFRkxQLE9HSmM7O0FqQmlEZDtFYXNGRjtJQ25JRSxpQkNvQ2dCO0lEcENoQixvQkNvQ2dCO0lEcENoQixZQ29DZ0I7SURwQ2hCLE9FS087SUZMUCxPRUtPO0lIbUlMOztFRTFGRjtJRDlDQSxhRUtPO0lGTFAsY0VLTztJRkxQLE9HWmM7SUhZZCxhSWVPOztFSCtCUDtJRDlDQSxhRUtPO0lGTFAsY0VLTztJRkxQLE9HSmM7O0VGa0RkO0lEOUNBLGFFS087SUZMUCxjRUtPO0lGTFAsT0dKYzs7OztBSm1KZDtFQUNFOzs7QUFLTjtFQUNFOzs7QU16S0Y7RUFJRTtFQUNBO0VBQ0EsWXBCMEN1QjtFb0J6Q3ZCO0VBQ0E7O0FBUEE7RUFDRTs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBSUE7O0FBSEE7RUFMRjtJQU1JOzs7QW5CaURGO0VtQnZERjtJQVVJOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFRQTtFQUNBOztBQVJGO0VBUkE7SUFTRTtJQUNBO0lBQ0E7SUFDQTs7O0FBS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtSO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0EsYXRCN0RNO0VzQjhETixXdEJwREk7RXNCcURKLE9wQm5CZ0I7RW9Cb0JoQjs7QUFDQTtFQU5GO0lBT0k7SUFDQTs7O0FuQk5KO0VtQkZBO0lBV0k7OztBbkJUSjtFbUJGQTtJQWNJO0lBQ0E7OztBQUdKO0VBQ0UsT3BCbENnQjtFb0JtQ2hCOztBQUNBO0VBSEY7SUFJSTs7O0FBSUo7RUFDRTs7QUFDQTtFQUZGO0lBR0k7OztBbkIzQko7RW1CTEY7SUFxQ0k7SUFDQTs7OztBQU1OO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM3R0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FDZkE7QUFBQTtFQUNFOzs7QUNGRjtBQUFBO0FBQUE7RUFHRSxrQnZCb0JVOztBdUJsQlo7QUFBQTtBQUFBO0VBR0Usa0J2QmVVOztBdUJiWjtBQUFBO0FBQUE7RUFHRSxrQnZCMEJxQjs7QXVCdkJ2QjtBQUFBO0FBQUE7RUFHRSxrQnZCcUJzQjs7QXVCcEJ0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRSxPdkJDUTs7O0F1QktkO0FBQUE7QUFBQTtFQUdFLGtCdkJVdUI7OztBdUJQekI7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXRCa0JBO0VzQnhCRjtJQVFJOzs7QUFFRjtFQUNFO0VBQ0E7O0F0QllGO0VzQmRBO0lBSUk7OztBdEJVSjtFc0JHRjtJQUNFOzs7RUFFRjtJQUNFOzs7RUFFRjtJQUNFOzs7RUFFRjtJQUNFOzs7QXRCYkE7RXNCa0JGO0lBQ0U7OztFQUVGO0lBQ0U7OztFQUVGO0lBQ0U7OztFQUVGO0lBQ0U7OztBdEI1QkE7RXNCaUNGO0lBQ0U7OztFQUVGO0lBQ0U7OztFQUVGO0lBQ0U7OztFQUVGO0lBQ0U7OztBQzFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFOzs7QUNKSjtFQUNDO0VBQ0E7O0F4QjREQztFd0I5REY7SUFJRTs7OztBMUJKRjtFQUVFO0VBQ0E7O0FBRUY7RUFDRTs7QTJCTEY7RVhnQkUsaUJDb0NnQjtFRHBDaEIsb0JDb0NnQjtFRHBDaEIsWUNvQ2dCO0VEcENoQixPRUtPO0VGTFAsT0VLTztFU25CUDtFQUtBOztBVnVEQTtFRDlDQSxhRUtPO0VGTFAsY0VLTztFRkxQLE9HWmM7RUhZZCxhSWVPOztBSCtCUDtFRDlDQSxhRUtPO0VGTFAsY0VLTztFRkxQLE9HSmM7O0FqQmlEZDtFeUI3REY7SVhnQkUsaUJDb0NnQjtJRHBDaEIsb0JDb0NnQjtJRHBDaEIsWUNvQ2dCO0lEcENoQixPRUtPO0lGTFAsT0VLTztJU2hCTDs7RVZ5REY7SUQ5Q0EsYUVLTztJRkxQLGNFS087SUZMUCxPR1pjO0lIWWQsYUllTzs7RUgrQlA7SUQ5Q0EsYUVLTztJRkxQLGNFS087SUZMUCxPR0pjOztFRmtEZDtJRDlDQSxhRUtPO0lGTFAsY0VLTztJRkxQLE9HSmM7O0VGa0RkO0lEOUNBLGFFS087SUZMUCxjRUtPO0lGTFAsT0dKYzs7RUZrRGQ7SUQ5Q0EsYUVLTztJRkxQLGNFS087SUZMUCxPR0pjOztFRmtEZDtJRDlDQSxhRUtPO0lGTFAsY0VLTztJRkxQLE9HSmM7OztBUUhaO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F6QnNCTjtFeUJ0Q0U7SUFvQkk7OztBQUVGO0VBQ0U7O0FBS0o7RUFDRTs7QUFJTjtFQUNFO0VBQ0E7OztBM0IzREY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0EyQjRERjtFQUNFOztBM0JuRUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7O0FFd0RBO0V5Qk9BO0lBRUk7SUFDQTs7O0F6QlZKO0V5Qk9BO0lYcERBLGlCWVFjO0laUmQsb0JZUWM7SVpSZCxZWVFjO0laUmQsT0VLTztJRkxQLE9FS087SUZMUCxjRUtPOzs7QVN3RFA7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F6QnRCRjtFeUJnQkE7SUFRSTtJQUNBO0lBQ0E7OztBekIxQko7RXlCZ0JBO0lYN0RBLGlCWVFjO0laUmQsb0JZUWM7SVpSZCxZWVFjO0laUmQsT0VLTztJRkxQLE9FS087SUZMUCxjRUtPO0lTc0VIO0lBQ0E7OztBekIvQko7RXlCZ0JBO0lBa0JJOzs7QUFHSjtFQVFFO0VBQ0E7RUFDQTs7QXpCL0NGO0V5QnFDQTtJWGxGQSxpQllRYztJWlJkLG9CWVFjO0laUmQsWVlRYztJWlJkLE9FS087SUZMUCxPRUtPO0lGTFAsYUVLTztJRkxQLGNFS087OztBaEJ3Q1A7RXlCcUNBO0lBS0k7Ozs7QUFVUjtFQUNFO0VBQ0E7RUFPQTtFQUNBOztBekI5REU7RXlCb0RKO0lBSVM7OztBekJ4REw7RXlCb0RKO0lBT1M7Ozs7QUFNVDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRXhHRjtFQUNFLGtCNUJNUzs7QTRCSlQ7RUFDQzs7QUFJRDtFQUNDIiwiZmlsZSI6ImRydXBwaW9fc21hbGxfYnVzaW5lc3MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vL1xuLy8vIG5vcm1hbGl6ZS1saWJzYXNzIDEuMC4zXG4vLy8gTUlUL0dQTHYyIExpY2Vuc2Vcbi8vLyBsYi5jbS9ub3JtYWxpemUtbGlic2Fzc1xuLy8vL1xuXG4vLy8gU3RyaWN0IG5vcm1hbGl6ZVxuLy8vIEB0eXBlIEJvb2xlYW4gW2ZhbHNlXSAtIFNldCB0byB0cnVlIGZvciBzdHJpY3Qgbm9ybWFsaXplIG91dHB1dC5cbiRzdHJpY3Qtbm9ybWFsaXplOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQtc2l6ZSBiYXNlbGluZVxuLy8vIEB0eXBlIExlbmd0aCBbMTZweF1cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIExpbmUtaGVpZ2h0IGJhc2VsaW5lXG4vLy8gQHR5cGUgTGVuZ3RoIFsyNHB4XVxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vLyBIMSBoZWFkbGluZSBzaXplXG4vLy8gQHR5cGUgTGVuZ3RoIFsyICogMTZweF1cbiRoMS1mb250LXNpemU6IDIgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBSaHl0aG0gdW5pdFxuLy8vIEB0eXBlIFN0cmluZyBbZW1dIC0gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kcmh5dGhtLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vLyBGb250LWZhbWlseSBiYXNlbGluZVxuLy8vIEB0eXBlIE1hcCBbc2Fucy1zZXJpZl1cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU3VwcG9ydGVkIEJyb3dzZXIgdmVyc2lvbnNcbi8vLyBAdHlwZSBNYXBcbiRicm93c2VyLW1pbi12ZXJzaW9uOiAoXG4gICdjaHJvbWUnOiAgbnVsbCxcbiAgJ2ZpcmVmb3gnOiBudWxsLFxuICAnaWUnOiAgICAgIDgsXG4gICdzYWZhcmknOiAgNixcbiAgJ29wZXJhJzogICBudWxsXG4pICFkZWZhdWx0O1xuXG4vLyBBc3N1cmUgbm8gdmFyaWFibGVzIGdldCBvdmVycmlkZGVuIGlmIHN0cmljdCBpcyBvblxuJG5vcm1hbGl6ZS1iYXNlLWZvbnQtc2l6ZTogaWYoJHN0cmljdC1ub3JtYWxpemUsIDE2cHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4kbm9ybWFsaXplLWJhc2UtbGluZS1oZWlnaHQ6IGlmKCRzdHJpY3Qtbm9ybWFsaXplLCAyNHB4LCAkYmFzZS1saW5lLWhlaWdodCk7XG4kbm9ybWFsaXplLWgxLWZvbnQtc2l6ZTogaWYoJHN0cmljdC1ub3JtYWxpemUsIDIgKiAkYmFzZS1mb250LXNpemUsICRoMS1mb250LXNpemUpO1xuJG5vcm1hbGl6ZS1yaHl0aG0tdW5pdDogaWYoJHN0cmljdC1ub3JtYWxpemUsICdlbScsICRyaHl0aG0tdW5pdCk7XG4kbm9ybWFsaXplLWJhc2UtZm9udC1mYW1pbHk6IGlmKCRzdHJpY3Qtbm9ybWFsaXplLCBzYW5zLXNlcmlmLCAkYmFzZS1mb250LWZhbWlseSk7XG5cbi8vLyBOb3JtYWxpemUgTGVnYWN5IEJyb3dzZXIgU3VwcG9ydCBmdW5jdGlvblxuLy8vXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJvd3NlclxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IHZlcnNpb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJvd3NlciAtIEEgdmFsaWQgYnJvd3NlciBuYW1lIGZyb20gJGJyb3dzZXItbWluaW11bS12ZXJzaW9ucy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZlcnNpb24gLSBBIGJyb3dzZXIgdmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9IC0gSWYgYnJvd3NlciBpcyBudWxsIG9yIHZhbGlkIHJldHVybnMgdHJ1ZS5cbkBmdW5jdGlvbiBub3JtYWxpemUtYnJvd3Nlci1zdXBwb3J0KCRicm93c2VyLCAkdmVyc2lvbikge1xuICAvLyBJZiBicm93c2VyIGlzIG5vdCBudWxsIHRoZW4gY2hlY2sgZm9yIHN1cHBvcnRcbiAgQGlmIG1hcC1nZXQoJGJyb3dzZXItbWluLXZlcnNpb24sICRicm93c2VyKSB7XG4gICAgJHN1cHBvcnRlZC12ZXJzaW9uOiBtYXAtZ2V0KCRicm93c2VyLW1pbi12ZXJzaW9uLCAkYnJvd3Nlcik7XG4gICAgLy8gUGFzcyBpZiBicm93c2VyIGlzIHN1cHBvcnRlZCBvciBzdHJpY3Qtbm9ybWFsaXplIGlzIG9uXG4gICAgQGlmICRzdHJpY3Qtbm9ybWFsaXplIG9yICRzdXBwb3J0ZWQtdmVyc2lvbiA8PSAkdmVyc2lvbiB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBGYWlsIGlmIGJyb3dzZXIgaXMgdW5zdXBwb3J0ZWRcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gUGFzcyBpZiBicm93c2VyIGlzIG51bGxcbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gQ29udmVydCBvbmUgdW5pdCBpbnRvIGFub3RoZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBJbml0aWFsIHZhbHVlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gRGVzaXJlZCB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy8gQHRocm93IEVycm9yIGlmIGAkdW5pdGAgZG9lcyBub3QgZXhpc3Qgb3IgaWYgdW5pdHMgYXJlIGluY29tcGF0aWJsZS5cbkBmdW5jdGlvbiBub3JtYWxpemUtY29udmVydC11bml0KCR2YWx1ZSwgJHVuaXQpIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgJHVuaXRzOiAoXG4gICAgJ3B4JzogMHB4LFxuICAgICdjbSc6IDBjbSxcbiAgICAnbW0nOiAwbW0sXG4gICAgJyUnOiAwJSxcbiAgICAnaW4nOiAwaW4sXG4gICAgJ2VtJzogMGVtLFxuICAgICdyZW0nOiAwcmVtLFxuICAgICdwdCc6IDBwdFxuICApO1xuICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIFplcm9Vbml0XG5cbiAgQGlmIG1hcC1oYXMta2V5KCR1bml0cywgJHVuaXQpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCkgKyAkdmFsdWU7XG4gIH1cblxuICBAZXJyb3IgXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbn1cblxuLyoqXG4qIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4qIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvblxuKiAgICBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4qICAgIHVzZXIgem9vbS5cbiovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6ICRub3JtYWxpemUtYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuKiBhbmQgRmlyZWZveC5cbiogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgQGlmIG5vcm1hbGl6ZS1icm93c2VyLXN1cHBvcnQoJ2llJywgOSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB9XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuQGlmIG5vcm1hbGl6ZS1icm93c2VyLXN1cHBvcnQoJ2llJywgMTApIHtcbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyoqXG4qIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpZiBub3JtYWxpemUtYnJvd3Nlci1zdXBwb3J0KCdpZScsIDEwKSB7XG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLyoqXG4qIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiogYWN0aXZlL2hvdmVyIHN0YXRlLlxuKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4qL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4qL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4qL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4qIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiovXG5cbmgxIHtcbiAgZm9udC1zaXplOiBub3JtYWxpemUtY29udmVydC11bml0KCgkbm9ybWFsaXplLWgxLWZvbnQtc2l6ZSAvICRub3JtYWxpemUtYmFzZS1mb250LXNpemUpLCAkbm9ybWFsaXplLXJoeXRobS11bml0KTtcbiAgbWFyZ2luOiBub3JtYWxpemUtY29udmVydC11bml0KCgkbm9ybWFsaXplLWJhc2UtZm9udC1zaXplIC8gJG5vcm1hbGl6ZS1iYXNlLWxpbmUtaGVpZ2h0KSwgJG5vcm1hbGl6ZS1yaHl0aG0tdW5pdCkgMDtcbn1cblxuQGlmIG5vcm1hbGl6ZS1icm93c2VyLXN1cHBvcnQoJ2llJywgOSkge1xuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuXG4vKipcbiogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGlmIG5vcm1hbGl6ZS1icm93c2VyLXN1cHBvcnQoJ2llJywgMTApIHtcbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AaWYgbm9ybWFsaXplLWJyb3dzZXItc3VwcG9ydCgnaWUnLCAxMSkge1xuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpZiBub3JtYWxpemUtYnJvd3Nlci1zdXBwb3J0KCdpZScsIDkpIG9yIG5vcm1hbGl6ZS1icm93c2VyLXN1cHBvcnQoJ3NhZmFyaScsIDYpIHtcbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cbn1cblxuLyoqXG4qIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4qIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuKi9cblxuLyoqXG4qIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4qIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4qIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuQGlmIG5vcm1hbGl6ZS1icm93c2VyLXN1cHBvcnQoJ2llJywgMTEpIHtcbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG5cbi8qKlxuKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4qIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4qIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4qIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4qIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPSdidXR0b24nXSwgLyogMSAqL1xuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4qIHRoZSBVQSBzdHlsZXNoZWV0LlxuKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5AaWYgbm9ybWFsaXplLWJyb3dzZXItc3VwcG9ydCgnaWUnLCAxMCkge1xuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPSdjaGVja2JveCddLFxuICBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG59XG5cbi8qKlxuKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4qL1xuXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4qIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4qL1xuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4qIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuKi9cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4qIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4qL1xuXG5sZWdlbmQge1xuICBAaWYgbm9ybWFsaXplLWJyb3dzZXItc3VwcG9ydCgnaWUnLCAxMSkge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICB9XG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuQGlmIG5vcm1hbGl6ZS1icm93c2VyLXN1cHBvcnQoJ2llJywgMTEpIHtcbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxufVxuXG4vKipcbiogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4qIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLy89PSBmb250c1xuQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1CYXJsb3c6d2dodEA2MDAmZGlzcGxheT1zd2FwJztcblxuJG1haW4tZm9udDogJ0JhcmxvdycsIHNhbnMtc2VyaWY7XG5cbiRib2R5LWZvbnQ6ICRtYWluLWZvbnQ7XG4kaGVhZGVyLWZvbnQ6ICRtYWluLWZvbnQ7XG5cbi8vPT0gaGVhZGluZyBzaXplc1xuXG4kc2l6ZS1mb250OiAyMHB4O1xuJHNpemUtaDE6IDkwcHg7XG4kc2l6ZS1oMjogMjVweDtcbiRzaXplLWgzOiAyMHB4O1xuJHNpemUtaDQ6IDE4cHg7XG4kc2l6ZS1oNTogMTJweDtcbiRzaXplLWg2OiAxMHB4O1xuJHNpemUtYnJlYWRjcnVtYjogMTNweDtcbiIsIi8vPT0gQ2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4uY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbiIsIi8vIyMgUkVBRE1FXG4vL1xuLy9cbi8vIGlmIHNvbWV0aGluZyBpcyBtaXNzaW5nIGZyb20gdGhlIGxpc3QsXG4vLyBuYW1pbmcgY29udmVudGlvbnM6XG4vL1xuLy8gJGNvbG9yLVtQUkVGSVhdLVtOQU1FXS1bU1RBVEVdO1xuLy9cbi8vIFBSRUZJWDogbW9iaWxlLW1lbnUsIG5hdmlnYXRpb24sIGZvcm0sIHRhYmxlLCBldGMuXG4vLyBTVEFURTogaG92ZXIsIGFjdGl2ZVxuLy9cbi8vIGlmIHlvdSBuZWVkIGNvbG9yIHZhcmlhYmxlIGluIHRoZSBGT1JNIG9yIFRBQkxFLCBvciBOQVZJR0FUSU9OLCB1c2U6XG4vLyAkY29sb3ItZm9ybS1bTkFNRV07XG4vLyAkY29sb3ItdGFibGUtW05BTUVdO1xuLy8gJGNvbG9yLW5hdmlnYXRpb24tW05BTUVdO1xuLy9cbi8vIE5vdGU6IFBsZWFzZSBsb29rIGF0IHRoZSB2YXJpYWJsZXMsIGFuZCBhY2NvcmRpbmcgdG8gY3JlYXRlIGEgbmV3IG9uZVxuXG4vLz09IG90aGVyIGNvbG9yc1xuJGNvbG9yLXllbGxvdzogI2ZmZTYwMDtcbiRjb2xvci1ncmVlbjogIzAxNzUyQjtcbiRjb2xvci1ibHVlOiAjMDBmO1xuJGNvbG9yLXJlZDogI2YwMDtcbiRjb2xvci10aWxlOiBncmV5O1xuJGNvbG9yLWJsYWNrOiBibGFjaztcbiRjb2xvci1wdXJwbGU6ICM3YzM1YmY7XG4kY29sb3ItYnJvd246ICM2ODVCNTI7XG4kY29sb3ItZ3JleTogIzg0ODQ4NDtcblxuLy8gcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IGNvbG9yc1xuXG4kY29sb3ItcHJpbWFyeTogJGNvbG9yLWJsYWNrO1xuJGNvbG9yLXNlY29uZGFyeTogJGNvbG9yLXRpbGU7XG5cblxuXG4vLz09ICRIVE1MXG4kY29sb3ItYmc6IHdoaXRlO1xuJGNvbG9yLWJnLXNlY3Rpb24tZmlyc3Q6ICRjb2xvci1ibGFjaztcbiRjb2xvci1iZy1zZWN0aW9uLXNlY29uZDogJGNvbG9yLWJsYWNrO1xuJGNvbG9yLWJnLXNlY3Rpb24tdGhpcmQ6IHdoaXRlO1xuJGNvbG9yLWJnLXNlY3Rpb24tZm91cnRoOiB3aGl0ZTtcbiRjb2xvci1iZy1zZWN0aW9uLWZpZnRoOiB3aGl0ZTtcblxuLy89PSB0ZXh0IGNvbG9yXG4kY29sb3ItdGV4dDogJGNvbG9yLWJsYWNrO1xuXG4kY29sb3ItaGVhZGVyLXJlZ2lvbjogY29sb3ItYmxhY2s7XG4kY29sb3ItYmctaGVhZGVyLXJlZ2lvbjogd2hpdGU7XG5cbi8vPT0gaDEtaDYgY29sb3JcbiRjb2xvci10aXRsZTogJGNvbG9yLWJsYWNrO1xuJGNvbG9yLWJsb2NrLXRpdGxlOiBkYXJrZW4od2hpdGUsIDIwJSk7XG5cbi8vPT0gbGlua3NcbiRjb2xvci1saW5rOiAkY29sb3ItdGV4dDtcbiRjb2xvci1saW5rLWhvdmVyOiAkY29sb3ItdGV4dDtcblxuLy89PSBtb2JpbGUgbWVudSBjb2xvclxuJGNvbG9yLW1vYmlsZS1tZW51LWJnOiAkY29sb3ItYmxhY2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBtb2JpbGUgbWVudSBiYWNrZ3JvdW5kIGNvbG9yICovXG4kY29sb3ItbW9iaWxlLW1lbnUtdGV4dDogd2hpdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxpbmsgdGV4dCBjb2xvciAqL1xuJGNvbG9yLW1vYmlsZS1tZW51LXRleHQtaG92ZXI6IHdoaXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBob3ZlciBsaW5rIHRleHQgY29sb3IgKi9cbiRjb2xvci1tb2JpbGUtbWVudS10ZXh0LWFjdGl2ZTogd2hpdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogXG4gbGluayB0ZXh0IGNvbG9yICovXG4kY29sb3ItbW9iaWxlLW1lbnUtdGV4dC1hY3RpdmUtYmc6ICRjb2xvci1wcmltYXJ5OyAgICAgICAgICAgICAgICAgICAgIC8qIGFjdGl2ZSBsaW5rIGJhY2tncm91bmQgY29sb3IgKi9cbiRjb2xvci1tb2JpbGUtbWVudS1oYW1idXJnZXI6ICRjb2xvci1wcmltYXJ5OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMyB2ZXJ0aWNhbCBsaW5lIGNvbG9yICovXG4kY29sb3ItbW9iaWxlLW1lbnUtaGFtYnVyZ2VyLWJnOiB0cmFuc3BhcmVudDtcblxuLy89PSBuYXZpZ2F0aW9uXG4kY29sb3ItbmF2aWdhdGlvbi1iZzogJGNvbG9yLWJsYWNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVMIGJnIGNvbG9yICovXG4kY29sb3ItbmF2aWdhdGlvbi1saW5rOiB3aGl0ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxpbmsgdGV4dCBjb2xvciAqL1xuJGNvbG9yLW5hdmlnYXRpb24tbGluay1ob3Zlcjogd2hpdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBob3ZlciBsaW5rIHRleHQgY29sb3IgKi9cbiRjb2xvci1uYXZpZ2F0aW9uLWxpbmstYWN0aXZlOiAkY29sb3ItbmF2aWdhdGlvbi1saW5rLWhvdmVyOyAgICAgICAgICAgLyogYWN0aXZlIGxpbmsgdGV4dCBjb2xvciAqL1xuJGNvbG9yLW5hdmlnYXRpb24tbGluay1iZzogJGNvbG9yLWJsYWNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0ZXh0IGJhY2tncm91bmQgY29sb3IgKi9cbiRjb2xvci1uYXZpZ2F0aW9uLWxpbmstYmctaG92ZXI6ICRjb2xvci1wcmltYXJ5OyAgICAgICAgICAgICAgICAgICAgICAgLyogaG92ZXIgdGV4dCBiYWNrZ3JvdW5kIGNvbG9yICovXG4kY29sb3ItbmF2aWdhdGlvbi1saW5rLWJnLWFjdGl2ZTogJGNvbG9yLW5hdmlnYXRpb24tbGluay1iZy1ob3ZlcjsgICAgIC8qIGFjdGl2ZSB0ZXh0IGJhY2tncm91bmQgY29sb3IgKi9cblxuLy89PSBmb3JtXG4kY29sb3ItZm9ybS1sYWJlbC10ZXh0OiBkYXJrZW4od2hpdGUsIDQwJSk7XG4kY29sb3ItZm9ybS10ZXh0OiBkYXJrZW4od2hpdGUsIDQwJSk7XG4kY29sb3ItZm9ybS1iZzogd2hpdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGlucHV0IGJhY2tncm91bmQgY29sb3IgKi9cbiRjb2xvci1mb3JtLWJnLWhvdmVyOiB3aGl0ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaG92ZXIgaW5wdXQgYmFja2dyb3VuZCBjb2xvciAqL1xuJGNvbG9yLWZvcm0tYm9yZGVyOiAkY29sb3ItcHJpbWFyeTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpbnB1dCBib3JkZXIgY29sb3IgKi9cbiRjb2xvci1mb3JtLWJvcmRlci1ob3ZlcjogJGNvbG9yLXByaW1hcnk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaG92ZXIgaW5wdXQgYm9yZGVyIGNvbG9yICovXG4kY29sb3ItZm9ybS1zdWJtaXQtdGV4dDogd2hpdGUgIWltcG9ydGFudDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZvcm0gc3VibWl0IHRleHQgY29sb3IgKi9cbiRjb2xvci1mb3JtLXN1Ym1pdC10ZXh0LWhvdmVyOiB3aGl0ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaG92ZXIgZm9ybSBzdWJtaXQgdGV4dCBjb2xvciAqL1xuJGNvbG9yLWZvcm0tc3VibWl0LWJnOiAkY29sb3ItcHJpbWFyeTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmb3JtIHN1Ym1pdCBiYWNrZ3JvdW5kIGNvbG9yICovXG4kY29sb3ItZm9ybS1zdWJtaXQtYmctaG92ZXI6ICRjb2xvci1zZWNvbmRhcnk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGhvdmVyIGZvcm0gc3VibWl0IGJhY2tncm91bmQgY29sb3IgKi9cbiRjb2xvci1mb3JtLXN1Ym1pdC1ib3JkZXI6IHRyYW5zcGFyZW50OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZm9ybSBzdWJtaXQgYm9yZGVyIGNvbG9yICovXG5cbi8vPT0gZm9ybSByYWRpbyAtIGNoZWNrYm94XG4kY29sb3ItY2hlY2tib3g6ICRjb2xvci1wcmltYXJ5O1xuJGNvbG9yLXJhZGlvOiAkY29sb3ItcHJpbWFyeTtcblxuLy89PSB0YWJsZXNcbiRjb2xvci10YWJsZS1ib3JkZXI6ICRjb2xvci1wcmltYXJ5O1xuJGNvbG9yLXRhYmxlLWJnOiB3aGl0ZTtcbiRjb2xvci10YWJsZS1ldmVuLWJnOiByZ2JhKCRjb2xvci1wcmltYXJ5LCAwLjIpO1xuJGNvbG9yLXRhYmxlLWhlYWRlci10ZXh0OiAkY29sb3ItdGV4dDtcbiRjb2xvci10YWJsZS1oZWFkZXItYmc6IHdoaXRlO1xuJGNvbG9yLXRhYmxlLXRleHQ6ICRjb2xvci10ZXh0O1xuXG4vLz09IGxhbmd1YWdlIHN3aXRjaGVyXG5cbiRjb2xvci1sYW5nLXN3aXRjaGVyLWJnOiB3aGl0ZTtcblxuLy89PSBwcmltYXJ5IHRhYnMgLSBBZG1pbmlzdHJhdG9yIGxvZ2luLWVkaXQtdmlldy1ldGMgdGFic1xuJGNvbG9yLXByaW1hcnktdGFicy1iZzogI2VlZTtcbiRjb2xvci1wcmltYXJ5LXRhYnMtYm9yZGVyOiAgJGNvbG9yLXByaW1hcnk7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gIGJvZHkudG9vbGJhci1maXhlZCAudG9vbGJhci1vcmllbnRlZCxcbiAgLnRvb2xiYXItb3JpZW50ZWQgLnRvb2xiYXItYmFyLFxuICAudG9vbGJhci1vcmllbnRlZCAudG9vbGJhci10cmF5IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRiaWctbWVudS13aWR0aDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLWxlZnQgMC4yNXM7XG4gIH1cbiAgLmZpeGVkIHtcbiAgICAmYm9keS50b29sYmFyLWZpeGVkIC50b29sYmFyLW9yaWVudGVkLFxuICAgIC50b29sYmFyLW9yaWVudGVkIC50b29sYmFyLWJhcixcbiAgICAudG9vbGJhci1vcmllbnRlZCAudG9vbGJhci10cmF5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNtYWxsLW1lbnUtd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIkZ3JpZC1zaXplOiAyNCAhZGVmYXVsdDtcblxuJG5hcnJvdzogNzY4cHggIWRlZmF1bHQ7XG4kbm9ybWFsOiAxMDI0cHggIWRlZmF1bHQ7XG4kd2lkZTogMTYwMHB4ICFkZWZhdWx0O1xuXG4kYmlnLW1lbnUtd2lkdGg6IDE0MHB4O1xuJHNtYWxsLW1lbnUtd2lkdGg6IDcwcHg7XG5cbiRuYXJyb3ctb25seTogKCRuYXJyb3cgJG5vcm1hbCAtIDFweCk7XG4kbm9ybWFsLW9ubHk6ICgkbm9ybWFsICR3aWRlIC0gMXB4KTtcblxuJGNvbnRhaW5lci1tb2JpbGU6IDEwMCU7XG4kY29udGFpbmVyLW5vcm1hbDogY2FsYygxMDAlIC0gI3skYmlnLW1lbnUtd2lkdGh9IC0gMTVweCk7XG4kY29udGFpbmVyLW5vZGU6IGNhbGMoMTAwJSAtICN7JGJpZy1tZW51LXdpZHRofSk7XG5cbiRzdXN5OiBcbiggXG5cdGZsb3c6IGx0ciwgXG5cdG1hdGg6IGZsdWlkLCBcblx0b3V0cHV0OiBmbG9hdCwgXG5cdGd1dHRlci1wb3NpdGlvbjogYWZ0ZXIsIFxuXHRjb250YWluZXI6ICRjb250YWluZXItbm9ybWFsLFxuXHRjb250YWluZXItcG9zaXRpb246IHJpZ2h0LCBcblx0Y29sdW1uczogJGdyaWQtc2l6ZSwgXG5cdGd1dHRlcnM6IDAuNSwgXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3gsIFxuXHRsYXN0LWZsb3c6IHRvLFxuXHRjbGVhcmZpeDogdHJ1ZVxuKTtcbiIsIi50aGVtZS1kZW1vLWJsb2NrIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvci1ncmVlbiwgMjAlKTtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAkY29sb3ItZ3JlZW47XG4gIGJvcmRlci1yaWdodDogOHB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgY29sb3I6IGRhcmtlbigkY29sb3ItZ3JlZW4sIDIwJSk7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJi5hY3RpdmUtcmVnaW9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvci1ncmVlbiwgMjAlKTtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCAkY29sb3ItZ3JlZW47XG4gIH1cbiAgJi5pbmFjdGl2ZS1yZWdpb24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yLXllbGxvdywgMjAlKTtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICRjb2xvci15ZWxsb3c7XG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgJGNvbG9yLXllbGxvdztcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvci15ZWxsb3csIDIwJSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBoMyB7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmRlbW8tYmxvY2stY29udGVudCBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgfiAuYmxvY2stcmVnaW9uLmRlbW8tYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5ibG9jay1sb2NhbC10YXNrcy1ibG9jayAudGFicy5wcmltYXJ5IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkY29sb3ItcHJpbWFyeS10YWJzLWJnO1xuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktdGFicy1iZztcbiAgICB9XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICYuaXMtYWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvci1wcmltYXJ5LXRhYnMtYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLnplcm8tY2xpcGJvYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHdoaXRlLCA2JSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbih3aGl0ZSwgMzAlKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgd2lkdGg6IDYwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZmlndXJlLmhpZ2hsaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4od2hpdGUsIDMlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKHdoaXRlLCAzMCUpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDtcbn1cblxuLmNvbnRleHQtdHlwb2dyYXBoeSB7XG4gIC5uby1zdHlsZSB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbih3aGl0ZSwgMjAlKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4od2hpdGUsIDIwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLz09IGZvcm0gbGFiZWxcbiVmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkY29sb3ItZm9ybS1sYWJlbC10ZXh0O1xufVxuXG4uZm9ybS1pdGVtLFxuLmZvcm0tYWN0aW9ucyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMWVtIDA7XG59XG5cbi8vPT0gcGxhY2Vob2xkZXJcbnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRjb2xvci10ZXh0O1xufVxuXG4vLz09YXV0b2ZpbGxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZm9ybS1iZyAhaW1wb3J0YW50O1xufVxuXG4vLz09IGZvcm0gZWxlbWVudHNcbi5mb3JtLWl0ZW0ge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGxhYmVsIHtcbiAgICBAZXh0ZW5kICVmb3JtLWxhYmVsO1xuICB9XG4gIGlucHV0LFxuICB0ZXh0YXJlYSxcbiAgc2VsZWN0IHtcbiAgICBjb2xvcjogJGNvbG9yLWZvcm0tdGV4dDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1mb3JtLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZm9ybS1iZztcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuMzVlbSAxLjVlbTtcbiAgICBtYXJnaW46IDAuM2VtIDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZm9ybS1ib3JkZXItaG92ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZm9ybS1iZy1ob3ZlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG4gIGlucHV0LmZvcm0tdGV4dCxcbiAgaW5wdXQuZm9ybS1lbWFpbCxcbiAgaW5wdXQuZm9ybS1udW1iZXIsXG4gIGlucHV0LmZvcm0tZGF0ZSxcbiAgaW5wdXQuZm9ybS10aW1lLFxuICBpbnB1dC5mb3JtLXNlYXJjaCxcbiAgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cbiAgc2VsZWN0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3B0aW9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbiAgaW5wdXQ6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIH1cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogZGFya2VuKHdoaXRlLCA2MCUpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgfVxufVxuXG4vLz09IGZpbGVcbmlucHV0LmZvcm0tZmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmZvcm0tbWFuYWdlZC1maWxlIC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbjogMDtcbiAgQGV4dGVuZCAlc3VibWl0LWJ1dHRvbjtcbn1cblxuLy89ZGF0ZXRpbWVcbi5maWVsZC0tdHlwZS1kYXRldGltZSB7XG4gIC5sYWJlbCB7XG4gICAgQGV4dGVuZCAlZm9ybS1sYWJlbDtcbiAgfVxufVxuXG4vLz09IEZvcm0gc3VibWl0LCBidXR0b25cbi5mb3JtLXN1Ym1pdCB7XG4gIEBleHRlbmQgJXN1Ym1pdC1idXR0b247XG59XG5cbi8vPT1maWVsZHNldFxuZmllbGRzZXQge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvci1mb3JtLWJvcmRlcjtcbiAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICAuZmllbGRzZXQtbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi8vPT0gY2hlY2tib3ggLHJhZGlvIGJhc2Vcbi5mb3JtLXR5cGUtY2hlY2tib3gsXG4uZm9ybS10eXBlLXJhZGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICtsYWJlbCxcbiAgICAmW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICtsYWJlbCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDRweDtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLz09IGNoZWNrYm94XG4uZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgbGFiZWwge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1jaGVja2JveDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY2hlY2tib3g7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArbGFiZWwge1xuICAgICY6YWZ0ZXIge1xuICAgICAgbGVmdDogNHB4O1xuICAgICAgdG9wOiAyNHB4O1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLz09IHJhZGlvIGJ1dHRvblxuLmZvcm0tdHlwZS1yYWRpbyB7XG4gIGxhYmVsIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItcmFkaW87XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJhZGlvO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbiAgfVxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArbGFiZWwge1xuICAgICY6YWZ0ZXIge1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgIH1cbiAgfVxufVxuXG4vLz09IEZpbGVcbi5mb3JtLXR5cGUtbWFuYWdlZC1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDIwcHggMDtcbiAgPiBsYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjb2xvcjogJGNvbG9yLWZvcm0tdGV4dDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1mb3JtLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZm9ybS1iZztcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5mb3JtLW1hbmFnZWQtZmlsZSB7XG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG4gIC5qcy1oaWRlLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZGVzY3JpcHRpb24sXG4gIC5pbWFnZS1wcmV2aWV3IHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLz09IGJ1dHRvblxuJXN1Ym1pdC1idXR0b24ge1xuICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgbWFyZ2luOiA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDIycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3ItZm9ybS1zdWJtaXQtdGV4dC1ob3ZlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDMwcHg7XG4gICAgfVxuICB9XG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xOHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDE4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICB9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRwYWRkaW5nOiAyMHB4IDcwcHg7XG5cdH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgcGFkZGluZzogMjBweCAxMTBweDtcbiAgfVxufVxuXG4lc3VibWl0LWJ1dHRvbi1zZWNvbmQge1xuICBjb2xvcjogJGNvbG9yLWZvcm0tc3VibWl0LXRleHQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLWZvcm0tc3VibWl0LWJvcmRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMjBweCA3MHB4O1xuICBtYXJnaW46IDVweCAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yLWZvcm0tc3VibWl0LXRleHQtaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0yMnB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMzRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAzM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAyMnB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICBwYWRkaW5nOiAyMHB4IDExMHB4O1xuICB9XG59XG5cbi8vY29udGFjdFxuLmNvbnRhY3QtbWVzc2FnZS1mZWVkYmFjay1mb3JtIHtcbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbiAgLmZvcm0tc3VibWl0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvL2JvZHkgZm9udCBzaXplXG5ib2R5IHtcbiAgLy8gZm9udC1zaXplOiAkc2l6ZS1mb250O1xuICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xufVxuXG4vLz09IGhlYWRpbmdcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiAkY29sb3ItdGl0bGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250O1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogY2FsYygkc2l6ZS1oMS8xLjUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygkc2l6ZS1oMS8xLjUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG4gICAgICBmb250LXNpemU6ICRzaXplLWgxO1xuICAgIH1cbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAkc2l6ZS1oMjtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAmLmJsb2NrLXRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGMoJHNpemUtaDEvMi4yKTtcbiAgICBjb2xvcjogJGNvbG9yLWJsb2NrLXRpdGxlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCkge1xuICAgICAgZm9udC1zaXplOiBjYWxjKCRzaXplLWgxLzEuMjUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG4gICAgICBmb250LXNpemU6IGNhbGMoI3skc2l6ZS1oMX0gKyAyMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuaDMge1xuICBmb250LXNpemU6ICRzaXplLWgzO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogJHNpemUtaDQ7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAkc2l6ZS1oNTtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAkc2l6ZS1oNjtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi8vPT0gbGlua3NcbmEsXG5hOmhvdmVyLFxuYTp2aXNpdGVkLFxuYTpmb2N1cyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG59XG5cbmE6aG92ZXIsXG5hOmZvY3VzIHtcbiAgY29sb3I6ICRjb2xvci1saW5rLWhvdmVyO1xufVxuXG5hOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8vPT0gcGFyYWdyYXBoXG5wIHtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGVtIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuXG4vLz09IGxpc3RzXG51bCB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxudWwsXG5vbCB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gIH1cbn1cblxuLy89PSByZXNwb25zaXZlIGltZ1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi52aWV3cy1maWVsZC1maWVsZC1saW5rLC5maWVsZC0tbmFtZS1maWVsZC1saW5rIHtcbiAgYSB7XG4gICAgQGV4dGVuZCAlc3VibWl0LWJ1dHRvbjtcbiAgfVxufVxuXG4ubm9kZS1yZWFkbW9yZSBhIHtcbiAgQGV4dGVuZCAlc3VibWl0LWJ1dHRvbi1zZWNvbmQ7XG59XG5cbi8vc2ltcGxlIGN1c3RvbSBibG9jayB0eXBlXG4ucGF0aC1mcm9udHBhZ2Uge1xuICBbaWQqPVwic2VjdGlvblwiXSxcbiAgI2NvbnRlbnQsXG4gICNoZWxwZXIge1xuICAgIC5zaW1wbGUtYmxvY2ssXG4gICAgLnJlZ2lvbi1oZWxwZXIge1xuICAgICAgLmJsb2NrLXRpdGxlLFxuICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGd1dHRlcigpKjI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGd1dHRlcigpKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogZ3V0dGVyKCk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogZ3V0dGVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuICAgICAgICAgIG1heC13aWR0aDogMTM1MHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIzM3B4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRiaWctbWVudS13aWR0aH0gLSAjeyRzbWFsbC1tZW51LXdpZHRofSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRiaWctbWVudS13aWR0aH0gLSAjeyRzbWFsbC1tZW51LXdpZHRofSArIDEwcHgpO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIyM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1zdWJ0aXRsZSB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1saW5rIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGV4dGVuZCAlc3VibWl0LWJ1dHRvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5maWVsZC0tbmFtZS1ib2R5IGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuW2lkKj1cInNlY3Rpb25cIl0ge1xuICAuc2ltcGxlLWJsb2NrIHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweCAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuICAgICAgfVxuICAgIH1cbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuICAgICAgJjpmaXJzdC1jaGlsZCAuYmxvY2stY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lbnUsXG4ubmF2aWdhdGlvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uc2l0ZS1sb2dvIGltZyB7XG4gICAgbWF4LXdpZHRoOiA3MHB4O1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgLmZpeGVkIHtcbiAgICAuc2l0ZS1sb2dvIGltZyB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4jbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtMjcwcHg7XG4gIHdpZHRoOiAkYmlnLW1lbnUtd2lkdGg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tb2JpbGUtbWVudS1iZztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdWwubWVudSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW1vYmlsZS1tZW51LXRleHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHggMjBweCA0NXB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCkge1xuICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweCAzMHB4IDQ1cHg7XG5cbiAgICAgICAgfVxuICAgICAgICAmLmlzLWFjdGl2ZS1tZW51IHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLW1vYmlsZS1tZW51LXRleHQtYWN0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tb2JpbGUtbWVudS10ZXh0LWFjdGl2ZS1iZztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC0xOHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJHNtYWxsLW1lbnUtd2lkdGggc29saWQgJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmW2NsYXNzKj1cIm1lbnUtXCJdIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgbGVmdDogLTYwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCkge1xuICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuLy8gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICB0b3A6IDI4cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmlzLXZpc2libGUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgbGVmdDogMDtcbiAgICAmLmZpeGVkIHtcbiAgICAgIHdpZHRoOiAkc21hbGwtbWVudS13aWR0aDtcbiAgICAgIHVsIGxpIGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAzNXB4O1xuICAgICAgICAgIGxlZnQ6IDM1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJltjbGFzcyo9XCJtZW51LVwiXSB7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4IDMwcHggNTBweDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTMwMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHdpZHRoOiAkYmlnLW1lbnUtd2lkdGg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCN7JGJpZy1tZW51LXdpZHRofSAtICN7JHNtYWxsLW1lbnUtd2lkdGh9KTtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1tb2JpbGUtbWVudS1iZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmFuaW1hdGlvbiB7XG4gICAgICB1bCBsaSBhIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC0yMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNsaWRpbmctcGFuZWwtZmFkZS1zY3JlZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxODtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIHRyYW5zaXRpb246IGFsbCAwLjIycyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgJi5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuI2Jsb2NrLW1vYmlsZW1lbnV0cmlnZ2VyIHtcbiAgei1pbmRleDogMjA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBhIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgcGFkZGluZzogMTBweCA2cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgc3BhbixcbiAgICBzcGFuOmJlZm9yZSxcbiAgICBzcGFuOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTlweDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLmlzLWFjdGl2ZSB7IFxuICAgYmFja2dyb3VuZDogcmVkO1xuIH1cbiIsIi8vIG1vdmUgdGhlIFwiYmFyXCIgdG8gdGhlIGxlZnQgb2YgdGhlIG1lc3NhZ2VzIGluc2lkZSB0aGUgYm94XG4vLyByYXRoZXIgdGhhbiB1c2luZyBib3ggc2hhZG93XG4ubWVzc2FnZXMtLXdhcm5pbmcge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkICNFMDk2MDA7XG59XG5cbi5tZXNzYWdlcy0tc3RhdHVzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjNzdCMjU5O1xufVxuXG4ubWVzc2FnZXMtLWVycm9yIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjRTYyNjAwO1xufVxuXG4ubWVzc2FnZXMtLXN1Y2Nlc3Mge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICBib3JkZXItY29sb3I6IGRhcmtlbigjRDlFREY3LCAyMCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDlFREY3O1xufVxuIiwidGFibGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGFibGUtYm9yZGVyO1xuICB0ciB7XG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRhYmxlLWhlYWRlci1iZztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICRjb2xvci10YWJsZS1oZWFkZXItdGV4dDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRhYmxlLWJnO1xuICAgICAgY29sb3I6ICRjb2xvci10YWJsZS10ZXh0O1xuICAgIH1cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10YWJsZS1ldmVuLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLz09IHRhYmxlIHdpdGhvdXQgc3R5bGVcbnRhYmxlLm5vLXN0eWxlIHtcbiAgYm9yZGVyOiBub25lO1xuICB0ciB7XG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJbaWQqPSdicmVhZGNydW1icyddIHtcbiAgbGkge1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNpemUtYnJlYWRjcnVtYjtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGEge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNmb290ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gIC5ibG9jay1jb250ZW50IHtcbiAgICBjb2xvcjogZGFya2VuKHdoaXRlLCAyMCUpO1xuICAgIGEge1xuICAgICAgY29sb3I6IGRhcmtlbih3aGl0ZSwgMjAlKTtcbiAgICB9XG4gIH1cbiAgLypTb2NpYWwgSWNvbnMqL1xuICAucmVnaW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgJi5yZWdpb24tZm9vdGVyLWZpcnN0IHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgICAmW2hyZWYqPVwiZmFjZWJvb2tcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zb2NpYWwvZmFjZWJvb2suc3ZnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJltocmVmKj1cInBsdXMuZ29vZ2xlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc29jaWFsL2dvb2dsZS1wbHVzLnN2Zyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZbaHJlZio9XCJsaW5rZWRpblwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NvY2lhbC9saW5rZWRpbi5zdmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmW2hyZWYqPVwibWVzc2VuZ2VyXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc29jaWFsL21lc3Nlbmdlci5zdmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmW2hyZWYqPVwicGludGVyZXN0XCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc29jaWFsL3BpbnRlcmVzdC5zdmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmW2hyZWYqPVwidHdpdHRlclwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NvY2lhbC90d2l0dGVyLnN2Zyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZbaHJlZio9XCJ2aWJlclwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NvY2lhbC92aWJlci5zdmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmW2hyZWYqPVwid2hhdHNhcHBcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zb2NpYWwvd2hhdHNhcHAuc3ZnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJltocmVmKj1cImluc3RhZ3JhbVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NvY2lhbC9pbnN0YWdyYW0uc3ZnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGJhc2ljIHBhZ2Vcbi5ub2RlLS10eXBlLXBhZ2UsXG4uZnVsbC53b3JrIHtcbiAgaDEucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgaDIucGFnZS1zdWItdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi5ub2RlLS10eXBlLXBhZ2Uge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAmLnBhdGgtZnJvbnRwYWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuICAubm9kZS1sZWZ0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5ub2RlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDUwcHggMjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbi5mdWxsLndvcmsge1xuICAubm9kZS13b3JrLWxlZnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCkge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5vZGUtd29yay1yaWdodCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAubm9kZS13b3JrLXJpZ2h0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNTBweCAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzQuNWRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDkxJSwgZGFya2VuKHdoaXRlLCAxNSUpIDkxJSk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWluLWhlaWdodDogODIwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA4MjBweDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgLm5vZGUtd29yay1yaWdodC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDczNXB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MzVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICAgICAgcGFkZGluZzogNTBweDtcbiAgICAgIH1cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbih3aGl0ZSwgMTUlKTtcbiAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAubm9kZS13b3JrLXJpZ2h0LWJvdHRvbS1jb250YWluZXIge1xuICAgICAgICAuZmllbGQge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbn1cblxuLmxpZ2h0Z2FsbGVyeS13cmFwcGVyIHVsLmxpZ2h0Z2FsbGVyeSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpIHtcbiAgICBAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICAgIEBpbmNsdWRlIGdhbGxlcnkoNCBvZiAxMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubGctdGh1bWIge1xuICAubGctdGh1bWItaXRlbSB7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uc2UtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuIiwiLy8gcmVtIFN1cHBvcnRcbi8vID09PT09PT09PT09XG5cbi8vIHJlbVxuLy8gLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3Igb3V0cHV0IGRpcmVjdGx5LlxuLy8gLSAkcHJvcCAgOiA8Y3NzIHByb3BlcnR5PlxuLy8gLSAkdmFsICAgOiA8Y3NzIHZhbHVlPlxuQG1peGluIHN1c3ktcmVtKFxuICAkcHJvcCxcbiAgJHZhbFxuKSB7XG4gICRfcmVxczogKFxuICAgIHZhcmlhYmxlOiByaHl0aG0tdW5pdCByZW0td2l0aC1weC1mYWxsYmFjayxcbiAgICBtaXhpbjogcmVtLFxuICApO1xuICBAaWYgc3VzeS1zdXBwb3J0KHJlbSwgJF9yZXFzLCAkd2FybjogZmFsc2UpIGFuZCAkcmh5dGhtLXVuaXQgPT0gcmVtIHtcbiAgICBAaW5jbHVkZSByZW0oJHByb3AsICR2YWwpO1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wfTogJHZhbDtcbiAgfVxufVxuIiwiLy8gR2FsbGVyeSBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS1cbi8vIENyZWF0ZSBhbiBpc29sYXRlZCBnYWxsZXJ5XG4vLyAtICRzcGFuICAgICAgICA6IDxzcGFuPlxuLy8gLSBbJHNlbGVjdG9yXSAgOiBjaGlsZCB8IG9mLXR5cGVcbkBtaXhpbiBnYWxsZXJ5KFxuICAkc3BhbixcbiAgJHNlbGVjdG9yOiBjaGlsZFxuKSB7XG4gICRpbnNwZWN0ICAgIDogJHNwYW47XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRzcGFuICAgICAgIDogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246IDEpKTtcblxuICAkbiAgICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkY29udGV4dCAgICAgIDogc3VzeS1jb3VudCgkY29sdW1ucyk7XG4gICRmbG93ICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG5cbiAgJGluc2lkZSAgICAgICA6IGlzLWluc2lkZSgkc3Bhbik7XG4gICRmcm9tICAgICAgICAgOiBmcm9tKCRmbG93KTtcbiAgJGxpbmUgICAgICAgICA6IGZsb29yKCRjb250ZXh0IC8gJG4pO1xuICAkc3ltbWV0cmljYWwgIDogaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aCAgICAgICAgICAgICA6IG51bGwsXG4gICAgZmxvYXQgICAgICAgICAgICAgOiBmcm9tLFxuICAgIG1hcmdpbi1iZWZvcmUgICAgIDogbnVsbCxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IG51bGwsXG4gICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICBmbG93ICAgICAgICAgICAgICA6ICRmbG93LFxuICApO1xuXG4gIEBpZiAkaW5zaWRlIHtcbiAgICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAoXG4gICAgICBwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKSxcbiAgICAgIHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKSxcbiAgICApKTtcbiAgfVxuXG4gIEBpZiAkc3ltbWV0cmljYWwge1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAod2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKSkpO1xuICB9XG5cbiAgJGJveCAgICAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGdsb2JhbC1ib3ggICA6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSA9PSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2FsbGVyeSwgJGluc3BlY3QpO1xuXG4gIC8vIENvbGxlY3RpdmUgT3V0cHV0XG4gIEBpZiAkYm94ID09IGJvcmRlci1ib3ggb3IgKCRpbnNpZGUgYW5kIG5vdCgkYm94KSBhbmQgbm90KCRnbG9iYWwtYm94KSkge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogYm9yZGVyLWJveCkpO1xuICB9IEBlbHNlIGlmICRib3ggPT0gY29udGVudC1ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogY29udGVudC1ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIC8vIEluZGl2aWR1YWwgTG9vcFxuICBAZm9yICRpdGVtIGZyb20gMSB0aHJvdWdoICRsaW5lIHtcbiAgICAkbnRoOiAnI3skbGluZX1uICsgI3skaXRlbX0nO1xuICAgICY6bnRoLSN7JHNlbGVjdG9yfSgjeyRudGh9KSB7XG4gICAgICAvLyBJbmRpdmlkdWFsIFByZXBcbiAgICAgICRvdXRwdXQ6IChcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgOiBpZigkc3ltbWV0cmljYWwsIG51bGwsIGdldC1zcGFuLXdpZHRoKCRzcGFuKSksXG4gICAgICAgIGZsb2F0ICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgbWFyZ2luLWJlZm9yZSAgICAgOiBnZXQtaXNvbGF0aW9uKCRzcGFuKSxcbiAgICAgICAgbWFyZ2luLWFmdGVyICAgICAgOiAtMTAwJSxcbiAgICAgICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgICAgICBwYWRkaW5nLWFmdGVyICAgICA6IG51bGwsXG4gICAgICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICAgICApO1xuXG4gICAgICAvLyBJbmRpdmlkdWFsIE91dHB1dFxuICAgICAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgICAgIEBpZiBnZXQtZWRnZSgkc3BhbikgPT0gZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVhaztcbiAgICAgICAgQGluY2x1ZGUgZmlyc3QoJHNwYW4pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgTG9jYXRpb24gSW5jcmVtZW50XG4gICAgICAkbG9jYXRpb246IGdldC1sb2NhdGlvbigkc3BhbikgKyAkbjtcbiAgICAgICRsb2NhdGlvbjogaWYoJGxvY2F0aW9uID4gJGNvbnRleHQsIDEsICRsb2NhdGlvbik7XG4gICAgICAkc3BhbjogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246ICRsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRmxvYXQgU3BhbiBBUElcbi8vID09PT09PT09PT09PT09XG5cbi8vIEZsb2F0IFNwYW4gT3V0cHV0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSAkd2lkdGggICAgICAgICAgICAgOiA8bGVuZ3RoPlxuLy8gLSBbJGZsb2F0XSAgICAgICAgICAgOiBmcm9tIHwgdG9cbi8vIC0gWyRtYXJnaW4tYmVmb3JlXSAgIDogPGxlbmd0aD5cbi8vIC0gWyRtYXJnaW4tYWZ0ZXJdICAgIDogPGxlbmd0aD5cbi8vIC0gWyRwYWRkaW5nLWJlZm9yZV0gIDogPGxlbmd0aD5cbi8vIC0gWyRwYWRkaW5nLWFmdGVyXSAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgICAgICAgICAgIDogbHRyIHwgcnRsXG5AbWl4aW4gZmxvYXQtc3Bhbi1vdXRwdXQoXG4gICR3aWR0aCxcbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tLFxuICAkbWFyZ2luLWJlZm9yZSAgICA6IG51bGwsXG4gICRtYXJnaW4tYWZ0ZXIgICAgIDogbnVsbCxcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsLFxuICAkcGFkZGluZy1hZnRlciAgICA6IG51bGwsXG4gICRmbG93ICAgICAgICAgICAgIDogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkdG8gICAgIDogdG8oJGZsb3cpO1xuICAkZnJvbSAgIDogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIHdpZHRoOiAkd2lkdGgsXG4gICAgZmxvYXQ6IGlmKCRmbG9hdCA9PSB0bywgJHRvLCBudWxsKSBvciBpZigkZmxvYXQgPT0gZnJvbSwgJGZyb20sIG51bGwpLFxuICAgIG1hcmdpbi0jeyRmcm9tfTogJG1hcmdpbi1iZWZvcmUsXG4gICAgbWFyZ2luLSN7JHRvfTogJG1hcmdpbi1hZnRlcixcbiAgICBwYWRkaW5nLSN7JGZyb219OiAkcGFkZGluZy1iZWZvcmUsXG4gICAgcGFkZGluZy0jeyR0b306ICRwYWRkaW5nLWFmdGVyLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIFJvdyBTdGFydCAmIEVuZFxuLy8gPT09PT09PT09PT09PT09XG5cbi8vIEJyZWFrXG4vLyAtLS0tLVxuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgdGhhdCBzaG91bGQgZm9yY2UgYSBsaW5lIGJyZWFrLlxuQG1peGluIGJyZWFrIHtcbiAgQGluY2x1ZGUgb3V0cHV0KChjbGVhcjogYm90aCkpO1xufVxuXG5cbi8vIE5vQnJlYWtcbi8vIC0tLS0tLS1cbi8vIENhbmNlbCB0aGUgYnJlYWsoKSBlZmZlY3QsIGUuZy4gd2hlbiB1c2luZyBtZWRpYSBxdWVyaWVzLlxuQG1peGluIG5vYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBub25lKSk7XG59XG5cblxuLy8gRnVsbFxuLy8gLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8bGF5b3V0IHNob3J0aGFuZD5cbkBtaXhpbiBmdWxsKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCA6ICRjb250ZXh0O1xuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZnVsbCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBzcGFuKGZ1bGwgb2YgcGFyc2UtZ3JpZCgkY29udGV4dCkgYnJlYWspO1xufVxuXG5cbi8vIEZpcnN0XG4vLyAtLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8c2V0dGluZ3M+XG5AbWl4aW4gZmlyc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcbiAgJGZsb3cgICAgIDogc3VzeS1nZXQoZmxvdywgJGNvbnRleHQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmaXJzdCwgJGluc3BlY3QpO1xuICBAaWYgbm90KGlzLXNwbGl0KCRjb250ZXh0KSkge1xuICAgIEBpbmNsdWRlIGZsb2F0LWZpcnN0KCRmbG93KTtcbiAgfVxufVxuXG5AbWl4aW4gYWxwaGEoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGZpcnN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBMYXN0XG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBsYXN0KFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3JpZCgkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGxhc3QsICRpbnNwZWN0KTtcblxuICAkb3V0cHV0OiAoXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJGNvbnRleHQpLFxuICAgIGxhc3QtZmxvdzogc3VzeS1nZXQobGFzdC1mbG93LCAkY29udGV4dCksXG4gICAgbWFyZ2luOiBpZihpcy1zcGxpdCgkY29udGV4dCksIG51bGwsIDApLFxuICApO1xuXG4gIEBpbmNsdWRlIGZsb2F0LWxhc3QoJG91dHB1dC4uLik7XG59XG5cbkBtaXhpbiBvbWVnYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgbGFzdCgkY29udGV4dCk7XG59XG5cblxuLy8gR2V0IEVkZ2Vcbi8vIC0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgZWRnZSB2YWx1ZSBiYXNlZCBvbiBsb2NhdGlvbiwgaWYgcG9zc2libGVcbkBmdW5jdGlvbiBnZXQtZWRnZShcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkZWRnZSAgICAgICA6IHN1c3ktZ2V0KGVkZ2UsICRzcGFuKTtcblxuICBAaWYgbm90KCRlZGdlKSB7XG4gICAgJGNvdW50OiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSk7XG4gICAgJGxvY2F0aW9uOiBzdXN5LWdldChsb2NhdGlvbiwgJHNwYW4pO1xuICAgICRuOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG5cbiAgICAkbnVtYmVyOiBpZih0eXBlLW9mKCRsb2NhdGlvbikgPT0gbnVtYmVyLCB0cnVlLCBmYWxzZSk7XG4gICAgJGluZGV4OiBpZigkbnVtYmVyIGFuZCB1bml0bGVzcygkbG9jYXRpb24pLCB0cnVlLCBmYWxzZSk7XG5cbiAgICBAaWYgJG4gPT0gJGNvdW50IHtcbiAgICAgICRlZGdlOiBmdWxsO1xuICAgIH0gQGVsc2UgaWYgJGxvY2F0aW9uIGFuZCAkbiBhbmQgJGluZGV4IHtcbiAgICAgIEBpZiAkbG9jYXRpb24gPT0gMSB7XG4gICAgICAgICRlZGdlOiBpZigkbiA9PSAkY291bnQsIGZ1bGwsIGZpcnN0KTtcbiAgICAgIH0gQGVsc2UgaWYgJGxvY2F0aW9uICsgJG4gLSAxID09ICRjb3VudCB7XG4gICAgICAgICRlZGdlOiBsYXN0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZWRnZSA9PSBhbHBoYSBvciAkZWRnZSA9PSBvbWVnYSB7XG4gICAgJGVkZ2U6IGlmKCRlZGdlID09IGFscGhhLCBmaXJzdCwgbGFzdCk7XG4gIH1cblxuICBAcmV0dXJuICRlZGdlO1xufVxuXG5cbi8vIEdldCBMb2NhdGlvblxuLy8gLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgbG9jYXRpb24gdmFsdWUgYmFzZWQgb24gZWRnZSwgaWYgcG9zc2libGVcbkBmdW5jdGlvbiBnZXQtbG9jYXRpb24oXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgOiBzdXN5LWdldChsb2NhdGlvbiwgJHNwYW4pO1xuICAkZWRnZSAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJG4gICAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG5cbiAgQGlmICRlZGdlIGFuZCBub3QoJGxvY2F0aW9uKSBhbmQgdHlwZS1vZigkbikgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkbikge1xuICAgIEBpZiAkZWRnZSA9PSBmaXJzdCB7XG4gICAgICAkbG9jYXRpb246IDE7XG4gICAgfSBAZWxzZSBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRsb2NhdGlvbjogc3VzeS1jb3VudChzdXN5LWdldChjb2x1bW5zLCAkc3BhbikpIC0gJG4gKyAxO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxvY2F0aW9uXG59XG4iLCIvLyBGbG9hdCBFbmRzIEFQSVxuLy8gPT09PT09PT09PT09PT1cblxuLy8gU3VzeSBFbmQgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBsYXN0LWZsb3c6IHRvLFxuKSk7XG5cbi8vIEZsb2F0IExhc3Rcbi8vIC0tLS0tLS0tLS1cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBmbG9hdC1sYXN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRsYXN0LWZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGxhc3QtZmxvdyksXG4gICRtYXJnaW46IDBcbikge1xuICAkdG86IHRvKCRmbG93KTtcblxuICAkb3V0cHV0OiAoXG4gICAgZmxvYXQ6IGlmKCRsYXN0LWZsb3cgPT0gdG8sICR0bywgbnVsbCksXG4gICAgbWFyZ2luLSN7JHRvfTogJG1hcmdpbixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG5cbi8vIEZsb2F0IEZpcnN0XG4vLyAtLS0tLS0tLS0tLVxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LWZpcnN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkb3V0cHV0OiAoXG4gICAgbWFyZ2luLSN7ZnJvbSgkZmxvdyl9OiAwLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi5wYXRoLWZyb250cGFnZSAjaGVhZGVyIHtcbiAgLmNvbnRleHR1YWwtcmVnaW9uIHtcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgfVxuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1iZy1oZWFkZXItcmVnaW9uO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tbGVmdDogNHZ3O1xuICAuaGVhZGVyLmltYWdlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiA4NTBweDtcbiAgICBib3R0b206IDA7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBsZWZ0OiAtMTAwcHg7XG4gICAgfVxuICAgIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCkge1xuICAgICAgbGVmdDogLTI1cHg7XG4gICAgfVxuICAgIC5maWVsZF9faXRlbXMge1xuICAgICAgd2lkdGg6IDQ5NnB4ICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICB0b3A6IDI2cHg7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIC5zbGlkZS1jb250YWluZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA0OTZweDtcbiAgICAgICAgaGVpZ2h0OiA3MDNweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDg1MHB4O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIHdpZHRoOiAzMTBweDtcbiAgICAgICAgaGVpZ2h0OiA0ODFweDtcbiAgICAgICAgbGVmdDogMTU0cHg7XG4gICAgICAgIHRvcDogMTQwcHg7XG4gICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBkaXYge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhlYWRlci5jb250ZW50IHtcbiAgICB6LWluZGV4OiA1ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCBndXR0ZXIoKTtcbiAgICAuaGVhZGVyLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1dmg7XG4gICAgICBmb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDM7XG4gICAgICBjb2xvcjogJGNvbG9yLWhlYWRlci1yZWdpb247XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgbWFyZ2luOiA1dmggMCAwIDB2dztcbiAgICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzOHZoO1xuICAgICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC0tbmFtZS1ib2R5IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItaGVhZGVyLXJlZ2lvbjtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDB2dztcbiAgICAgICB9XG5cbiAgICB9XG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWxpbmsge1xuICAgICAgcGFkZGluZy10b3A6IDd2aDtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICBtYXJnaW46IDU4dmggMCAwIDB2dztcbiAgICAgICB9XG4gICAgICBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4O1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4uZXh0cmEtY29udGFpbmVye1xuICBwb3NpdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDgwJSAhaW1wb3J0YW50O1xufVxuIiwiLm1lbnUtYWJvdXQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy91c2VyLnN2Zyk7XG59XG5cbi5tZW51LXdlYjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3dlYi5zdmcpO1xufVxuXG4ubWVudS1wcmludDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3ByaW50LnN2Zyk7XG59XG5cbi5tZW51LWlkZW50aXR5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWRlbnRpdHkuc3ZnKTtcbn1cblxuLm1lbnUtY29udGFjdDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2NvbnRhY3Quc3ZnKTtcbn1cbiIsIi5zZWFyY2gtYmxvY2stZm9ybSxcbi5zZWFyY2gtcGFnZS1mb3JtIHtcbiAgLmZvcm0taXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4iLCIucGF0aC1mcm9udHBhZ2Uge1xuICAjc2VjdGlvbl9maXJzdCxcbiAgI3NlY3Rpb25fZmlyc3QgLmJsb2NrLXRpdGxlLFxuICAjc2VjdGlvbl9maXJzdCAuYmxvY2stY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLXNlY3Rpb24tZmlyc3Q7XG4gIH1cbiAgI3NlY3Rpb25fc2Vjb25kLFxuICAjc2VjdGlvbl9zZWNvbmQgLmJsb2NrLXRpdGxlLFxuICAjc2VjdGlvbl9zZWNvbmQgLmJsb2NrLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy1zZWN0aW9uLXNlY29uZDtcbiAgfVxuICAjc2VjdGlvbl90aGlyZCxcbiAgI3NlY3Rpb25fdGhpcmQgLmJsb2NrLXRpdGxlLFxuICAjc2VjdGlvbl90aGlyZCAuYmxvY2stY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLXNlY3Rpb24tdGhpcmQ7XG4gIH1cbiAgLy9DbGllbnRzXG4gICNzZWN0aW9uX2ZvdXJ0aCxcbiAgI3NlY3Rpb25fZm91cnRoIC5ibG9jay10aXRsZSxcbiAgI3NlY3Rpb25fZm91cnRoIC5ibG9jay1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmctc2VjdGlvbi1mb3VydGg7XG4gICAgLmZpZWxkLFxuICAgIC52aWV3cy1maWVsZCB7XG4gICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgfVxuICB9XG59XG5cbi8vY29udGFjdFxuI3NlY3Rpb25fZmlmdGgsXG4jc2VjdGlvbl9maWZ0aCAuYmxvY2stdGl0bGUsXG4jc2VjdGlvbl9maWZ0aCAuYmxvY2stY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy1zZWN0aW9uLWZpZnRoO1xufVxuXG5baWQqPVwic2VjdGlvbl9cIl0ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpdltjbGFzcyo9XCJzZXBhcmF0b3JcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFycm93KSB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkd2lkZSkge1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgICAjcHJpbWFyeSB7XG4gICAgICAgLy8gZmlsbDogJGNvbG9yLXByaW1hcnk7XG4gICAgICB9XG4gICAgICAjc2Vjb25kYXJ5IHtcbiAgICAgICAvLyBmaWxsOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgLnNlY3Rpb24tZmlyc3Qtc2VwYXJhdG9yIHtcbiAgICBib3R0b206IC0xNXB4O1xuICB9XG4gIC5zZWN0aW9uLXNlY29uZC1zZXBhcmF0b3Ige1xuICAgIGJvdHRvbTogLTUwcHg7XG4gIH1cbiAgLnNlY3Rpb24tdGhpcmQtc2VwYXJhdG9yIHtcbiAgICBib3R0b206IC0yMHB4O1xuICB9XG4gIC5zZWN0aW9uLWZvdXJ0aC1zZXBhcmF0b3Ige1xuICAgIGJvdHRvbTogLTI1cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKSB7XG4gIC5zZWN0aW9uLWZpcnN0LXNlcGFyYXRvciB7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgfVxuICAuc2VjdGlvbi1zZWNvbmQtc2VwYXJhdG9yIHtcbiAgICBib3R0b206IC02MHB4O1xuICB9XG4gIC5zZWN0aW9uLXRoaXJkLXNlcGFyYXRvciB7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgfVxuICAuc2VjdGlvbi1mb3VydGgtc2VwYXJhdG9yIHtcbiAgICBib3R0b206IC0zNXB4O1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpIHtcbiAgLnNlY3Rpb24tZmlyc3Qtc2VwYXJhdG9yIHtcbiAgICBib3R0b206IC0zMHB4O1xuICB9XG4gIC5zZWN0aW9uLXNlY29uZC1zZXBhcmF0b3Ige1xuICAgIGJvdHRvbTogLTEwNXB4O1xuICB9XG4gIC5zZWN0aW9uLXRoaXJkLXNlcGFyYXRvciB7XG4gICAgYm90dG9tOiAtNDVweDtcbiAgfVxuICAuc2VjdGlvbi1mb3VydGgtc2VwYXJhdG9yIHtcbiAgICBib3R0b206IC01MHB4O1xuICB9XG59XG4iLCIuYXJ0aWNsZSB7XG4gIC5hdXRob3Ige1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgICBjb2xvcjogZGFya2VuKHdoaXRlLCA1MCUpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAuZmllbGQtLW5hbWUtdWlkIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYXRoLXVzZXJ7XG5cdCNjb250ZW50e1xuXHRcdC5jb250YWluZXJ7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKXtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy93b3JrXG4udmlldy13b3JrcyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAudmlld3Mtcm93IHtcbiAgICBAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICAgIEBpbmNsdWRlIGdhbGxlcnkoMSBvZiA2KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAudmlld3MtZmllbGQtZmllbGQtbGVhZC1pbWFnZSB7XG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgLnZpZXdzLWZpZWxkLXZpZXctbm9kZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXByaW1hcnksIDAuOCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA3MHB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2V5ZS5zdmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKSB7XG4gICAgICAgICAgcGFkZGluZzogMTAwcHggMTBweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAudmlld3MtZmllbGQtdmlldy1ub2RlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZpZXctZm9vdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4vL2NsaWVudHNcbi52aWV3LWNsaWVudHMge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLnZpZXdzLXJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAudmlld3MtZmllbGQtZmllbGQtY2xpZW50LWltYWdlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hcnJvdykge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKXtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnZpZXdzLWZpZWxkLWJvZHkge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpIHtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5vcm1hbCl7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCAxNSk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHdpZGUpe1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAudmlld3MtZmllbGQtdGl0bGUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbm9ybWFsKXtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyNCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR3aWRlKXtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIH1cbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG59XG5cbi5rYWthIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5MCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRub3JtYWwpe1xuICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5MCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYXJyb3cpe1xuICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMyUgMzMlIDMzJTtcbiAgICAgIH1cbiAgZ3JpZC1nYXA6IDNweDtcbiAgY29sb3I6ICM0NDQ7XG59XG5cbi5rYWthLWl0ZW0ge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXNpemU6IDE1MCU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn0iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCJAaW1wb3J0IFwiLi4vbGlicmFyaWVzL25vcm1hbGl6ZS1saWJzYXNzL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcIi4uL2xpYnJhcmllcy9jb21wYXNzLWJyZWFrcG9pbnQvc3R5bGVzaGVldHMvYnJlYWtwb2ludFwiO1xuQGltcG9ydCBcIi4uL2xpYnJhcmllcy9zdXN5L3Nhc3Mvc3VzeVwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9fYmFzZS1taXhpbnMuc2Nzc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9fY29sb3JzLnNjc3NcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvX2dyaWQuc2Nzc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwiYWRtaW4tdG9vbHMvX2FkbWluLXRvb2xiYXIuc2Nzc1wiO1xuQGltcG9ydCBcImFkbWluLXRvb2xzL19yZWdpb24tZGVtby5zY3NzXCI7XG5AaW1wb3J0IFwiYWRtaW4tdG9vbHMvX3RhYnMuc2Nzc1wiO1xuQGltcG9ydCBcImFkbWluLXRvb2xzL190eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9fZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcImVsZW1lbnRzL19odG1sLWVsZW1lbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9fbWFpbi1tZW51cy5zY3NzXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvX21lc3NhZ2VzLnNjc3NcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9fcGFnZXIuc2Nzc1wiO1xuQGltcG9ydCBcImVsZW1lbnRzL190YWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jsb2Nrcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mdWxsLW5vZGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9faWNvbnMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2xhbmd1YWdlLXN3aXRjaGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zZWFyY2guc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3NlY3Rpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zdWJtaXR0ZWQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3VzZXIuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3ZpZXdzLnNjc3NcIjtcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZztcblx0Jjpub3QoLnBhdGgtZnJvbnRwYWdlKXtcblx0XHQjY29udGVudHtcblx0XHRcdG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjlweCk7XG5cdFx0fVxuXHR9XG5cdCYucGF0aC11c2Vye1xuXHRcdCNjb250ZW50e1xuXHRcdFx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIDE2NnB4KTtcblx0XHR9XG5cdH1cbn1cblxuIl19 */
