/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*

github.com style (c) Vasily Polovnyov <vast@whiteants.net>

*/
.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  color: #333;
  background: #f8f8f8; }

.hljs-comment,
.hljs-quote {
  color: #998;
  font-style: italic; }

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
  color: #333;
  font-weight: bold; }

.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
  color: #008080; }

.hljs-string,
.hljs-doctag {
  color: #d14; }

.hljs-title,
.hljs-section,
.hljs-selector-id {
  color: #900;
  font-weight: bold; }

.hljs-subst {
  font-weight: normal; }

.hljs-type,
.hljs-class .hljs-title {
  color: #458;
  font-weight: bold; }

.hljs-tag,
.hljs-name,
.hljs-attribute {
  color: #000080;
  font-weight: normal; }

.hljs-regexp,
.hljs-link {
  color: #009926; }

.hljs-symbol,
.hljs-bullet {
  color: #990073; }

.hljs-built_in,
.hljs-builtin-name {
  color: #0086b3; }

.hljs-meta {
  color: #999;
  font-weight: bold; }

.hljs-deletion {
  background: #fdd; }

.hljs-addition {
  background: #dfd; }

.hljs-emphasis {
  font-style: italic; }

.hljs-strong {
  font-weight: bold; }

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }

.select2-container .select2-selection--single {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-selection--single .select2-selection__clear {
  position: relative; }

.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px; }

.select2-container .select2-selection--multiple {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline-block;
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-search--inline {
  float: left; }

.select2-container .select2-search--inline .select2-search__field {
  box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  padding: 0; }

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }

.select2-results__option[aria-selected] {
  cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  box-sizing: border-box; }

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-search--dropdown.select2-search--hide {
  display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold; }

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px; }

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0 5px;
  width: 100%; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
  list-style: none; }

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 10px;
  padding: 1px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #999;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), to(#eeeeee));
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px; }

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(#cccccc));
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, #eeeeee));
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(white));
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  color: #888;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right;
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Icons
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Icons
 * @define icon
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
@font-face {
  font-family: 'EuropaIcons';
  src: url("../fonts/europa-icons/europa-icons.eot");
  src: url("../fonts/europa-icons/europa-icons.eot?#iefix") format("embedded-opentype"), url("../fonts/europa-icons/europa-icons.woff") format("woff"), url("../fonts/europa-icons/europa-icons.ttf") format("truetype"), url("../fonts/europa-icons/europa-icons.svg#europa-icons") format("svg"); }

.ecl-icon::before {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-right: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none; }

.ecl-icon--after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none; }

.ecl-icon--arrow-down {
  /* stylelint-disable-next-line */ }
  .ecl-icon--arrow-down::before {
    content: '\e822'; }

.ecl-icon--arrow-up {
  /* stylelint-disable-next-line */ }
  .ecl-icon--arrow-up::before {
    content: '\e821'; }

.ecl-icon--audio {
  /* stylelint-disable-next-line */ }
  .ecl-icon--audio::before {
    content: '\e801'; }

.ecl-icon--book {
  /* stylelint-disable-next-line */ }
  .ecl-icon--book::before {
    content: '\0022'; }

.ecl-icon--breadcrumb {
  /* stylelint-disable-next-line */ }
  .ecl-icon--breadcrumb::before {
    content: '\e828'; }

.ecl-icon--brochure {
  /* stylelint-disable-next-line */ }
  .ecl-icon--brochure::before {
    content: '\e802'; }

.ecl-icon--budget {
  /* stylelint-disable-next-line */ }
  .ecl-icon--budget::before {
    content: '\e81a'; }

.ecl-icon--calendar {
  /* stylelint-disable-next-line */ }
  .ecl-icon--calendar::before {
    content: '\e81d'; }

.ecl-icon--camera {
  /* stylelint-disable-next-line */ }
  .ecl-icon--camera::before {
    content: '\e800'; }

.ecl-icon--check {
  /* stylelint-disable-next-line */ }
  .ecl-icon--check::before {
    content: '\e816'; }

.ecl-icon--close-dark {
  /* stylelint-disable-next-line */ }
  .ecl-icon--close-dark::before {
    content: '\e82d'; }

.ecl-icon--close {
  /* stylelint-disable-next-line */ }
  .ecl-icon--close::before {
    content: '\e82c'; }

.ecl-icon--copy {
  /* stylelint-disable-next-line */ }
  .ecl-icon--copy::before {
    content: '\29'; }

.ecl-icon--data {
  /* stylelint-disable-next-line */ }
  .ecl-icon--data::before {
    content: '\24'; }

.ecl-icon--digital {
  /* stylelint-disable-next-line */ }
  .ecl-icon--digital::before {
    content: '\e80b'; }

.ecl-icon--down {
  /* stylelint-disable-next-line */ }
  .ecl-icon--down::before {
    content: '\e81f'; }

.ecl-icon--download {
  /* stylelint-disable-next-line */ }
  .ecl-icon--download::before {
    content: '\e806'; }

.ecl-icon--edit {
  /* stylelint-disable-next-line */ }
  .ecl-icon--edit::before {
    content: '\e807'; }

.ecl-icon--energy {
  /* stylelint-disable-next-line */ }
  .ecl-icon--energy::before {
    content: '\e818'; }

.ecl-icon--error {
  /* stylelint-disable-next-line */ }
  .ecl-icon--error::before {
    content: '\e82f'; }

.ecl-icon--euro {
  /* stylelint-disable-next-line */ }
  .ecl-icon--euro::before {
    content: '\e803'; }

.ecl-icon--external {
  /* stylelint-disable-next-line */ }
  .ecl-icon--external::before {
    content: '\e825'; }

.ecl-icon--facebook {
  /* stylelint-disable-next-line */ }
  .ecl-icon--facebook::before {
    content: '\e900'; }

.ecl-icon--faq {
  /* stylelint-disable-next-line */ }
  .ecl-icon--faq::before {
    content: '\21'; }

.ecl-icon--feedback {
  /* stylelint-disable-next-line */ }
  .ecl-icon--feedback::before {
    content: '\e82e'; }

.ecl-icon--file {
  /* stylelint-disable-next-line */ }
  .ecl-icon--file::before {
    content: '\26'; }

.ecl-icon--gear {
  /* stylelint-disable-next-line */ }
  .ecl-icon--gear::before {
    content: '\e901'; }

.ecl-icon--generic-lang {
  /* stylelint-disable-next-line */ }
  .ecl-icon--generic-lang::before {
    content: '\e81e'; }

.ecl-icon--global {
  /* stylelint-disable-next-line */ }
  .ecl-icon--global::before {
    content: '\e829'; }

.ecl-icon--growth {
  /* stylelint-disable-next-line */ }
  .ecl-icon--growth::before {
    content: '\e82a'; }

.ecl-icon--hamburger {
  /* stylelint-disable-next-line */ }
  .ecl-icon--hamburger::before {
    content: '\e905'; }

.ecl-icon--image {
  /* stylelint-disable-next-line */ }
  .ecl-icon--image::before {
    content: '\e80d'; }

.ecl-icon--in {
  /* stylelint-disable-next-line */ }
  .ecl-icon--in::before {
    content: '\e806'; }

.ecl-icon--info {
  /* stylelint-disable-next-line */ }
  .ecl-icon--info::before {
    content: '\e815'; }

.ecl-icon--infographic {
  /* stylelint-disable-next-line */ }
  .ecl-icon--infographic::before {
    content: '\e80f'; }

.ecl-icon--instagram {
  /* stylelint-disable-next-line */ }
  .ecl-icon--instagram::before {
    content: '\e902'; }

.ecl-icon--language {
  /* stylelint-disable-next-line */ }
  .ecl-icon--language::before {
    content: '\e824'; }

.ecl-icon--left {
  /* stylelint-disable-next-line */ }
  .ecl-icon--left::before {
    content: '\e826'; }

.ecl-icon--linkedin {
  /* stylelint-disable-next-line */ }
  .ecl-icon--linkedin::before {
    content: '\e810'; }

.ecl-icon--livestreaming {
  /* stylelint-disable-next-line */ }
  .ecl-icon--livestreaming::before {
    content: '\e81c'; }

.ecl-icon--location {
  /* stylelint-disable-next-line */ }
  .ecl-icon--location::before {
    content: '\e81b'; }

.ecl-icon--log-in {
  /* stylelint-disable-next-line */ }
  .ecl-icon--log-in::before {
    content: '\e904'; }

.ecl-icon--logged-in {
  /* stylelint-disable-next-line */ }
  .ecl-icon--logged-in::before {
    content: '\e903'; }

.ecl-icon--multiple-files {
  /* stylelint-disable-next-line */ }
  .ecl-icon--multiple-files::before {
    content: '\e820'; }

.ecl-icon--organigram {
  /* stylelint-disable-next-line */ }
  .ecl-icon--organigram::before {
    content: '\e811'; }

.ecl-icon--package {
  /* stylelint-disable-next-line */ }
  .ecl-icon--package::before {
    content: '\e812'; }

.ecl-icon--presentation {
  /* stylelint-disable-next-line */ }
  .ecl-icon--presentation::before {
    content: '\e80e'; }

.ecl-icon--regulation {
  /* stylelint-disable-next-line */ }
  .ecl-icon--regulation::before {
    content: '\e82b'; }

.ecl-icon--right {
  /* stylelint-disable-next-line */ }
  .ecl-icon--right::before {
    content: '\e828'; }

.ecl-icon--rss {
  /* stylelint-disable-next-line */ }
  .ecl-icon--rss::before {
    content: '\e813'; }

.ecl-icon--search {
  /* stylelint-disable-next-line */ }
  .ecl-icon--search::before {
    content: '\e823'; }

.ecl-icon--share {
  /* stylelint-disable-next-line */ }
  .ecl-icon--share::before {
    content: '\e808'; }

.ecl-icon--slides {
  /* stylelint-disable-next-line */ }
  .ecl-icon--slides::before {
    content: '\e80e'; }

.ecl-icon--spinner {
  /* stylelint-disable-next-line */ }
  .ecl-icon--spinner::before {
    content: '\e805'; }

.ecl-icon--spreadsheet {
  /* stylelint-disable-next-line */ }
  .ecl-icon--spreadsheet::before {
    content: '\2d'; }

.ecl-icon--success {
  /* stylelint-disable-next-line */ }
  .ecl-icon--success::before {
    content: '\e814'; }

.ecl-icon--tag-close {
  /* stylelint-disable-next-line */ }
  .ecl-icon--tag-close::before {
    content: '\e82c'; }

.ecl-icon--twitter {
  /* stylelint-disable-next-line */ }
  .ecl-icon--twitter::before {
    content: '\e817'; }

.ecl-icon--up {
  /* stylelint-disable-next-line */ }
  .ecl-icon--up::before {
    content: '\e827'; }

.ecl-icon--video {
  /* stylelint-disable-next-line */ }
  .ecl-icon--video::before {
    content: '\e800'; }

.ecl-icon--warning {
  /* stylelint-disable-next-line */ }
  .ecl-icon--warning::before {
    content: '\e804'; }

.ecl-icon--rounded {
  border-radius: 50%;
  display: inline-block;
  font-size: 0.875rem;
  height: 2.22rem;
  line-height: 2.22rem;
  text-align: center;
  width: 2.22rem; }

.ecl-icon--rounded::before {
  line-height: inherit;
  margin-right: 0; }

/**
 * Image
 * @define image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Image
 * @define image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-image {
  border-style: none;
  vertical-align: baseline; }

.ecl-image--fluid {
  height: auto;
  max-width: 100%; }

.ecl-image--align-middle {
  vertical-align: middle; }

/**
 * Typography rules
 * @define typography
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Typography rules
 * @define typography
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-typography {
  font-family: Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility; }

/**
 * Headings
 * @define heading
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Headings
 * @define heading
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-heading {
  margin: 0 0 1.66rem;
  padding: 0; }

.ecl-heading--h1 {
  color: #000;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-heading--h2 {
  color: #000;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-heading--h3 {
  color: #404040;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-heading--h4 {
  color: #404040;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-heading--h5 {
  color: #404040;
  font-size: 1rem;
  line-height: 1.1;
  max-width: 32em;
  text-transform: uppercase; }

.ecl-heading--headline {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 2.2; }

/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-heading--h1 {
  margin-top: 4.44rem; }

/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-heading--h2 {
  margin-top: 3.33rem; }

/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-heading--h3 {
  margin-top: 2.22rem; }

/**
 * List
 * @define list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * List
 * @define list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-list {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em; }

.ecl-list--alpha {
  list-style-type: lower-latin; }

.ecl-list--unstyled {
  list-style: none;
  padding-left: 0; }

.ecl-list--inline {
  list-style: none;
  padding-left: 0;
  /* stylelint-disable-next-line */ }
  .ecl-list--inline li {
    display: inline-block;
    margin-left: 0.66rem;
    /* stylelint-disable-next-line */ }
    .ecl-list--inline li:first-child {
      margin-left: 0; }

/**
 * Typography: paragraphs
 * @define paragraph
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Typography: paragraphs
 * @define paragraph
 */
.ecl-paragraph {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em; }

.ecl-paragraph--l {
  font-size: 1.375rem; }

.ecl-paragraph--m {
  font-size: 1.125rem; }

.ecl-paragraph--s {
  font-size: 1rem; }

.ecl-paragraph--xs {
  font-size: 0.875rem; }

.ecl-paragraph--xxs {
  font-size: 0.75rem; }

/**
 * Image
 * @define image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Editor - Image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor img {
  border-style: none;
  height: auto;
  max-width: 100%;
  vertical-align: baseline; }

.ecl-editor * + img {
  margin-top: 0.66rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor h1 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #000;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-editor h2 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #000;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-editor h3 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #404040;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-editor h4 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #404040;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-editor h5 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #404040;
  font-size: 1rem;
  line-height: 1.1;
  max-width: 32em;
  text-transform: uppercase; }

.ecl-editor * + h1 {
  margin-top: 4.44rem; }

.ecl-editor * + h2 {
  margin-top: 3.33rem; }

.ecl-editor * + h3 {
  margin-top: 2.22rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor ul,
.ecl-editor ol {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor * {
  box-sizing: border-box;
  color: #404040;
  font-size: 1.125rem;
  margin: 0; }

.ecl-editor p {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em;
  margin: 0; }

.ecl-editor * + p {
  margin-top: 0.66rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable max-nesting-depth */
.ecl-container {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 480px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 768px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 992px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 1200px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 480px) {
    .ecl-container {
      max-width: 100%;
      width: 440px; } }
  @media (min-width: 768px) {
    .ecl-container {
      max-width: 100%;
      width: 720px; } }
  @media (min-width: 992px) {
    .ecl-container {
      max-width: 100%;
      width: 960px; } }
  @media (min-width: 1200px) {
    .ecl-container {
      max-width: 100%;
      width: 1170px; } }

.ecl-container-fluid {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 480px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 768px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 992px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 1200px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }

.ecl-row {
  box-sizing: border-box;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem; }
  @media (min-width: 480px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }
  @media (min-width: 768px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }
  @media (min-width: 992px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }
  @media (min-width: 1200px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }

.ecl-no-gutters {
  margin-left: 0;
  margin-right: 0; }
  .ecl-no-gutters > .ecl-col,
  .ecl-no-gutters > [class*='ecl-col-'] {
    padding-left: 0;
    padding-right: 0; }

.ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
  min-height: 1px;
  position: relative;
  width: 100%; }
  @media (min-width: 480px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 768px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 992px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 1200px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }

/* stylelint-disable-next-line order/order */
.ecl-col {
  flex-basis: 0;
  -webkit-box-flex: 1;
          flex-grow: 1;
  max-width: 100%; }

.ecl-col-auto {
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  width: auto; }

.ecl-col-1 {
  -webkit-box-flex: 0;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.ecl-col-2 {
  -webkit-box-flex: 0;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.ecl-col-3 {
  -webkit-box-flex: 0;
          flex: 0 0 25%;
  max-width: 25%; }

.ecl-col-4 {
  -webkit-box-flex: 0;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.ecl-col-5 {
  -webkit-box-flex: 0;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.ecl-col-6 {
  -webkit-box-flex: 0;
          flex: 0 0 50%;
  max-width: 50%; }

.ecl-col-7 {
  -webkit-box-flex: 0;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.ecl-col-8 {
  -webkit-box-flex: 0;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.ecl-col-9 {
  -webkit-box-flex: 0;
          flex: 0 0 75%;
  max-width: 75%; }

.ecl-col-10 {
  -webkit-box-flex: 0;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.ecl-col-11 {
  -webkit-box-flex: 0;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.ecl-col-12 {
  -webkit-box-flex: 0;
          flex: 0 0 100%;
  max-width: 100%; }

.ecl-pull-0 {
  right: auto; }

.ecl-pull-1 {
  right: 8.33333%; }

.ecl-pull-2 {
  right: 16.66667%; }

.ecl-pull-3 {
  right: 25%; }

.ecl-pull-4 {
  right: 33.33333%; }

.ecl-pull-5 {
  right: 41.66667%; }

.ecl-pull-6 {
  right: 50%; }

.ecl-pull-7 {
  right: 58.33333%; }

.ecl-pull-8 {
  right: 66.66667%; }

.ecl-pull-9 {
  right: 75%; }

.ecl-pull-10 {
  right: 83.33333%; }

.ecl-pull-11 {
  right: 91.66667%; }

.ecl-pull-12 {
  right: 100%; }

.ecl-push-0 {
  left: auto; }

.ecl-push-1 {
  left: 8.33333%; }

.ecl-push-2 {
  left: 16.66667%; }

.ecl-push-3 {
  left: 25%; }

.ecl-push-4 {
  left: 33.33333%; }

.ecl-push-5 {
  left: 41.66667%; }

.ecl-push-6 {
  left: 50%; }

.ecl-push-7 {
  left: 58.33333%; }

.ecl-push-8 {
  left: 66.66667%; }

.ecl-push-9 {
  left: 75%; }

.ecl-push-10 {
  left: 83.33333%; }

.ecl-push-11 {
  left: 91.66667%; }

.ecl-push-12 {
  left: 100%; }

.ecl-offset-1 {
  margin-left: 8.33333%; }

.ecl-offset-2 {
  margin-left: 16.66667%; }

.ecl-offset-3 {
  margin-left: 25%; }

.ecl-offset-4 {
  margin-left: 33.33333%; }

.ecl-offset-5 {
  margin-left: 41.66667%; }

.ecl-offset-6 {
  margin-left: 50%; }

.ecl-offset-7 {
  margin-left: 58.33333%; }

.ecl-offset-8 {
  margin-left: 66.66667%; }

.ecl-offset-9 {
  margin-left: 75%; }

.ecl-offset-10 {
  margin-left: 83.33333%; }

.ecl-offset-11 {
  margin-left: 91.66667%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-col-sm {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    max-width: 100%; }
  .ecl-col-sm-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto; }
  .ecl-col-sm-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-sm-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-sm-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-sm-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-sm-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-sm-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-sm-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-sm-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-sm-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-sm-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-sm-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-sm-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-sm-0 {
    right: auto; }
  .ecl-pull-sm-1 {
    right: 8.33333%; }
  .ecl-pull-sm-2 {
    right: 16.66667%; }
  .ecl-pull-sm-3 {
    right: 25%; }
  .ecl-pull-sm-4 {
    right: 33.33333%; }
  .ecl-pull-sm-5 {
    right: 41.66667%; }
  .ecl-pull-sm-6 {
    right: 50%; }
  .ecl-pull-sm-7 {
    right: 58.33333%; }
  .ecl-pull-sm-8 {
    right: 66.66667%; }
  .ecl-pull-sm-9 {
    right: 75%; }
  .ecl-pull-sm-10 {
    right: 83.33333%; }
  .ecl-pull-sm-11 {
    right: 91.66667%; }
  .ecl-pull-sm-12 {
    right: 100%; }
  .ecl-push-sm-0 {
    left: auto; }
  .ecl-push-sm-1 {
    left: 8.33333%; }
  .ecl-push-sm-2 {
    left: 16.66667%; }
  .ecl-push-sm-3 {
    left: 25%; }
  .ecl-push-sm-4 {
    left: 33.33333%; }
  .ecl-push-sm-5 {
    left: 41.66667%; }
  .ecl-push-sm-6 {
    left: 50%; }
  .ecl-push-sm-7 {
    left: 58.33333%; }
  .ecl-push-sm-8 {
    left: 66.66667%; }
  .ecl-push-sm-9 {
    left: 75%; }
  .ecl-push-sm-10 {
    left: 83.33333%; }
  .ecl-push-sm-11 {
    left: 91.66667%; }
  .ecl-push-sm-12 {
    left: 100%; }
  .ecl-offset-sm-0 {
    margin-left: 0%; }
  .ecl-offset-sm-1 {
    margin-left: 8.33333%; }
  .ecl-offset-sm-2 {
    margin-left: 16.66667%; }
  .ecl-offset-sm-3 {
    margin-left: 25%; }
  .ecl-offset-sm-4 {
    margin-left: 33.33333%; }
  .ecl-offset-sm-5 {
    margin-left: 41.66667%; }
  .ecl-offset-sm-6 {
    margin-left: 50%; }
  .ecl-offset-sm-7 {
    margin-left: 58.33333%; }
  .ecl-offset-sm-8 {
    margin-left: 66.66667%; }
  .ecl-offset-sm-9 {
    margin-left: 75%; }
  .ecl-offset-sm-10 {
    margin-left: 83.33333%; }
  .ecl-offset-sm-11 {
    margin-left: 91.66667%; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-col-md {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    max-width: 100%; }
  .ecl-col-md-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto; }
  .ecl-col-md-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-md-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-md-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-md-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-md-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-md-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-md-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-md-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-md-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-md-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-md-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-md-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-md-0 {
    right: auto; }
  .ecl-pull-md-1 {
    right: 8.33333%; }
  .ecl-pull-md-2 {
    right: 16.66667%; }
  .ecl-pull-md-3 {
    right: 25%; }
  .ecl-pull-md-4 {
    right: 33.33333%; }
  .ecl-pull-md-5 {
    right: 41.66667%; }
  .ecl-pull-md-6 {
    right: 50%; }
  .ecl-pull-md-7 {
    right: 58.33333%; }
  .ecl-pull-md-8 {
    right: 66.66667%; }
  .ecl-pull-md-9 {
    right: 75%; }
  .ecl-pull-md-10 {
    right: 83.33333%; }
  .ecl-pull-md-11 {
    right: 91.66667%; }
  .ecl-pull-md-12 {
    right: 100%; }
  .ecl-push-md-0 {
    left: auto; }
  .ecl-push-md-1 {
    left: 8.33333%; }
  .ecl-push-md-2 {
    left: 16.66667%; }
  .ecl-push-md-3 {
    left: 25%; }
  .ecl-push-md-4 {
    left: 33.33333%; }
  .ecl-push-md-5 {
    left: 41.66667%; }
  .ecl-push-md-6 {
    left: 50%; }
  .ecl-push-md-7 {
    left: 58.33333%; }
  .ecl-push-md-8 {
    left: 66.66667%; }
  .ecl-push-md-9 {
    left: 75%; }
  .ecl-push-md-10 {
    left: 83.33333%; }
  .ecl-push-md-11 {
    left: 91.66667%; }
  .ecl-push-md-12 {
    left: 100%; }
  .ecl-offset-md-0 {
    margin-left: 0%; }
  .ecl-offset-md-1 {
    margin-left: 8.33333%; }
  .ecl-offset-md-2 {
    margin-left: 16.66667%; }
  .ecl-offset-md-3 {
    margin-left: 25%; }
  .ecl-offset-md-4 {
    margin-left: 33.33333%; }
  .ecl-offset-md-5 {
    margin-left: 41.66667%; }
  .ecl-offset-md-6 {
    margin-left: 50%; }
  .ecl-offset-md-7 {
    margin-left: 58.33333%; }
  .ecl-offset-md-8 {
    margin-left: 66.66667%; }
  .ecl-offset-md-9 {
    margin-left: 75%; }
  .ecl-offset-md-10 {
    margin-left: 83.33333%; }
  .ecl-offset-md-11 {
    margin-left: 91.66667%; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-col-lg {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    max-width: 100%; }
  .ecl-col-lg-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto; }
  .ecl-col-lg-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-lg-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-lg-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-lg-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-lg-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-lg-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-lg-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-lg-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-lg-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-lg-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-lg-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-lg-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-lg-0 {
    right: auto; }
  .ecl-pull-lg-1 {
    right: 8.33333%; }
  .ecl-pull-lg-2 {
    right: 16.66667%; }
  .ecl-pull-lg-3 {
    right: 25%; }
  .ecl-pull-lg-4 {
    right: 33.33333%; }
  .ecl-pull-lg-5 {
    right: 41.66667%; }
  .ecl-pull-lg-6 {
    right: 50%; }
  .ecl-pull-lg-7 {
    right: 58.33333%; }
  .ecl-pull-lg-8 {
    right: 66.66667%; }
  .ecl-pull-lg-9 {
    right: 75%; }
  .ecl-pull-lg-10 {
    right: 83.33333%; }
  .ecl-pull-lg-11 {
    right: 91.66667%; }
  .ecl-pull-lg-12 {
    right: 100%; }
  .ecl-push-lg-0 {
    left: auto; }
  .ecl-push-lg-1 {
    left: 8.33333%; }
  .ecl-push-lg-2 {
    left: 16.66667%; }
  .ecl-push-lg-3 {
    left: 25%; }
  .ecl-push-lg-4 {
    left: 33.33333%; }
  .ecl-push-lg-5 {
    left: 41.66667%; }
  .ecl-push-lg-6 {
    left: 50%; }
  .ecl-push-lg-7 {
    left: 58.33333%; }
  .ecl-push-lg-8 {
    left: 66.66667%; }
  .ecl-push-lg-9 {
    left: 75%; }
  .ecl-push-lg-10 {
    left: 83.33333%; }
  .ecl-push-lg-11 {
    left: 91.66667%; }
  .ecl-push-lg-12 {
    left: 100%; }
  .ecl-offset-lg-0 {
    margin-left: 0%; }
  .ecl-offset-lg-1 {
    margin-left: 8.33333%; }
  .ecl-offset-lg-2 {
    margin-left: 16.66667%; }
  .ecl-offset-lg-3 {
    margin-left: 25%; }
  .ecl-offset-lg-4 {
    margin-left: 33.33333%; }
  .ecl-offset-lg-5 {
    margin-left: 41.66667%; }
  .ecl-offset-lg-6 {
    margin-left: 50%; }
  .ecl-offset-lg-7 {
    margin-left: 58.33333%; }
  .ecl-offset-lg-8 {
    margin-left: 66.66667%; }
  .ecl-offset-lg-9 {
    margin-left: 75%; }
  .ecl-offset-lg-10 {
    margin-left: 83.33333%; }
  .ecl-offset-lg-11 {
    margin-left: 91.66667%; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 1200px) {
  .ecl-col-xl {
    flex-basis: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    max-width: 100%; }
  .ecl-col-xl-auto {
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto; }
  .ecl-col-xl-1 {
    -webkit-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-xl-2 {
    -webkit-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-xl-3 {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-xl-4 {
    -webkit-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-xl-5 {
    -webkit-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-xl-6 {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-xl-7 {
    -webkit-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-xl-8 {
    -webkit-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-xl-9 {
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-xl-10 {
    -webkit-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-xl-11 {
    -webkit-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-xl-12 {
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-xl-0 {
    right: auto; }
  .ecl-pull-xl-1 {
    right: 8.33333%; }
  .ecl-pull-xl-2 {
    right: 16.66667%; }
  .ecl-pull-xl-3 {
    right: 25%; }
  .ecl-pull-xl-4 {
    right: 33.33333%; }
  .ecl-pull-xl-5 {
    right: 41.66667%; }
  .ecl-pull-xl-6 {
    right: 50%; }
  .ecl-pull-xl-7 {
    right: 58.33333%; }
  .ecl-pull-xl-8 {
    right: 66.66667%; }
  .ecl-pull-xl-9 {
    right: 75%; }
  .ecl-pull-xl-10 {
    right: 83.33333%; }
  .ecl-pull-xl-11 {
    right: 91.66667%; }
  .ecl-pull-xl-12 {
    right: 100%; }
  .ecl-push-xl-0 {
    left: auto; }
  .ecl-push-xl-1 {
    left: 8.33333%; }
  .ecl-push-xl-2 {
    left: 16.66667%; }
  .ecl-push-xl-3 {
    left: 25%; }
  .ecl-push-xl-4 {
    left: 33.33333%; }
  .ecl-push-xl-5 {
    left: 41.66667%; }
  .ecl-push-xl-6 {
    left: 50%; }
  .ecl-push-xl-7 {
    left: 58.33333%; }
  .ecl-push-xl-8 {
    left: 66.66667%; }
  .ecl-push-xl-9 {
    left: 75%; }
  .ecl-push-xl-10 {
    left: 83.33333%; }
  .ecl-push-xl-11 {
    left: 91.66667%; }
  .ecl-push-xl-12 {
    left: 100%; }
  .ecl-offset-xl-0 {
    margin-left: 0%; }
  .ecl-offset-xl-1 {
    margin-left: 8.33333%; }
  .ecl-offset-xl-2 {
    margin-left: 16.66667%; }
  .ecl-offset-xl-3 {
    margin-left: 25%; }
  .ecl-offset-xl-4 {
    margin-left: 33.33333%; }
  .ecl-offset-xl-5 {
    margin-left: 41.66667%; }
  .ecl-offset-xl-6 {
    margin-left: 50%; }
  .ecl-offset-xl-7 {
    margin-left: 58.33333%; }
  .ecl-offset-xl-8 {
    margin-left: 66.66667%; }
  .ecl-offset-xl-9 {
    margin-left: 75%; }
  .ecl-offset-xl-10 {
    margin-left: 83.33333%; }
  .ecl-offset-xl-11 {
    margin-left: 91.66667%; } }

/**
 * Form
 * @define form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Form
 * @define form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form {
  margin: 0;
  padding: 0; }

/**
 * Form Fieldset
 * @define fieldset
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Form Fieldset
 * @define fieldset
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-fieldset {
  margin-top: 1.66rem; }

/* Top-level fieldsets */
.ecl-fieldset + .ecl-fieldset {
  margin-top: 3.33rem; }

/* Nested fieldsets */
.ecl-fieldset .ecl-fieldset + .ecl-fieldset {
  margin-top: 2.22rem; }

/**
 * Legend component
 * @define form-legend
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Legend component
 * @define form-legend
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form-legend {
  font-weight: 600;
  line-height: 1.66;
  margin: 0; }

/* Variants */
.ecl-form-legend--level-1 {
  border-bottom: 1px solid #9f9f9f;
  color: #404040;
  display: block;
  font-size: 1.375rem;
  width: 100%; }

.ecl-form-legend--level-2 {
  color: #000;
  font-size: 1.125rem; }

/**
 * Form Group
 * @define form-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Form Group
 * @define form-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form-group {
  margin: 0; }
  @media print {
    .ecl-form-group {
      display: none !important; } }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-form-group {
  margin-top: 1.66rem; }

/**
 * Buttons component
 * @define form-label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Buttons component
 * @define form-label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form-label {
  color: #404040;
  display: block;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
  padding: 0;
  text-align: left; }

/**
 * Checkbox component
 * @define checkbox
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Checkbox component
 * @define checkbox
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-checkbox {
  display: block;
  font-size: 1.125rem;
  margin: 0;
  padding: 0; }

.ecl-checkbox--is-disabled {
  color: #707070;
  cursor: not-allowed; }

.ecl-checkbox__label {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: inline-flex; }
  .ecl-checkbox__label::before {
    background: #fff url("../images/checkbox-unchecked.svg") no-repeat;
    border: 3px solid transparent;
    border-radius: 25%;
    box-sizing: border-box;
    content: '';
    display: block;
    flex-shrink: 0;
    height: 1.5em;
    margin-right: 0.66rem;
    width: 1.5em; }

.ecl-checkbox--has-error .ecl-checkbox__label::before {
  border-color: #da2130; }

.ecl-checkbox--is-disabled .ecl-checkbox__label::before {
  box-shadow: 0 0 1.5em #e3e3e3 inset; }

.ecl-checkbox__input:checked + .ecl-checkbox__label::before {
  background-image: url("../images/checkbox-checked--blue.svg"); }

.ecl-checkbox__input:focus + .ecl-checkbox__label::before {
  border-color: #ffd617; }

/*
 * Feedback message
 * @define feedback-message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Feedback message
 * @define feedback-message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Typography: paragraphs
 * @define paragraph
 */
.ecl-feedback-message {
  background: transparent url("../images/messages-info.svg") no-repeat 1.2rem 1.2rem;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  min-height: 2.22rem;
  padding: 0.89rem 2.22rem 0.89rem 4.44rem; }
  @media print {
    .ecl-feedback-message {
      display: none !important; } }

.ecl-feedback-message--error {
  background-color: #f5f5f5;
  background-image: url("../images/messages-error.svg"); }

.ecl-feedback-message__title {
  font-weight: bold;
  margin-bottom: 0.89rem; }

.ecl-feedback-message__body {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em;
  font-size: 1rem;
  margin: 0; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-feedback-message {
  margin-top: 0.89rem; }

/*
 * File upload
 * @define file-upload
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * File upload
 * @define file-upload
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-file-upload {
  display: -webkit-inline-box;
  display: inline-flex;
  margin: 0;
  width: 100%; }

.ecl-file-upload__value {
  background-color: #fff;
  background-image: none;
  border: 1px solid #404040;
  color: #404040;
  display: block;
  -webkit-box-flex: 1;
          flex-grow: 1;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  overflow: hidden;
  padding: 0.33rem 0.66rem;
  text-overflow: ellipsis;
  white-space: nowrap; }
  .ecl-file-upload__value:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }

.ecl-file-upload__browse {
  background-color: #404040;
  border: 2px solid transparent;
  color: #fff;
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  margin: 0;
  padding: 0.33rem 0.89rem; }
  .ecl-file-upload__browse:hover, .ecl-file-upload__browse:focus, .ecl-file-upload__browse:active {
    background-color: #004494;
    outline: 3px solid #fbc11d;
    outline-offset: -3px; }

.ecl-file-upload__upload {
  background-color: #004494;
  border: 2px solid transparent;
  color: #fff;
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  margin-left: 0.33rem;
  padding: 0.33rem 0.89rem; }
  .ecl-file-upload__upload:hover, .ecl-file-upload__upload:focus, .ecl-file-upload__upload:active {
    background-color: #fff;
    border-color: #004494;
    color: #004494;
    text-decoration: underline; }
  .ecl-file-upload__upload:focus {
    outline: 3px solid #fbc11d;
    outline-offset: -3px; }

.ecl-file-upload__input {
  display: none; }

.ecl-file-upload--is-disabled .ecl-file-upload__value {
  background-color: #eee;
  cursor: not-allowed; }

.ecl-file-upload--is-disabled .ecl-file-upload__browse {
  cursor: not-allowed; }

.ecl-file-upload--has-error .ecl-file-upload__value {
  border-color: #da2130;
  border-width: 2px; }

.ecl-file-upload--has-error .ecl-file-upload__browse {
  background-color: #da2130; }

/*
 * Help Block
 * @define help-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Help Block
 * @define help-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-help-block {
  color: #404040;
  font-size: 0.875rem;
  line-height: 1.66;
  margin: 0; }
  @media print {
    .ecl-help-block {
      display: none !important; } }

.ecl-help-block--disabled {
  color: #707070; }

.ecl-help-block--has-error {
  color: #404040; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-help-block {
  margin-top: 0.89rem; }

/*
 * Radio
 * @define radio
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Radio
 * @define radio
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-radio {
  display: block;
  font-size: 1.125rem;
  margin: 0;
  padding: 0.33rem 0; }

.ecl-radio--is-disabled {
  color: #707070;
  cursor: not-allowed; }

.ecl-radio__label {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: inline-flex; }
  .ecl-radio__label::before {
    background: #fff url("../images/radio-unchecked.svg") no-repeat;
    border: 3px solid transparent;
    border-radius: 50%;
    box-sizing: border-box;
    content: '';
    display: block;
    flex-shrink: 0;
    height: 1.5rem;
    margin-right: 0.66rem;
    width: 1.5rem; }

.ecl-radio--has-error .ecl-radio__label::before {
  border-color: #da2130; }

.ecl-radio__input:checked + .ecl-radio__label::before {
  background-image: url("../images/radio-checked--blue.svg"); }

.ecl-radio__input:focus + .ecl-radio__label::before {
  border-color: #ffd617; }

/*
 * Radio group
 * @define radio-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Radio group
 * @define radio-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-radio-group {
  margin: 0;
  padding: 0; }

/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-select {
  background: url("../images/arrow-down--white.svg"), -webkit-gradient(linear, left top, left bottom, from(#404040), to(#404040));
  background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #404040, #404040);
  background-position: right 0.66rem center, right;
  background-repeat: no-repeat;
  background-size: 1rem auto, 2.32rem 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #404040;
  border-radius: 0;
  color: #404040;
  display: block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  margin: 0;
  padding: 0.66rem 2.65rem 0.66rem 0.66rem;
  width: 100%;
  /* Spacing */
  /* stylelint-disable-next-line plugin/selector-bem-pattern */ }
  * + .ecl-select {
    margin-top: 0.89rem; }
  .ecl-select::-ms-expand {
    display: none; }
  .ecl-select:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }
  .ecl-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000; }
  .ecl-select[disabled], .ecl-select[readonly] {
    background-color: #eee;
    cursor: not-allowed;
    opacity: 1; }
  .ecl-select:not([disabled]):not([readonly]):hover {
    background: url("../images/arrow-down--white.svg"), -webkit-gradient(linear, left top, left bottom, from(#004494), to(#004494));
    background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #004494, #004494);
    background-position: right 0.66rem center, right;
    background-repeat: no-repeat;
    background-size: 1rem auto, 2.32rem 100%;
    border-color: #004494; }

.ecl-select--has-error {
  background: url("../images/arrow-down--white.svg"), -webkit-gradient(linear, left top, left bottom, from(#da2130), to(#da2130));
  background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #da2130, #da2130);
  background-position: right 0.66rem center, right;
  background-repeat: no-repeat;
  background-size: 1rem auto, 2.32rem 100%;
  border-color: #da2130;
  border-width: 2px; }

/**
 * Text input component
 * @define text-input
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Text input component
 * @define text-input
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-text-input {
  background-color: #fff;
  background-image: none;
  border: 1px solid #404040;
  box-sizing: border-box;
  color: #404040;
  display: block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding: 0.33rem 0.66rem;
  width: 100%;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */ }
  * + .ecl-text-input {
    margin-top: 0.89rem; }
  .ecl-text-input:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }
  .ecl-text-input[disabled], .ecl-text-input[readonly] {
    background-color: #eee;
    cursor: not-allowed;
    opacity: 1; }

.ecl-text-input--has-error {
  border-color: #da2130;
  border-width: 2px; }

/**
 * Textarea component
 * @define textarea
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Textarea component
 * @define textarea
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-textarea {
  background-color: #fff;
  background-image: none;
  border: 1px solid #404040;
  box-sizing: border-box;
  color: #404040;
  display: block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding: 0.33rem 0.66rem;
  width: 100%;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */ }
  * + .ecl-textarea {
    margin-top: 0.89rem; }
  .ecl-textarea:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }
  .ecl-textarea[disabled], .ecl-textarea--is-disabled, .ecl-textarea[readonly], .ecl-textarea--is-readonly {
    background-color: #eee;
    cursor: not-allowed;
    opacity: 1; }

.ecl-textarea--has-error {
  border-color: #da2130; }
  .ecl-textarea--has-error:focus {
    border-color: #ae1a26;
    outline-color: #ae1a26; }

/**
 * Blockquotes
 * @define blockquote
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Blockquotes
 * @define blockquote
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-blockquote {
  border-left: 8px solid #ffd617;
  margin: 0;
  padding: 0.66rem 0 0.66rem 1.66rem; }

.ecl-blockquote__body {
  color: #404040;
  font-size: 1.375rem;
  font-style: italic;
  line-height: 1.5;
  margin: 0; }
  .ecl-blockquote__body::before {
    content: open-quote; }
  .ecl-blockquote__body::after {
    content: close-quote; }

.ecl-blockquote__author {
  color: #404040;
  font-size: 1rem;
  font-style: italic;
  font-weight: 600;
  margin-top: 0.66rem; }

.ecl-blockquote--small {
  border-left-width: 6px; }
  .ecl-blockquote--small .ecl-blockquote__body {
    font-size: 1.125rem; }
  .ecl-blockquote--small .ecl-blockquote__author {
    font-size: 0.875rem; }

/**
 * Button component
 * @define button
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Buttons component
 * @define button
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 2px solid transparent;
  box-sizing: border-box;
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  padding: 0.89rem 1rem;
  text-decoration: none; }
  .ecl-button:hover, .ecl-button:focus, .ecl-button:active {
    text-decoration: underline; }
  .ecl-button:focus {
    outline: 3px solid #ffd617;
    outline-offset: -3px; }

.ecl-button:link {
  text-decoration: none; }
  .ecl-button:link:hover {
    text-decoration: underline; }

.ecl-button--default {
  border-color: #004494;
  color: #004494; }
  .ecl-button--default:hover, .ecl-button--default:focus, .ecl-button--default:active {
    background-color: #004494;
    color: #fff; }
  .ecl-button--default[disabled] {
    background-color: transparent;
    border-color: #bfd0e4;
    color: #bfd0e4;
    text-decoration: none; }

.ecl-button--primary {
  background-color: #004494;
  border-color: #004494;
  color: #fff; }
  .ecl-button--primary:hover, .ecl-button--primary:focus, .ecl-button--primary:active {
    background-color: transparent;
    color: #004494; }
  .ecl-button--primary[disabled] {
    background-color: #bfd0e4;
    border-color: #bfd0e4;
    color: #fff;
    text-decoration: none; }

.ecl-button--secondary {
  color: #004494; }
  .ecl-button--secondary:hover, .ecl-button--secondary:focus, .ecl-button--secondary:active {
    color: #404040; }
  .ecl-button--secondary[disabled] {
    background-color: transparent;
    color: #bfd0e4;
    text-decoration: none; }

.ecl-button--call {
  background-color: #ffd617;
  border-color: #ffd617;
  color: #000; }
  .ecl-button--call:focus {
    border-color: #000;
    outline-color: #000; }
  .ecl-button--call[disabled] {
    background-color: #fff4bb;
    border-color: #fff4bb;
    color: #9f9f9f;
    text-decoration: none; }

.ecl-button--form {
  background-color: #e3e3e3;
  border-color: #e3e3e3;
  color: #004494; }
  .ecl-button--form:hover {
    color: #404040; }
  .ecl-button--form:focus, .ecl-button--form:active {
    background-color: #004494;
    color: #fff; }

.ecl-button--form-primary {
  background-color: #004494;
  border-color: #004494;
  color: #fff; }
  .ecl-button--form-primary:hover {
    background-color: #e3e3e3;
    border-color: #e3e3e3;
    color: #404040; }
  .ecl-button--form-primary:focus, .ecl-button--form-primary:active {
    background-color: #004494;
    color: #fff; }

.ecl-button--block {
  display: block;
  width: 100%; }

.ecl-button--caret-up::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e827';
  font-size: 0.875rem;
  margin-left: 0.66rem; }

.ecl-button--caret-right::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e828';
  font-size: 0.875rem;
  margin-left: 0.66rem; }

.ecl-button--caret-down::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e81f';
  font-size: 0.875rem;
  margin-left: 0.66rem; }

/*
 * Date block
 * @define date-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Date block
 * @define date-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-date-block {
  background-color: #f5f5f5;
  border-bottom: 0.2em solid #ffd617;
  display: -webkit-inline-box;
  display: inline-flex;
  margin: 0;
  position: relative; }
  .ecl-date-block::before {
    border-left: 1.2em solid transparent;
    border-top: 1.2em solid #fff;
    content: '';
    position: absolute;
    right: 0;
    top: 0; }

.ecl-date-block__body {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  min-height: 5.55rem;
  min-width: 5.55rem; }

.ecl-date-block__week-day {
  font-size: 0.875rem;
  line-height: 1.2; }

.ecl-date-block__day {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2; }

.ecl-date-block__month {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1; }

.ecl-date-block__year {
  font-size: 1rem;
  line-height: 1.2; }

.ecl-date-block--ongoing {
  background-color: #ffd617; }

.ecl-date-block--cancelled {
  border-bottom-color: #ebebeb;
  text-decoration: line-through; }

.ecl-date-block--past {
  background-color: #fff;
  border: 0.2em solid #9f9f9f; }
  .ecl-date-block--past::before {
    border-left-width: 1.35em;
    border-top-width: 1.35em;
    right: -0.2em;
    top: -0.2em; }
  .ecl-date-block--past::after {
    border-right: 0.2em solid #9f9f9f;
    content: '';
    height: 1.85em;
    position: absolute;
    right: 0.45em;
    top: -0.4em;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }

/**
 * Fields component
 * @define field
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Fields component
 * @define field
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-field {
  -webkit-box-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  margin: 0;
  width: 100%; }

.ecl-field__label {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.33rem; }

.ecl-field + .ecl-field {
  margin-top: 0.66rem; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-field {
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-field__label {
    margin-bottom: 0;
    width: 20%; }
  .ecl-field--aligned .ecl-field__body {
    margin-left: 20%; } }

/**
 * Labels component
 * @define label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Labels component
 * @define label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-label {
  color: #404040;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0;
  padding: 0.33rem 0.66rem;
  text-transform: uppercase; }

.ecl-label--upcoming {
  background-color: #fff4bb; }

.ecl-label--open {
  background-color: #ffd617; }

.ecl-label--close {
  background-color: #e3e3e3; }

/**
* Link component
* @define link
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
* Link component
* @define link
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-link {
  box-sizing: border-box;
  color: #004494;
  margin: 0;
  text-decoration: underline; }
  .ecl-link:hover, .ecl-link:focus {
    color: #000; }
  .ecl-link:focus {
    outline: 3px solid #ffd617;
    outline-offset: 2px; }
  .ecl-link:visited {
    color: #550745; }

.ecl-link--external::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e825';
  font-size: 75%;
  margin-left: 0.4em;
  margin-right: 0.2em; }

.ecl-link--standalone {
  text-decoration: none; }
  .ecl-link--standalone:hover, .ecl-link--standalone:focus {
    text-decoration: underline; }

.ecl-link--inverted {
  color: #fff; }
  .ecl-link--inverted:hover, .ecl-link--inverted:focus, .ecl-link--inverted:visited {
    color: #fff; }

.ecl-link--all {
  clear: right;
  float: right;
  text-transform: uppercase; }

.ecl-link--more {
  text-transform: uppercase; }
  .ecl-link--more::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e828';
    font-size: 75%;
    margin-left: 0.4em;
    margin-right: 0.2em; }

/**
* Login bar component
* @define login-bar
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-login-bar {
  background-color: #f5f5f5;
  display: block;
  font-size: 1rem;
  margin: 0;
  padding: 0.66rem 0; }
  @media print {
    .ecl-login-bar {
      display: none !important; } }

.ecl-login-bar__container {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end; }

.ecl-login-bar__message {
  color: #404040;
  margin-right: 2.22rem; }

.ecl-login-bar__link {
  flex-shrink: 0; }

/**
 * Logos
 * @define logo
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * EC logo
 */
.ecl-logo {
  background: url("../images/logo.svg") no-repeat;
  display: block;
  height: 72px;
  width: 140px; }

.ecl-logo--big {
  height: 153px;
  width: 290px; }

/* stylelint-disable-next-line order/order */
/* stylelint-disable */
.language-bg .ecl-logo--logotype {
  background-image: url("../images/logo/logo--bg.svg"); }

@media print {
  .language-bg .ecl-logo--logotype::before {
    content: url("../images/logo/logo--bg.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-cs .ecl-logo--logotype {
  background-image: url("../images/logo/logo--cs.svg"); }

@media print {
  .language-cs .ecl-logo--logotype::before {
    content: url("../images/logo/logo--cs.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-da .ecl-logo--logotype {
  background-image: url("../images/logo/logo--da.svg"); }

@media print {
  .language-da .ecl-logo--logotype::before {
    content: url("../images/logo/logo--da.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-de .ecl-logo--logotype {
  background-image: url("../images/logo/logo--de.svg"); }

@media print {
  .language-de .ecl-logo--logotype::before {
    content: url("../images/logo/logo--de.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-el .ecl-logo--logotype {
  background-image: url("../images/logo/logo--el.svg"); }

@media print {
  .language-el .ecl-logo--logotype::before {
    content: url("../images/logo/logo--el.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-en .ecl-logo--logotype {
  background-image: url("../images/logo/logo--en.svg"); }

@media print {
  .language-en .ecl-logo--logotype::before {
    content: url("../images/logo/logo--en.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-es .ecl-logo--logotype {
  background-image: url("../images/logo/logo--es.svg"); }

@media print {
  .language-es .ecl-logo--logotype::before {
    content: url("../images/logo/logo--es.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-et .ecl-logo--logotype {
  background-image: url("../images/logo/logo--et.svg"); }

@media print {
  .language-et .ecl-logo--logotype::before {
    content: url("../images/logo/logo--et.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fi .ecl-logo--logotype {
  background-image: url("../images/logo/logo--fi.svg"); }

@media print {
  .language-fi .ecl-logo--logotype::before {
    content: url("../images/logo/logo--fi.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fr .ecl-logo--logotype {
  background-image: url("../images/logo/logo--fr.svg"); }

@media print {
  .language-fr .ecl-logo--logotype::before {
    content: url("../images/logo/logo--fr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ga .ecl-logo--logotype {
  background-image: url("../images/logo/logo--ga.svg"); }

@media print {
  .language-ga .ecl-logo--logotype::before {
    content: url("../images/logo/logo--ga.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hr .ecl-logo--logotype {
  background-image: url("../images/logo/logo--hr.svg"); }

@media print {
  .language-hr .ecl-logo--logotype::before {
    content: url("../images/logo/logo--hr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hu .ecl-logo--logotype {
  background-image: url("../images/logo/logo--hu.svg"); }

@media print {
  .language-hu .ecl-logo--logotype::before {
    content: url("../images/logo/logo--hu.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-it .ecl-logo--logotype {
  background-image: url("../images/logo/logo--it.svg"); }

@media print {
  .language-it .ecl-logo--logotype::before {
    content: url("../images/logo/logo--it.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lt .ecl-logo--logotype {
  background-image: url("../images/logo/logo--lt.svg"); }

@media print {
  .language-lt .ecl-logo--logotype::before {
    content: url("../images/logo/logo--lt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lv .ecl-logo--logotype {
  background-image: url("../images/logo/logo--lv.svg"); }

@media print {
  .language-lv .ecl-logo--logotype::before {
    content: url("../images/logo/logo--lv.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-mt .ecl-logo--logotype {
  background-image: url("../images/logo/logo--mt.svg"); }

@media print {
  .language-mt .ecl-logo--logotype::before {
    content: url("../images/logo/logo--mt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-nl .ecl-logo--logotype {
  background-image: url("../images/logo/logo--nl.svg"); }

@media print {
  .language-nl .ecl-logo--logotype::before {
    content: url("../images/logo/logo--nl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pl .ecl-logo--logotype {
  background-image: url("../images/logo/logo--pl.svg"); }

@media print {
  .language-pl .ecl-logo--logotype::before {
    content: url("../images/logo/logo--pl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pt .ecl-logo--logotype {
  background-image: url("../images/logo/logo--pt.svg"); }

@media print {
  .language-pt .ecl-logo--logotype::before {
    content: url("../images/logo/logo--pt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ro .ecl-logo--logotype {
  background-image: url("../images/logo/logo--ro.svg"); }

@media print {
  .language-ro .ecl-logo--logotype::before {
    content: url("../images/logo/logo--ro.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sk .ecl-logo--logotype {
  background-image: url("../images/logo/logo--sk.svg"); }

@media print {
  .language-sk .ecl-logo--logotype::before {
    content: url("../images/logo/logo--sk.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sl .ecl-logo--logotype {
  background-image: url("../images/logo/logo--sl.svg"); }

@media print {
  .language-sl .ecl-logo--logotype::before {
    content: url("../images/logo/logo--sl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sv .ecl-logo--logotype {
  background-image: url("../images/logo/logo--sv.svg"); }

@media print {
  .language-sv .ecl-logo--logotype::before {
    content: url("../images/logo/logo--sv.svg"); } }

/* stylelint-enable */
.ecl-logo--logotype {
  width: 190px; }

/* stylelint-disable-next-line order/order */
/* stylelint-disable */
.language-bg .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--bg.svg"); }

@media print {
  .language-bg .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--bg.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-cs .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--cs.svg"); }

@media print {
  .language-cs .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--cs.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-da .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--da.svg"); }

@media print {
  .language-da .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--da.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-de .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--de.svg"); }

@media print {
  .language-de .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--de.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-el .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--el.svg"); }

@media print {
  .language-el .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--el.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-en .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--en.svg"); }

@media print {
  .language-en .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--en.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-es .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--es.svg"); }

@media print {
  .language-es .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--es.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-et .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--et.svg"); }

@media print {
  .language-et .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--et.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fi .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--fi.svg"); }

@media print {
  .language-fi .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--fi.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fr .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--fr.svg"); }

@media print {
  .language-fr .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--fr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ga .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--ga.svg"); }

@media print {
  .language-ga .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--ga.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hr .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--hr.svg"); }

@media print {
  .language-hr .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--hr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hu .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--hu.svg"); }

@media print {
  .language-hu .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--hu.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-it .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--it.svg"); }

@media print {
  .language-it .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--it.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lt .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--lt.svg"); }

@media print {
  .language-lt .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--lt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lv .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--lv.svg"); }

@media print {
  .language-lv .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--lv.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-mt .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--mt.svg"); }

@media print {
  .language-mt .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--mt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-nl .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--nl.svg"); }

@media print {
  .language-nl .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--nl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pl .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--pl.svg"); }

@media print {
  .language-pl .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--pl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pt .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--pt.svg"); }

@media print {
  .language-pt .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--pt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ro .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--ro.svg"); }

@media print {
  .language-ro .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--ro.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sk .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--sk.svg"); }

@media print {
  .language-sk .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--sk.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sl .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--sl.svg"); }

@media print {
  .language-sl .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--sl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sv .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--sv.svg"); }

@media print {
  .language-sv .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--sv.svg"); } }

/* stylelint-enable */
.ecl-logo--logotypebelow {
  height: 72px;
  width: 198px; }

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-logo--logotype {
    width: 290px; }
  .ecl-logo--logotypebelow {
    height: 118px;
    width: 324px; } }

/**
 * Messages
 * @define message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Messages
 * @define message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-message {
  background: transparent url("../images/messages-info.svg") no-repeat 1.2rem 1.2rem;
  border: 2px solid #4073af;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  min-height: 2.22rem;
  padding: 0.89rem 5.1rem 0.89rem 4.44rem;
  position: relative; }
  @supports (display: grid) {
    .ecl-message {
      display: grid;
      grid-template-columns: auto -webkit-max-content;
      grid-template-columns: auto max-content;
      padding: 0.89rem 0.89rem 0.89rem 4.44rem; } }
  .ecl-message--success {
    background-image: url("../images/messages-success.svg");
    border-color: #467a39; }
  .ecl-message--warning {
    background-image: url("../images/messages-warning.svg");
    border-color: #fbc11d; }
  .ecl-message--error {
    background-image: url("../images/messages-error.svg");
    border-color: #da2130; }
  .ecl-message--live {
    background-image: url("../images/live_streaming.svg");
    border-color: #fbc11d; }

.ecl-message__title {
  font-weight: bold;
  margin-bottom: 0.89rem; }
  @supports (display: grid) {
    .ecl-message__title {
      grid-column-start: 1; } }

.ecl-message__body {
  margin: 0;
  padding-left: 0.89rem; }
  @supports (display: grid) {
    .ecl-message__body {
      grid-column-start: 1; } }

.ecl-message__dismiss {
  -webkit-box-align: center;
          align-items: center;
  background-color: transparent;
  border-width: 0;
  color: #000;
  display: -webkit-box;
  display: flex;
  font-size: 0.875rem;
  height: 1.5rem;
  line-height: 1.15;
  padding: 0;
  position: absolute;
  right: 0.66rem;
  text-decoration: none;
  text-shadow: none;
  top: 0.66rem; }
  .ecl-message__dismiss:focus {
    outline: 3px solid #ffd617;
    outline-offset: 3px;
    text-decoration: underline; }
  @supports (display: grid) {
    .ecl-message__dismiss {
      align-self: self-start;
      grid-column-start: 2;
      grid-row-end: span 2;
      grid-row-start: 1;
      position: relative;
      right: auto;
      top: auto; } }
  .ecl-message__dismiss:hover {
    text-decoration: underline; }
  .ecl-message__dismiss::after {
    background-color: transparent;
    content: url("../images/close.svg");
    display: block;
    line-height: 0;
    margin: 0 0 0 0.66rem;
    overflow: hidden;
    width: 1.5rem; }

.ecl-message__dismiss--inverted {
  background-image: none;
  color: #fff;
  cursor: pointer;
  font-size: 0.889em;
  text-decoration: underline; }
  .ecl-message__dismiss--inverted::after {
    -webkit-box-align: center;
            align-items: center;
    border: 1px solid #fff;
    border-radius: 50%;
    box-sizing: border-box;
    content: '\00D7';
    display: -webkit-box;
    display: flex;
    float: right;
    height: 1.5rem;
    -webkit-box-pack: center;
            justify-content: center;
    margin-left: 0.5em;
    width: 1.5rem; }
  .ecl-message__dismiss--inverted:hover {
    background-image: none; }

/* stylelint-disable-next-line order/order */
@media (max-width: 479px) {
  .ecl-message {
    padding-bottom: 3.71rem; }
    @supports (display: grid) {
      .ecl-message {
        grid-template-rows: auto auto 2.22rem;
        padding-bottom: 0.89rem; } }
  .ecl-message__dismiss {
    bottom: 0.66rem;
    top: auto; }
    @supports (display: grid) {
      .ecl-message__dismiss {
        align-self: self-end;
        bottom: auto;
        grid-column-start: 1;
        grid-row-end: 4;
        grid-row-start: 3;
        justify-self: end;
        top: auto; } } }

/*
 * ECL meta
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * ECL meta
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-meta {
  font-size: 0.875rem;
  letter-spacing: 0.03rem;
  line-height: 1.3;
  margin: 0;
  text-transform: uppercase; }

.ecl-meta__item {
  white-space: nowrap; }
  .ecl-meta__item::after {
    color: #9f9f9f;
    content: '|';
    margin: 0 0.66rem 0 0.89rem;
    position: relative;
    top: -1px; }
  .ecl-meta__item:last-child::after {
    display: none; }

.ecl-meta--header {
  font-size: 1rem; }

/**
* Site switcher component
* @define site-switcher
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
* Site switcher component
* @define site-switcher
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-site-switcher {
  background-color: #f5f5f5;
  display: block;
  font-size: 1rem;
  margin: 0; }
  @media print {
    .ecl-site-switcher {
      display: none !important; } }
  .ecl-site-switcher::after {
    clear: both;
    content: '';
    display: block; }

.ecl-site-switcher__link {
  display: block;
  font-weight: bold;
  line-height: 1.3;
  padding: 0.66rem 1.66rem;
  text-decoration: none;
  width: 100%; }
  .ecl-site-switcher__link::after, .ecl-site-switcher__link--is-external::after {
    content: none !important; }
  .ecl-site-switcher__link:hover, .ecl-site-switcher__link:focus {
    text-decoration: underline; }

.ecl-site-switcher__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.ecl-site-switcher__option {
  display: inline-block;
  float: left;
  text-align: center;
  vertical-align: middle;
  width: 50%; }

.ecl-site-switcher__option--is-selected {
  background-color: #004494; }
  .ecl-site-switcher__option--is-selected .ecl-site-switcher__link {
    color: #fff; }

.ecl-site-switcher--header,
.ecl-site-switcher--footer {
  border-bottom: 1px solid #f5f5f5; }

.ecl-site-switcher--footer .ecl-site-switcher__option,
.ecl-site-switcher--header .ecl-site-switcher__option {
  position: relative; }
  .ecl-site-switcher--footer .ecl-site-switcher__option--is-selected::after,
  .ecl-site-switcher--header .ecl-site-switcher__option--is-selected::after {
    border: 10px solid rgba(0, 68, 148, 0);
    content: ' ' !important;
    height: 0;
    left: 50%;
    margin-left: -10px;
    pointer-events: none;
    position: absolute;
    width: 0; }

.ecl-site-switcher--header .ecl-site-switcher__option--is-selected::after {
  border-top-color: #004494;
  top: 95%; }

.ecl-site-switcher--footer .ecl-site-switcher__option--is-selected::after {
  border-bottom-color: #004494;
  bottom: 95%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-site-switcher__option {
    width: auto; }
  .ecl-site-switcher--footer .ecl-site-switcher__list {
    float: right; } }

/**
 * Social icons
 * @define social-icon
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Social icons
 * @define social-icon
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-social-icon {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  margin: 0; }

.ecl-social-icon::before {
  content: '';
  display: block;
  height: 2rem;
  margin-right: 1rem;
  width: 2rem; }

.ecl-social-icon--smaller {
  min-height: 1.5rem; }
  .ecl-social-icon--smaller::before {
    height: 1.5rem;
    width: 1.5rem; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--arto::before {
  background: url("../images/social/arto.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--arto:hover::before {
  background-image: url("../images/social/arto_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bebo::before {
  background: url("../images/social/bebo.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bebo:hover::before {
  background-image: url("../images/social/bebo_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bitly::before {
  background: url("../images/social/bitly.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bitly:hover::before {
  background-image: url("../images/social/bitly_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blinklist::before {
  background: url("../images/social/blinklist.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blinklist:hover::before {
  background-image: url("../images/social/blinklist_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blog::before {
  background: url("../images/social/blog.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blog:hover::before {
  background-image: url("../images/social/blog_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blogger::before {
  background: url("../images/social/blogger.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blogger:hover::before {
  background-image: url("../images/social/blogger_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--delicious::before {
  background: url("../images/social/delicious.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--delicious:hover::before {
  background-image: url("../images/social/delicious_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--digg::before {
  background: url("../images/social/digg.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--digg:hover::before {
  background-image: url("../images/social/digg_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--diigo::before {
  background: url("../images/social/diigo.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--diigo:hover::before {
  background-image: url("../images/social/diigo_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--dzone::before {
  background: url("../images/social/dzone.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--dzone:hover::before {
  background-image: url("../images/social/dzone_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--email::before {
  background: url("../images/social/email.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--email:hover::before {
  background-image: url("../images/social/email_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--facebook::before {
  background: url("../images/social/facebook.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--facebook:hover::before {
  background-image: url("../images/social/facebook_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--flickr::before {
  background: url("../images/social/flickr.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--flickr:hover::before {
  background-image: url("../images/social/flickr_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--foursquare::before {
  background: url("../images/social/foursquare.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--foursquare:hover::before {
  background-image: url("../images/social/foursquare_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--generic::before {
  background: url("../images/social/generic.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--generic:hover::before {
  background-image: url("../images/social/generic_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--google::before {
  background: url("../images/social/google.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--google:hover::before {
  background-image: url("../images/social/google_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--instagram::before {
  background: url("../images/social/instagram.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--instagram:hover::before {
  background-image: url("../images/social/instagram_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkarena::before {
  background: url("../images/social/linkarena.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkarena:hover::before {
  background-image: url("../images/social/linkarena_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkedin::before {
  background: url("../images/social/linkedin.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkedin:hover::before {
  background-image: url("../images/social/linkedin_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--live::before {
  background: url("../images/social/live.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--live:hover::before {
  background-image: url("../images/social/live_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--meneame::before {
  background: url("../images/social/meneame.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--meneame:hover::before {
  background-image: url("../images/social/meneame_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--misterwong::before {
  background: url("../images/social/misterwong.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--misterwong:hover::before {
  background-image: url("../images/social/misterwong_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--myspace::before {
  background: url("../images/social/myspace.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--myspace:hover::before {
  background-image: url("../images/social/myspace_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netlog::before {
  background: url("../images/social/netlog.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netlog:hover::before {
  background-image: url("../images/social/netlog_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netvibes::before {
  background: url("../images/social/netvibes.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netvibes:hover::before {
  background-image: url("../images/social/netvibes_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--newsvine::before {
  background: url("../images/social/newsvine.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--newsvine:hover::before {
  background-image: url("../images/social/newsvine_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--nujij::before {
  background: url("../images/social/nujij.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--nujij:hover::before {
  background-image: url("../images/social/nujij_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pinterest::before {
  background: url("../images/social/pinterest.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pinterest:hover::before {
  background-image: url("../images/social/pinterest_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pocket::before {
  background: url("../images/social/pocket.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pocket:hover::before {
  background-image: url("../images/social/pocket_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--reddit::before {
  background: url("../images/social/reddit.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--reddit:hover::before {
  background-image: url("../images/social/reddit_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--rss::before {
  background: url("../images/social/rss.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--rss:hover::before {
  background-image: url("../images/social/rss_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--share::before {
  background: url("../images/social/share.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--share:hover::before {
  background-image: url("../images/social/share_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--skype::before {
  background: url("../images/social/skype.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--skype:hover::before {
  background-image: url("../images/social/skype_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--slashdot::before {
  background: url("../images/social/slashdot.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--slashdot:hover::before {
  background-image: url("../images/social/slashdot_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--sonico::before {
  background: url("../images/social/sonico.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--sonico:hover::before {
  background-image: url("../images/social/sonico_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--spotify::before {
  background: url("../images/social/spotify.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--spotify:hover::before {
  background-image: url("../images/social/spotify_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--storify::before {
  background: url("../images/social/storify.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--storify:hover::before {
  background-image: url("../images/social/storify_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--studivz::before {
  background: url("../images/social/studivz.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--studivz:hover::before {
  background-image: url("../images/social/studivz_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--stumbleupon::before {
  background: url("../images/social/stumbleupon.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--stumbleupon:hover::before {
  background-image: url("../images/social/stumbleupon_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--technorati::before {
  background: url("../images/social/technorati.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--technorati:hover::before {
  background-image: url("../images/social/technorati_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tuenti::before {
  background: url("../images/social/tuenti.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tuenti:hover::before {
  background-image: url("../images/social/tuenti_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tumblr::before {
  background: url("../images/social/tumblr.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tumblr:hover::before {
  background-image: url("../images/social/tumblr_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--twitter::before {
  background: url("../images/social/twitter.svg") no-repeat #ffffff; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--twitter:hover::before {
  background-image: url("../images/social/twitter_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--viadeo::before {
  background: url("../images/social/viadeo.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--viadeo:hover::before {
  background-image: url("../images/social/viadeo_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--vine::before {
  background: url("../images/social/vine.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--vine:hover::before {
  background-image: url("../images/social/vine_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wordpress::before {
  background: url("../images/social/wordpress.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wordpress:hover::before {
  background-image: url("../images/social/wordpress_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wykop::before {
  background: url("../images/social/wykop.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wykop:hover::before {
  background-image: url("../images/social/wykop_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--xerpi::before {
  background: url("../images/social/xerpi.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--xerpi:hover::before {
  background-image: url("../images/social/xerpi_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--yammer::before {
  background: url("../images/social/yammer.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--yammer:hover::before {
  background-image: url("../images/social/yammer_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--youtube::before {
  background: url("../images/social/youtube.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--youtube:hover::before {
  background-image: url("../images/social/youtube_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--print::before {
  background: url("../images/social/print.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--print:hover::before {
  background-image: url("../images/social/print_hover.svg"); }

/*
 *ECL tables
 * @define table ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 *ECL tables
 * @define table ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-table {
  border-collapse: collapse;
  border-width: 0;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  table-layout: auto;
  width: 100%; }
  .ecl-table th {
    background-color: transparent;
    font-weight: bold;
    text-align: left; }
  .ecl-table td,
  .ecl-table th {
    display: table-cell;
    padding: 0.89rem;
    vertical-align: middle; }

@media (max-width: 768px) {
  .ecl-table {
    /* stylelint-disable-next-line selector-no-qualifying-type */ }
    .ecl-table thead {
      display: none; }
    .ecl-table tr {
      border-bottom: 1px solid #9f9f9f; }
    .ecl-table tr:nth-of-type(2n) {
      background-color: inherit; }
    .ecl-table td {
      display: block;
      padding: 0.66rem;
      position: relative; }
    .ecl-table td[data-th-group] {
      margin-top: 2.22rem;
      padding-left: 1.66rem; }
    .ecl-table td::before {
      content: attr(data-th);
      display: block;
      font-weight: bold; }
  .ecl-table__heading {
    background-color: #404040;
    color: #fff;
    font-weight: bold; }
  .ecl-table__group-label::after {
    content: attr(data-th-group);
    display: block;
    font-weight: bold;
    left: 0.66rem;
    position: absolute;
    top: -1.66rem; }
  .ecl-table__group-label ~ .ecl-table__group_element {
    margin: 0;
    padding-left: 1.66rem; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-table {
    /* Zebra striping */ }
    .ecl-table tr:nth-of-type(even) {
      background-color: #f5f5f5; }
    .ecl-table tbody {
      /* Hover */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-table tbody tr:hover {
        background-color: #ebebeb; }
    .ecl-table thead {
      display: table-header-group;
      /* stylelint-disable-next-line max-nesting-depth, selector-max-compound-selectors */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-table thead tr:first-child th {
        border-bottom: 1px solid #404040;
        vertical-align: top; }
      .ecl-table thead tr:last-child:not(:first-child) {
        border-bottom: 3px solid #404040; } }

/**
 * Tags
 * @define tag
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Tags
 * @define tag
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-tag {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: 0; }

.ecl-tag__label {
  font-size: 0.875rem;
  margin-bottom: 0.33rem;
  margin-right: 0.89rem;
  text-transform: uppercase; }

.ecl-tag__item {
  background-color: #e3e3e3;
  border-radius: 5px;
  border-width: 0;
  color: #404040;
  font-family: Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1;
  margin-bottom: 0.33rem;
  margin-right: 1rem;
  padding: 0.33rem;
  white-space: nowrap; }
  .ecl-tag__item:hover, .ecl-tag__item:active, .ecl-tag__item:focus {
    text-decoration: none; }
  .ecl-tag__item:focus {
    box-shadow: 0 0 0 3px #ffd617;
    outline: none; }

.ecl-tag--facet-close .ecl-tag__item:hover {
  background-color: #404040;
  color: #fff; }

.ecl-tag--facet-close .ecl-tag__item::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e82c';
  margin-left: 0.6em; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor blockquote {
  border-left: 8px solid #ffd617;
  margin: 0;
  padding: 0.66rem 0 0.66rem 1.66rem; }
  .ecl-editor blockquote p {
    color: #404040;
    font-size: 1.375rem;
    font-style: italic;
    line-height: 1.5;
    margin: 0; }
    .ecl-editor blockquote p::before {
      content: open-quote; }
    .ecl-editor blockquote p::after {
      content: close-quote; }

.ecl-editor * + blockquote {
  margin-top: 0.89rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor a {
  box-sizing: border-box;
  color: #004494;
  margin: 0;
  text-decoration: underline; }
  .ecl-editor a:hover, .ecl-editor a:focus {
    color: #000; }
  .ecl-editor a:focus {
    outline: 3px solid #ffd617;
    outline-offset: 2px; }
  .ecl-editor a:visited {
    color: #550745; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor table {
  border-collapse: collapse;
  border-width: 0;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  table-layout: auto;
  width: 100%; }
  .ecl-editor table th {
    background-color: transparent;
    font-weight: bold;
    text-align: left; }
  .ecl-editor table td,
  .ecl-editor table th {
    display: table-cell;
    padding: 0.89rem;
    vertical-align: middle; }

.ecl-editor * + table {
  margin-top: 0.89rem; }

@media (max-width: 768px) {
  .ecl-editor table {
    /* stylelint-disable-next-line selector-no-qualifying-type */ }
    .ecl-editor table thead {
      display: none; }
    .ecl-editor table tr {
      border-bottom: 1px solid #9f9f9f; }
    .ecl-editor table tr:nth-of-type(2n) {
      background-color: inherit; }
    .ecl-editor table td {
      display: block;
      padding: 0.66rem;
      position: relative; }
    .ecl-editor table td[data-th-group] {
      margin-top: 2.22rem;
      padding-left: 1.66rem; }
    .ecl-editor table td::before {
      content: attr(data-th);
      display: block;
      font-weight: bold; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-editor table {
    /* Zebra striping */ }
    .ecl-editor table tr:nth-of-type(even) {
      background-color: #f5f5f5; }
    .ecl-editor table tbody {
      /* Hover */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-editor table tbody tr:hover {
        background-color: #ebebeb; }
    .ecl-editor table thead {
      display: table-header-group;
      /* stylelint-disable-next-line max-nesting-depth, selector-max-compound-selectors */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-editor table thead tr:first-child th {
        border-bottom: 1px solid #404040;
        vertical-align: top; }
      .ecl-editor table thead tr:last-child:not(:first-child) {
        border-bottom: 3px solid #404040; } }

/**
 * Banners component
 * @define banner
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Banners component
 * @define banner
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-banner {
  margin: 0;
  max-width: 100%;
  overflow: hidden; }

.ecl-banner__content {
  background-color: #fff;
  border-top: 3px solid #004494;
  box-sizing: border-box;
  padding: 2.22rem 1.66rem; }

.ecl-banner__title {
  color: #004494;
  margin: 0; }

.ecl-banner__description {
  font-size: 1.125rem;
  margin: 1rem 0 0; }

.ecl-banner__image {
  display: block; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-banner--hero {
    min-height: 23rem;
    overflow: hidden;
    position: relative; }
  .ecl-banner__image {
    left: 50%;
    max-width: none;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .ecl-banner__content {
    float: right;
    margin: 3.33rem 3.33rem 3.33rem 0;
    position: relative;
    width: 50%; } }

/*
 * Breadcrumbs
 * @define breadcrumbs
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Breadcrumbs
 * @define breadcrumb
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-breadcrumb {
  font-size: 1rem; }
  @media print {
    .ecl-breadcrumb {
      display: none !important; } }

.ecl-breadcrumb__segments-wrapper {
  border-bottom: 1px solid #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 1rem 0; }

.ecl-breadcrumb__segment {
  display: block;
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.875;
  /* stylelint-disable-next-line order/order */ }
  .ecl-breadcrumb__segment[aria-hidden='true'] {
    display: none; }
  @media (min-width: 480px) {
    .ecl-breadcrumb__segment {
      font-size: 0.875rem;
      line-height: 1.375; } }

.ecl-breadcrumb__link {
  margin-right: 0.33rem; }
  .ecl-breadcrumb__link::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e828';
    width: 1rem; }
  .ecl-breadcrumb__link:hover, .ecl-breadcrumb__link:active, .ecl-breadcrumb__link:focus {
    color: #fff;
    text-decoration: underline; }

.ecl-breadcrumb__segment--last {
  color: #bfd0e4; }

/**
 * Carousel
 * @define carousel
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Carousel
 * @define carousel ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-carousel {
  -webkit-box-align: stretch;
          align-items: stretch;
  background-color: #000;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  margin: 0;
  max-width: 100%;
  overflow: hidden; }
  @media (min-width: 1200px) {
    .ecl-carousel {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-direction: row;
      max-height: 100vh; } }

.ecl-carousel[aria-hidden='true'] {
  display: none; }

.ecl-carousel[aria-hidden='false'] {
  display: -webkit-box;
  display: flex;
  height: 90vh;
  left: 3%;
  position: absolute;
  top: 3%;
  width: 90%;
  z-index: 20; }

.ecl-carousel__list-wrapper {
  display: -webkit-box;
  display: flex;
  max-height: 70vh;
  overflow: hidden;
  position: relative; }

/* stylelint-disable-next-line order/order */
@media (min-width: 1200px) {
  .ecl-carousel__list-wrapper {
    -webkit-box-flex: 1;
            flex: 1;
    max-height: 100%; } }

.ecl-carousel__controls {
  margin: 0; }

.ecl-carousel__list {
  display: -webkit-box;
  display: flex;
  margin: 0;
  white-space: nowrap;
  width: 100%; }

.ecl-carousel__item {
  -webkit-box-flex: 1;
          flex: 1 0 100%;
  position: relative; }

.ecl-carousel__image {
  display: block;
  margin: auto;
  max-height: 100%;
  max-width: 100%; }

.ecl-carousel__button {
  background-color: #000;
  border: 0;
  color: #fff;
  font-size: 2.5rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10; }
  .ecl-carousel__button:focus {
    outline: 3px solid #ffd617;
    outline-offset: 0;
    text-decoration: underline; }

.ecl-carousel__button--previous {
  left: 0; }

.ecl-carousel__button--next {
  right: 0; }

.ecl-carousel__image-information {
  display: none;
  text-align: left; }

.ecl-carousel__live-region {
  background-color: #404040;
  box-sizing: border-box;
  color: #fff;
  min-width: 30%;
  padding: 2.22rem; }
  .ecl-carousel__live-region a {
    color: #fff; }

/* stylelint-disable-next-line order/order */
@media (min-width: 1200px) {
  .ecl-carousel__live-region {
    -webkit-box-flex: 0;
            flex: 0;
    max-height: 100%; } }

.ecl-carousel__meta {
  margin-bottom: 2.22rem; }

.ecl-carousel__meta-link {
  padding-right: 1.66rem;
  position: relative; }
  .ecl-carousel__meta-link::before {
    position: absolute;
    right: 0; }

.ecl-carousel__meta-item {
  display: inline-block;
  margin-right: 0.89rem;
  padding-bottom: 0.33rem; }

.ecl-carousel__meta-slide {
  -webkit-box-ordinal-group: 0;
          order: -1;
  padding-top: 1rem; }

.ecl-carousel__image-copyright {
  font-size: 0.75rem; }

/* Show information in a similar flow as if there were js. */
.no-js .ecl-carousel__list-wrapper {
  overflow-x: initial; }

.no-js .ecl-carousel__list {
  -webkit-box-align: center;
          align-items: center;
  height: 100%;
  -webkit-box-pack: start;
          justify-content: flex-start; }

.no-js .ecl-carousel__item {
  opacity: 1; }

.no-js .ecl-carousel__image-information {
  border-bottom: 1px solid #fff;
  display: block;
  margin-bottom: 1rem;
  padding-bottom: 1rem; }

.no-js .ecl-carousel__live-region {
  overflow-y: auto; }

/**
 * Comments component
 * @define comment
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Comments component
 * @define comment
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-comment {
  display: -webkit-box;
  display: flex;
  flex-wrap: nowrap;
  margin: 0; }

.ecl-comment__image-wrapper {
  box-sizing: border-box;
  display: none;
  flex-shrink: 0; }
  @media (min-width: 768px) {
    .ecl-comment__image-wrapper {
      display: block;
      padding-right: 1.66rem;
      width: 20%; } }

.ecl-comment__image {
  border: 1px solid #ffd617;
  box-sizing: border-box;
  padding: 1px; }

.ecl-comment__body {
  background-color: #fff;
  -webkit-box-flex: 1;
          flex-grow: 1;
  flex-shrink: 1;
  font-size: 1rem;
  padding: 1.66rem 2.22rem;
  position: relative; }

@media (min-width: 768px) {
  .ecl-comment__body::before {
    border: 0.89rem solid rgba(255, 255, 255, 0);
    border-right-color: #fff;
    content: ' ';
    height: 0;
    margin-top: -0.89rem;
    pointer-events: none;
    position: absolute;
    right: 100%;
    top: 1.66rem;
    width: 0; } }

.ecl-comment__meta {
  border-bottom: 1px solid #ffd617;
  color: #404040;
  margin-bottom: 0.89rem;
  padding-bottom: 0.33rem; }

.ecl-comment__title {
  color: #404040;
  display: block;
  padding: 1rem 0; }

.ecl-comment__text {
  font-size: 1rem; }

/*
 * Context navigation
 * @define context-nav
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Context navigation
 * @define context-nav
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-context-nav {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  font-size: 0.875rem;
  margin: 0; }

.ecl-context-nav__label {
  margin-bottom: 0.33rem; }

.ecl-context-nav__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.ecl-context-nav__item {
  display: inline-block; }
  .ecl-context-nav__item::after {
    color: #9f9f9f;
    content: '|';
    margin-left: 0.33rem;
    margin-right: 0.33rem; }

.ecl-context-nav__item:last-child::after {
  display: none;
  margin-left: 0;
  margin-right: 0; }

.ecl-context-nav__button {
  border-width: 0;
  font-size: 0.875rem;
  font-weight: normal;
  padding: 0; }
  .ecl-context-nav__button:focus {
    outline-offset: 0; }

.ecl-context-nav__item--over-limit {
  display: none; }

.no-js .ecl-context-nav__item--over-limit {
  display: inline-block; }

.no-js .ecl-context-nav__more {
  display: none; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-context-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-context-nav__label {
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    margin-bottom: 0; } }

/*
* Datepicker styles based on Pikaday.
* @define datepicker
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
* Datepicker styles based on Pikaday.
* @define datepicker
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * @define pika-theme ; weak
 */
/* stylelint-disable-next-line */
.ecl-datepicker {
  margin: 0;
  position: relative; }
  .ecl-datepicker__icon {
    color: #9f9f9f;
    pointer-events: none;
    position: absolute;
    right: 0.7em;
    top: 0.6em; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-datepicker {
  margin-top: 0.89rem; }

/* stylelint-disable-next-line order/order */
/* stylelint-disable max-nesting-depth */
.ecl-pika-theme {
  background: #eaeaea;
  color: #333;
  display: block;
  position: relative;
  z-index: 20;
  zoom: 1;
  /* postcss-bem-linter: ignore */
  /* postcss-bem-linter: ignore */ }
  .ecl-pika-theme.is-hidden {
    display: none; }
  .ecl-pika-theme.is-bound {
    position: absolute; }
  .ecl-pika-theme::before, .ecl-pika-theme::after {
    content: ' ';
    display: table; }
  .ecl-pika-theme::after {
    clear: both; }
  .ecl-pika-theme .pika-title {
    background-color: #404040;
    display: -webkit-box;
    display: flex;
    height: 2.5rem;
    line-height: 2.5rem;
    position: relative;
    text-align: center; }
  .ecl-pika-theme .pika-label {
    background-color: #404040;
    color: #404040;
    display: inline-block;
    -webkit-box-flex: 1;
            flex-grow: 1;
    position: relative; }
  .ecl-pika-theme .pika-label select {
    background-color: #fff;
    border: 1px solid #404040;
    border-radius: 0;
    box-shadow: none;
    color: #404040;
    font-size: 1rem;
    margin-bottom: 1.1em;
    min-height: 2.75rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #4f4f4f;
    border: 0;
    color: #fff;
    cursor: pointer;
    float: none;
    height: 100%;
    margin: 0;
    min-height: auto;
    padding: 0 1em;
    position: absolute;
    text-indent: 0.01px;
    text-overflow: '';
    width: 100%;
    z-index: 19; }
    @media print {
      .ecl-pika-theme .pika-label select {
        display: none !important; } }
    .ecl-pika-theme .pika-label select:focus {
      outline: 3px solid #ffd617;
      outline-offset: 0;
      text-decoration: none; }
    .ecl-pika-theme .pika-label select.has-error {
      border-width: 2px;
      padding: 5px 11px; }
    .ecl-pika-theme .pika-label select:focus, .ecl-pika-theme .pika-label select.is-focused,
    .has-error .ecl-pika-theme .pika-label select:focus {
      box-shadow: none;
      color: #000; }
    .ecl-pika-theme .pika-label select.is-disabled {
      background-color: #e3e3e3;
      color: #9f9f9f; }
    .ecl-pika-theme .pika-label select.select {
      border-width: 1px; }
    .ecl-pika-theme .pika-label select:focus {
      outline: 3px solid #ffd617;
      outline-offset: -3px;
      text-decoration: none; }
    .ecl-pika-theme .pika-label select::-ms-expand {
      display: none; }
    .ecl-pika-theme .pika-label select:focus {
      z-index: 1; }
    .ecl-pika-theme .pika-label select:hover, .ecl-pika-theme .pika-label select:active, .ecl-pika-theme .pika-label select:focus {
      border-color: #004494;
      color: #fff; }
  .ecl-pika-theme .pika-label:nth-child(1) select {
    border-right: 2px solid #9f9f9f;
    left: 0; }
  .ecl-pika-theme .pika-label:nth-child(2) select {
    right: 0; }
  .ecl-pika-theme .pika-prev,
  .ecl-pika-theme .pika-next {
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    border: 0;
    color: #404040;
    cursor: pointer;
    display: block;
    height: 100%;
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    top: 0;
    white-space: nowrap;
    width: 50px; }
  .ecl-pika-theme .pika-prev {
    float: left;
    left: 0;
    -webkit-box-ordinal-group: 0;
            order: -1; }
    .ecl-pika-theme .pika-prev::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      left: 15px;
      position: absolute;
      top: 15px;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
  .ecl-pika-theme .pika-next {
    float: right;
    right: 0; }
    .ecl-pika-theme .pika-next::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      position: absolute;
      right: 15px;
      top: 15px; }
  .ecl-pika-theme .pika-prev:hover,
  .ecl-pika-theme .pika-next:hover {
    opacity: 1; }
  .ecl-pika-theme .pika-prev.is-disabled,
  .ecl-pika-theme .pika-next.is-disabled {
    cursor: default; }
  .ecl-pika-theme .is-rtl .pika-prev {
    float: right;
    right: 0; }
    .ecl-pika-theme .is-rtl .pika-prev::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      position: absolute;
      right: 15px;
      top: 15px; }
  .ecl-pika-theme .is-rtl .pika-next {
    float: left;
    left: 0;
    -webkit-box-ordinal-group: 0;
            order: -1; }
    .ecl-pika-theme .is-rtl .pika-next::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      left: 15px;
      position: absolute;
      top: 15px;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
  .ecl-pika-theme .pika-select {
    display: inline-block; }
  .ecl-pika-theme .pika-table {
    background-color: #e3e3e3;
    border-bottom: 0.66rem solid transparent;
    border-collapse: collapse;
    border-left: 0.66rem solid transparent;
    border-right: 0.66rem solid transparent;
    border-spacing: 0;
    width: 100%; }
    .ecl-pika-theme .pika-table th,
    .ecl-pika-theme .pika-table td {
      padding: 1px; }
    .ecl-pika-theme .pika-table th {
      padding: 0.66rem 0.33rem;
      text-align: center; }
    .ecl-pika-theme .pika-table abbr {
      border-bottom: 0;
      cursor: help;
      font-weight: normal;
      text-decoration: none; }
  .ecl-pika-theme .pika-button {
    background: #f5f5f5;
    border: 0;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    font-size: 1.125rem;
    margin: 1px;
    outline: none;
    padding: 0.33rem 0.66rem;
    text-align: center;
    width: 100%; }
    .ecl-pika-theme .pika-button .is-selection-disabled {
      cursor: default;
      pointer-events: none; }
  .ecl-pika-theme .is-today .pika-button {
    background: #ffd617; }
  .ecl-pika-theme .is-selected .pika-button {
    background: #ffd617; }
  .ecl-pika-theme .is-disabled .pika-button,
  .ecl-pika-theme .is-outside-current-month .pika-button {
    color: #999;
    opacity: 0.3; }
  .ecl-pika-theme .is-disabled .pika-button {
    cursor: default;
    pointer-events: none; }
  .ecl-pika-theme .pika-week {
    color: #999; }
  .ecl-pika-theme .is-inrange .pika-button {
    background: #fff; }

/* stylelint-disable-next-line order/order */
.ecl-pika-theme .pika-lendar,
.ecl-pika-theme .pika-single,
.ecl-pika-theme .pika-table {
  width: auto; }

/**
 * Dialog
 * @define dialog
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Dialog
 * @define dialog
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-dialog {
  background-color: #fff;
  box-sizing: border-box;
  display: -webkit-box;
  display: flex;
  height: 100%;
  left: 0;
  margin: 0;
  padding: 2.22rem;
  position: fixed;
  top: 0%;
  width: 100%;
  z-index: 20; }

.ecl-dialog--transparent {
  background-color: transparent; }

.ecl-dialog[aria-hidden='true'] {
  display: none; }

.ecl-dialog__body {
  max-height: 100%;
  overflow: auto; }

.ecl-dialog__overlay {
  background-color: rgba(0, 0, 0, 0.7);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 19; }

.ecl-dialog__overlay[aria-hidden='true'] {
  display: none; }

.ecl-dialog__overlay--blue {
  background-color: rgba(0, 68, 148, 0.95); }

.ecl-dialog--wide {
  overflow: auto; }

.ecl-dialog--wide .ecl-dialog__body {
  overflow: visible;
  width: 100%; }

.ecl-dialog__dismiss {
  background: transparent url("../images/close.svg") no-repeat center center;
  border-width: 0;
  color: transparent;
  display: block;
  font-size: 2.5rem;
  line-height: 1.375rem;
  padding: 0;
  position: absolute;
  right: 0.66rem;
  text-decoration: none;
  text-shadow: none;
  top: 0.66rem; }
  .ecl-dialog__dismiss:focus {
    outline: 3px solid #ffd617;
    outline-offset: 3px;
    text-decoration: underline; }
  .ecl-dialog__dismiss:hover {
    background-image: url("../images/close_hover.svg"); }

.ecl-dialog__dismiss--inverted {
  background-image: none;
  color: #fff;
  cursor: pointer;
  font-size: 0.889em;
  text-decoration: underline; }
  .ecl-dialog__dismiss--inverted::after {
    -webkit-box-align: center;
            align-items: center;
    border: 1px solid #fff;
    border-radius: 50%;
    box-sizing: border-box;
    content: '\00D7';
    display: -webkit-box;
    display: flex;
    float: right;
    height: 1.5em;
    -webkit-box-pack: center;
            justify-content: center;
    margin-left: 0.5em;
    width: 1.5em; }
  .ecl-dialog__dismiss--inverted:hover {
    background-image: none; }

.ecl-dialog__title {
  clear: both;
  color: #fff;
  font-size: 1.375rem;
  margin: 0;
  padding: 2.22rem 0; }

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-dialog {
    height: auto;
    left: 50%;
    max-height: 100%;
    max-width: 100%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: auto; }
  .ecl-dialog--wide {
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    -webkit-transform: none;
            transform: none; } }

/**
 * ECL Link blocks
 * @define link-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Link blocks
 * @define link-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-link-block {
  background-color: #f5f5f5;
  margin: 0;
  padding: 0.33rem 0; }

.ecl-link-block__title {
  color: #003776;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.66rem 1rem 0.66rem; }

.ecl-link-block__list {
  font-size: 1rem;
  list-style: none;
  margin: 0;
  padding-left: 0; }

.ecl-link-block__item {
  white-space: nowrap; }

.ecl-link-block__link {
  display: block;
  line-height: 2;
  padding: 0 1rem; }

/**
 * ECL Dropdowns
 * @define dropdown
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Dropdowns
 * @define dropdown
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-dropdown {
  margin: 0;
  position: relative; }

.ecl-dropdown__body {
  background-color: #f5f5f5;
  border: 1px solid #ccc rgba(0, 0, 0, 0.15);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  list-style: none;
  position: absolute;
  z-index: 15; }

.ecl-dropdown__body[aria-hidden='true'] {
  display: none; }

/**
 * ECL Expandable
 * @define expandable
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Expandable
 * @define expandable
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-expandable {
  margin: 0; }

.ecl-expandable__button::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  font-size: 0.875rem;
  margin-left: 0.66rem; }

.ecl-expandable__button[aria-expanded='false']::after {
  content: '\e81f'; }

.ecl-expandable__button[aria-expanded='true']::after {
  content: '\e827'; }

/**
 * Featured item component
 * @define featured-item
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Featured item component
 * @define featured-item
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-featured-item {
  box-sizing: border-box;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  margin: 0;
  width: 100%; }

.ecl-featured-item__image {
  box-sizing: border-box;
  margin-bottom: 1rem; }

.ecl-featured-item__title {
  color: #404040;
  display: block;
  font-size: 1.375rem;
  font-weight: bold;
  margin-top: 1rem; }

.ecl-featured-item--extended {
  background-color: #ebebeb;
  border-left: 0.66rem solid #ffd617;
  padding: 0.89rem; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-featured-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-featured-item__image {
    margin-bottom: 0;
    padding-right: 1.66rem;
    width: 40%; } }

/**
 * File
 * @define file
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * File
 * @define file
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-file {
  color: #404040;
  margin: 0; }
  @media print {
    .ecl-file {
      display: none !important; } }

.ecl-file__body {
  background-color: #ebebeb;
  padding: 1.66rem; }

.ecl-file__icon {
  float: left;
  padding-bottom: 0.1rem;
  padding-top: 0.2rem; }
  .ecl-file__icon::before {
    color: #9f9f9f;
    font-size: 2.63rem;
    line-height: 1;
    margin-right: 0.33rem; }

.ecl-file__title {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.3; }

.ecl-file__info {
  font-size: 0.875rem;
  line-height: 1.3;
  margin-top: 0.33rem; }

.ecl-file__language {
  display: inline-block;
  font-weight: bold; }

.ecl-file__properties {
  display: inline-block; }

.ecl-file__download {
  margin: 0.875rem auto 0;
  text-align: center; }
  .ecl-file__download::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e806';
    margin-left: 0.8em; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-file__download {
    margin-top: 0; } }

.ecl-file__translations {
  text-align: right; }

.ecl-file__translations-toggle {
  font-weight: normal; }

.ecl-file__translations-toggle[aria-expanded='false']::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e81f';
  margin-left: 0.8em; }

.ecl-file__translations-toggle[aria-expanded='true']::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e827';
  margin-left: 0.8em; }

.ecl-file__translations-list {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  text-align: left; }

.ecl-file__translations-item {
  border-top: 1px solid #9f9f9f;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  padding-bottom: 0.66rem;
  padding-top: 0.66rem; }
  .ecl-file__translations-item:last-child {
    border-bottom: 1px solid #9f9f9f; }

.ecl-file__translations-metadata {
  -webkit-box-flex: 1;
          flex-grow: 1; }

.ecl-file__translations-title {
  font-size: 1rem;
  font-weight: bold; }

.ecl-file__translations-info {
  font-size: 0.875rem;
  margin-top: 0.66rem; }

.ecl-file__translations-download {
  align-self: flex-start;
  font-weight: normal;
  margin-left: -1rem; }
  .ecl-file__translations-download::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e806';
    margin-left: 0.8em; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-file__translations-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-file__translations-download {
    align-self: flex-end;
    margin-left: 0; } }

.ecl-file__link-container {
  border-top: 1px solid #e3e3e3;
  padding: 1rem 0; }
  .ecl-file__link-container:last-child {
    border-bottom: 1px solid #e3e3e3; }

.ecl-file__link {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  text-decoration: none; }
  .ecl-file__link .ecl-file__icon {
    padding: 0;
    /*
      Ugly hacks: set icons' size manually
     */
    /* stylelint-disable-next-line */
    /* stylelint-disable-next-line */
    /* stylelint-disable-next-line */ }
    .ecl-file__link .ecl-file__icon::before {
      font-size: 2.7rem; }
    .ecl-file__link .ecl-file__icon.ecl-icon--slides::before {
      font-size: 2.1rem; }
    .ecl-file__link .ecl-file__icon.ecl-icon--image::before {
      font-size: 1.8rem; }
  .ecl-file__link .ecl-file__title {
    margin-left: 0.33rem;
    text-decoration: underline; }

/* stylelint-disable-next-line */
.ecl-file__link.ecl-link--external::after,
.ecl-file__type {
  border-left: 2px solid #9f9f9f;
  color: #404040;
  font-weight: bold;
  margin-left: 0.33rem;
  padding-left: 0.33rem;
  text-transform: uppercase; }

.ecl-file__image,
.ecl-file__video {
  border: 0;
  box-sizing: border-box;
  display: block;
  height: auto;
  width: 100%; }

.ecl-file__caption {
  background-color: #ebebeb;
  display: block;
  font-size: 0.875rem;
  line-height: 1.3;
  padding: 0.66rem 0.89rem; }

/* stylelint-disable */
[class^='ecl-u-ratio'] iframe.ecl-file__video,
[class*=' ecl-u-ratio'] iframe.ecl-file__video {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

/**
 * Footers component
 * @define footer
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Footers component
 * @define footer
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-footer {
  margin: 0;
  padding: 0; }
  @media print {
    .ecl-footer {
      display: none !important; } }

/* List hacks */
.ecl-footer__list {
  margin: 0;
  max-width: none; }

.ecl-footer__list--inline {
  max-width: none; }
  .ecl-footer__list--inline .ecl-footer__list-item {
    margin-left: 0;
    margin-right: 0.89rem; }
  .ecl-footer__list--inline .ecl-footer__list-item:last-child {
    margin-right: 0; }

/* End of: List hacks */
/* stylelint-disable-next-line */
.ecl-footer__list-item {
  font-size: 1rem;
  line-height: 2rem; }

.ecl-footer__column {
  padding-top: 1.66rem; }

.ecl-footer__column:last-child {
  padding-bottom: 1.66rem; }

.ecl-footer__spaced-column {
  padding-top: 3.33rem; }

.ecl-footer__spaced-column:last-child {
  padding-bottom: 3.33rem; }

.ecl-footer__custom-label {
  display: inline;
  font-weight: bold; }

.ecl-footer__column-title {
  max-width: none; }

.ecl-footer__custom {
  background-color: #bfd0e4;
  color: #012b58; }
  .ecl-footer__custom .ecl-footer__link {
    color: #012b58; }
  .ecl-footer__custom .ecl-footer__link:hover,
  .ecl-footer__custom .ecl-footer__link:active,
  .ecl-footer__custom .ecl-footer__link:focus {
    color: #012b58; }
  .ecl-footer__custom .ecl-footer__column {
    padding-bottom: 0;
    padding-top: 1rem; }
  .ecl-footer__custom .ecl-footer__column:last-child {
    padding-bottom: 1rem;
    padding-top: 0; }

.ecl-footer__corporate {
  color: #fff; }

.ecl-footer__corporate-top {
  background-color: #4073af; }

.ecl-footer__corporate-bottom {
  background-color: #004494;
  padding: 1rem 0; }

.ecl-footer__column-title {
  border-bottom: 2px solid #7fa1c9;
  color: #fff;
  margin-bottom: 0.33rem;
  padding-bottom: 0.33rem; }

@media (min-width: 768px) and (max-width: 1199px) {
  .ecl-footer__column-title {
    min-height: 3.33rem;
    padding-bottom: 0; } }
  @media (min-width: 1200px) {
    .ecl-footer__column-title {
      margin-bottom: 1rem;
      min-height: auto; } }

.ecl-footer__custom-title-identity {
  border-bottom: 0;
  color: #012b58; }

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-footer__column {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-footer__custom .ecl-footer__column {
    padding-bottom: 1rem; }
  .ecl-footer__custom .ecl-footer__column:last-child {
    padding-top: 1rem; }
  .ecl-footer__link {
    padding: 0; } }

/**
 * Footers component
 * @define footer-standardised
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-footer-standardised {
  background-color: #004494;
  margin: 0;
  padding: 2.22rem 0; }
  @media print {
    .ecl-footer-standardised {
      display: none !important; } }

.ecl-footer-standardised__title {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
  max-width: 32em;
  padding: 0; }

.ecl-footer-standardised__title--bordered {
  border-bottom: 2px solid #7fa1c9;
  margin-bottom: 0.66rem;
  padding-bottom: 0.66rem; }

.ecl-footer-standardised__description {
  color: #bfd0e4;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.66;
  margin: 0;
  max-width: 32em;
  padding: 0; }

.ecl-footer-standardised__icon::before {
  margin-right: 0.66rem; }

.ecl-footer-standardised__list-item {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.66;
  margin: 0;
  max-width: 32em;
  padding: 0; }

.ecl-footer-standardised__list-inline .ecl-footer-standardised__list-item {
  margin-left: 1.66rem; }

.ecl-footer-standardised__list-inline .ecl-footer-standardised__list-item:first-child {
  margin-left: 0; }

.ecl-footer-standardised__list-vertical .ecl-footer-standardised__list-item + .ecl-footer-standardised__list-item {
  margin-top: 1rem; }

.ecl-footer-standardised__list-vertical--compact .ecl-footer-standardised__list-item + .ecl-footer-standardised__list-item {
  margin-top: 0.66rem; }

.ecl-footer-standardised__bordered-row::before {
  border-top: 2px solid #7fa1c9;
  content: '';
  display: block;
  margin: 0 1rem;
  padding-top: 1rem;
  width: 100%; }

.ecl-footer-standardised__bordered-row::after {
  border-bottom: 2px solid #7fa1c9;
  content: '';
  display: block;
  margin: 0 1rem;
  padding-bottom: 1rem;
  width: 100%; }

/*
 * Language selector (page level)
 * @define lang-select-page
 *
 * Note: `.ecl-lang-select-page--dropdown` is automatically added/removed (JS)
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Language selector (page level)
 * @define lang-select-page
 *
 * Note: `.ecl-lang-select-page--dropdown` is automatically added/removed (JS)
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-lang-select-page {
  -webkit-box-align: center;
          align-items: center;
  background-color: #f5f5f5;
  border-bottom: 1px solid #9f9f9f;
  color: #404040;
  display: -webkit-box;
  display: flex;
  flex-wrap: nowrap;
  font-size: 0.875rem;
  margin: 0;
  min-height: 3rem;
  overflow: hidden; }
  @media print {
    .ecl-lang-select-page {
      display: none !important; } }
  .no-js .ecl-lang-select-page {
    flex-wrap: wrap; }

.ecl-lang-select-page__icon {
  -webkit-box-flex: 0;
          flex-grow: 0;
  flex-shrink: 0;
  font-size: 1.875rem; }
  @media print {
    .ecl-lang-select-page__icon {
      display: none !important; } }

.ecl-lang-select-page__unavailable {
  padding: 1rem 0.89rem;
  text-decoration: line-through; }
  @media (min-width: 480px) {
    .ecl-lang-select-page__unavailable {
      margin-right: 2.22rem; } }

.ecl-lang-select-page__list {
  -webkit-box-align: stretch;
          align-items: stretch;
  align-self: stretch;
  display: -webkit-box;
  display: flex;
  flex-wrap: no-wrap;
  margin: 0;
  padding: 0; }
  .ecl-lang-select-page--dropdown .ecl-lang-select-page__list {
    position: absolute;
    visibility: hidden; }
  .no-js .ecl-lang-select-page__list {
    -webkit-box-flex: 1;
            flex-grow: 1;
    flex-wrap: wrap; }

.ecl-lang-select-page__option {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  list-style: none;
  padding: 1rem 0.89rem; }

.ecl-lang-select-page__option--is-selected {
  background-color: #ffd617;
  color: #000;
  font-weight: bold; }

.ecl-lang-select-page__dropdown {
  background: url("../images/arrow-down.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
  background: url("../images/arrow-down.svg"), linear-gradient(to bottom, transparent, transparent);
  background-position: right 0.66rem center, right;
  background-repeat: no-repeat;
  background-size: 1rem auto, 2.32rem 100%;
  align-self: stretch;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  color: #404040;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 1rem 2.22rem 1rem 1rem;
  position: absolute;
  visibility: hidden; }
  @media print {
    .ecl-lang-select-page__dropdown {
      display: none !important; } }
  .ecl-lang-select-page__dropdown::-ms-expand {
    display: none; }
  .ecl-lang-select-page--dropdown .ecl-lang-select-page__dropdown {
    position: static;
    visibility: visible; }

.ecl-lang-select-page__dropdown-option {
  padding: 0.66rem; }

/* Variant */
.ecl-lang-select-page--primary {
  background-color: #004494;
  border-bottom: 1px solid #fff;
  color: #fff; }
  .ecl-lang-select-page--primary .ecl-lang-select-page__dropdown {
    background: url("../images/arrow-down--white.svg"), -webkit-gradient(linear, left top, left bottom, from(#003776), to(#003776));
    background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #003776, #003776);
    background-position: right 0.66rem center, right;
    background-repeat: no-repeat;
    background-size: 1rem auto, 2.32rem 100%;
    background-color: #003776;
    color: #fff; }

/**
 * Language select (Site)
 * @define lang-select-sites
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Language select (Site)
 * @define lang-select-sites
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-lang-select-sites {
  margin: 0;
  text-align: center; }
  @media print {
    .ecl-lang-select-sites {
      display: none !important; } }

.ecl-lang-select-sites__link {
  border: 3px solid transparent;
  color: #004494;
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
  padding: 0.66rem 0.89rem;
  text-align: center;
  text-decoration: none; }

.ecl-lang-select-sites__link:focus {
  border-color: #ffd617;
  outline: none; }

.ecl-lang-select-sites__label {
  margin-right: 0.66rem; }

.ecl-lang-select-sites__label:hover {
  text-decoration: underline; }

.ecl-lang-select-sites__code {
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  width: 1.4rem; }

.ecl-lang-select-sites__code-text {
  background-color: #004494;
  color: #fff;
  font-size: 0.75rem;
  position: relative; }

.ecl-lang-select-sites__icon {
  color: #004494;
  font-size: 1.4rem;
  left: 0;
  position: absolute;
  top: -2px; }

.ecl-lang-select-sites__icon::before {
  font-weight: inherit; }

/**
 * Language list component
 * @define language-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Language list component
 * @define language-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-language-list {
  margin: 0; }

.ecl-language-list__wrapper {
  background-color: #004494;
  padding-bottom: 3.33rem;
  padding-top: 3.33rem; }

.ecl-language-list__button {
  background-color: #fff;
  color: #004494; }
  .ecl-language-list__button:focus, .ecl-language-list__button:active, .ecl-language-list__button:hover {
    border-color: #ffd617;
    color: #000; }
  .ecl-language-list__button:focus, .ecl-language-list__button:active {
    background-color: #fff;
    text-decoration: underline; }
  .ecl-language-list__button:hover {
    background-color: #ffd617; }

.ecl-language-list__button--active {
  background-color: #ffd617;
  box-shadow: none;
  color: #000; }

/**
 * list-items
 * @define list-item
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * list-items
 * @define list-item; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-list-item {
  border-bottom: 1px solid #ebebeb;
  list-style-type: none;
  margin: 0; }

.ecl-list-item:first-child {
  border-top: 1px solid #ebebeb; }

.ecl-list-item__body {
  -webkit-box-flex: 1;
          flex-grow: 1; }

.ecl-list-item__link {
  color: #404040;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  padding-bottom: 1rem;
  padding-top: 1rem;
  text-decoration: none; }

.ecl-list-item__meta {
  color: #707070;
  margin-bottom: 1rem; }

.ecl-list-item__detail {
  font-size: 1rem; }

.ecl-list-item__title {
  color: #004494;
  font-size: 1.125rem;
  margin-bottom: 1rem;
  margin-top: 1rem; }

.ecl-list-item--highlight .ecl-list-item__title {
  font-size: 1.375rem;
  height: 2.2em;
  overflow: hidden;
  text-overflow: ellipsis; }

.ecl-list-item__link:hover .ecl-list-item__title,
.ecl-list-item__link:focus .ecl-list-item__title {
  color: #404040;
  text-decoration: underline; }

.ecl-list-item__primary {
  flex-shrink: 0;
  height: auto;
  margin-right: 1.66rem;
  max-height: 5.55rem;
  max-width: 5.55rem;
  width: auto; }

.ecl-list-item--highlight .ecl-list-item__link {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  margin-bottom: 1rem;
  padding-bottom: 0;
  padding-top: 0; }

.ecl-list-item--highlight .ecl-list-item__primary {
  margin-right: 0;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%; }
  .ecl-list-item--highlight .ecl-list-item__primary img {
    display: block;
    width: 100%; }

.ecl-list-item--highlight .ecl-list-item__body {
  background-color: #ebebeb;
  padding-left: 1rem;
  padding-right: 1rem; }

.ecl-list-item--block {
  color: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  margin: 0 0 1rem 0;
  padding: 0;
  /* stylelint-disable-next-line no-descending-specificity */ }
  .ecl-list-item--block .ecl-list-item__detail {
    color: inherit; }
  .ecl-list-item--block .ecl-list-item__link {
    background-color: #004494;
    color: inherit;
    padding: 1rem;
    text-decoration: none; }
  .ecl-list-item--block .ecl-list-item__link:hover,
  .ecl-list-item--block .ecl-list-item__link:focus {
    color: #fff; }
  .ecl-list-item--block .ecl-list-item__link:hover .ecl-list-item__title,
  .ecl-list-item--block .ecl-list-item__link:focus .ecl-list-item__title {
    color: #fff; }
  .ecl-list-item--block .ecl-list-item__title {
    color: inherit;
    font-size: 1.125rem;
    margin: 0.33rem 0 0.66rem; }

.ecl-list-item--block .ecl-list-item__title::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e828';
  width: 1rem; }

.ecl-list-item--navigation {
  margin-bottom: 1rem; }

/* stylelint-disable-next-line no-descending-specificity */
.ecl-list-item--navigation .ecl-list-item__link {
  border-top: 3px solid #ffd617;
  padding: 0; }

/* stylelint-disable-next-line no-descending-specificity */
.ecl-list-item--navigation .ecl-list-item__title {
  font-size: 1rem;
  margin: 0;
  padding: 0.89rem 0; }

.ecl-list-item--navigation .ecl-list-item__detail {
  margin: 0 0 0.89rem; }

.ecl-list-item--navigation .ecl-list-item__link:hover {
  border-top-color: #004494; }
  .ecl-list-item--navigation .ecl-list-item__link:hover .ecl-list-item__title {
    color: #004494;
    text-decoration: none; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-list-item--navigation .ecl-list-item__title {
    font-size: 1.125rem;
    padding: 0.89rem 0 1.66rem; } }

/**
 * ECL Navigation inpage
 * @define inpage-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Navigation inpage
 * @define inpage-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-inpage-navigation {
  margin: 0; }

.ecl-inpage-navigation__trigger {
  background-color: #004494;
  border: 0;
  color: #fff;
  display: none;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 4.125rem;
  padding-top: 1rem;
  position: relative;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%; }
  .ecl-inpage-navigation__trigger::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e822';
    -webkit-box-align: center;
            align-items: center;
    background-color: #003776;
    display: -webkit-box;
    display: flex;
    font-size: 0.5rem;
    height: 100%;
    -webkit-box-pack: center;
            justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 3.125rem; }

.ecl-inpage-navigation__title {
  color: #404040;
  display: none;
  padding-bottom: 0.89rem;
  padding-left: 0.5rem;
  padding-top: 0.66rem;
  text-transform: uppercase; }

.ecl-inpage-navigation__list {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.ecl-inpage-navigation__list[aria-hidden='true'] {
  display: none; }

.ecl-inpage-navigation__link {
  font-size: 1rem;
  line-height: 1.625;
  padding: 0.4375rem 0; }

.ecl-inpage-navigation--visible .ecl-inpage-navigation__trigger {
  display: block; }

/* stylelint-disable-next-line order/order */
@media (max-width: 767px) {
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__body {
    background-color: #004494;
    left: 0;
    position: fixed;
    right: 0;
    top: 0; }
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__link {
    border-top: 1px solid #003776;
    color: #fff;
    display: block;
    padding: 0.66rem 0.89rem;
    text-decoration: underline; }
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__link:visited {
    color: #fff; } }

@media (min-width: 768px) {
  .ecl-inpage-navigation {
    position: -webkit-sticky;
    position: sticky;
    top: 0; }
  .ecl-inpage-navigation__title {
    display: block; }
  .ecl-inpage-navigation__list[aria-hidden] {
    display: block; }
  .ecl-inpage-navigation__link {
    border-left: 3px solid transparent;
    color: #000;
    display: block;
    font-weight: 700;
    padding-left: 0.33rem; }
    .ecl-inpage-navigation__link:hover {
      text-decoration: underline; }
    .ecl-inpage-navigation__link:focus {
      background-color: #ffd617;
      outline: none;
      text-decoration: underline; }
  .ecl-inpage-navigation__link--is-active {
    background-color: #ebebeb;
    border-left-color: #004494; }
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__trigger {
    display: none; } }

/**
 * ECL Pager
 * @define pager
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Pager
 * @define pager
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-pager {
  border-top: 2px solid #000;
  margin: 0;
  text-align: center; }

.ecl-pager__list {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-pack: center;
          justify-content: center;
  margin: 1rem 0;
  padding-left: 0;
  width: 100%; }

.ecl-pager__item {
  border: 2px solid transparent;
  box-sizing: content-box;
  color: #000;
  display: none;
  list-style: none;
  margin: 0 0.33rem; }

.ecl-pager__link {
  color: #004494;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  min-width: 1rem;
  padding: 0.33rem;
  text-decoration: none; }
  .ecl-pager__link:hover {
    color: #000;
    text-decoration: underline; }

.ecl-pager__item--previous,
.ecl-pager__item--next {
  display: block; }
  .ecl-pager__item--previous .ecl-pager__link,
  .ecl-pager__item--next .ecl-pager__link {
    font-weight: 600; }

.ecl-pager__item--ellipsis {
  font-size: 1rem;
  font-weight: 400;
  min-width: 1rem;
  padding: 0.33rem; }

.ecl-pager__item--current {
  border-radius: 50%;
  display: block;
  -webkit-box-flex: 1;
          flex-grow: 1;
  font-size: 1rem;
  font-weight: 600;
  min-width: 1rem;
  padding: 0.33rem; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-pager {
    width: auto; }
  .ecl-pager__item {
    display: block; }
  .ecl-pager__item--current {
    border: 2px solid #000;
    -webkit-box-flex: 0;
            flex-grow: 0; }
  .ecl-pager__item-text {
    display: none; } }

/**
 * Blockquotes
 * @define rss-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * RSS links
 * @define rss-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-rss-link {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
          justify-content: center;
  margin: 0; }

.ecl-rss-link__label {
  color: #404040;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: bold;
  margin: 0.5rem 0.75rem 0.5rem 0; }

.ecl-rss-link__link {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  flex-shrink: 0;
  font-size: 1rem;
  -webkit-box-pack: center;
          justify-content: center; }
  .ecl-rss-link__link::before {
    flex-shrink: 0; }

/**
 * Search form
 * @define search-form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Search form
 * @define search-form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-search-form {
  border: 1px solid #9f9f9f;
  display: -webkit-box;
  display: flex;
  margin: 0; }
  @media print {
    .ecl-search-form {
      display: none !important; } }

.ecl-search-form__textfield-wrapper {
  background-color: #fff;
  border: 3px solid transparent;
  -webkit-box-flex: 1;
          flex-grow: 1; }

.ecl-search-form__textfield {
  border: 0;
  margin-top: 0;
  padding: 0.66rem 0.89rem; }

.ecl-search-form__button {
  flex-shrink: 0;
  padding: 0 1.66rem;
  position: relative;
  text-indent: -999em; }
  .ecl-search-form__button::before {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-right: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none; }
  .ecl-search-form__button::before {
    content: '\e823';
    font-size: 1.375rem;
    left: 50%;
    position: absolute;
    text-indent: 0;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-search-form__button {
    padding: 0 1rem;
    text-indent: 0; }
    .ecl-search-form__button::before {
      display: none !important; } }

.ecl-search-form--internal {
  display: -webkit-box;
  display: flex; }
  .ecl-search-form--internal .ecl-search-form__textfield-wrapper {
    border-color: #fff;
    -webkit-box-flex: 1;
            flex-grow: 1;
    position: relative;
    /* stylelint-disable-next-line */ }
    .ecl-search-form--internal .ecl-search-form__textfield-wrapper::before {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-right: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none; }
    .ecl-search-form--internal .ecl-search-form__textfield-wrapper::before {
      content: '\e823';
      color: #cfcfcf;
      font-size: 1.125rem;
      left: 0.66rem;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
  .ecl-search-form--internal .ecl-search-form__textfield {
    padding-left: 2.445rem; }

/**
 * Skip link component
 * @define skip-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Skip link component
 * @define skip-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-skip-link__wrapper {
  left: 2.22rem;
  margin: 0;
  position: fixed;
  top: 2.22rem;
  z-index: 9999; }

.ecl-skip-link {
  border: 0;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  background-color: #4073af;
  color: #fff;
  outline: 4px solid #ffd617;
  outline-offset: 0;
  padding: 0.66rem; }
  .ecl-skip-link:active, .ecl-skip-link:focus {
    clip: auto;
    -webkit-clip-path: none;
            clip-path: none;
    height: auto;
    overflow: visible;
    position: static;
    white-space: normal;
    width: auto; }
  .ecl-skip-link:focus, .ecl-skip-link:active {
    white-space: nowrap; }

/**
 * Social media
 * @define social-media-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Social media
 * @define social-media-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-social-media-link {
  background-color: #ebebeb;
  box-sizing: border-box;
  display: block;
  margin: 0;
  padding: 1.66rem;
  width: 100%; }
  @media print {
    .ecl-social-media-link {
      display: none !important; } }

.ecl-social-media-link__item {
  margin-bottom: 0.66rem;
  vertical-align: top; }
  .ecl-social-media-link__item:last-child {
    margin-bottom: 0; }

.ecl-social-media-link__link {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  min-height: 2rem; }

.ecl-social-media-link--horizontal .ecl-social-media-link__list {
  max-width: 100%; }

.ecl-social-media-link--horizontal .ecl-social-media-link__item {
  margin-left: 0;
  margin-right: 1.66rem; }

.ecl-social-media-link--horizontal .ecl-social-media-link__item:last-child {
  margin-right: 0; }

/**
 * Timeline
 * @define timeline
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Timeline
 * @define timeline
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-timeline {
  border-left: 4px solid #ffd617;
  margin: 0;
  padding: 0; }

.ecl-timeline__list {
  list-style: none;
  margin: 0;
  padding: 1.66rem 0 0; }

.ecl-timeline__item {
  margin-bottom: 2.22rem; }

.ecl-timeline__item:last-child {
  margin-bottom: 0; }

.ecl-timeline__item--over-limit {
  display: none; }
  .no-js .ecl-timeline__item--over-limit {
    display: list-item; }

.ecl-timeline__button {
  margin-left: 2.22rem; }
  .no-js .ecl-timeline__button {
    display: none; }

.ecl-timeline__title {
  font-weight: bold;
  margin-bottom: 0.89rem;
  padding-left: 2.22rem;
  position: relative; }
  .ecl-timeline__title::before {
    background-color: #fff;
    border: 3px solid #404040;
    border-radius: 50%;
    box-sizing: border-box;
    content: '';
    height: 14px;
    left: -9px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 14px; }

.ecl-timeline__body {
  color: #404040;
  padding-left: 2.22rem; }

/**
 * Accordions
 * @define accordion
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Accordions
 * @define accordion
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-accordion {
  margin: 0; }

.ecl-accordion__header {
  -webkit-box-align: center;
          align-items: center;
  background-color: transparent;
  border-width: 0;
  color: #404040;
  display: -webkit-box;
  display: flex;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
  padding: 0.89rem;
  text-align: left;
  width: 100%; }
  @media (min-width: 768px) {
    .ecl-accordion__header {
      font-size: 1.375rem; } }

.ecl-accordion__header-icon {
  -webkit-box-flex: 0;
          flex-grow: 0;
  flex-shrink: 0;
  margin-right: 0.89rem; }

.ecl-accordion__header:active,
.ecl-accordion__header:focus,
.ecl-accordion__header:hover,
.ecl-accordion__header[aria-expanded='true'] {
  background-color: #ffd617; }

.ecl-accordion__panel {
  background-color: #f5f5f5;
  font-size: 1rem;
  margin: 0;
  padding: 1rem; }
  @media (min-width: 768px) {
    .ecl-accordion__panel {
      padding-left: 4.44rem; } }

.ecl-accordion__panel[aria-hidden='true'] {
  display: none; }

/**
* Gallery
* @define gallery ; weak
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
* Gallery
* @define gallery ; weak
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-gallery {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  width: 100%; }

.ecl-gallery__item {
  overflow: hidden; }

.ecl-gallery .ecl-gallery__item {
  padding: 0.165rem; }

.ecl-gallery__item-container {
  box-sizing: border-box;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%; }

.ecl-gallery__image {
  display: block;
  left: 50%;
  max-height: none;
  max-width: none;
  min-height: 100%;
  min-width: 100%;
  position: relative;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: auto; }

.ecl-gallery__caption {
  background-color: #404040;
  bottom: 0;
  color: #fff;
  display: none;
  font-size: 0.75rem;
  height: 4em;
  left: 0;
  overflow: hidden;
  /* stylelint-disable-next-line */
  padding: 0.33rem 0.66rem 0.33rem 0.33rem;
  position: absolute;
  right: 0;
  text-overflow: ellipsis; }

.ecl-gallery__icon-wrapper {
  background-color: #404040;
  bottom: 0;
  color: #fff;
  height: 2.667em;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  text-align: center;
  width: 2.667em; }
  .ecl-gallery__icon-wrapper .ecl-icon--camera {
    font-size: 0.75rem;
    line-height: 4em; }

.ecl-gallery__icon {
  font-size: 1.125rem;
  line-height: 2.667em; }
  .ecl-gallery__icon::before {
    margin-right: 0; }

.ecl-gallery__item:hover .ecl-gallery__caption {
  display: block; }

/**
 * Listings
 * @define listing; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Listings
 * @define listing; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-listing {
  margin: 0;
  padding-left: 0; }

.ecl-listing--two-columns {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap; }
  .ecl-listing--two-columns .ecl-list-item {
    border-width: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    width: 100%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-listing--two-columns .ecl-list-item {
    width: 50%; }
  .ecl-listing--two-columns .ecl-list-item:nth-child(odd) .ecl-list-item__link {
    padding-left: 0;
    padding-right: 1rem; }
  .ecl-listing--two-columns .ecl-list-item:nth-child(even) .ecl-list-item__link {
    padding-left: 1rem;
    padding-right: 0; }
  .ecl-listing--two-columns .ecl-list-item--navigation:nth-child(odd) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 0; }
  .ecl-listing--two-columns .ecl-list-item--navigation:nth-child(even) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 0; }
  .ecl-listing--two-columns .ecl-list-item--block:nth-child(odd) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 1rem; }
  .ecl-listing--two-columns .ecl-list-item--block:nth-child(even) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 1rem; } }

.ecl-listing--three-columns {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap; }
  .ecl-listing--three-columns .ecl-list-item {
    border-width: 0;
    -webkit-box-flex: 1;
            flex-grow: 1;
    width: 100%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-listing--three-columns .ecl-list-item {
    width: 33%; }
  .ecl-listing--three-columns .ecl-list-item:nth-child(3n + 1) .ecl-list-item__link {
    padding-left: 0;
    padding-right: 1rem; }
  .ecl-listing--three-columns .ecl-list-item:nth-child(3n + 2) .ecl-list-item__link {
    padding-left: 0.5rem;
    padding-right: 0.5rem; }
  .ecl-listing--three-columns .ecl-list-item:nth-child(3n) .ecl-list-item__link {
    padding-left: 1rem;
    padding-right: 0; }
  .ecl-listing--three-columns .ecl-list-item--highlight:nth-child(3n + 1) .ecl-list-item__link {
    margin-right: 1rem;
    padding-right: 0; }
  .ecl-listing--three-columns .ecl-list-item--highlight:nth-child(3n + 2) .ecl-list-item__link {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding-left: 0;
    padding-right: 0; }
  .ecl-listing--three-columns .ecl-list-item--highlight:nth-child(3n) .ecl-list-item__link {
    margin-left: 1rem;
    padding-left: 0; }
  .ecl-listing--three-columns .ecl-list-item--navigation:nth-child(3n + 1) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 0; }
  .ecl-listing--three-columns .ecl-list-item--navigation:nth-child(3n + 2) .ecl-list-item__link {
    margin: 0 0.5rem;
    padding: 0; }
  .ecl-listing--three-columns .ecl-list-item--navigation:nth-child(3n) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 0; }
  .ecl-listing--three-columns .ecl-list-item--block:nth-child(3n + 1) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 1rem; }
  .ecl-listing--three-columns .ecl-list-item--block:nth-child(3n + 2) .ecl-list-item__link {
    margin: 0 0.5rem;
    padding: 1rem; }
  .ecl-listing--three-columns .ecl-list-item--block:nth-child(3n) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 1rem; } }

/**
 * ECL Navigation
 * @define navigation-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Navigation
 * @define navigation-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-navigation-list {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  flex-wrap: nowrap;
  list-style-type: none;
  margin: 0;
  padding: 0; }

.ecl-navigation-list__item {
  flex-shrink: 0; }

.ecl-navigation-list__link {
  border-bottom: 2px solid transparent;
  display: block;
  font-weight: bold;
  padding: 0.89rem 1rem;
  text-decoration: none; }
  .ecl-navigation-list__link:hover {
    text-decoration: underline; }
  .ecl-navigation-list__link:focus {
    background-color: #ffd617;
    border-bottom-color: #ffd617; }

.ecl-navigation-list__link--active,
.ecl-navigation-list__link[aria-selected='true'] {
  color: #404040; }
  .ecl-navigation-list__link--active:hover,
  .ecl-navigation-list__link[aria-selected='true']:hover {
    text-decoration: none; }

/**
   * Variants
   */
.ecl-navigation-list--tabs {
  border-bottom: 2px solid #9f9f9f; }

.ecl-navigation-list--tabs .ecl-navigation-list__item {
  margin-bottom: -2px; }

.ecl-navigation-list--tabs .ecl-navigation-list__link--active,
.ecl-navigation-list--tabs .ecl-navigation-list__link[aria-selected='true'] {
  border: 2px solid #9f9f9f;
  border-bottom-color: #fff;
  text-decoration: none; }
  .ecl-navigation-list--tabs .ecl-navigation-list__link--active:focus,
  .ecl-navigation-list--tabs .ecl-navigation-list__link[aria-selected='true']:focus {
    border-bottom-color: transparent; }

.ecl-navigation-list--small .ecl-navigation-list__link {
  border-bottom-width: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.3;
  padding: 0.66rem; }

/**
 * EC navigation menus
 * @define navigation-menu
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Horizontal menus
 * @define navigation-menu
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-navigation-menu {
  background-color: #4073af;
  margin: 0; }

.ecl-navigation-menu__root {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-flex: 1;
          flex-grow: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative; }

.ecl-navigation-menu__root[aria-hidden='true'] {
  display: none; }
  .no-js .ecl-navigation-menu__root[aria-hidden='true'] {
    display: -webkit-box;
    display: flex; }

.ecl-navigation-menu__root::before {
  background-color: #bfd0e4;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-navigation-menu__toggle {
  background-color: #4073af;
  border-width: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 1.66rem 0;
  position: relative;
  text-align: left;
  text-decoration: none;
  width: 100%; }

.ecl-navigation-menu__group {
  display: none;
  list-style: none;
  padding: 1rem 0 1rem;
  position: relative; }

.ecl-navigation-menu__group::before {
  background-color: #f5f5f5;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100vw; }

.ecl-navigation-menu__title {
  color: #404040;
  font-size: 1.125rem;
  padding-bottom: 0.89rem;
  padding-top: 0.89rem; }

.ecl-navigation-menu__links {
  line-height: 1.25rem; }

.ecl-navigation-menu__link {
  -webkit-box-align: center;
          align-items: center;
  background-color: transparent;
  border-bottom: 1px solid #7fa1c9;
  border-left-width: 0;
  border-right-width: 0;
  border-top: 0;
  box-sizing: border-box;
  color: #012b58;
  display: -webkit-box;
  display: flex;
  font-size: 1rem;
  font-weight: bold;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding: 1rem 0;
  position: relative;
  text-decoration: none;
  width: 100%; }

.ecl-navigation-menu__root > .ecl-navigation-menu__item {
  background-color: #bfd0e4; }

.ecl-navigation-menu__item--active {
  background-color: #4073af;
  position: relative; }
  .ecl-navigation-menu__item--active > .ecl-navigation-menu__link {
    color: #fff; }
  .ecl-navigation-menu__item--active::before {
    background-color: #4073af;
    content: '';
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100vw; }

.ecl-navigation-menu__root > .ecl-navigation-menu__item--active {
  background-color: #4073af; }

.ecl-navigation-menu__group .ecl-navigation-menu__link:hover, .ecl-navigation-menu__group .ecl-navigation-menu__link:focus {
  text-decoration: underline; }

.ecl-navigation-menu__item:last-child .ecl-navigation-menu__link {
  border-bottom-width: 0; }

/* Icon display */
.ecl-navigation-menu__link[aria-expanded]::after {
  padding-left: 0.33rem; }
  .no-js .ecl-navigation-menu__link[aria-expanded]::after {
    display: none; }

.ecl-navigation-menu__link[aria-expanded='false']::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e81f'; }

.ecl-navigation-menu__link[aria-expanded='true'] {
  border-bottom-width: 0; }
  .ecl-navigation-menu__link[aria-expanded='true']::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e827'; }

.ecl-navigation-menu__link ~ .ecl-navigation-menu__group .ecl-navigation-menu__link {
  border-bottom-width: 0;
  font-weight: normal; }
  .ecl-navigation-menu__link ~ .ecl-navigation-menu__group .ecl-navigation-menu__link::after {
    display: none; }
  .ecl-navigation-menu__link ~ .ecl-navigation-menu__group .ecl-navigation-menu__link--active {
    font-weight: bold; }

/* Collapsible block display */
.ecl-navigation-menu__link[aria-expanded='true'] ~ .ecl-navigation-menu__group {
  display: block; }

/* Hamburger button */
.ecl-navigation-menu__hamburger-box {
  left: 0;
  position: absolute;
  top: 50%; }

.ecl-navigation-menu__hamburger-label {
  padding-left: 2.66rem; }

.ecl-navigation-menu__hamburger-inner {
  display: block;
  margin-top: -0.1em; }

.ecl-navigation-menu__hamburger-inner,
.ecl-navigation-menu__hamburger-inner::before,
.ecl-navigation-menu__hamburger-inner::after {
  background-color: #fff;
  border-radius: 0.1em;
  height: 0.2em;
  position: absolute;
  width: 1.66rem; }

.ecl-navigation-menu__hamburger-inner::before,
.ecl-navigation-menu__hamburger-inner::after {
  content: '';
  display: block; }

.ecl-navigation-menu__hamburger-inner::before {
  top: -0.5em; }

.ecl-navigation-menu__hamburger-inner::after {
  bottom: -0.5em; }

.ecl-navigation-menu__hamburger--squeeze .ecl-navigation-menu__hamburger-inner {
  -webkit-transition-duration: 0.075s;
          transition-duration: 0.075s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-navigation-menu__hamburger--squeeze .ecl-navigation-menu__hamburger-inner::before {
  -webkit-transition: top 0.075s 0.12s ease, opacity 0.075s ease;
  transition: top 0.075s 0.12s ease, opacity 0.075s ease; }

.ecl-navigation-menu__hamburger--squeeze .ecl-navigation-menu__hamburger-inner::after {
  -webkit-transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-navigation-menu__hamburger--squeeze[aria-expanded='true'] .ecl-navigation-menu__hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.ecl-navigation-menu__hamburger--squeeze[aria-expanded='true'] .ecl-navigation-menu__hamburger-inner::before {
  opacity: 0;
  top: 0;
  -webkit-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease; }

.ecl-navigation-menu__hamburger--squeeze[aria-expanded='true'] .ecl-navigation-menu__hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-navigation-menu {
    background-color: #bfd0e4; }
  .ecl-navigation-menu__root {
    background-color: transparent;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-navigation-menu__root[aria-hidden='true'] {
    display: -webkit-box;
    display: flex; }
  .ecl-navigation-menu__root::before {
    display: none; }
  .ecl-navigation-menu__toggle {
    display: none; }
  .ecl-navigation-menu__group {
    flex-wrap: wrap;
    left: 0;
    margin: 0;
    position: absolute;
    top: 100%;
    width: 100%; }
  .ecl-navigation-menu__link {
    border-bottom-width: 0;
    margin: 0;
    padding: 1rem; }
  .ecl-navigation-menu__group .ecl-navigation-menu__link {
    padding: 0.66rem 0; }
  .ecl-navigation-menu__link[aria-expanded]::after {
    position: relative; }
  .ecl-navigation-menu__link[aria-expanded='true'] {
    background-color: #f5f5f5;
    color: #012b58; }
  .ecl-navigation-menu__link[aria-expanded='true'] ~ .ecl-navigation-menu__group {
    -webkit-box-align: baseline;
            align-items: baseline;
    display: -webkit-box;
    display: flex;
    z-index: 15; }
  .ecl-navigation-menu__item {
    display: -webkit-box;
    display: flex; }
  .ecl-navigation-menu__group .ecl-navigation-menu__item {
    flex-basis: 25%; }
  .ecl-navigation-menu__item--active {
    position: static; }
  .ecl-navigation-menu__item--active::before {
    display: none; } }

/**
 * ECL Side menus
 * @define side-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Side menus
 * @define side-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-side-navigation {
  background-color: #ebebeb;
  height: 100%;
  margin: 0;
  padding: 0; }

.ecl-side-navigation__root {
  list-style: none;
  margin: 0;
  min-width: 13rem;
  padding: 0 1rem;
  position: relative; }

.ecl-side-navigation__root::before {
  background-color: #ebebeb;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-side-navigation__root[aria-hidden='true'] {
  display: none; }
  .no-js .ecl-side-navigation__root[aria-hidden='true'] {
    display: -webkit-box;
    display: flex; }

.ecl-side-navigation__toggle {
  border-width: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 1.66rem 1rem;
  position: relative;
  text-align: left;
  text-decoration: none;
  width: 100%;
  z-index: 1; }

.ecl-side-navigation__toggle::before {
  background-color: #4073af;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-side-navigation__group {
  display: none;
  list-style: none;
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 0 1rem;
  position: relative; }

.ecl-side-navigation__group::before {
  background-color: #f5f5f5;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-side-navigation__link {
  border-bottom: 1px solid #9f9f9f;
  color: #404040;
  display: -webkit-box;
  display: flex;
  font-size: 1.125rem;
  padding: 1rem 0;
  position: relative;
  text-decoration: none; }
  .ecl-side-navigation__link:hover, .ecl-side-navigation__link:focus {
    text-decoration: underline; }
  .ecl-side-navigation__link::after {
    position: absolute;
    right: 0;
    text-decoration: none; }
  .ecl-side-navigation__link[aria-expanded='true'] {
    border-bottom-width: 0; }
  .ecl-side-navigation__link--active {
    color: #404040;
    text-decoration: underline; }

.ecl-side-navigation__group .ecl-side-navigation__item {
  padding-left: 1rem; }

.ecl-side-navigation--depth-2 .ecl-side-navigation__link {
  border-bottom-color: #cfcfcf;
  font-weight: normal; }
  .ecl-side-navigation--depth-2 .ecl-side-navigation__link[aria-expanded='true'], .ecl-side-navigation--depth-2 .ecl-side-navigation__link[aria-expanded='false'] {
    font-weight: bold; }
  .ecl-side-navigation--depth-2 .ecl-side-navigation__link[aria-expanded='true'] {
    border-bottom-width: 1px; }

.ecl-side-navigation--depth-3 .ecl-side-navigation__link {
  border-bottom-width: 0;
  margin-left: -1rem;
  padding-left: 1rem; }

.ecl-side-navigation--depth-2 .ecl-side-navigation__item:last-child .ecl-side-navigation__link {
  border-bottom-width: 0; }

.ecl-side-navigation--depth-3 .ecl-side-navigation__item:last-child .ecl-side-navigation__link {
  border-bottom-width: 1px; }

/* Collapsible block display */
.ecl-side-navigation__link[aria-expanded='true'] ~ .ecl-side-navigation__group {
  display: block; }

/* Hamburger button */
.ecl-side-navigation__hamburger-box {
  left: 1rem;
  position: absolute;
  top: 50%; }

.ecl-side-navigation__hamburger-label {
  padding-left: 2.66rem;
  position: relative; }

.ecl-side-navigation__hamburger-inner {
  display: block;
  margin-top: -0.1em; }

.ecl-side-navigation__hamburger-inner,
.ecl-side-navigation__hamburger-inner::before,
.ecl-side-navigation__hamburger-inner::after {
  background-color: #fff;
  border-radius: 0.1em;
  height: 0.2em;
  position: absolute;
  width: 1.66rem; }

.ecl-side-navigation__hamburger-inner::before,
.ecl-side-navigation__hamburger-inner::after {
  content: '';
  display: block; }

.ecl-side-navigation__hamburger-inner::before {
  top: -0.5em; }

.ecl-side-navigation__hamburger-inner::after {
  bottom: -0.5em; }

.ecl-side-navigation__hamburger--squeeze .ecl-side-navigation__hamburger-inner {
  -webkit-transition-duration: 0.075s;
          transition-duration: 0.075s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-side-navigation__hamburger--squeeze .ecl-side-navigation__hamburger-inner::before {
  -webkit-transition: top 0.075s 0.12s ease, opacity 0.075s ease;
  transition: top 0.075s 0.12s ease, opacity 0.075s ease; }

.ecl-side-navigation__hamburger--squeeze .ecl-side-navigation__hamburger-inner::after {
  -webkit-transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-side-navigation__hamburger--squeeze[aria-expanded='true'] .ecl-side-navigation__hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.ecl-side-navigation__hamburger--squeeze[aria-expanded='true'] .ecl-side-navigation__hamburger-inner::before {
  opacity: 0;
  top: 0;
  -webkit-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease; }

.ecl-side-navigation__hamburger--squeeze[aria-expanded='true'] .ecl-side-navigation__hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-side-navigation__toggle {
    display: none; }
  .ecl-side-navigation__root,
  .ecl-side-navigation__root[aria-hidden='true'] {
    background-color: #ebebeb;
    display: block; }
  .ecl-side-navigation__root::before {
    display: none; }
  .ecl-side-navigation__group {
    background-color: #f5f5f5; }
  .ecl-side-navigation__group::before {
    display: none; } }

/**
 * Page header
 * @define page-header
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Page header
 * @define page-header
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-page-header {
  background-color: #004494;
  color: #fff;
  margin: 0; }
  .ecl-page-header__body {
    padding: 0.66rem 0; }
  .ecl-page-header__meta {
    margin-top: 1.66rem; }
  .ecl-page-header__title {
    margin-top: 1.66rem; }
  .ecl-page-header__identity {
    color: #bfd0e4;
    font-size: 1.375rem;
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-page-header__intro {
    color: #fff;
    font-size: 1.375rem;
    line-height: 1.45;
    max-width: 40em; }
  .ecl-page-header__label {
    font-size: 0.875rem;
    text-transform: uppercase; }

.ecl-page-header--image {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  /* stylelint-disable-next-line */ }
  .ecl-page-header--image .ecl-container {
    z-index: 2; }

/* Blue gradient */
.ecl-page-header--image::after {
  clear: both;
  content: '';
  height: 100%;
  left: 0%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
  /* stylelint-disable */
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#004494+0,004494+100&1+0,0.75+80,0.5+100 */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, right top, from(#004494), color-stop(80%, rgba(0, 68, 148, 0.75)), to(rgba(0, 68, 148, 0.5)));
  background: linear-gradient(to right, #004494 0%, rgba(0, 68, 148, 0.75) 80%, rgba(0, 68, 148, 0.5) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004494', endColorstr='#80004494',GradientType=1 );
  /* IE6-9 */
  /* stylelint-enable */ }

@media (max-width: 768px) {
  .ecl-page-header--image::after {
    /* stylelint-disable */
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#004494+0,004494+100&1+0,0.9+80,0.8+100 */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, right top, from(#004494), color-stop(80%, rgba(0, 68, 148, 0.9)), to(rgba(0, 68, 148, 0.8)));
    background: linear-gradient(to right, #004494 0%, rgba(0, 68, 148, 0.9) 80%, rgba(0, 68, 148, 0.8) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004494', endColorstr='#cc004494',GradientType=1 );
    /* IE6-9 */
    /* stylelint-enable */ } }

/* End Blue gradient */
.ecl-page-header--highlight {
  padding-bottom: 1.66rem; }
  .ecl-page-header--highlight .ecl-page-header__body {
    background-color: #012b58;
    padding-bottom: 0.89rem; }

@media (min-width: 480px) {
  .ecl-page-header--highlight {
    padding-bottom: 0; }
    .ecl-page-header--highlight .ecl-page-header__body {
      background-color: #004494;
      padding-bottom: 4.44rem;
      padding-top: 4.44rem; }
  .ecl-page-header__label {
    background-color: #012b58;
    display: inline-block;
    line-height: 2.4;
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-page-header__highlight {
    background-color: #fff;
    color: #004494;
    font-size: 1.375rem;
    max-width: 22em;
    padding: 1rem 1.66rem; } }

/**
 * ECL Profile Topbar
 * @define profile-topbar
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Profile Topbar
 * @define profile-topbar
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-profile-topbar {
  margin: 0;
  padding-bottom: 1.66rem;
  padding-top: 1.66rem; }

.ecl-profile-topbar__pane {
  height: 100%;
  min-height: 160px;
  position: relative; }

.ecl-profile-topbar__pane-button {
  bottom: 0;
  position: absolute; }

.ecl-profile-topbar__collapsible-area {
  background-color: #ebebeb;
  overflow: hidden; }

.ecl-profile-topbar__collapsible-area[aria-hidden='true'] {
  display: none; }

/**
 * Site header
 * @define site-header ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Site header
 * @define site-header ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-site-header {
  background-color: #fff;
  margin: 0;
  width: 100%; }

.ecl-site-header__banner {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
          justify-content: center;
  padding-bottom: 1rem;
  padding-top: 1rem; }

.ecl-site-header__banner > * {
  margin-top: 1rem; }

.ecl-site-header__logo {
  -webkit-box-flex: 0;
          flex-grow: 0;
  flex-shrink: 0; }

.ecl-site-header__language-list {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
          flex-grow: 1;
  flex-shrink: 0;
  -webkit-box-pack: end;
          justify-content: flex-end; }

.ecl-site-header__search {
  -webkit-box-flex: 1;
          flex-grow: 1; }

.ecl-site-header__user-menu {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  width: 100%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-site-header__user-menu {
    display: block;
    width: auto; } }

/**
 * Site header
 * @define site-header-standardised ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-site-header-standardised {
  background-color: #fff;
  margin: 0;
  width: 100%; }

.ecl-site-header-standardised__banner {
  -webkit-box-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
          justify-content: center;
  padding-top: 1rem; }

.ecl-site-header-standardised__banner > * {
  margin-top: 1rem; }

.ecl-site-header-standardised__classname {
  background-color: #f2f5f9;
  padding: 0.66rem 0; }

.ecl-site-header-standardised__classname-title {
  color: #004494;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.43;
  margin: 0; }
  @media (min-width: 992px) {
    .ecl-site-header-standardised__classname-title {
      font-size: 1rem;
      line-height: 1.5; } }

.ecl-site-header-standardised__sitenav {
  background-color: #004494;
  padding: 0; }

.ecl-site-header-standardised__sitenav-title {
  color: #fff;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.27;
  margin: 0;
  padding: 1rem 0; }
  @media (min-width: 992px) {
    .ecl-site-header-standardised__sitenav-title {
      font-size: 1.875rem;
      line-height: 1.07;
      padding: 1.66rem 0; } }

.ecl-site-header-standardised__logo {
  -webkit-box-flex: 0;
          flex-grow: 0;
  flex-shrink: 0;
  height: 1.75rem;
  margin-bottom: 1rem;
  width: 8rem; }
  @media (min-width: 480px) {
    .ecl-site-header-standardised__logo {
      height: 3rem;
      width: 13rem; } }
  @media (min-width: 768px) {
    .ecl-site-header-standardised__logo {
      height: 3.75rem;
      width: 16rem; } }
  .ecl-site-header-standardised__logo:active, .ecl-site-header-standardised__logo:focus {
    outline: 3px solid #ffd617; }

.ecl-site-header-standardised__language-list {
  -webkit-box-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
          flex-grow: 1;
  flex-shrink: 0;
  -webkit-box-pack: end;
          justify-content: flex-end;
  z-index: 2; }

.ecl-site-header-standardised__dropdown {
  background-color: #f2f5f9;
  border: 1px solid #bfd0e4;
  bottom: 0;
  display: block;
  -webkit-box-flex: 1;
          flex-grow: 1;
  left: 0;
  padding: 1rem;
  position: absolute;
  right: 0;
  -webkit-transform: translateY(calc(100% - 1.1px));
          transform: translateY(calc(100% - 1.1px));
  z-index: 1; }
  @media (min-width: 992px) {
    .ecl-site-header-standardised__dropdown {
      left: auto;
      margin-left: calc(1rem + 5px);
      right: auto; } }
  .ecl-site-header-standardised__dropdown[aria-hidden='true'] {
    display: none; }

.ecl-site-header-standardised__dropdown-mobile {
  -webkit-box-flex: 1;
          flex-grow: 1; }
  @media (max-width: 991px) {
    .ecl-site-header-standardised__dropdown-mobile {
      background-color: #f2f5f9;
      border: 1px solid #bfd0e4;
      bottom: 0;
      display: block;
      left: 0;
      padding: 1rem;
      position: absolute;
      right: 0;
      -webkit-transform: translateY(calc(100% - 1.1px));
              transform: translateY(calc(100% - 1.1px));
      z-index: 1; }
      .ecl-site-header-standardised__dropdown-mobile[aria-hidden='true'] {
        display: none; } }

.ecl-site-header-standardised__dropdown-divider {
  border-bottom: 1px solid #bfd0e4;
  margin-bottom: 1rem;
  margin-top: 1rem; }

@media (min-width: 992px) {
  .ecl-site-header-standardised__search {
    margin-bottom: 1rem; } }

.ecl-site-header-standardised__user-menu {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  width: 100%; }

.ecl-site-header-standardised__menu {
  background-color: transparent; }

.ecl-site-header-standardised__menu .ecl-navigation-menu__item {
  background-color: transparent; }

.ecl-site-header-standardised__menu .ecl-navigation-menu__item--active {
  background-color: #003776; }

/* stylelint-disable-next-line selector-max-compound-selectors */
@media (min-width: 768px) {
  .ecl-site-header-standardised__menu .ecl-navigation-menu__root > .ecl-navigation-menu__item > .ecl-navigation-menu__link {
    color: #fff;
    /* stylelint-disable-next-line selector-max-compound-selectors */ }
    .ecl-site-header-standardised__menu .ecl-navigation-menu__root > .ecl-navigation-menu__item > .ecl-navigation-menu__link[aria-expanded='true'] {
      color: #012b58; } }

.ecl-site-header-standardised__menu .ecl-navigation-menu__toggle {
  background-color: transparent;
  width: auto; }

.ecl-site-header-standardised__menu .ecl-navigation-menu__root {
  left: 0;
  position: absolute;
  right: 0;
  top: auto; }
  @media (min-width: 768px) {
    .ecl-site-header-standardised__menu .ecl-navigation-menu__root {
      position: static; } }

.ecl-site-header-standardised__menu-container {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between; }
  @media (min-width: 768px) {
    .ecl-site-header-standardised__menu-container {
      display: block; } }

.ecl-site-header-standardised .ecl-lang-select-sites__link {
  -webkit-box-align: center;
          align-items: center;
  border-width: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  padding: 0.33rem 0.33rem 1rem; }
  @media (min-width: 992px) {
    .ecl-site-header-standardised .ecl-lang-select-sites__link {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-direction: row;
      margin-bottom: 0.89rem;
      padding: 0.66rem 0.89rem 1rem; } }
  .ecl-site-header-standardised .ecl-lang-select-sites__link:active, .ecl-site-header-standardised .ecl-lang-select-sites__link:focus {
    outline: 3px solid #ffd617;
    outline-offset: -3px; }
  .ecl-site-header-standardised .ecl-lang-select-sites__link[aria-expanded='true'] {
    background-color: #f2f5f9;
    border: 1px solid #bfd0e4;
    border-bottom-width: 0;
    margin-bottom: 0;
    padding: calc(0.66rem - 1px) calc(0.89rem - 1px) 1.89rem; }
    @media (max-width: 991px) {
      .ecl-site-header-standardised .ecl-lang-select-sites__link[aria-expanded='true'] {
        padding: calc(0.33rem - 1px) calc(0.33rem - 1px) 1rem; } }

@media (min-width: 992px) {
  .ecl-site-header-standardised__expandable_button::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    font-size: 0.875rem;
    margin-left: 0.66rem; }
  .ecl-site-header-standardised__expandable_button[aria-expanded='false']::after {
    content: '\e81f'; }
  .ecl-site-header-standardised__expandable_button[aria-expanded='true']::after {
    content: '\e827'; } }

.ecl-site-header-standardised .ecl-lang-select-sites__code {
  height: 1.4rem;
  margin: 0.33rem 0; }

.ecl-site-header-standardised .ecl-lang-select-sites__label {
  font-size: 0.75rem;
  font-weight: normal;
  margin-left: 0;
  margin-right: 0; }
  @media (min-width: 768px) {
    .ecl-site-header-standardised .ecl-lang-select-sites__label {
      font-size: 1rem;
      margin-left: 0.33rem; } }

.ecl-site-header-standardised .ecl-lang-select-sites__code-text {
  font-size: 0.625rem;
  font-weight: 400;
  left: 1px;
  top: 1px; }
  @media (min-width: 768px) {
    .ecl-site-header-standardised .ecl-lang-select-sites__code-text {
      font-size: 0.75rem;
      left: -1px;
      top: 0; } }

.ecl-site-header-standardised .ecl-lang-select-sites__icon {
  font-size: 1.1rem;
  left: 3px;
  top: 3px; }
  @media (min-width: 768px) {
    .ecl-site-header-standardised .ecl-lang-select-sites__icon {
      font-size: 1.2rem;
      left: 0;
      top: 1px; } }

.ecl-site-header-standardised .ecl-lang-select-sites {
  text-decoration: none; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-site-header-standardised__user-menu {
    display: block;
    width: auto; } }

/**
 * Tabs
 * @define tabs
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Tabs
 * @define tabs
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-tabs__tabpanel[aria-hidden='true'] {
  display: none; }

/**
 * Aria utilities
 * Automatically apply certain styles depending on the aria attributes
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Aria utilities
 * Automatically apply certain styles depending on the aria attributes
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
.ecl-u-aria[aria-hidden='true'] {
  display: none; }

/**
 * Clearfix utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Clearfix utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-clearfix::after {
  clear: both;
  content: '';
  display: block; }

/**
 * Flex utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Flex utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-order-first {
  -webkit-box-ordinal-group: 0;
          order: -1; }

.ecl-u-order-last {
  -webkit-box-ordinal-group: 2;
          order: 1; }

.ecl-u-order-0 {
  -webkit-box-ordinal-group: 1;
          order: 0; }

.ecl-u-flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row; }

.ecl-u-flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column; }

.ecl-u-flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
          flex-direction: row-reverse; }

.ecl-u-flex-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
          flex-direction: column-reverse; }

.ecl-u-flex-wrap {
  flex-wrap: wrap; }

.ecl-u-flex-nowrap {
  flex-wrap: nowrap; }

.ecl-u-flex-wrap-reverse {
  flex-wrap: wrap-reverse; }

.ecl-u-justify-content-start {
  -webkit-box-pack: start;
          justify-content: flex-start; }

.ecl-u-justify-content-end {
  -webkit-box-pack: end;
          justify-content: flex-end; }

.ecl-u-justify-content-center {
  -webkit-box-pack: center;
          justify-content: center; }

.ecl-u-justify-content-between {
  -webkit-box-pack: justify;
          justify-content: space-between; }

.ecl-u-justify-content-around {
  justify-content: space-around; }

.ecl-u-align-items-start {
  -webkit-box-align: start;
          align-items: flex-start; }

.ecl-u-align-items-end {
  -webkit-box-align: end;
          align-items: flex-end; }

.ecl-u-align-items-center {
  -webkit-box-align: center;
          align-items: center; }

.ecl-u-align-items-baseline {
  -webkit-box-align: baseline;
          align-items: baseline; }

.ecl-u-align-items-stretch {
  -webkit-box-align: stretch;
          align-items: stretch; }

.ecl-u-align-content-start {
  align-content: flex-start; }

.ecl-u-align-content-end {
  align-content: flex-end; }

.ecl-u-align-content-center {
  align-content: center; }

.ecl-u-align-content-between {
  align-content: space-between; }

.ecl-u-align-content-around {
  align-content: space-around; }

.ecl-u-align-content-stretch {
  align-content: stretch; }

.ecl-u-align-self-auto {
  align-self: auto; }

.ecl-u-align-self-start {
  align-self: flex-start; }

.ecl-u-align-self-end {
  align-self: flex-end; }

.ecl-u-align-self-center {
  align-self: center; }

.ecl-u-align-self-baseline {
  align-self: baseline; }

.ecl-u-align-self-stretch {
  align-self: stretch; }

.ecl-u-flex-grow-0 {
  -webkit-box-flex: 0;
          flex-grow: 0; }

.ecl-u-flex-grow-1 {
  -webkit-box-flex: 1;
          flex-grow: 1; }

@media (min-width: 480px) {
  .ecl-u-order-sm-first {
    -webkit-box-ordinal-group: 0;
            order: -1; }
  .ecl-u-order-sm-last {
    -webkit-box-ordinal-group: 2;
            order: 1; }
  .ecl-u-order-sm-0 {
    -webkit-box-ordinal-group: 1;
            order: 0; }
  .ecl-u-flex-sm-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-u-flex-sm-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }
  .ecl-u-flex-sm-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
            flex-direction: row-reverse; }
  .ecl-u-flex-sm-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
            flex-direction: column-reverse; }
  .ecl-u-flex-sm-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-sm-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-sm-start {
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .ecl-u-justify-content-sm-end {
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .ecl-u-justify-content-sm-center {
    -webkit-box-pack: center;
            justify-content: center; }
  .ecl-u-justify-content-sm-between {
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .ecl-u-justify-content-sm-around {
    justify-content: space-around; }
  .ecl-u-align-items-sm-start {
    -webkit-box-align: start;
            align-items: flex-start; }
  .ecl-u-align-items-sm-end {
    -webkit-box-align: end;
            align-items: flex-end; }
  .ecl-u-align-items-sm-center {
    -webkit-box-align: center;
            align-items: center; }
  .ecl-u-align-items-sm-baseline {
    -webkit-box-align: baseline;
            align-items: baseline; }
  .ecl-u-align-items-sm-stretch {
    -webkit-box-align: stretch;
            align-items: stretch; }
  .ecl-u-align-content-sm-start {
    align-content: flex-start; }
  .ecl-u-align-content-sm-end {
    align-content: flex-end; }
  .ecl-u-align-content-sm-center {
    align-content: center; }
  .ecl-u-align-content-sm-between {
    align-content: space-between; }
  .ecl-u-align-content-sm-around {
    align-content: space-around; }
  .ecl-u-align-content-sm-stretch {
    align-content: stretch; }
  .ecl-u-align-self-sm-auto {
    align-self: auto; }
  .ecl-u-align-self-sm-start {
    align-self: flex-start; }
  .ecl-u-align-self-sm-end {
    align-self: flex-end; }
  .ecl-u-align-self-sm-center {
    align-self: center; }
  .ecl-u-align-self-sm-baseline {
    align-self: baseline; }
  .ecl-u-align-self-sm-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-sm-0 {
    -webkit-box-flex: 0;
            flex-grow: 0; }
  .ecl-u-flex-grow-sm-1 {
    -webkit-box-flex: 1;
            flex-grow: 1; } }

@media (min-width: 768px) {
  .ecl-u-order-md-first {
    -webkit-box-ordinal-group: 0;
            order: -1; }
  .ecl-u-order-md-last {
    -webkit-box-ordinal-group: 2;
            order: 1; }
  .ecl-u-order-md-0 {
    -webkit-box-ordinal-group: 1;
            order: 0; }
  .ecl-u-flex-md-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-u-flex-md-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }
  .ecl-u-flex-md-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
            flex-direction: row-reverse; }
  .ecl-u-flex-md-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
            flex-direction: column-reverse; }
  .ecl-u-flex-md-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-md-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-md-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-md-start {
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .ecl-u-justify-content-md-end {
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .ecl-u-justify-content-md-center {
    -webkit-box-pack: center;
            justify-content: center; }
  .ecl-u-justify-content-md-between {
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .ecl-u-justify-content-md-around {
    justify-content: space-around; }
  .ecl-u-align-items-md-start {
    -webkit-box-align: start;
            align-items: flex-start; }
  .ecl-u-align-items-md-end {
    -webkit-box-align: end;
            align-items: flex-end; }
  .ecl-u-align-items-md-center {
    -webkit-box-align: center;
            align-items: center; }
  .ecl-u-align-items-md-baseline {
    -webkit-box-align: baseline;
            align-items: baseline; }
  .ecl-u-align-items-md-stretch {
    -webkit-box-align: stretch;
            align-items: stretch; }
  .ecl-u-align-content-md-start {
    align-content: flex-start; }
  .ecl-u-align-content-md-end {
    align-content: flex-end; }
  .ecl-u-align-content-md-center {
    align-content: center; }
  .ecl-u-align-content-md-between {
    align-content: space-between; }
  .ecl-u-align-content-md-around {
    align-content: space-around; }
  .ecl-u-align-content-md-stretch {
    align-content: stretch; }
  .ecl-u-align-self-md-auto {
    align-self: auto; }
  .ecl-u-align-self-md-start {
    align-self: flex-start; }
  .ecl-u-align-self-md-end {
    align-self: flex-end; }
  .ecl-u-align-self-md-center {
    align-self: center; }
  .ecl-u-align-self-md-baseline {
    align-self: baseline; }
  .ecl-u-align-self-md-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-md-0 {
    -webkit-box-flex: 0;
            flex-grow: 0; }
  .ecl-u-flex-grow-md-1 {
    -webkit-box-flex: 1;
            flex-grow: 1; } }

@media (min-width: 992px) {
  .ecl-u-order-lg-first {
    -webkit-box-ordinal-group: 0;
            order: -1; }
  .ecl-u-order-lg-last {
    -webkit-box-ordinal-group: 2;
            order: 1; }
  .ecl-u-order-lg-0 {
    -webkit-box-ordinal-group: 1;
            order: 0; }
  .ecl-u-flex-lg-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-u-flex-lg-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }
  .ecl-u-flex-lg-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
            flex-direction: row-reverse; }
  .ecl-u-flex-lg-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
            flex-direction: column-reverse; }
  .ecl-u-flex-lg-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-lg-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-lg-start {
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .ecl-u-justify-content-lg-end {
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .ecl-u-justify-content-lg-center {
    -webkit-box-pack: center;
            justify-content: center; }
  .ecl-u-justify-content-lg-between {
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .ecl-u-justify-content-lg-around {
    justify-content: space-around; }
  .ecl-u-align-items-lg-start {
    -webkit-box-align: start;
            align-items: flex-start; }
  .ecl-u-align-items-lg-end {
    -webkit-box-align: end;
            align-items: flex-end; }
  .ecl-u-align-items-lg-center {
    -webkit-box-align: center;
            align-items: center; }
  .ecl-u-align-items-lg-baseline {
    -webkit-box-align: baseline;
            align-items: baseline; }
  .ecl-u-align-items-lg-stretch {
    -webkit-box-align: stretch;
            align-items: stretch; }
  .ecl-u-align-content-lg-start {
    align-content: flex-start; }
  .ecl-u-align-content-lg-end {
    align-content: flex-end; }
  .ecl-u-align-content-lg-center {
    align-content: center; }
  .ecl-u-align-content-lg-between {
    align-content: space-between; }
  .ecl-u-align-content-lg-around {
    align-content: space-around; }
  .ecl-u-align-content-lg-stretch {
    align-content: stretch; }
  .ecl-u-align-self-lg-auto {
    align-self: auto; }
  .ecl-u-align-self-lg-start {
    align-self: flex-start; }
  .ecl-u-align-self-lg-end {
    align-self: flex-end; }
  .ecl-u-align-self-lg-center {
    align-self: center; }
  .ecl-u-align-self-lg-baseline {
    align-self: baseline; }
  .ecl-u-align-self-lg-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-lg-0 {
    -webkit-box-flex: 0;
            flex-grow: 0; }
  .ecl-u-flex-grow-lg-1 {
    -webkit-box-flex: 1;
            flex-grow: 1; } }

@media (min-width: 1200px) {
  .ecl-u-order-xl-first {
    -webkit-box-ordinal-group: 0;
            order: -1; }
  .ecl-u-order-xl-last {
    -webkit-box-ordinal-group: 2;
            order: 1; }
  .ecl-u-order-xl-0 {
    -webkit-box-ordinal-group: 1;
            order: 0; }
  .ecl-u-flex-xl-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row; }
  .ecl-u-flex-xl-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column; }
  .ecl-u-flex-xl-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
            flex-direction: row-reverse; }
  .ecl-u-flex-xl-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
            flex-direction: column-reverse; }
  .ecl-u-flex-xl-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-xl-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-xl-start {
    -webkit-box-pack: start;
            justify-content: flex-start; }
  .ecl-u-justify-content-xl-end {
    -webkit-box-pack: end;
            justify-content: flex-end; }
  .ecl-u-justify-content-xl-center {
    -webkit-box-pack: center;
            justify-content: center; }
  .ecl-u-justify-content-xl-between {
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .ecl-u-justify-content-xl-around {
    justify-content: space-around; }
  .ecl-u-align-items-xl-start {
    -webkit-box-align: start;
            align-items: flex-start; }
  .ecl-u-align-items-xl-end {
    -webkit-box-align: end;
            align-items: flex-end; }
  .ecl-u-align-items-xl-center {
    -webkit-box-align: center;
            align-items: center; }
  .ecl-u-align-items-xl-baseline {
    -webkit-box-align: baseline;
            align-items: baseline; }
  .ecl-u-align-items-xl-stretch {
    -webkit-box-align: stretch;
            align-items: stretch; }
  .ecl-u-align-content-xl-start {
    align-content: flex-start; }
  .ecl-u-align-content-xl-end {
    align-content: flex-end; }
  .ecl-u-align-content-xl-center {
    align-content: center; }
  .ecl-u-align-content-xl-between {
    align-content: space-between; }
  .ecl-u-align-content-xl-around {
    align-content: space-around; }
  .ecl-u-align-content-xl-stretch {
    align-content: stretch; }
  .ecl-u-align-self-xl-auto {
    align-self: auto; }
  .ecl-u-align-self-xl-start {
    align-self: flex-start; }
  .ecl-u-align-self-xl-end {
    align-self: flex-end; }
  .ecl-u-align-self-xl-center {
    align-self: center; }
  .ecl-u-align-self-xl-baseline {
    align-self: baseline; }
  .ecl-u-align-self-xl-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-xl-0 {
    -webkit-box-flex: 0;
            flex-grow: 0; }
  .ecl-u-flex-grow-xl-1 {
    -webkit-box-flex: 1;
            flex-grow: 1; } }

/**
 * Float utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Float utilities 
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-f-l {
  float: left; }

.ecl-u-f-r {
  float: right; }

.ecl-u-f-none {
  float: none; }

/**
 * Colorize utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Colorize utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable */
.ecl-u-color-blue-120 {
  color: #012b58; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-110 {
  color: #003776; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-100 {
  color: #004494; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-75 {
  color: #4073af; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-50 {
  color: #7fa1c9; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-25 {
  color: #bfd0e4; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-5 {
  color: #f2f5f9; }

/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-100 {
  color: #404040; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-75 {
  color: #707070; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-50 {
  color: #9f9f9f; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-25 {
  color: #cfcfcf; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-20 {
  color: #d9d9d9; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-15 {
  color: #e3e3e3; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-10 {
  color: #ebebeb; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-5 {
  color: #f5f5f5; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-purple-100 {
  color: #550745; }

/* stylelint-enable */
.ecl-u-bg-default {
  background-color: #fff; }

.ecl-u-bg-primary {
  background-color: #004494; }

.ecl-u-bg-secondary {
  background-color: #ffd617; }

.ecl-u-bg-shade {
  background-color: #404040; }

.ecl-u-bg-blue-5 {
  background-color: #f2f5f9; }

.ecl-u-color-primary {
  color: #004494; }

.ecl-u-color-secondary {
  color: #ffd617; }

.ecl-u-color-shade {
  color: #404040; }

.ecl-u-color-info {
  color: #006fb4; }

.ecl-u-color-warning {
  color: #f29527; }

.ecl-u-color-success {
  color: #467a39; }

.ecl-u-color-error {
  color: #da2130; }

.ecl-u-color-white {
  color: #fff; }

/**
 * Disable scroll utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Disablescroll utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-disablescroll {
  overflow: hidden; }

/**
 * Font size utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Font size utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-fs-none {
  font-size: 0; }

.ecl-u-fs-xxxs {
  font-size: 0.5rem; }

.ecl-u-fs-xxs {
  font-size: 0.75rem; }

.ecl-u-fs-xs {
  font-size: 0.875rem; }

.ecl-u-fs-s {
  font-size: 1rem; }

.ecl-u-fs-m {
  font-size: 1.125rem; }

.ecl-u-fs-l {
  font-size: 1.375rem; }

.ecl-u-fs-xl {
  font-size: 1.875rem; }

.ecl-u-fs-xxl {
  font-size: 2.5rem; }

/**
 * Margin utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Margin utilities
 */
/*
   Base:
    m = margin
  Modifiers:
    a = all
    h = horizontal
    v = vertical
    t = top
    r = right
    b = bottom
    l = left
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable max-nesting-depth */
.ecl-u-ma-none {
  margin: 0; }

.ecl-u-mh-none {
  margin-left: 0;
  margin-right: 0; }

.ecl-u-mv-none {
  margin-bottom: 0;
  margin-top: 0; }

.ecl-u-mt-none {
  margin-top: 0; }

.ecl-u-mr-none {
  margin-right: 0; }

.ecl-u-mb-none {
  margin-bottom: 0; }

.ecl-u-ml-none {
  margin-left: 0; }

.ecl-u-ma-xxxs {
  margin: 0.33rem; }

.ecl-u-mh-xxxs {
  margin-left: 0.33rem;
  margin-right: 0.33rem; }

.ecl-u-mv-xxxs {
  margin-bottom: 0.33rem;
  margin-top: 0.33rem; }

.ecl-u-mt-xxxs {
  margin-top: 0.33rem; }

.ecl-u-mr-xxxs {
  margin-right: 0.33rem; }

.ecl-u-mb-xxxs {
  margin-bottom: 0.33rem; }

.ecl-u-ml-xxxs {
  margin-left: 0.33rem; }

.ecl-u-ma-xxs {
  margin: 0.66rem; }

.ecl-u-mh-xxs {
  margin-left: 0.66rem;
  margin-right: 0.66rem; }

.ecl-u-mv-xxs {
  margin-bottom: 0.66rem;
  margin-top: 0.66rem; }

.ecl-u-mt-xxs {
  margin-top: 0.66rem; }

.ecl-u-mr-xxs {
  margin-right: 0.66rem; }

.ecl-u-mb-xxs {
  margin-bottom: 0.66rem; }

.ecl-u-ml-xxs {
  margin-left: 0.66rem; }

.ecl-u-ma-xs {
  margin: 0.89rem; }

.ecl-u-mh-xs {
  margin-left: 0.89rem;
  margin-right: 0.89rem; }

.ecl-u-mv-xs {
  margin-bottom: 0.89rem;
  margin-top: 0.89rem; }

.ecl-u-mt-xs {
  margin-top: 0.89rem; }

.ecl-u-mr-xs {
  margin-right: 0.89rem; }

.ecl-u-mb-xs {
  margin-bottom: 0.89rem; }

.ecl-u-ml-xs {
  margin-left: 0.89rem; }

.ecl-u-ma-s {
  margin: 1rem; }

.ecl-u-mh-s {
  margin-left: 1rem;
  margin-right: 1rem; }

.ecl-u-mv-s {
  margin-bottom: 1rem;
  margin-top: 1rem; }

.ecl-u-mt-s {
  margin-top: 1rem; }

.ecl-u-mr-s {
  margin-right: 1rem; }

.ecl-u-mb-s {
  margin-bottom: 1rem; }

.ecl-u-ml-s {
  margin-left: 1rem; }

.ecl-u-ma-m {
  margin: 1.66rem; }

.ecl-u-mh-m {
  margin-left: 1.66rem;
  margin-right: 1.66rem; }

.ecl-u-mv-m {
  margin-bottom: 1.66rem;
  margin-top: 1.66rem; }

.ecl-u-mt-m {
  margin-top: 1.66rem; }

.ecl-u-mr-m {
  margin-right: 1.66rem; }

.ecl-u-mb-m {
  margin-bottom: 1.66rem; }

.ecl-u-ml-m {
  margin-left: 1.66rem; }

.ecl-u-ma-l {
  margin: 2.22rem; }

.ecl-u-mh-l {
  margin-left: 2.22rem;
  margin-right: 2.22rem; }

.ecl-u-mv-l {
  margin-bottom: 2.22rem;
  margin-top: 2.22rem; }

.ecl-u-mt-l {
  margin-top: 2.22rem; }

.ecl-u-mr-l {
  margin-right: 2.22rem; }

.ecl-u-mb-l {
  margin-bottom: 2.22rem; }

.ecl-u-ml-l {
  margin-left: 2.22rem; }

.ecl-u-ma-xl {
  margin: 3.33rem; }

.ecl-u-mh-xl {
  margin-left: 3.33rem;
  margin-right: 3.33rem; }

.ecl-u-mv-xl {
  margin-bottom: 3.33rem;
  margin-top: 3.33rem; }

.ecl-u-mt-xl {
  margin-top: 3.33rem; }

.ecl-u-mr-xl {
  margin-right: 3.33rem; }

.ecl-u-mb-xl {
  margin-bottom: 3.33rem; }

.ecl-u-ml-xl {
  margin-left: 3.33rem; }

.ecl-u-ma-xxl {
  margin: 4.44rem; }

.ecl-u-mh-xxl {
  margin-left: 4.44rem;
  margin-right: 4.44rem; }

.ecl-u-mv-xxl {
  margin-bottom: 4.44rem;
  margin-top: 4.44rem; }

.ecl-u-mt-xxl {
  margin-top: 4.44rem; }

.ecl-u-mr-xxl {
  margin-right: 4.44rem; }

.ecl-u-mb-xxl {
  margin-bottom: 4.44rem; }

.ecl-u-ml-xxl {
  margin-left: 4.44rem; }

/*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
.ecl-u-ma-auto {
  margin: auto; }

.ecl-u-mh-auto {
  margin-left: auto;
  margin-right: auto; }

.ecl-u-mr-auto {
  margin-right: auto; }

.ecl-u-ml-auto {
  margin-left: auto; }

@media (min-width: 480px) {
  .ecl-u-ma-sm-none {
    margin: 0; }
  .ecl-u-mh-sm-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-sm-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-sm-none {
    margin-top: 0; }
  .ecl-u-mr-sm-none {
    margin-right: 0; }
  .ecl-u-mb-sm-none {
    margin-bottom: 0; }
  .ecl-u-ml-sm-none {
    margin-left: 0; }
  .ecl-u-ma-sm-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-sm-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-sm-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-sm-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-sm-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-sm-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-sm-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-sm-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-sm-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-sm-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-sm-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-sm-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-sm-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-sm-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-sm-xs {
    margin: 0.89rem; }
  .ecl-u-mh-sm-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-sm-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-sm-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-sm-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-sm-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-sm-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-sm-s {
    margin: 1rem; }
  .ecl-u-mh-sm-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-sm-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-sm-s {
    margin-top: 1rem; }
  .ecl-u-mr-sm-s {
    margin-right: 1rem; }
  .ecl-u-mb-sm-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-sm-s {
    margin-left: 1rem; }
  .ecl-u-ma-sm-m {
    margin: 1.66rem; }
  .ecl-u-mh-sm-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-sm-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-sm-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-sm-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-sm-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-sm-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-sm-l {
    margin: 2.22rem; }
  .ecl-u-mh-sm-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-sm-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-sm-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-sm-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-sm-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-sm-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-sm-xl {
    margin: 3.33rem; }
  .ecl-u-mh-sm-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-sm-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-sm-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-sm-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-sm-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-sm-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-sm-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-sm-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-sm-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-sm-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-sm-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-sm-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-sm-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-sm-auto {
    margin: auto; }
  .ecl-u-mh-sm-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-sm-auto {
    margin-right: auto; }
  .ecl-u-ml-sm-auto {
    margin-left: auto; } }

@media (min-width: 768px) {
  .ecl-u-ma-md-none {
    margin: 0; }
  .ecl-u-mh-md-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-md-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-md-none {
    margin-top: 0; }
  .ecl-u-mr-md-none {
    margin-right: 0; }
  .ecl-u-mb-md-none {
    margin-bottom: 0; }
  .ecl-u-ml-md-none {
    margin-left: 0; }
  .ecl-u-ma-md-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-md-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-md-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-md-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-md-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-md-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-md-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-md-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-md-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-md-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-md-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-md-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-md-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-md-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-md-xs {
    margin: 0.89rem; }
  .ecl-u-mh-md-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-md-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-md-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-md-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-md-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-md-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-md-s {
    margin: 1rem; }
  .ecl-u-mh-md-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-md-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-md-s {
    margin-top: 1rem; }
  .ecl-u-mr-md-s {
    margin-right: 1rem; }
  .ecl-u-mb-md-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-md-s {
    margin-left: 1rem; }
  .ecl-u-ma-md-m {
    margin: 1.66rem; }
  .ecl-u-mh-md-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-md-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-md-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-md-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-md-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-md-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-md-l {
    margin: 2.22rem; }
  .ecl-u-mh-md-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-md-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-md-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-md-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-md-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-md-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-md-xl {
    margin: 3.33rem; }
  .ecl-u-mh-md-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-md-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-md-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-md-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-md-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-md-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-md-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-md-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-md-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-md-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-md-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-md-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-md-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-md-auto {
    margin: auto; }
  .ecl-u-mh-md-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-md-auto {
    margin-right: auto; }
  .ecl-u-ml-md-auto {
    margin-left: auto; } }

@media (min-width: 992px) {
  .ecl-u-ma-lg-none {
    margin: 0; }
  .ecl-u-mh-lg-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-lg-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-lg-none {
    margin-top: 0; }
  .ecl-u-mr-lg-none {
    margin-right: 0; }
  .ecl-u-mb-lg-none {
    margin-bottom: 0; }
  .ecl-u-ml-lg-none {
    margin-left: 0; }
  .ecl-u-ma-lg-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-lg-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-lg-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-lg-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-lg-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-lg-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-lg-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-lg-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-lg-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-lg-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-lg-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-lg-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-lg-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-lg-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-lg-xs {
    margin: 0.89rem; }
  .ecl-u-mh-lg-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-lg-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-lg-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-lg-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-lg-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-lg-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-lg-s {
    margin: 1rem; }
  .ecl-u-mh-lg-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-lg-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-lg-s {
    margin-top: 1rem; }
  .ecl-u-mr-lg-s {
    margin-right: 1rem; }
  .ecl-u-mb-lg-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-lg-s {
    margin-left: 1rem; }
  .ecl-u-ma-lg-m {
    margin: 1.66rem; }
  .ecl-u-mh-lg-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-lg-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-lg-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-lg-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-lg-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-lg-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-lg-l {
    margin: 2.22rem; }
  .ecl-u-mh-lg-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-lg-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-lg-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-lg-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-lg-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-lg-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-lg-xl {
    margin: 3.33rem; }
  .ecl-u-mh-lg-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-lg-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-lg-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-lg-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-lg-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-lg-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-lg-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-lg-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-lg-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-lg-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-lg-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-lg-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-lg-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-lg-auto {
    margin: auto; }
  .ecl-u-mh-lg-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-lg-auto {
    margin-right: auto; }
  .ecl-u-ml-lg-auto {
    margin-left: auto; } }

@media (min-width: 1200px) {
  .ecl-u-ma-xl-none {
    margin: 0; }
  .ecl-u-mh-xl-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-xl-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-xl-none {
    margin-top: 0; }
  .ecl-u-mr-xl-none {
    margin-right: 0; }
  .ecl-u-mb-xl-none {
    margin-bottom: 0; }
  .ecl-u-ml-xl-none {
    margin-left: 0; }
  .ecl-u-ma-xl-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-xl-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-xl-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-xl-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-xl-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-xl-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-xl-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-xl-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-xl-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-xl-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-xl-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-xl-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-xl-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-xl-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-xl-xs {
    margin: 0.89rem; }
  .ecl-u-mh-xl-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-xl-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-xl-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-xl-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-xl-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-xl-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-xl-s {
    margin: 1rem; }
  .ecl-u-mh-xl-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-xl-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-xl-s {
    margin-top: 1rem; }
  .ecl-u-mr-xl-s {
    margin-right: 1rem; }
  .ecl-u-mb-xl-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-xl-s {
    margin-left: 1rem; }
  .ecl-u-ma-xl-m {
    margin: 1.66rem; }
  .ecl-u-mh-xl-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-xl-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-xl-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-xl-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-xl-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-xl-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-xl-l {
    margin: 2.22rem; }
  .ecl-u-mh-xl-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-xl-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-xl-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-xl-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-xl-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-xl-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-xl-xl {
    margin: 3.33rem; }
  .ecl-u-mh-xl-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-xl-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-xl-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-xl-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-xl-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-xl-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-xl-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-xl-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-xl-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-xl-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-xl-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-xl-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-xl-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-xl-auto {
    margin: auto; }
  .ecl-u-mh-xl-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-xl-auto {
    margin-right: auto; }
  .ecl-u-ml-xl-auto {
    margin-left: auto; } }

/**
 * Padding utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Padding utilities
 */
/* 
  Base:
    p = padding
  Modifiers:
    a = all
    h = horizontal
    v = vertical
    t = top
    r = right
    b = bottom
    l = left
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable max-nesting-depth */
.ecl-u-pa-none {
  padding: 0; }

.ecl-u-ph-none {
  padding-left: 0;
  padding-right: 0; }

.ecl-u-pv-none {
  padding-bottom: 0;
  padding-top: 0; }

.ecl-u-pt-none {
  padding-top: 0; }

.ecl-u-pr-none {
  padding-right: 0; }

.ecl-u-pb-none {
  padding-bottom: 0; }

.ecl-u-pl-none {
  padding-left: 0; }

.ecl-u-pa-xxxs {
  padding: 0.33rem; }

.ecl-u-ph-xxxs {
  padding-left: 0.33rem;
  padding-right: 0.33rem; }

.ecl-u-pv-xxxs {
  padding-bottom: 0.33rem;
  padding-top: 0.33rem; }

.ecl-u-pt-xxxs {
  padding-top: 0.33rem; }

.ecl-u-pr-xxxs {
  padding-right: 0.33rem; }

.ecl-u-pb-xxxs {
  padding-bottom: 0.33rem; }

.ecl-u-pl-xxxs {
  padding-left: 0.33rem; }

.ecl-u-pa-xxs {
  padding: 0.66rem; }

.ecl-u-ph-xxs {
  padding-left: 0.66rem;
  padding-right: 0.66rem; }

.ecl-u-pv-xxs {
  padding-bottom: 0.66rem;
  padding-top: 0.66rem; }

.ecl-u-pt-xxs {
  padding-top: 0.66rem; }

.ecl-u-pr-xxs {
  padding-right: 0.66rem; }

.ecl-u-pb-xxs {
  padding-bottom: 0.66rem; }

.ecl-u-pl-xxs {
  padding-left: 0.66rem; }

.ecl-u-pa-xs {
  padding: 0.89rem; }

.ecl-u-ph-xs {
  padding-left: 0.89rem;
  padding-right: 0.89rem; }

.ecl-u-pv-xs {
  padding-bottom: 0.89rem;
  padding-top: 0.89rem; }

.ecl-u-pt-xs {
  padding-top: 0.89rem; }

.ecl-u-pr-xs {
  padding-right: 0.89rem; }

.ecl-u-pb-xs {
  padding-bottom: 0.89rem; }

.ecl-u-pl-xs {
  padding-left: 0.89rem; }

.ecl-u-pa-s {
  padding: 1rem; }

.ecl-u-ph-s {
  padding-left: 1rem;
  padding-right: 1rem; }

.ecl-u-pv-s {
  padding-bottom: 1rem;
  padding-top: 1rem; }

.ecl-u-pt-s {
  padding-top: 1rem; }

.ecl-u-pr-s {
  padding-right: 1rem; }

.ecl-u-pb-s {
  padding-bottom: 1rem; }

.ecl-u-pl-s {
  padding-left: 1rem; }

.ecl-u-pa-m {
  padding: 1.66rem; }

.ecl-u-ph-m {
  padding-left: 1.66rem;
  padding-right: 1.66rem; }

.ecl-u-pv-m {
  padding-bottom: 1.66rem;
  padding-top: 1.66rem; }

.ecl-u-pt-m {
  padding-top: 1.66rem; }

.ecl-u-pr-m {
  padding-right: 1.66rem; }

.ecl-u-pb-m {
  padding-bottom: 1.66rem; }

.ecl-u-pl-m {
  padding-left: 1.66rem; }

.ecl-u-pa-l {
  padding: 2.22rem; }

.ecl-u-ph-l {
  padding-left: 2.22rem;
  padding-right: 2.22rem; }

.ecl-u-pv-l {
  padding-bottom: 2.22rem;
  padding-top: 2.22rem; }

.ecl-u-pt-l {
  padding-top: 2.22rem; }

.ecl-u-pr-l {
  padding-right: 2.22rem; }

.ecl-u-pb-l {
  padding-bottom: 2.22rem; }

.ecl-u-pl-l {
  padding-left: 2.22rem; }

.ecl-u-pa-xl {
  padding: 3.33rem; }

.ecl-u-ph-xl {
  padding-left: 3.33rem;
  padding-right: 3.33rem; }

.ecl-u-pv-xl {
  padding-bottom: 3.33rem;
  padding-top: 3.33rem; }

.ecl-u-pt-xl {
  padding-top: 3.33rem; }

.ecl-u-pr-xl {
  padding-right: 3.33rem; }

.ecl-u-pb-xl {
  padding-bottom: 3.33rem; }

.ecl-u-pl-xl {
  padding-left: 3.33rem; }

.ecl-u-pa-xxl {
  padding: 4.44rem; }

.ecl-u-ph-xxl {
  padding-left: 4.44rem;
  padding-right: 4.44rem; }

.ecl-u-pv-xxl {
  padding-bottom: 4.44rem;
  padding-top: 4.44rem; }

.ecl-u-pt-xxl {
  padding-top: 4.44rem; }

.ecl-u-pr-xxl {
  padding-right: 4.44rem; }

.ecl-u-pb-xxl {
  padding-bottom: 4.44rem; }

.ecl-u-pl-xxl {
  padding-left: 4.44rem; }

@media (min-width: 480px) {
  .ecl-u-pa-sm-none {
    padding: 0; }
  .ecl-u-ph-sm-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-sm-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-sm-none {
    padding-top: 0; }
  .ecl-u-pr-sm-none {
    padding-right: 0; }
  .ecl-u-pb-sm-none {
    padding-bottom: 0; }
  .ecl-u-pl-sm-none {
    padding-left: 0; }
  .ecl-u-pa-sm-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-sm-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-sm-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-sm-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-sm-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-sm-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-sm-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-sm-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-sm-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-sm-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-sm-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-sm-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-sm-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-sm-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-sm-xs {
    padding: 0.89rem; }
  .ecl-u-ph-sm-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-sm-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-sm-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-sm-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-sm-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-sm-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-sm-s {
    padding: 1rem; }
  .ecl-u-ph-sm-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-sm-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-sm-s {
    padding-top: 1rem; }
  .ecl-u-pr-sm-s {
    padding-right: 1rem; }
  .ecl-u-pb-sm-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-sm-s {
    padding-left: 1rem; }
  .ecl-u-pa-sm-m {
    padding: 1.66rem; }
  .ecl-u-ph-sm-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-sm-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-sm-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-sm-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-sm-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-sm-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-sm-l {
    padding: 2.22rem; }
  .ecl-u-ph-sm-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-sm-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-sm-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-sm-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-sm-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-sm-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-sm-xl {
    padding: 3.33rem; }
  .ecl-u-ph-sm-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-sm-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-sm-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-sm-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-sm-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-sm-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-sm-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-sm-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-sm-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-sm-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-sm-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-sm-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-sm-xxl {
    padding-left: 4.44rem; } }

@media (min-width: 768px) {
  .ecl-u-pa-md-none {
    padding: 0; }
  .ecl-u-ph-md-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-md-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-md-none {
    padding-top: 0; }
  .ecl-u-pr-md-none {
    padding-right: 0; }
  .ecl-u-pb-md-none {
    padding-bottom: 0; }
  .ecl-u-pl-md-none {
    padding-left: 0; }
  .ecl-u-pa-md-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-md-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-md-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-md-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-md-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-md-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-md-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-md-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-md-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-md-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-md-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-md-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-md-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-md-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-md-xs {
    padding: 0.89rem; }
  .ecl-u-ph-md-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-md-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-md-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-md-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-md-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-md-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-md-s {
    padding: 1rem; }
  .ecl-u-ph-md-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-md-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-md-s {
    padding-top: 1rem; }
  .ecl-u-pr-md-s {
    padding-right: 1rem; }
  .ecl-u-pb-md-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-md-s {
    padding-left: 1rem; }
  .ecl-u-pa-md-m {
    padding: 1.66rem; }
  .ecl-u-ph-md-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-md-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-md-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-md-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-md-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-md-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-md-l {
    padding: 2.22rem; }
  .ecl-u-ph-md-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-md-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-md-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-md-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-md-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-md-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-md-xl {
    padding: 3.33rem; }
  .ecl-u-ph-md-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-md-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-md-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-md-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-md-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-md-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-md-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-md-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-md-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-md-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-md-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-md-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-md-xxl {
    padding-left: 4.44rem; } }

@media (min-width: 992px) {
  .ecl-u-pa-lg-none {
    padding: 0; }
  .ecl-u-ph-lg-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-lg-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-lg-none {
    padding-top: 0; }
  .ecl-u-pr-lg-none {
    padding-right: 0; }
  .ecl-u-pb-lg-none {
    padding-bottom: 0; }
  .ecl-u-pl-lg-none {
    padding-left: 0; }
  .ecl-u-pa-lg-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-lg-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-lg-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-lg-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-lg-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-lg-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-lg-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-lg-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-lg-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-lg-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-lg-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-lg-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-lg-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-lg-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-lg-xs {
    padding: 0.89rem; }
  .ecl-u-ph-lg-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-lg-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-lg-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-lg-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-lg-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-lg-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-lg-s {
    padding: 1rem; }
  .ecl-u-ph-lg-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-lg-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-lg-s {
    padding-top: 1rem; }
  .ecl-u-pr-lg-s {
    padding-right: 1rem; }
  .ecl-u-pb-lg-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-lg-s {
    padding-left: 1rem; }
  .ecl-u-pa-lg-m {
    padding: 1.66rem; }
  .ecl-u-ph-lg-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-lg-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-lg-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-lg-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-lg-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-lg-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-lg-l {
    padding: 2.22rem; }
  .ecl-u-ph-lg-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-lg-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-lg-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-lg-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-lg-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-lg-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-lg-xl {
    padding: 3.33rem; }
  .ecl-u-ph-lg-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-lg-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-lg-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-lg-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-lg-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-lg-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-lg-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-lg-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-lg-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-lg-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-lg-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-lg-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-lg-xxl {
    padding-left: 4.44rem; } }

@media (min-width: 1200px) {
  .ecl-u-pa-xl-none {
    padding: 0; }
  .ecl-u-ph-xl-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-xl-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-xl-none {
    padding-top: 0; }
  .ecl-u-pr-xl-none {
    padding-right: 0; }
  .ecl-u-pb-xl-none {
    padding-bottom: 0; }
  .ecl-u-pl-xl-none {
    padding-left: 0; }
  .ecl-u-pa-xl-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-xl-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-xl-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-xl-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-xl-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-xl-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-xl-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-xl-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-xl-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-xl-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-xl-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-xl-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-xl-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-xl-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-xl-xs {
    padding: 0.89rem; }
  .ecl-u-ph-xl-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-xl-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-xl-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-xl-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-xl-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-xl-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-xl-s {
    padding: 1rem; }
  .ecl-u-ph-xl-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-xl-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-xl-s {
    padding-top: 1rem; }
  .ecl-u-pr-xl-s {
    padding-right: 1rem; }
  .ecl-u-pb-xl-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-xl-s {
    padding-left: 1rem; }
  .ecl-u-pa-xl-m {
    padding: 1.66rem; }
  .ecl-u-ph-xl-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-xl-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-xl-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-xl-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-xl-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-xl-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-xl-l {
    padding: 2.22rem; }
  .ecl-u-ph-xl-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-xl-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-xl-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-xl-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-xl-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-xl-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-xl-xl {
    padding: 3.33rem; }
  .ecl-u-ph-xl-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-xl-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-xl-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-xl-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-xl-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-xl-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-xl-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-xl-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-xl-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-xl-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-xl-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-xl-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-xl-xxl {
    padding-left: 4.44rem; } }

/**
 * Ratio utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Ratio utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-ratio-16-9 {
  position: relative;
  /* stylelint-disable-next-line */
  /* stylelint-disable-next-line */ }
  .ecl-u-ratio-16-9::before {
    content: '';
    display: block;
    padding-top: 56.25%;
    width: 100%; }
  .ecl-u-ratio-16-9 > .content {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

.ecl-u-ratio-4-3 {
  position: relative;
  /* stylelint-disable-next-line */
  /* stylelint-disable-next-line */ }
  .ecl-u-ratio-4-3::before {
    content: '';
    display: block;
    padding-top: 75%;
    width: 100%; }
  .ecl-u-ratio-4-3 > .content {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

/**
 * Screen reader utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Screen readers utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.ecl-u-sr-only--focusable:active, .ecl-u-sr-only--focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  height: auto;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto; }

/**
 * Text utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Text utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-text-capitalize {
  text-transform: capitalize; }

.ecl-u-text-lowercase {
  text-transform: lowercase; }

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

.ecl-u-text-overline {
  text-decoration: overline; }

.ecl-u-text-underline {
  text-decoration: underline; }

.ecl-u-text-strike {
  text-decoration: line-through; }

.ecl-u-text-none {
  text-decoration: none; }

/**
 * Display utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Display utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-d-none {
  display: none !important; }

.ecl-u-d-inline {
  display: inline !important; }

.ecl-u-d-inline-block {
  display: inline-block !important; }

.ecl-u-d-block {
  display: block !important; }

.ecl-u-d-table {
  display: table !important; }

.ecl-u-d-table-cell {
  display: table-cell !important; }

.ecl-u-d-flex {
  display: -webkit-box !important;
  display: flex !important; }

.ecl-u-d-inline-flex {
  display: -webkit-inline-box !important;
  display: inline-flex !important; }

@media (min-width: 480px) {
  .ecl-u-d-sm-none {
    display: none !important; }
  .ecl-u-d-sm-inline {
    display: inline !important; }
  .ecl-u-d-sm-inline-block {
    display: inline-block !important; }
  .ecl-u-d-sm-block {
    display: block !important; }
  .ecl-u-d-sm-table {
    display: table !important; }
  .ecl-u-d-sm-table-cell {
    display: table-cell !important; }
  .ecl-u-d-sm-flex {
    display: -webkit-box !important;
    display: flex !important; }
  .ecl-u-d-sm-inline-flex {
    display: -webkit-inline-box !important;
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .ecl-u-d-md-none {
    display: none !important; }
  .ecl-u-d-md-inline {
    display: inline !important; }
  .ecl-u-d-md-inline-block {
    display: inline-block !important; }
  .ecl-u-d-md-block {
    display: block !important; }
  .ecl-u-d-md-table {
    display: table !important; }
  .ecl-u-d-md-table-cell {
    display: table-cell !important; }
  .ecl-u-d-md-flex {
    display: -webkit-box !important;
    display: flex !important; }
  .ecl-u-d-md-inline-flex {
    display: -webkit-inline-box !important;
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .ecl-u-d-lg-none {
    display: none !important; }
  .ecl-u-d-lg-inline {
    display: inline !important; }
  .ecl-u-d-lg-inline-block {
    display: inline-block !important; }
  .ecl-u-d-lg-block {
    display: block !important; }
  .ecl-u-d-lg-table {
    display: table !important; }
  .ecl-u-d-lg-table-cell {
    display: table-cell !important; }
  .ecl-u-d-lg-flex {
    display: -webkit-box !important;
    display: flex !important; }
  .ecl-u-d-lg-inline-flex {
    display: -webkit-inline-box !important;
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .ecl-u-d-xl-none {
    display: none !important; }
  .ecl-u-d-xl-inline {
    display: inline !important; }
  .ecl-u-d-xl-inline-block {
    display: inline-block !important; }
  .ecl-u-d-xl-block {
    display: block !important; }
  .ecl-u-d-xl-table {
    display: table !important; }
  .ecl-u-d-xl-table-cell {
    display: table-cell !important; }
  .ecl-u-d-xl-flex {
    display: -webkit-box !important;
    display: flex !important; }
  .ecl-u-d-xl-inline-flex {
    display: -webkit-inline-box !important;
    display: inline-flex !important; } }

/**
 * Z-index utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Z-index utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-z-auto {
  z-index: auto; }

.ecl-u-z-zero {
  z-index: 0; }

.ecl-u-z-highlight {
  z-index: 1; }

.ecl-u-z-navigation {
  z-index: 10; }

.ecl-u-z-dropdown {
  z-index: 15; }

.ecl-u-z-modal {
  z-index: 20; }

.ecl-u-z-max {
  z-index: 9999; }

.AssetList {
  list-style: none;
  max-width: 900px;
  margin-top: 40px; }

.AssetList-asset {
  list-style: none;
  width: 100%; }

.AssetList-name {
  color: rgba(64, 64, 64, 0.5); }
  .AssetList-name strong {
    color: #ffd617;
    font-weight: normal; }

.AssetList-link {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  width: 100%;
  padding: 0.5rem 0;
  text-decoration: none; }
  .AssetList-link:hover .AssetList-path {
    color: rgba(64, 64, 64, 0.75); }
  .AssetList-link:hover .AssetList-icon svg {
    fill: #999; }

.AssetList-icon {
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem; }
  [dir='ltr'] .AssetList-icon {
    margin-right: 0.5rem; }
  [dir='rtl'] .AssetList-icon {
    margin-left: 0.5rem; }
  .AssetList-icon svg {
    fill: #ccc; }

.Browser {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column; }

.Browser-controls {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  -webkit-box-align: center;
          align-items: center;
  width: 100%;
  box-shadow: inset 0 -1px 0 0 rgba(64, 64, 64, 0.25); }

.Browser-tabs {
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .Browser-tabs::-webkit-scrollbar {
    display: none; }

.Browser-tab {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
          flex: auto;
  white-space: nowrap; }
  .Browser-tab a {
    font: normal 0.875rem/1.71429 Arial, sans-serif;
    width: 100%;
    padding: 0.75rem 0.75rem 0.875rem;
    border-bottom: 0.125rem solid transparent;
    text-align: center; }
    .Browser-tab a:link, .Browser-tab a:visited, .Browser-tab a:hover, .Browser-tab a:active {
      color: #404040;
      text-decoration: none; }
    .Browser-tab a:hover {
      border-bottom-color: #ccc; }
  .Browser-tab.is-active a {
    border-bottom-color: #ffd617;
    font-weight: bolder; }
  .Browser-tab.is-disabled a {
    opacity: 0.5; }

.Browser-panel {
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  display: none;
  overflow: auto;
  width: 100%;
  background-color: #f5f5f5;
  padding: 0.75rem; }
  .Browser-panel.is-active {
    display: -webkit-box;
    display: flex; }
  .Browser-panel .Code {
    background-color: #f5f5f5; }
    .Browser-panel .Code pre {
      background-color: #f5f5f5;
      padding: 0; }
  .Browser-panel > .Meta {
    flex-basis: 100%; }

.Browser-isEmptyNote {
  font-style: italic;
  color: #404040;
  opacity: 0.6; }

.Code {
  display: block;
  background-color: #f5f5f5;
  -webkit-overflow-scrolling: touch; }
  .Code pre {
    padding: 0.75rem;
    -webkit-overflow-scrolling: touch; }
    .Code pre a {
      color: #28f;
      text-decoration: none; }
      .Code pre a:hover {
        text-decoration: underline; }

.Error-stack {
  margin-top: 1.5rem; }
  .Error-stack pre {
    font: normal 0.875rem/1.71429 Hack, Consolas, Monaco, "Andale Mono", monospace;
    color: rgba(64, 64, 64, 0.75); }

.Error--render {
  background-color: rgba(187, 0, 0, 0.05);
  border: 1px solid rgba(187, 0, 0, 0.25);
  padding: 0.75rem; }
  .Error--render .Error-title {
    font: normal 0.75rem/1.66667 Arial, sans-serif;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    color: #b00; }
  .Error--render .Error-message {
    font: normal 0.875rem/1.71429 Arial, sans-serif; }
  .Error--render .Error-stack pre,
  .Error--render .Error-stack code {
    background-color: #fff !important; }

.FileBrowser {
  position: static;
  flex-basis: 100%; }

.FileBrowser-selectWrapper {
  margin: -0.75rem -0.75rem 0.75rem -0.75rem;
  padding: 0.5rem 0.75rem;
  background-color: rgba(64, 64, 64, 0.05); }
  .FileBrowser-selectWrapper .select2-container {
    font: normal 0.875rem/1.71429 Arial, sans-serif;
    -webkit-margin-start: -0.25rem;
            margin-inline-start: -0.25rem;
    margin-bottom: -1px;
    min-width: 15em; }
    [dir='ltr'] .FileBrowser-selectWrapper .select2-container {
      margin-left: -0.25rem; }
    [dir='rtl'] .FileBrowser-selectWrapper .select2-container {
      margin-right: -0.25rem; }
  .FileBrowser-selectWrapper select:focus,
  .FileBrowser-selectWrapper select:active {
    outline: none; }

.FileBrowser-select-label {
  font: normal 0.75rem/1.66667 Arial, sans-serif;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  display: block;
  width: auto;
  padding: 0.25rem 0;
  font-weight: bold; }

.select2-selection.select2-selection--single {
  border-color: rgba(64, 64, 64, 0.25); }
  .select2-container--focus .select2-selection.select2-selection--single {
    outline: none;
    border-color: #ffd617; }

.select2-results__option {
  font: normal 0.875rem/1.71429 Arial, sans-serif;
  min-width: 15em; }
  .select2-results__option[aria-selected='true'] {
    background-color: rgba(64, 64, 64, 0.1) !important; }

.select2-results__option--highlighted[aria-selected] {
  background-color: #004494 !important;
  color: #fff !important; }

.FileBrowser-item {
  display: none; }
  .FileBrowser-item.is-active {
    display: block; }

@media (min-width: 37.5em) {
  .Frame.is-closed .FileBrowser-select-label {
    position: relative;
    width: 10rem;
    display: inline-block; } }

@media (min-width: 50em) {
  .Frame:not(.is-closed) .FileBrowser-select-label {
    position: relative;
    width: 10rem;
    display: inline-block; } }

.Header {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  position: relative;
  z-index: 10;
  background-color: #004494;
  box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.25), 0 2px 0 rgba(0, 0, 0, 0.1);
  text-overflow: ellipsis;
  color: #fff; }

.Header-title {
  line-height: 2;
  padding: 0.75rem 1rem 0.75rem 0;
  white-space: nowrap; }
  .Header-title:link, .Header-title:visited, .Header-title:hover, .Header-title:active {
    color: inherit;
    text-decoration: none; }

.Header-button {
  -webkit-border-end: 1px solid rgba(255, 255, 255, 0.25);
          border-inline-end: 1px solid rgba(255, 255, 255, 0.25);
  display: block;
  border: 0;
  height: 3rem;
  width: 3rem;
  touch-action: manipulation;
  color: inherit;
  cursor: pointer; }
  [dir='ltr'] .Header-button {
    border-right: 1px solid rgba(255, 255, 255, 0.25); }
  [dir='rtl'] .Header-button {
    border-left: 1px solid rgba(255, 255, 255, 0.25); }
  .Header-button:focus, .Header-button:active {
    outline: none; }
  .Header-button:hover {
    background-color: rgba(255, 255, 255, 0.05); }
  .Header-button:active {
    background-color: rgba(255, 255, 255, 0.1); }

.Header-navToggle svg {
  display: none;
  margin: 0 auto;
  fill: #fff; }

.Frame .Header-navToggleIcon--open {
  display: block; }

.Frame.is-closed .Header-navToggleIcon--open {
  display: none; }

.Frame.is-closed .Header-navToggleIcon--closed {
  display: block; }

.Meta a {
  text-decoration: none; }

.Meta-item {
  overflow: hidden;
  margin-bottom: 0.5rem;
  padding-bottom: 1rem; }
  .Meta-item:not(:last-child) {
    border-bottom: 1px solid rgba(64, 64, 64, 0.15); }

.Meta-key {
  font: normal 0.75rem/1.66667 Arial, sans-serif;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  display: block;
  padding-right: 0.5rem;
  padding-bottom: 0.25rem;
  color: rgba(64, 64, 64, 0.75); }

.Meta-value {
  font: normal 0.875rem/1.71429 Arial, sans-serif;
  display: block;
  min-width: 10rem;
  padding-bottom: 0.25rem; }
  .Meta-value a {
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
            align-items: center; }
  .Meta-value a svg {
    width: 1rem;
    height: 1rem;
    margin-left: 5px; }
  .Meta-value a:hover span {
    text-decoration: underline; }
  .Meta-value li:not(:last-child) {
    margin-bottom: 0.25em; }

.Meta-count {
  font-style: normal;
  font-weight: normal;
  opacity: 0.75; }

@media (min-width: 37.5em) {
  .Frame.is-closed .Meta-item {
    -webkit-padding-start: 10rem;
            padding-inline-start: 10rem; }
    [dir='ltr'] .Frame.is-closed .Meta-item {
      padding-left: 10rem; }
    [dir='rtl'] .Frame.is-closed .Meta-item {
      padding-right: 10rem; }
  .Frame.is-closed .Meta-key {
    -webkit-margin-start: -10rem;
            margin-inline-start: -10rem;
    width: 10rem;
    float: left; }
    [dir='ltr'] .Frame.is-closed .Meta-key {
      margin-left: -10rem; }
    [dir='rtl'] .Frame.is-closed .Meta-key {
      margin-right: -10rem; } }

@media (min-width: 50em) {
  .Frame:not(.is-closed) .Meta-item {
    -webkit-padding-start: 10rem;
            padding-inline-start: 10rem; }
    [dir='ltr'] .Frame:not(.is-closed) .Meta-item {
      padding-left: 10rem; }
    [dir='rtl'] .Frame:not(.is-closed) .Meta-item {
      padding-right: 10rem; }
  .Frame:not(.is-closed) .Meta-key {
    -webkit-margin-start: -10rem;
            margin-inline-start: -10rem;
    width: 10rem;
    float: left; }
    [dir='ltr'] .Frame:not(.is-closed) .Meta-key {
      margin-left: -10rem; }
    [dir='rtl'] .Frame:not(.is-closed) .Meta-key {
      margin-right: -10rem; } }

.Navigation {
  display: inline-block;
  min-width: 100%; }

.Navigation-group::after {
  clear: both;
  content: '';
  display: table; }

.Navigation-group + .Navigation-group {
  margin-top: 1.5rem; }

.Pen {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: stretch;
          align-items: stretch;
  height: 100%;
  overflow: hidden;
  background: white; }
  .Pen.is-resizing {
    cursor: -webkit-grabbing;
    cursor: grabbing; }
    .Pen.is-resizing .Pen-handle {
      cursor: -webkit-grabbing;
      cursor: grabbing; }

.Pen-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  max-height: 3rem;
  padding: 1.66rem 0;
  -webkit-box-align: center;
          align-items: center; }
  .Pen-header .Status {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    -webkit-padding-start: 0.5rem;
            padding-inline-start: 0.5rem; }
    [dir='ltr'] .Pen-header .Status {
      margin-left: auto; }
    [dir='rtl'] .Pen-header .Status {
      margin-right: auto; }
    [dir='ltr'] .Pen-header .Status {
      padding-left: 0.5rem; }
    [dir='rtl'] .Pen-header .Status {
      padding-right: 0.5rem; }
  @media (max-width: 31.24em) {
    .Pen-header {
      margin: 0;
      border-bottom: 1px solid rgba(64, 64, 64, 0.25);
      padding: 0.75rem; }
      .Pen-header .Status .Status-label {
        position: relative;
        height: 0;
        width: 0;
        overflow: hidden;
        background-color: #fff !important;
        border-radius: 100%;
        border-style: solid;
        border-width: 0.125rem;
        padding: 0.25rem;
        color: transparent !important; } }

.Pen-title {
  font: bold 1.125rem/1.33333 Arial, sans-serif;
  -webkit-font-feature-settings: 'dlig' 1;
          font-feature-settings: 'dlig' 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: inherit; }

.Pen-previewLink {
  font-size: 1.375rem; }
  .Pen-previewLink:link, .Pen-previewLink:visited, .Pen-previewLink:hover, .Pen-previewLink:active {
    color: #404040;
    text-decoration: none; }
  .Pen-previewLink svg {
    fill: #ffd617;
    opacity: 0.75; }
  .Pen-previewLink:hover svg {
    opacity: 1; }

.Pen-preview {
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  height: 50%;
  max-height: calc(100% - 3.75rem);
  margin: 0 0.625rem; }
  @media (max-width: 31.24em) {
    .Pen-preview {
      -webkit-box-flex: 1;
              flex: 1 1 auto;
      height: auto !important;
      max-height: 100%;
      margin: 0; } }

.Pen-handle {
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  height: 0.625rem;
  margin: 0 0.625rem;
  background: transparent url("../img/icon-drag--horizontal.svg") no-repeat 50% 50%;
  background-size: 16px 3px;
  cursor: ns-resize; }
  .Pen-handle:hover {
    background-color: rgba(64, 64, 64, 0.05); }
  .Pen-handle:active {
    background-color: rgba(64, 64, 64, 0.075); }
  .Pen-handle.is-disabled {
    pointer-events: none;
    visibility: hidden; }
  @media (max-width: 31.24em) {
    .Pen-handle {
      pointer-events: none;
      visibility: hidden; } }

.Pen-handle--browser {
  display: block;
  pointer-events: all;
  visibility: visible; }

.Pen-info {
  border: 1px solid rgba(64, 64, 64, 0.25);
  -webkit-box-flex: 1;
          flex: 1 1 auto;
  margin: 0 0.625rem 1rem;
  overflow: hidden;
  position: relative; }
  @media (max-width: 31.24em) {
    .Pen-info {
      margin: 0 0 1rem; } }

.Pen-tabs {
  display: -webkit-box;
  display: flex;
  -webkit-box-flex: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: stretch;
          align-items: stretch;
  overflow: hidden;
  position: relative; }

.Pen-tabs-nav {
  margin: 0 1rem; }
  .Pen-tabs-nav a,
  .Pen-tabs-nav a:link {
    color: #004494; }
    .Pen-tabs-nav a:hover, .Pen-tabs-nav a:focus,
    .Pen-tabs-nav a:link:hover,
    .Pen-tabs-nav a:link:focus {
      color: #404040; }

.Pen-tabs-nav .active {
  font-weight: 600; }

.Pen-documentation {
  padding: 0; }

.Pen-playground {
  -webkit-box-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-flex: 1;
          flex-grow: 1; }

.Pen-tabs > div:not(.active) {
  position: absolute;
  visibility: hidden; }

.Preview {
  min-height: 200px !important;
  position: relative; }
  .Preview.is-disabled .Preview-overlay {
    display: block; }
  .Preview.is-resizing {
    cursor: -webkit-grabbing;
    cursor: grabbing; }
    .Preview.is-resizing * {
      cursor: -webkit-grabbing !important;
      cursor: grabbing !important; }
  @media (min-width: 31.25em) {
    .Preview {
      background-color: #f5f5f5;
      border: 1px solid rgba(64, 64, 64, 0.25); } }

.Preview-wrapper {
  offset-inline-start: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  width: calc(100% + 0.625rem);
  min-width: 200px;
  max-width: calc(100% + 0.625rem);
  background-color: transparent; }
  [dir='ltr'] .Preview-wrapper {
    left: 0; }
  [dir='rtl'] .Preview-wrapper {
    right: 0; }

.Preview-resizer {
  offset-inline-start: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  max-width: calc(100% - 0.625rem + 1px);
  min-width: 180px;
  background-color: white;
  -webkit-overflow-scrolling: touch; }
  [dir='ltr'] .Preview-resizer {
    left: 0; }
  [dir='rtl'] .Preview-resizer {
    right: 0; }
  @media (max-width: 31.24em) {
    .Preview-resizer {
      width: 100% !important;
      min-width: 100%;
      border: 0; } }
  .Preview-resizer .Error {
    margin: 0.75rem; }

.Preview-iframe {
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%; }

.Preview-overlay {
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  display: none;
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0; }

.Preview-handle {
  -webkit-border-start: 1px solid rgba(64, 64, 64, 0.25);
          border-inline-start: 1px solid rgba(64, 64, 64, 0.25);
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  offset-inline-end: 0;
  position: absolute;
  top: -1px;
  bottom: -1px;
  z-index: 100;
  height: calc(100% + 2px);
  width: 0.625rem;
  background: transparent url("../img/icon-drag--vertical.svg") no-repeat 50%;
  background-size: 3px 16px;
  cursor: ew-resize; }
  [dir='ltr'] .Preview-handle {
    border-left: 1px solid rgba(64, 64, 64, 0.25); }
  [dir='rtl'] .Preview-handle {
    border-right: 1px solid rgba(64, 64, 64, 0.25); }
  .Preview-handle:hover {
    background-color: rgba(64, 64, 64, 0.05); }
  .Preview-handle:active {
    background-color: rgba(64, 64, 64, 0.075); }
  .Preview-handle.is-disabled {
    pointer-events: none;
    visibility: hidden; }
  @media (max-width: 31.24em) {
    .Preview-handle {
      pointer-events: none;
      visibility: hidden; } }
  [dir='ltr'] .Preview-handle {
    right: 0; }
  [dir='rtl'] .Preview-handle {
    left: 0; }
  @media (max-width: 31.24em) {
    .Preview-handle {
      display: none; } }

.Status,
.Status-dots {
  -webkit-box-align: center;
          align-items: center;
  display: -webkit-box;
  display: flex; }

.Status-dot {
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 100%;
  box-sizing: border-box;
  height: 0.5rem;
  width: 0.5rem; }

.Status-dot + .Status-dot {
  -webkit-margin-start: 3px;
          margin-inline-start: 3px; }
  [dir='ltr'] .Status-dot + .Status-dot {
    margin-left: 3px; }
  [dir='rtl'] .Status-dot + .Status-dot {
    margin-right: 3px; }

.Status-label {
  font: normal 0.75rem/1.66667 Arial, sans-serif;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  display: inline-block;
  border-radius: 2rem;
  padding: 0.125rem 0.75rem;
  color: white;
  white-space: nowrap; }

.Status-label + .Status-label {
  -webkit-margin-start: 0.25rem;
          margin-inline-start: 0.25rem; }
  [dir='ltr'] .Status-label + .Status-label {
    margin-left: 0.25rem; }
  [dir='rtl'] .Status-label + .Status-label {
    margin-right: 0.25rem; }

.Status--labelled .Status-label {
  -webkit-margin-end: 0.75rem;
          margin-inline-end: 0.75rem; }
  [dir='ltr'] .Status--labelled .Status-label {
    margin-right: 0.75rem; }
  [dir='rtl'] .Status--labelled .Status-label {
    margin-left: 0.75rem; }

.Tree {
  white-space: nowrap; }

.Tree-title {
  font: normal 0.75rem/1.66667 Arial, sans-serif;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  -webkit-padding-start: 1rem;
          padding-inline-start: 1rem;
  color: rgba(64, 64, 64, 0.75);
  font-family: Arial, sans-serif;
  font-size: 1rem;
  margin-bottom: 0.5rem; }
  [dir='ltr'] .Tree-title {
    padding-left: 1rem; }
  [dir='rtl'] .Tree-title {
    padding-right: 1rem; }

.Tree-collection.is-closed {
  background-color: transparent; }
  .Tree-collection.is-closed .Tree-collectionItems {
    display: none; }
  [dir='ltr'] .Tree-collection.is-closed .Tree-collectionLabel span::after {
    background-image: url("../img/icon-navigation-closed-ltr.svg"); }
  [dir='rtl'] .Tree-collection.is-closed .Tree-collectionLabel span::after {
    background-image: url("../img/icon-navigation-closed-rtl.svg"); }

.Tree-collectionItems {
  background-color: #f5f5f5;
  border-top: 1px solid #e3e3e3; }
  .Tree-collectionItems .Tree-collectionItems {
    background-color: #ebebeb; }
    .Tree-collectionItems .Tree-collectionItems .Tree-collectionItems {
      background-color: #e3e3e3; }

.Tree-collectionLabel {
  font: normal 0.875rem/1.71429 Arial, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #404040;
  font: inherit;
  padding: 0 0.66rem 0 1rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center; }
  .Tree-collectionLabel:hover {
    background-color: rgba(64, 64, 64, 0.05); }
  .Tree-collectionLabel span {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    display: block;
    position: relative; }
    [dir='ltr'] .Tree-collectionLabel span {
      padding-left: 0; }
    [dir='rtl'] .Tree-collectionLabel span {
      padding-right: 0; }
    [dir='ltr'] .Tree-collectionLabel span {
      margin-left: 0; }
    [dir='rtl'] .Tree-collectionLabel span {
      margin-right: 0; }
  .Tree-collectionLabel span::after {
    offset-inline-end: 1rem;
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.75rem;
    height: 0.75rem;
    background-image: url("../img/icon-navigation-opened.svg");
    background-size: 0.8rem;
    background-repeat: no-repeat;
    background-position: 50%;
    opacity: 0.6;
    content: ''; }
    [dir='ltr'] .Tree-collectionLabel span::after {
      right: 1rem; }
    [dir='rtl'] .Tree-collectionLabel span::after {
      left: 1rem; }
  .Tree-collectionLabel > span {
    -webkit-box-flex: 1;
            flex-grow: 1; }
  .Tree-collectionLabel .Status {
    -webkit-margin-end: 0.66rem;
            margin-inline-end: 0.66rem; }
    [dir='ltr'] .Tree-collectionLabel .Status {
      margin-right: 0.66rem; }
    [dir='rtl'] .Tree-collectionLabel .Status {
      margin-left: 0.66rem; }
    .Tree-collectionLabel .Status span {
      -webkit-padding-start: 0;
              padding-inline-start: 0;
      -webkit-margin-start: 0;
              margin-inline-start: 0;
      display: block;
      position: relative; }
      [dir='ltr'] .Tree-collectionLabel .Status span {
        padding-left: 0; }
      [dir='rtl'] .Tree-collectionLabel .Status span {
        padding-right: 0; }
      [dir='ltr'] .Tree-collectionLabel .Status span {
        margin-left: 0; }
      [dir='rtl'] .Tree-collectionLabel .Status span {
        margin-right: 0; }
    .Tree-collectionLabel .Status span::after {
      display: none; }

.Tree-items {
  border-top: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3; }

.Tree-items > li + li {
  border-top: 1px solid #e3e3e3; }

.Tree-item {
  font: normal 0.875rem/1.71429 Arial, sans-serif; }

.Tree-entityLink {
  color: #404040;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  text-decoration: none;
  padding-bottom: 0;
  padding-top: 0;
  padding-right: 0.66rem; }
  .Tree-entityLink:hover {
    background-color: rgba(64, 64, 64, 0.05); }
  .is-current .Tree-entityLink {
    background-color: rgba(64, 64, 64, 0.075);
    color: #004494; }
  .Tree-entityLink .Status {
    -webkit-margin-end: 0.66rem;
            margin-inline-end: 0.66rem; }
    [dir='ltr'] .Tree-entityLink .Status {
      margin-right: 0.66rem; }
    [dir='rtl'] .Tree-entityLink .Status {
      margin-left: 0.66rem; }

.Tree-depth-1 .Tree-collectionLabel,
.Tree-depth-1 .Tree-entityLink {
  -webkit-padding-start: 1rem;
          padding-inline-start: 1rem; }
  [dir='ltr'] .Tree-depth-1 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-1 .Tree-entityLink {
    padding-left: 1rem; }
  [dir='rtl'] .Tree-depth-1 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-1 .Tree-entityLink {
    padding-right: 1rem; }

.Tree-depth-2 .Tree-collectionLabel,
.Tree-depth-2 .Tree-entityLink {
  -webkit-padding-start: 2rem;
          padding-inline-start: 2rem; }
  [dir='ltr'] .Tree-depth-2 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-2 .Tree-entityLink {
    padding-left: 2rem; }
  [dir='rtl'] .Tree-depth-2 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-2 .Tree-entityLink {
    padding-right: 2rem; }

.Tree-depth-3 .Tree-collectionLabel,
.Tree-depth-3 .Tree-entityLink {
  -webkit-padding-start: 3rem;
          padding-inline-start: 3rem; }
  [dir='ltr'] .Tree-depth-3 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-3 .Tree-entityLink {
    padding-left: 3rem; }
  [dir='rtl'] .Tree-depth-3 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-3 .Tree-entityLink {
    padding-right: 3rem; }

.Tree-depth-4 .Tree-collectionLabel,
.Tree-depth-4 .Tree-entityLink {
  -webkit-padding-start: 4rem;
          padding-inline-start: 4rem; }
  [dir='ltr'] .Tree-depth-4 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-4 .Tree-entityLink {
    padding-left: 4rem; }
  [dir='rtl'] .Tree-depth-4 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-4 .Tree-entityLink {
    padding-right: 4rem; }

.Tree-depth-5 .Tree-collectionLabel,
.Tree-depth-5 .Tree-entityLink {
  -webkit-padding-start: 5rem;
          padding-inline-start: 5rem; }
  [dir='ltr'] .Tree-depth-5 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-5 .Tree-entityLink {
    padding-left: 5rem; }
  [dir='rtl'] .Tree-depth-5 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-5 .Tree-entityLink {
    padding-right: 5rem; }

.Tree-depth-6 .Tree-collectionLabel,
.Tree-depth-6 .Tree-entityLink {
  -webkit-padding-start: 6rem;
          padding-inline-start: 6rem; }
  [dir='ltr'] .Tree-depth-6 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-6 .Tree-entityLink {
    padding-left: 6rem; }
  [dir='rtl'] .Tree-depth-6 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-6 .Tree-entityLink {
    padding-right: 6rem; }

.Tree-depth-7 .Tree-collectionLabel,
.Tree-depth-7 .Tree-entityLink {
  -webkit-padding-start: 7rem;
          padding-inline-start: 7rem; }
  [dir='ltr'] .Tree-depth-7 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-7 .Tree-entityLink {
    padding-left: 7rem; }
  [dir='rtl'] .Tree-depth-7 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-7 .Tree-entityLink {
    padding-right: 7rem; }

.Tree-depth-8 .Tree-collectionLabel,
.Tree-depth-8 .Tree-entityLink {
  -webkit-padding-start: 8rem;
          padding-inline-start: 8rem; }
  [dir='ltr'] .Tree-depth-8 .Tree-collectionLabel, [dir='ltr']
  .Tree-depth-8 .Tree-entityLink {
    padding-left: 8rem; }
  [dir='rtl'] .Tree-depth-8 .Tree-collectionLabel, [dir='rtl']
  .Tree-depth-8 .Tree-entityLink {
    padding-right: 8rem; }

.Tree-depth-1 li {
  line-height: 2.5;
  font-size: 1rem; }

.Tree-search {
  padding: 0 1rem; }

.Status {
  margin: 0 0.5rem; }

.ecl-editor h1,
.ecl-editor h2,
.ecl-editor h3,
.ecl-editor h4,
.ecl-editor h5 {
  margin: 0 0 1.66rem;
  padding: 0; }

.ecl-editor * + h1 {
  margin-top: 4.44rem; }

.ecl-editor * + h2 {
  margin-top: 3.33rem; }

.ecl-editor * + h3 {
  margin-top: 2.22rem; }

.ecl-editor * + h4 {
  margin-top: 1.66rem; }

.ecl-editor code {
  background-color: #f5f5f5; }

.ecl-editor pre {
  background-color: #f5f5f5;
  padding: 0.89rem;
  white-space: pre-wrap; }

@media (min-width: 768px) {
  .ecl-navigation-menu__group {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4; } }

@media (min-width: 768px) {
  .ecl-navigation-menu__link[aria-expanded='true'] ~ .ecl-navigation-menu__group {
    display: block;
    z-index: 200; } }

.ecl-navigation-menu__group::before {
  border-bottom: 1px solid #e5e5e5; }

.ecl-navigation-menu__link {
  -webkit-box-pack: start;
          justify-content: flex-start; }

.ecl-navigation-menu__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column; }

.ecl-navigation-menu__heading {
  margin: 0.5rem 0;
  position: relative; }

.ecl-navigation-menu__item-list {
  line-height: 1;
  margin-left: 1rem; }

@media (min-width: 768px) {
  .ecl-navigation-menu__group .ecl-navigation-menu__item {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid; } }
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9hc3NldHMvc2Nzcy9mcmFjdGFsLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL3N0eWxlcy9naXRodWIuY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvZGlzdC9jc3Mvc2VsZWN0Mi5jc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWJhc2UvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXN0eWxlLWljb24vZWMtc3R5bGUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL2dlbmVyaWMtc3R5bGUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLWljb24vX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL3ZhcmlhYmxlcy9fZm9udC1zY2FsZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL3ZhcmlhYmxlcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtc3R5bGUtaW1hZ2UvZWMtc3R5bGUtaW1hZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtaW1hZ2UvZ2VuZXJpYy1zdHlsZS1pbWFnZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtc3R5bGUtdHlwb2dyYXBoeS9lYy1zdHlsZS10eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHkvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHkvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL3ZhcmlhYmxlcy9fZm9udC1mYW1pbHkuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZy9lYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZy9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QvZWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktbGlzdC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgvZWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1zdHlsZS1pbWFnZS9lYy1zdHlsZS1pbWFnZS0tZWRpdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLWltYWdlL2dlbmVyaWMtc3R5bGUtaW1hZ2UtLWVkaXRvci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmctLWVkaXRvci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QtLWVkaXRvci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoLS1lZGl0b3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtbGF5b3V0LWdyaWQvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1sYXlvdXQtZ3JpZC9nZW5lcmljLWxheW91dC1ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWxheW91dC1ncmlkL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS92YXJpYWJsZXMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLWZvcm0vZWMtY29tcG9uZW50LWZvcm0tZm9ybS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mb3JtL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZm9ybS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0tZmllbGRzZXQvZWMtY29tcG9uZW50LWZvcm0tZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmllbGRzZXQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0tbGVnZW5kL2VjLWNvbXBvbmVudC1mb3JtLWxlZ2VuZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1sZWdlbmQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1sZWdlbmQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLWZvcm0tZ3JvdXAvZWMtY29tcG9uZW50LWZvcm0tZm9ybS1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mb3JtLWdyb3VwL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZm9ybS1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL21peGlucy9faGlkZGVuLXByaW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1sYWJlbC9lYy1jb21wb25lbnQtZm9ybS1sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1sYWJlbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWxhYmVsLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1jaGVja2JveC9lYy1jb21wb25lbnQtZm9ybS1jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1jaGVja2JveC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWNoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWJhc2UvbWl4aW5zL19pbXBvcnQtb25jZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0tZmVlZGJhY2stbWVzc2FnZS9lYy1jb21wb25lbnQtZm9ybS1mZWVkYmFjay1tZXNzYWdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZlZWRiYWNrLW1lc3NhZ2UvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mZWVkYmFjay1tZXNzYWdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1maWxlLXVwbG9hZC9lYy1jb21wb25lbnQtZm9ybS1maWxlLXVwbG9hZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1maWxlLXVwbG9hZC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZpbGUtdXBsb2FkLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1oZWxwLWJsb2NrL2VjLWNvbXBvbmVudC1mb3JtLWhlbHAtYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0taGVscC1ibG9jay9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWhlbHAtYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLXJhZGlvL2VjLWNvbXBvbmVudC1mb3JtLXJhZGlvLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXJhZGlvL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tcmFkaW8uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLXJhZGlvLWdyb3VwL2VjLWNvbXBvbmVudC1mb3JtLXJhZGlvLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXJhZGlvLWdyb3VwL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tcmFkaW8tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLXNlbGVjdC9lYy1jb21wb25lbnQtZm9ybS1zZWxlY3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tc2VsZWN0L2dlbmVyaWMtY29tcG9uZW50LWZvcm0tc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS10ZXh0LWlucHV0L2VjLWNvbXBvbmVudC1mb3JtLXRleHQtaW5wdXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tdGV4dC1pbnB1dC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXRleHQtaW5wdXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLXRleHRhcmVhL2VjLWNvbXBvbmVudC1mb3JtLXRleHRhcmVhLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXRleHRhcmVhL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tdGV4dGFyZWEuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1ibG9ja3F1b3RlL2VjLWNvbXBvbmVudC1ibG9ja3F1b3RlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1ibG9ja3F1b3RlL2dlbmVyaWMtY29tcG9uZW50LWJsb2NrcXVvdGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWJsb2NrcXVvdGUvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWJ1dHRvbi9lYy1jb21wb25lbnQtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1idXR0b24vZ2VuZXJpYy1jb21wb25lbnQtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1idXR0b24vX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWRhdGUtYmxvY2svZWMtY29tcG9uZW50LWRhdGUtYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWRhdGUtYmxvY2svZ2VuZXJpYy1jb21wb25lbnQtZGF0ZS1ibG9jay5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZpZWxkL2VjLWNvbXBvbmVudC1maWVsZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZmllbGQvZ2VuZXJpYy1jb21wb25lbnQtZmllbGQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1sYWJlbC9lYy1jb21wb25lbnQtbGFiZWwuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWxhYmVsL2dlbmVyaWMtY29tcG9uZW50LWxhYmVsLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGluay9lYy1jb21wb25lbnQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGluay9nZW5lcmljLWNvbXBvbmVudC1saW5rLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1saW5rL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1sb2dpbi1iYXIvZWMtY29tcG9uZW50LWxvZ2luLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWxvZ28vZWMtY29tcG9uZW50LWxvZ28uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1tZXNzYWdlL2VjLWNvbXBvbmVudC1tZXNzYWdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1tZXNzYWdlL2dlbmVyaWMtY29tcG9uZW50LW1lc3NhZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS9taXhpbnMvX2ZvY3VzLW91dGxpbmUtYm9yZGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbWV0YS9lYy1jb21wb25lbnQtbWV0YS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbWV0YS9nZW5lcmljLWNvbXBvbmVudC1tZXRhLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc2l0ZS1zd2l0Y2hlci9lYy1jb21wb25lbnQtc2l0ZS1zd2l0Y2hlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc2l0ZS1zd2l0Y2hlci9nZW5lcmljLWNvbXBvbmVudC1zaXRlLXN3aXRjaGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc29jaWFsLWljb24vZWMtY29tcG9uZW50LXNvY2lhbC1pY29uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtaWNvbi9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXRhYmxlL2VjLWNvbXBvbmVudC10YWJsZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGFibGUvZ2VuZXJpYy1jb21wb25lbnQtdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXRhYmxlL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC10YWcvZWMtY29tcG9uZW50LXRhZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGFnL2dlbmVyaWMtY29tcG9uZW50LXRhZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYmxvY2txdW90ZS9nZW5lcmljLWNvbXBvbmVudC1ibG9ja3F1b3RlLS1lZGl0b3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpbmsvZ2VuZXJpYy1jb21wb25lbnQtbGluay0tZWRpdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC10YWJsZS9nZW5lcmljLWNvbXBvbmVudC10YWJsZS0tZWRpdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtYmFubmVyL2VjLWNvbXBvbmVudC1iYW5uZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWJhbm5lci9nZW5lcmljLWNvbXBvbmVudC1iYW5uZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1icmVhZGNydW1iL2VjLWNvbXBvbmVudC1icmVhZGNydW1iLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1icmVhZGNydW1iL2dlbmVyaWMtY29tcG9uZW50LWJyZWFkY3J1bWIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1jYXJvdXNlbC9lYy1jb21wb25lbnQtY2Fyb3VzZWwuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWNhcm91c2VsL2dlbmVyaWMtY29tcG9uZW50LWNhcm91c2VsLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWJhc2UvdmFyaWFibGVzL196LWluZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtY29tbWVudC9lYy1jb21wb25lbnQtY29tbWVudC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtY29tbWVudC9nZW5lcmljLWNvbXBvbmVudC1jb21tZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtY29udGV4dC1uYXYvZWMtY29tcG9uZW50LWNvbnRleHQtbmF2LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1jb250ZXh0LW5hdi9nZW5lcmljLWNvbXBvbmVudC1jb250ZXh0LW5hdi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWRhdGVwaWNrZXIvZWMtY29tcG9uZW50LWRhdGVwaWNrZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWRhdGVwaWNrZXIvZ2VuZXJpYy1jb21wb25lbnQtZGF0ZXBpY2tlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL21peGlucy9fZm9ybS1jb250cm9sLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZGlhbG9nL2VjLWNvbXBvbmVudC1kaWFsb2cuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWRpYWxvZy9nZW5lcmljLWNvbXBvbmVudC1kaWFsb2cuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1saW5rLWJsb2NrL2VjLWNvbXBvbmVudC1saW5rLWJsb2NrLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1saW5rLWJsb2NrL2dlbmVyaWMtY29tcG9uZW50LWxpbmstYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1kcm9wZG93bi9lYy1jb21wb25lbnQtZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWRyb3Bkb3duL2dlbmVyaWMtY29tcG9uZW50LWRyb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZXhwYW5kYWJsZS9lYy1jb21wb25lbnQtZXhwYW5kYWJsZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZXhwYW5kYWJsZS9nZW5lcmljLWNvbXBvbmVudC1leHBhbmRhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZmVhdHVyZWQtaXRlbS9lYy1jb21wb25lbnQtZmVhdHVyZWQtaXRlbS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZmVhdHVyZWQtaXRlbS9nZW5lcmljLWNvbXBvbmVudC1mZWF0dXJlZC1pdGVtLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZmlsZS9lYy1jb21wb25lbnQtZmlsZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZmlsZS9nZW5lcmljLWNvbXBvbmVudC1maWxlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9vdGVyL2VjLWNvbXBvbmVudC1mb290ZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvb3Rlci9nZW5lcmljLWNvbXBvbmVudC1mb290ZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb290ZXItc3RhbmRhcmRpc2VkL2VjLWNvbXBvbmVudC1mb290ZXItc3RhbmRhcmRpc2VkLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZS9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZS9nZW5lcmljLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1wYWdlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZS9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZS9nZW5lcmljLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1zaXRlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdC9lYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdC9nZW5lcmljLWNvbXBvbmVudC1sYW5ndWFnZS1saXN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGlzdC1pdGVtL2VjLWNvbXBvbmVudC1saXN0LWl0ZW0uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpc3QtaXRlbS9nZW5lcmljLWNvbXBvbmVudC1saXN0LWl0ZW0uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1pbnBhZ2UtbmF2aWdhdGlvbi9lYy1jb21wb25lbnQtaW5wYWdlLW5hdmlnYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWlucGFnZS1uYXZpZ2F0aW9uL2dlbmVyaWMtY29tcG9uZW50LWlucGFnZS1uYXZpZ2F0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtcGFnZXIvZWMtY29tcG9uZW50LXBhZ2VyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1wYWdlci9nZW5lcmljLWNvbXBvbmVudC1wYWdlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXJzcy1saW5rL2VjLWNvbXBvbmVudC1yc3MtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtcnNzLWxpbmsvZ2VuZXJpYy1jb21wb25lbnQtcnNzLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1zZWFyY2gtZm9ybS9lYy1jb21wb25lbnQtc2VhcmNoLWZvcm0uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXNlYXJjaC1mb3JtL2dlbmVyaWMtY29tcG9uZW50LXNlYXJjaC1mb3JtLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc2tpcC1saW5rL2VjLWNvbXBvbmVudC1za2lwLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXNraXAtbGluay9nZW5lcmljLWNvbXBvbmVudC1za2lwLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS9taXhpbnMvX3NjcmVlbi1yZWFkZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc29jaWFsLW1lZGlhLWxpbmsvZWMtY29tcG9uZW50LXNvY2lhbC1tZWRpYS1saW5rLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtbWVkaWEtbGluay9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtbWVkaWEtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXRpbWVsaW5lL2VjLWNvbXBvbmVudC10aW1lbGluZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGltZWxpbmUvZ2VuZXJpYy1jb21wb25lbnQtdGltZWxpbmUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1hY2NvcmRpb24vZWMtY29tcG9uZW50LWFjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYWNjb3JkaW9uL2dlbmVyaWMtY29tcG9uZW50LWFjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWdhbGxlcnkvZWMtY29tcG9uZW50LWdhbGxlcnkuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWdhbGxlcnkvZ2VuZXJpYy1jb21wb25lbnQtZ2FsbGVyeS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWxpc3RpbmcvZWMtY29tcG9uZW50LWxpc3Rpbmcuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpc3RpbmcvZ2VuZXJpYy1jb21wb25lbnQtbGlzdGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LW5hdmlnYXRpb24tbGlzdC9lYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1uYXZpZ2F0aW9uLWxpc3QvZ2VuZXJpYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbmF2aWdhdGlvbi1tZW51L2VjLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LW5hdmlnYXRpb24tbWVudS9nZW5lcmljLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1zaWRlLW5hdmlnYXRpb24vZWMtY29tcG9uZW50LXNpZGUtbmF2aWdhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc2lkZS1uYXZpZ2F0aW9uL2dlbmVyaWMtY29tcG9uZW50LXNpZGUtbmF2aWdhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXBhZ2UtaGVhZGVyL2VjLWNvbXBvbmVudC1wYWdlLWhlYWRlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtcGFnZS1oZWFkZXIvZ2VuZXJpYy1jb21wb25lbnQtcGFnZS1oZWFkZXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1wcm9maWxlLXRvcGJhci9lYy1jb21wb25lbnQtcHJvZmlsZS10b3BiYXIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXByb2ZpbGUtdG9wYmFyL2dlbmVyaWMtY29tcG9uZW50LXByb2ZpbGUtdG9wYmFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc2l0ZS1oZWFkZXIvZWMtY29tcG9uZW50LXNpdGUtaGVhZGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zaXRlLWhlYWRlci9nZW5lcmljLWNvbXBvbmVudC1zaXRlLWhlYWRlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZC9lYy1jb21wb25lbnQtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtdGFiL2VjLWNvbXBvbmVudC10YWIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXRhYi9nZW5lcmljLWNvbXBvbmVudC10YWIuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXV0aWxpdHktYXJpYS9lYy11dGlsaXR5LWFyaWEuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS1hcmlhL2dlbmVyaWMtdXRpbGl0eS1hcmlhLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LWNsZWFyZml4L2VjLXV0aWxpdHktY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS1jbGVhcmZpeC9nZW5lcmljLXV0aWxpdHktY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LWZsZXgvZWMtdXRpbGl0eS1mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktZmxleC9nZW5lcmljLXV0aWxpdHktZmxleC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1mbG9hdC9lYy11dGlsaXR5LWZsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktZmxvYXQvZ2VuZXJpYy11dGlsaXR5LWZsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LWNvbG9yaXplL2VjLXV0aWxpdHktY29sb3JpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS1jb2xvcml6ZS9nZW5lcmljLXV0aWxpdHktY29sb3JpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXV0aWxpdHktZGlzYWJsZXNjcm9sbC9lYy11dGlsaXR5LWRpc2FibGVzY3JvbGwuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS1kaXNhYmxlc2Nyb2xsL2dlbmVyaWMtdXRpbGl0eS1kaXNhYmxlc2Nyb2xsLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LWZvbnQtc2l6ZS9lYy11dGlsaXR5LWZvbnQtc2l6ZS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LWZvbnQtc2l6ZS9nZW5lcmljLXV0aWxpdHktZm9udC1zaXplLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LW1hcmdpbi9lYy11dGlsaXR5LW1hcmdpbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LW1hcmdpbi9nZW5lcmljLXV0aWxpdHktbWFyZ2luLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LXBhZGRpbmcvZWMtdXRpbGl0eS1wYWRkaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktcGFkZGluZy9nZW5lcmljLXV0aWxpdHktcGFkZGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1yYXRpby9lYy11dGlsaXR5LXJhdGlvLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktcmF0aW8vZ2VuZXJpYy11dGlsaXR5LXJhdGlvLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LXNjcmVlbi1yZWFkZXIvZWMtdXRpbGl0eS1zY3JlZW4tcmVhZGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktc2NyZWVuLXJlYWRlci9nZW5lcmljLXV0aWxpdHktc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS10ZXh0L2VjLXV0aWxpdHktdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LXRleHQvZ2VuZXJpYy11dGlsaXR5LXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXV0aWxpdHktZGlzcGxheS9lYy11dGlsaXR5LWRpc3BsYXkuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS1kaXNwbGF5L2dlbmVyaWMtdXRpbGl0eS1kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LXotaW5kZXgvZWMtdXRpbGl0eS16LWluZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktei1pbmRleC9nZW5lcmljLXV0aWxpdHktei1pbmRleC5zY3NzIiwiLi4vLi4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fYXNzZXQtbGlzdC5zY3NzIiwiLi4vLi4vYXNzZXRzL3Njc3MvY29yZS9fbWl4aW5zLnNjc3MiLCIuLi8uLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19icm93c2VyLnNjc3MiLCIuLi8uLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19jb2RlLnNjc3MiLCIuLi8uLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19lcnJvci5zY3NzIiwiLi4vLi4vYXNzZXRzL3Njc3MvdGhlbWUuc2NzcyIsIi4uLy4uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2ZpbGUtYnJvd3Nlci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbXEvX21xLnNjc3MiLCIuLi8uLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIi4uLy4uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX21ldGEuc2NzcyIsIi4uLy4uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX25hdmlnYXRpb24uc2NzcyIsIi4uLy4uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3Blbi5zY3NzIiwiLi4vLi4vYXNzZXRzL3Njc3MvY29yZS9fYWxsLnNjc3MiLCIuLi8uLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19wcmV2aWV3LnNjc3MiLCIuLi8uLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19zdGF0dXMuc2NzcyIsIi4uLy4uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3RyZWUuc2NzcyIsIi4uLy4uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvaW5kZXguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0Usa0JBQWlCO0VBQUUsT0FBTztFQUMxQiwrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFFLE9BQU87RUFDMUMsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSw4QkFBNkIsRUFDOUI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxvQkFBbUI7RUFBRSxPQUFPO0VBQzVCLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsMENBQWlDO1VBQWpDLGtDQUFpQztFQUFFLE9BQU8sRUFDM0M7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFRSxvQkFBbUIsRUFDcEI7O0FBRUQ7OztHQUdHO0FBRUg7OztFQUdFLGtDQUFpQztFQUFFLE9BQU87RUFDMUMsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O0dBR0c7QUFFSDs7RUFFRSxlQUFjO0VBQ2QsZUFBYztFQUNkLG1CQUFrQjtFQUNsQix5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQjs7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dEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGVBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixlQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsZUFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsZUFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsZUFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNF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O0VBS0M7SUV1Q1IsWUFBdUQsRUZyQzlDO0VBRkQ7SUV1Q1IsZ0JBQWlELEVGckN4QztFQUZEO0lFdUNSLGlCQUFpRCxFRnJDeEM7RUFGRDtJRXVDUixXQUFpRCxFRnJDeEM7RUFGRDtJRXVDUixpQkFBaUQsRUZyQ3hDO0VBRkQ7SUV1Q1IsaUJBQWlELEVGckN4QztFQUZEO0lFdUNSLFdBQWlELEVGckN4QztFQUZEO0lFdUNSLGlCQUFpRCxFRnJDeEM7RUFGRDtJRXVDUixpQkFBaUQsRUZyQ3hDO0VBRkQ7SUV1Q1IsV0FBaUQsRUZyQ3hDO0VBRkQ7SUV1Q1IsaUJBQWlELEVGckN4QztFQUZEO0lFdUNSLGlCQUFpRCxFRnJDeEM7RUFGRDtJRXVDUixZQUFpRCxFRnJDeEM7RUFGRDtJRW1DUixXQUFzRCxFRmpDN0M7RUFGRDtJRW1DUixlQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixnQkFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsVUFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsZ0JBQWdELEVGakN2QztFQUZEO0lFbUNSLGdCQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixVQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixnQkFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsZ0JBQWdELEVGakN2QztFQUZEO0lFbUNSLFVBQWdELEVGakN2QztFQUZEO0lFbUNSLGdCQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixnQkFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsV0FBZ0QsRUZqQ3ZDO0VBUUQ7SUVxQlIsZ0JBQXlDLEVGbkJoQztFQUZEO0lFcUJSLHNCQUF5QyxFRm5CaEM7RUFGRDtJRXFCUix1QkFBeUMsRUZuQmhDO0VBRkQ7SUVxQlIsaUJBQXlDLEVGbkJoQztFQUZEO0lFcUJSLHVCQUF5QyxFRm5CaEM7RUFGRDtJRXFCUix1QkFBeUMsRUZuQmhDO0VBRkQ7SUVxQlIsaUJBQXlDLEVGbkJoQztFQUZEO0lFcUJSLHVCQUF5QyxFRm5CaEM7RUFGRDtJRXFCUix1QkFBeUMsRUZuQmhDO0VBRkQ7SUVxQlIsaUJBQXlDLEVGbkJoQztFQUZEO0lFcUJS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SSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSxxREFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLDRDQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQTFEeEI7RUFDRSxhQUFZLEVBQ2I7O0FBUUQsNkNBQTZDO0FBb0MzQyx1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1RCxFQUN4RCxFQUFBOztBQUdMLHNCQUFzQjtBQVp0Qix1QkFBdUI7QUFDdkI7RUFFSSw4REFBZ0UsRUFDakU7O0FBRUQ7RUFMRjtJQU9NLHFEQUF1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QVdIOzs7OztHQUtHO0F5TDdDSDs7R0FFRztBQUVIOzs7Ozs7Ozs7OztFQVdFO0F6TFlGOztHQUVHO0FBV0g7Ozs7O0dBS0c7QXlMeEJELHlDQUF5QztBQU1uQztFQUNFLFVuTHpCRCxFbUwwQkE7O0FBRUQ7RUFDRSxlbkw3QkQ7RW1MOEJDLGdCbkw5QkQsRW1MK0JBOztBQUVEO0VBQ0UsaUJuTGxDRDtFbUxtQ0MsY25MbkNELEVtTG9DQTs7QUFFRDtFQUNFLGNuTHZDRCxFbUx3Q0E7O0FBRUQ7RUFDRSxnQm5MM0NELEVtTDRDQTs7QUFFRDtFQUNFLGlCbkwvQ0QsRW1MZ0RBOztBQUVEO0VBQ0UsZW5MbkRELEVtTG9EQTs7QUE1QkQ7RUFDRSxnQm5MeEJLLEVtTHlCTjs7QUFFRDtFQUNFLHFCbkw1Qks7RW1MNkJMLHNCbkw3QkssRW1MOEJOOztBQUVEO0VBQ0UsdUJuTGpDSztFbUxrQ0wsb0JuTGxDSyxFbUxtQ047O0FBRUQ7RUFDRSxvQm5MdENLLEVtTHVDTjs7QUFFRDtFQUNFLHNCbkwxQ0ssRW1MMkNOOztBQUVEO0VBQ0UsdUJuTDlDSyxFbUwrQ047O0FBRUQ7RUFDRSxxQm5MbERLLEVtTG1ETjs7QUE1QkQ7RUFDRSxnQm5MdkJJLEVtTHdCTDs7QUFFRDtFQUNFLHFCbkwzQkk7RW1MNEJKLHNCbkw1QkksRW1MNkJMOztBQUVEO0VBQ0UsdUJuTGhDSTtFbUxpQ0osb0JuTGpDSSxFbUxrQ0w7O0FBRUQ7RUFDRSxvQm5MckNJLEVtTHNDTDs7QUFFRDtFQUNFLHNCbkx6Q0ksRW1MMENMOztBQUVEO0VBQ0UsdUJuTDdDSSxFbUw4Q0w7O0FBRUQ7RUFDRSxxQm5MakRJLEVtTGtETDs7QUE1QkQ7RUFDRSxnQm5MdEJHLEVtTHVCSjs7QUFFRDtFQUNFLHFCbkwxQkc7RW1MMkJILHNCbkwzQkcsRW1MNEJKOztBQUVEO0VBQ0UsdUJuTC9CRztFbUxnQ0gsb0JuTGhDRyxFbUxpQ0o7O0FBRUQ7RUFDRSxvQm5McENHLEVtTHFDSjs7QUFFRDtFQUNFLHNCbkx4Q0csRW1MeUNKOztBQUVEO0VBQ0UsdUJuTDVDRyxFbUw2Q0o7O0FBRUQ7RUFDRSxxQm5MaERHLEVtTGlESjs7QUE1QkQ7RUFDRSxhbkxyQkQsRW1Mc0JBOztBQUVEO0VBQ0Usa0JuTHpCRDtFbUwwQkMsbUJuTDFCRCxFbUwyQkE7O0FBRUQ7RUFDRSxvQm5MOUJEO0VtTCtCQyxpQm5ML0JELEVtTGdDQTs7QUFFRDtFQUNFLGlCbkxuQ0QsRW1Mb0NBOztBQUVEO0VBQ0UsbUJuTHZDRCxFbUx3Q0E7O0FBRUQ7RUFDRSxvQm5MM0NELEVtTDRDQTs7QUFFRDtFQUNFLGtCbkwvQ0QsRW1MZ0RBOztBQTVCRDtFQUNFLGdCbkxwQkUsRW1McUJIOztBQUVEO0VBQ0UscUJuTHhCRTtFbUx5QkYsc0JuTHpCRSxFbUwwQkg7O0FBRUQ7RUFDRSx1Qm5MN0JFO0VtTDhCRixvQm5MOUJFLEVtTCtCSDs7QUFFRDtFQUNFLG9CbkxsQ0UsRW1MbUNIOztBQUVEO0VBQ0Usc0JuTHRDRSxFbUx1Q0g7O0FBRUQ7RUFDRSx1Qm5MMUNFLEVtTDJDSDs7QUFFRDtFQUNFLHFCbkw5Q0UsRW1MK0NIOztBQTVCRDtFQUNFLGdCbkxuQkUsRW1Mb0JIOztBQUVEO0VBQ0UscUJuTHZCRTtFbUx3QkYsc0JuTHhCRSxFbUx5Qkg7O0FBRUQ7RUFDRSx1Qm5MNUJFO0VtTDZCRixvQm5MN0JFLEVtTDhCSDs7QUFFRDtFQUNFLG9CbkxqQ0UsRW1Ma0NIOztBQUVEO0VBQ0Usc0JuTHJDRSxFbUxzQ0g7O0FBRUQ7RUFDRSx1Qm5MekNFLEVtTDBDSDs7QUFFRDtFQUNFLHFCbkw3Q0UsRW1MOENIOztBQTVCRDtFQUNFLGdCbkxsQkcsRW1MbUJKOztBQUVEO0VBQ0UscUJuTHRCRztFbUx1Qkgsc0JuTHZCRyxFbUx3Qko7O0FBRUQ7RUFDRSx1Qm5MM0JHO0VtTDRCSCxvQm5MNUJHLEVtTDZCSjs7QUFFRDtFQUNFLG9CbkxoQ0csRW1MaUNKOztBQUVEO0VBQ0Usc0JuTHBDRyxFbUxxQ0o7O0FBRUQ7RUFDRSx1Qm5MeENHLEVtTHlDSjs7QUFFRDtFQUNFLHFCbkw1Q0csRW1MNkNKOztBQTVCRDtFQUNFLGdCbkxqQkksRW1Ma0JMOztBQUVEO0VBQ0UscUJuTHJCSTtFbUxzQkosc0JuTHRCSSxFbUx1Qkw7O0FBRUQ7RUFDRSx1Qm5MMUJJO0VtTDJCSixvQm5MM0JJLEVtTDRCTDs7QUFFRDtFQUNFLG9CbkwvQkksRW1MZ0NMOztBQUVEO0VBQ0Usc0JuTG5DSSxFbUxvQ0w7O0FBRUQ7RUFDRSx1Qm5MdkNJLEVtTHdDTDs7QUFFRDtFQUNFLHFCbkwzQ0ksRW1MNENMOztBQUdIOzs7Ozs7Ozs7O1FBVUU7QUFFRjtFQUNFLGFBQVksRUFDYjs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxrQkFBaUIsRUFDbEI7O0EzSmpCSDtFMkp6Q0k7SUFDRSxVbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxlbkw3QkQ7SW1MOEJDLGdCbkw5QkQsRW1MK0JBO0VBRUQ7SUFDRSxpQm5MbENEO0ltTG1DQyxjbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxjbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxnQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsaUJuTC9DRCxFbUxnREE7RUFFRDtJQUNFLGVuTG5ERCxFbUxvREE7RUE1QkQ7SUFDRSxnQm5MeEJLLEVtTHlCTjtFQUVEO0lBQ0UscUJuTDVCSztJbUw2Qkwsc0JuTDdCSyxFbUw4Qk47RUFFRDtJQUNFLHVCbkxqQ0s7SW1Ma0NMLG9CbkxsQ0ssRW1MbUNOO0VBRUQ7SUFDRSxvQm5MdENLLEVtTHVDTjtFQUVEO0lBQ0Usc0JuTDFDSyxFbUwyQ047RUFFRDtJQUNFLHVCbkw5Q0ssRW1MK0NOO0VBRUQ7SUFDRSxxQm5MbERLLEVtTG1ETjtFQTVCRDtJQUNFLGdCbkx2QkksRW1Md0JMO0VBRUQ7SUFDRSxxQm5MM0JJO0ltTDRCSixzQm5MNUJJLEVtTDZCTDtFQUVEO0lBQ0UsdUJuTGhDSTtJbUxpQ0osb0JuTGpDSSxFbUxrQ0w7RUFFRDtJQUNFLG9CbkxyQ0ksRW1Mc0NMO0VBRUQ7SUFDRSxzQm5MekNJLEVtTDBDTDtFQUVEO0lBQ0UsdUJuTDdDSSxFbUw4Q0w7RUFFRDtJQUNFLHFCbkxqREksRW1Ma0RMO0VBNUJEO0lBQ0UsZ0JuTHRCRyxFbUx1Qko7RUFFRDtJQUNFLHFCbkwxQkc7SW1MMkJILHNCbkwzQkcsRW1MNEJKO0VBRUQ7SUFDRSx1Qm5ML0JHO0ltTGdDSCxvQm5MaENHLEVtTGlDSjtFQUVEO0lBQ0Usb0JuTHBDRyxFbUxxQ0o7RUFFRDtJQUNFLHNCbkx4Q0csRW1MeUNKO0VBRUQ7SUFDRSx1Qm5MNUNHLEVtTDZDSjtFQUVEO0lBQ0UscUJuTGhERyxFbUxpREo7RUE1QkQ7SUFDRSxhbkxyQkQsRW1Mc0JBO0VBRUQ7SUFDRSxrQm5MekJEO0ltTDBCQyxtQm5MMUJELEVtTDJCQTtFQUVEO0lBQ0Usb0JuTDlCRDtJbUwrQkMsaUJuTC9CRCxFbUxnQ0E7RUFFRDtJQUNFLGlCbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxtQm5MdkNELEVtTHdDQTtFQUVEO0lBQ0Usb0JuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBNUJEO0lBQ0UsZ0JuTHBCRSxFbUxxQkg7RUFFRDtJQUNFLHFCbkx4QkU7SW1MeUJGLHNCbkx6QkUsRW1MMEJIO0VBRUQ7SUFDRSx1Qm5MN0JFO0ltTDhCRixvQm5MOUJFLEVtTCtCSDtFQUVEO0lBQ0Usb0JuTGxDRSxFbUxtQ0g7RUFFRDtJQUNFLHNCbkx0Q0UsRW1MdUNIO0VBRUQ7SUFDRSx1Qm5MMUNFLEVtTDJDSDtFQUVEO0lBQ0UscUJuTDlDRSxFbUwrQ0g7RUE1QkQ7SUFDRSxnQm5MbkJFLEVtTG9CSDtFQUVEO0lBQ0UscUJuTHZCRTtJbUx3QkYsc0JuTHhCRSxFbUx5Qkg7RUFFRDtJQUNFLHVCbkw1QkU7SW1MNkJGLG9Cbkw3QkUsRW1MOEJIO0VBRUQ7SUFDRSxvQm5MakNFLEVtTGtDSDtFQUVEO0lBQ0Usc0JuTHJDRSxFbUxzQ0g7RUFFRDtJQUNFLHVCbkx6Q0UsRW1MMENIO0VBRUQ7SUFDRSxxQm5MN0NFLEVtTDhDSDtFQTVCRDtJQUNFLGdCbkxsQkcsRW1MbUJKO0VBRUQ7SUFDRSxxQm5MdEJHO0ltTHVCSCxzQm5MdkJHLEVtTHdCSjtFQUVEO0lBQ0UsdUJuTDNCRztJbUw0Qkgsb0JuTDVCRyxFbUw2Qko7RUFFRDtJQUNFLG9CbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxzQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHFCbkw1Q0csRW1MNkNKO0VBNUJEO0lBQ0UsZ0JuTGpCSSxFbUxrQkw7RUFFRDtJQUNFLHFCbkxyQkk7SW1Mc0JKLHNCbkx0QkksRW1MdUJMO0VBRUQ7SUFDRSx1Qm5MMUJJO0ltTDJCSixvQm5MM0JJLEVtTDRCTDtFQUVEO0lBQ0Usb0JuTC9CSSxFbUxnQ0w7RUFFRDtJQUNFLHNCbkxuQ0ksRW1Mb0NMO0VBRUQ7SUFDRSx1Qm5MdkNJLEVtTHdDTDtFQUVEO0lBQ0UscUJuTDNDSSxFbUw0Q0w7RUFHSDs7Ozs7Ozs7OztRQVVFO0VBRUY7SUFDRSxhQUFZLEVBQ2I7RUFFRDtJQUNFLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLG1CQUFrQixFQUNuQjtFQUVEO0lBQ0Usa0JBQWlCLEVBQ2xCLEVBQUE7O0EzSmpCSDtFMkp6Q0k7SUFDRSxVbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxlbkw3QkQ7SW1MOEJDLGdCbkw5QkQsRW1MK0JBO0VBRUQ7SUFDRSxpQm5MbENEO0ltTG1DQyxjbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxjbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxnQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsaUJuTC9DRCxFbUxnREE7RUFFRDtJQUNFLGVuTG5ERCxFbUxvREE7RUE1QkQ7SUFDRSxnQm5MeEJLLEVtTHlCTjtFQUVEO0lBQ0UscUJuTDVCSztJbUw2Qkwsc0JuTDdCSyxFbUw4Qk47RUFFRDtJQUNFLHVCbkxqQ0s7SW1Ma0NMLG9CbkxsQ0ssRW1MbUNOO0VBRUQ7SUFDRSxvQm5MdENLLEVtTHVDTjtFQUVEO0lBQ0Usc0JuTDFDSyxFbUwyQ047RUFFRDtJQUNFLHVCbkw5Q0ssRW1MK0NOO0VBRUQ7SUFDRSxxQm5MbERLLEVtTG1ETjtFQTVCRDtJQUNFLGdCbkx2QkksRW1Md0JMO0VBRUQ7SUFDRSxxQm5MM0JJO0ltTDRCSixzQm5MNUJJLEVtTDZCTDtFQUVEO0lBQ0UsdUJuTGhDSTtJbUxpQ0osb0JuTGpDSSxFbUxrQ0w7RUFFRDtJQUNFLG9CbkxyQ0ksRW1Mc0NMO0VBRUQ7SUFDRSxzQm5MekNJLEVtTDBDTDtFQUVEO0lBQ0UsdUJuTDdDSSxFbUw4Q0w7RUFFRDtJQUNFLHFCbkxqREksRW1Ma0RMO0VBNUJEO0lBQ0UsZ0JuTHRCRyxFbUx1Qko7RUFFRDtJQUNFLHFCbkwxQkc7SW1MMkJILHNCbkwzQkcsRW1MNEJKO0VBRUQ7SUFDRSx1Qm5ML0JHO0ltTGdDSCxvQm5MaENHLEVtTGlDSjtFQUVEO0lBQ0Usb0JuTHBDRyxFbUxxQ0o7RUFFRDtJQUNFLHNCbkx4Q0csRW1MeUNKO0VBRUQ7SUFDRSx1Qm5MNUNHLEVtTDZDSjtFQUVEO0lBQ0UscUJuTGhERyxFbUxpREo7RUE1QkQ7SUFDRSxhbkxyQkQsRW1Mc0JBO0VBRUQ7SUFDRSxrQm5MekJEO0ltTDBCQyxtQm5MMUJELEVtTDJCQTtFQUVEO0lBQ0Usb0JuTDlCRDtJbUwrQkMsaUJuTC9CRCxFbUxnQ0E7RUFFRDtJQUNFLGlCbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxtQm5MdkNELEVtTHdDQTtFQUVEO0lBQ0Usb0JuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBNUJEO0lBQ0UsZ0JuTHBCRSxFbUxxQkg7RUFFRDtJQUNFLHFCbkx4QkU7SW1MeUJGLHNCbkx6QkUsRW1MMEJIO0VBRUQ7SUFDRSx1Qm5MN0JFO0ltTDhCRixvQm5MOUJFLEVtTCtCSDtFQUVEO0lBQ0Usb0JuTGxDRSxFbUxtQ0g7RUFFRDtJQUNFLHNCbkx0Q0UsRW1MdUNIO0VBRUQ7SUFDRSx1Qm5MMUNFLEVtTDJDSDtFQUVEO0lBQ0UscUJuTDlDRSxFbUwrQ0g7RUE1QkQ7SUFDRSxnQm5MbkJFLEVtTG9CSDtFQUVEO0lBQ0UscUJuTHZCRTtJbUx3QkYsc0JuTHhCRSxFbUx5Qkg7RUFFRDtJQUNFLHVCbkw1QkU7SW1MNkJGLG9Cbkw3QkUsRW1MOEJIO0VBRUQ7SUFDRSxvQm5MakNFLEVtTGtDSDtFQUVEO0lBQ0Usc0JuTHJDRSxFbUxzQ0g7RUFFRDtJQUNFLHVCbkx6Q0UsRW1MMENIO0VBRUQ7SUFDRSxxQm5MN0NFLEVtTDhDSDtFQTVCRDtJQUNFLGdCbkxsQkcsRW1MbUJKO0VBRUQ7SUFDRSxxQm5MdEJHO0ltTHVCSCxzQm5MdkJHLEVtTHdCSjtFQUVEO0lBQ0UsdUJuTDNCRztJbUw0Qkgsb0JuTDVCRyxFbUw2Qko7RUFFRDtJQUNFLG9CbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxzQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHFCbkw1Q0csRW1MNkNKO0VBNUJEO0lBQ0UsZ0JuTGpCSSxFbUxrQkw7RUFFRDtJQUNFLHFCbkxyQkk7SW1Mc0JKLHNCbkx0QkksRW1MdUJMO0VBRUQ7SUFDRSx1Qm5MMUJJO0ltTDJCSixvQm5MM0JJLEVtTDRCTDtFQUVEO0lBQ0Usb0JuTC9CSSxFbUxnQ0w7RUFFRDtJQUNFLHNCbkxuQ0ksRW1Mb0NMO0VBRUQ7SUFDRSx1Qm5MdkNJLEVtTHdDTDtFQUVEO0lBQ0UscUJuTDNDSSxFbUw0Q0w7RUFHSDs7Ozs7Ozs7OztRQVVFO0VBRUY7SUFDRSxhQUFZLEVBQ2I7RUFFRDtJQUNFLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLG1CQUFrQixFQUNuQjtFQUVEO0lBQ0Usa0JBQWlCLEVBQ2xCLEVBQUE7O0EzSmpCSDtFMkp6Q0k7SUFDRSxVbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxlbkw3QkQ7SW1MOEJDLGdCbkw5QkQsRW1MK0JBO0VBRUQ7SUFDRSxpQm5MbENEO0ltTG1DQyxjbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxjbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxnQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsaUJuTC9DRCxFbUxnREE7RUFFRDtJQUNFLGVuTG5ERCxFbUxvREE7RUE1QkQ7SUFDRSxnQm5MeEJLLEVtTHlCTjtFQUVEO0lBQ0UscUJuTDVCSztJbUw2Qkwsc0JuTDdCSyxFbUw4Qk47RUFFRDtJQUNFLHVCbkxqQ0s7SW1Ma0NMLG9CbkxsQ0ssRW1MbUNOO0VBRUQ7SUFDRSxvQm5MdENLLEVtTHVDTjtFQUVEO0lBQ0Usc0JuTDFDSyxFbUwyQ047RUFFRDtJQUNFLHVCbkw5Q0ssRW1MK0NOO0VBRUQ7SUFDRSxxQm5MbERLLEVtTG1ETjtFQTVCRDtJQUNFLGdCbkx2QkksRW1Md0JMO0VBRUQ7SUFDRSxxQm5MM0JJO0ltTDRCSixzQm5MNUJJLEVtTDZCTDtFQUVEO0lBQ0UsdUJuTGhDSTtJbUxpQ0osb0JuTGpDSSxFbUxrQ0w7RUFFRDtJQUNFLG9CbkxyQ0ksRW1Mc0NMO0VBRUQ7SUFDRSxzQm5MekNJLEVtTDBDTDtFQUVEO0lBQ0UsdUJuTDdDSSxFbUw4Q0w7RUFFRDtJQUNFLHFCbkxqREksRW1Ma0RMO0VBNUJEO0lBQ0UsZ0JuTHRCRyxFbUx1Qko7RUFFRDtJQUNFLHFCbkwxQkc7SW1MMkJILHNCbkwzQkcsRW1MNEJKO0VBRUQ7SUFDRSx1Qm5ML0JHO0ltTGdDSCxvQm5MaENHLEVtTGlDSjtFQUVEO0lBQ0Usb0JuTHBDRyxFbUxxQ0o7RUFFRDtJQUNFLHNCbkx4Q0csRW1MeUNKO0VBRUQ7SUFDRSx1Qm5MNUNHLEVtTDZDSjtFQUVEO0lBQ0UscUJuTGhERyxFbUxpREo7RUE1QkQ7SUFDRSxhbkxyQkQsRW1Mc0JBO0VBRUQ7SUFDRSxrQm5MekJEO0ltTDBCQyxtQm5MMUJELEVtTDJCQTtFQUVEO0lBQ0Usb0JuTDlCRDtJbUwrQkMsaUJuTC9CRCxFbUxnQ0E7RUFFRDtJQUNFLGlCbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxtQm5MdkNELEVtTHdDQTtFQUVEO0lBQ0Usb0JuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBNUJEO0lBQ0UsZ0JuTHBCRSxFbUxxQkg7RUFFRDtJQUNFLHFCbkx4QkU7SW1MeUJGLHNCbkx6QkUsRW1MMEJIO0VBRUQ7SUFDRSx1Qm5MN0JFO0ltTDhCRixvQm5MOUJFLEVtTCtCSDtFQUVEO0lBQ0Usb0JuTGxDRSxFbUxtQ0g7RUFFRDtJQUNFLHNCbkx0Q0UsRW1MdUNIO0VBRUQ7SUFDRSx1Qm5MMUNFLEVtTDJDSDtFQUVEO0lBQ0UscUJuTDlDRSxFbUwrQ0g7RUE1QkQ7SUFDRSxnQm5MbkJFLEVtTG9CSDtFQUVEO0lBQ0UscUJuTHZCRTtJbUx3QkYsc0JuTHhCRSxFbUx5Qkg7RUFFRDtJQUNFLHVCbkw1QkU7SW1MNkJGLG9Cbkw3QkUsRW1MOEJIO0VBRUQ7SUFDRSxvQm5MakNFLEVtTGtDSDtFQUVEO0lBQ0Usc0JuTHJDRSxFbUxzQ0g7RUFFRDtJQUNFLHVCbkx6Q0UsRW1MMENIO0VBRUQ7SUFDRSxxQm5MN0NFLEVtTDhDSDtFQTVCRDtJQUNFLGdCbkxsQkcsRW1MbUJKO0VBRUQ7SUFDRSxxQm5MdEJHO0ltTHVCSCxzQm5MdkJHLEVtTHdCSjtFQUVEO0lBQ0UsdUJuTDNCRztJbUw0Qkgsb0JuTDVCRyxFbUw2Qko7RUFFRDtJQUNFLG9CbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxzQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHFCbkw1Q0csRW1MNkNKO0VBNUJEO0lBQ0UsZ0JuTGpCSSxFbUxrQkw7RUFFRDtJQUNFLHFCbkxyQkk7SW1Mc0JKLHNCbkx0QkksRW1MdUJMO0VBRUQ7SUFDRSx1Qm5MMUJJO0ltTDJCSixvQm5MM0JJLEVtTDRCTDtFQUVEO0lBQ0Usb0JuTC9CSSxFbUxnQ0w7RUFFRDtJQUNFLHNCbkxuQ0ksRW1Mb0NMO0VBRUQ7SUFDRSx1Qm5MdkNJLEVtTHdDTDtFQUVEO0lBQ0UscUJuTDNDSSxFbUw0Q0w7RUFHSDs7Ozs7Ozs7OztRQVVFO0VBRUY7SUFDRSxhQUFZLEVBQ2I7RUFFRDtJQUNFLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLG1CQUFrQixFQUNuQjtFQUVEO0lBQ0Usa0JBQWlCLEVBQ2xCLEVBQUE7O0EzSmpCSDtFMkp6Q0k7SUFDRSxVbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxlbkw3QkQ7SW1MOEJDLGdCbkw5QkQsRW1MK0JBO0VBRUQ7SUFDRSxpQm5MbENEO0ltTG1DQyxjbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxjbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxnQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsaUJuTC9DRCxFbUxnREE7RUFFRDtJQUNFLGVuTG5ERCxFbUxvREE7RUE1QkQ7SUFDRSxnQm5MeEJLLEVtTHlCTjtFQUVEO0lBQ0UscUJuTDVCSztJbUw2Qkwsc0JuTDdCSyxFbUw4Qk47RUFFRDtJQUNFLHVCbkxqQ0s7SW1Ma0NMLG9CbkxsQ0ssRW1MbUNOO0VBRUQ7SUFDRSxvQm5MdENLLEVtTHVDTjtFQUVEO0lBQ0Usc0JuTDFDSyxFbUwyQ047RUFFRDtJQUNFLHVCbkw5Q0ssRW1MK0NOO0VBRUQ7SUFDRSxxQm5MbERLLEVtTG1ETjtFQTVCRDtJQUNFLGdCbkx2QkksRW1Md0JMO0VBRUQ7SUFDRSxxQm5MM0JJO0ltTDRCSixzQm5MNUJJLEVtTDZCTDtFQUVEO0lBQ0UsdUJuTGhDSTtJbUxpQ0osb0JuTGpDSSxFbUxrQ0w7RUFFRDtJQUNFLG9CbkxyQ0ksRW1Mc0NMO0VBRUQ7SUFDRSxzQm5MekNJLEVtTDBDTDtFQUVEO0lBQ0UsdUJuTDdDSSxFbUw4Q0w7RUFFRDtJQUNFLHFCbkxqREksRW1Ma0RMO0VBNUJEO0lBQ0UsZ0JuTHRCRyxFbUx1Qko7RUFFRDtJQUNFLHFCbkwxQkc7SW1MMkJILHNCbkwzQkcsRW1MNEJKO0VBRUQ7SUFDRSx1Qm5ML0JHO0ltTGdDSCxvQm5MaENHLEVtTGlDSjtFQUVEO0lBQ0Usb0JuTHBDRyxFbUxxQ0o7RUFFRDtJQUNFLHNCbkx4Q0csRW1MeUNKO0VBRUQ7SUFDRSx1Qm5MNUNHLEVtTDZDSjtFQUVEO0lBQ0UscUJuTGhERyxFbUxpREo7RUE1QkQ7SUFDRSxhbkxyQkQsRW1Mc0JBO0VBRUQ7SUFDRSxrQm5MekJEO0ltTDBCQyxtQm5MMUJELEVtTDJCQTtFQUVEO0lBQ0Usb0JuTDlCRDtJbUwrQkMsaUJuTC9CRCxFbUxnQ0E7RUFFRDtJQUNFLGlCbkxuQ0QsRW1Mb0NBO0VBRUQ7SUFDRSxtQm5MdkNELEVtTHdDQTtFQUVEO0lBQ0Usb0JuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBNUJEO0lBQ0UsZ0JuTHBCRSxFbUxxQkg7RUFFRDtJQUNFLHFCbkx4QkU7SW1MeUJGLHNCbkx6QkUsRW1MMEJIO0VBRUQ7SUFDRSx1Qm5MN0JFO0ltTDhCRixvQm5MOUJFLEVtTCtCSDtFQUVEO0lBQ0Usb0JuTGxDRSxFbUxtQ0g7RUFFRDtJQUNFLHNCbkx0Q0UsRW1MdUNIO0VBRUQ7SUFDRSx1Qm5MMUNFLEVtTDJDSDtFQUVEO0lBQ0UscUJuTDlDRSxFbUwrQ0g7RUE1QkQ7SUFDRSxnQm5MbkJFLEVtTG9CSDtFQUVEO0lBQ0UscUJuTHZCRTtJbUx3QkYsc0JuTHhCRSxFbUx5Qkg7RUFFRDtJQUNFLHVCbkw1QkU7SW1MNkJGLG9Cbkw3QkUsRW1MOEJIO0VBRUQ7SUFDRSxvQm5MakNFLEVtTGtDSDtFQUVEO0lBQ0Usc0JuTHJDRSxFbUxzQ0g7RUFFRDtJQUNFLHVCbkx6Q0UsRW1MMENIO0VBRUQ7SUFDRSxxQm5MN0NFLEVtTDhDSDtFQTVCRDtJQUNFLGdCbkxsQkcsRW1MbUJKO0VBRUQ7SUFDRSxxQm5MdEJHO0ltTHVCSCxzQm5MdkJHLEVtTHdCSjtFQUVEO0lBQ0UsdUJuTDNCRztJbUw0Qkgsb0JuTDVCRyxFbUw2Qko7RUFFRDtJQUNFLG9CbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxzQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHFCbkw1Q0csRW1MNkNKO0VBNUJEO0lBQ0UsZ0JuTGpCSSxFbUxrQkw7RUFFRDtJQUNFLHFCbkxyQkk7SW1Mc0JKLHNCbkx0QkksRW1MdUJMO0VBRUQ7SUFDRSx1Qm5MMUJJO0ltTDJCSixvQm5MM0JJLEVtTDRCTDtFQUVEO0lBQ0Usb0JuTC9CSSxFbUxnQ0w7RUFFRDtJQUNFLHNCbkxuQ0ksRW1Mb0NMO0VBRUQ7SUFDRSx1Qm5MdkNJLEVtTHdDTDtFQUVEO0lBQ0UscUJuTDNDSSxFbUw0Q0w7RUFHSDs7Ozs7Ozs7OztRQVVFO0VBRUY7SUFDRSxhQUFZLEVBQ2I7RUFFRDtJQUNFLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLG1CQUFrQixFQUNuQjtFQUVEO0lBQ0Usa0JBQWlCLEVBQ2xCLEVBQUE7O0FDckZQOztHQUVHO0ExTHlCSDs7R0FFRztBQVdIOzs7OztHQUtHO0EyTDdDSDs7R0FFRztBQUVIOzs7Ozs7Ozs7OztFQVdFO0EzTFlGOztHQUVHO0FBV0g7Ozs7O0dBS0c7QTJMeEJELHlDQUF5QztBQU1uQztFQUNFLFdyTHpCRCxFcUwwQkE7O0FBRUQ7RUFDRSxnQnJMN0JEO0VxTDhCQyxpQnJMOUJELEVxTCtCQTs7QUFFRDtFQUNFLGtCckxsQ0Q7RXFMbUNDLGVyTG5DRCxFcUxvQ0E7O0FBRUQ7RUFDRSxlckx2Q0QsRXFMd0NBOztBQUVEO0VBQ0UsaUJyTDNDRCxFcUw0Q0E7O0FBRUQ7RUFDRSxrQnJML0NELEVxTGdEQTs7QUFFRDtFQUNFLGdCckxuREQsRXFMb0RBOztBQTVCRDtFQUNFLGlCckx4QkssRXFMeUJOOztBQUVEO0VBQ0Usc0JyTDVCSztFcUw2QkwsdUJyTDdCSyxFcUw4Qk47O0FBRUQ7RUFDRSx3QnJMakNLO0VxTGtDTCxxQnJMbENLLEVxTG1DTjs7QUFFRDtFQUNFLHFCckx0Q0ssRXFMdUNOOztBQUVEO0VBQ0UsdUJyTDFDSyxFcUwyQ047O0FBRUQ7RUFDRSx3QnJMOUNLLEVxTCtDTjs7QUFFRDtFQUNFLHNCckxsREssRXFMbUROOztBQTVCRDtFQUNFLGlCckx2QkksRXFMd0JMOztBQUVEO0VBQ0Usc0JyTDNCSTtFcUw0QkosdUJyTDVCSSxFcUw2Qkw7O0FBRUQ7RUFDRSx3QnJMaENJO0VxTGlDSixxQnJMakNJLEVxTGtDTDs7QUFFRDtFQUNFLHFCckxyQ0ksRXFMc0NMOztBQUVEO0VBQ0UsdUJyTHpDSSxFcUwwQ0w7O0FBRUQ7RUFDRSx3QnJMN0NJLEVxTDhDTDs7QUFFRDtFQUNFLHNCckxqREksRXFMa0RMOztBQTVCRDtFQUNFLGlCckx0QkcsRXFMdUJKOztBQUVEO0VBQ0Usc0JyTDFCRztFcUwyQkgsdUJyTDNCRyxFcUw0Qko7O0FBRUQ7RUFDRSx3QnJML0JHO0VxTGdDSCxxQnJMaENHLEVxTGlDSjs7QUFFRDtFQUNFLHFCckxwQ0csRXFMcUNKOztBQUVEO0VBQ0UsdUJyTHhDRyxFcUx5Q0o7O0FBRUQ7RUFDRSx3QnJMNUNHLEVxTDZDSjs7QUFFRDtFQUNFLHNCckxoREcsRXFMaURKOztBQTVCRDtFQUNFLGNyTHJCRCxFcUxzQkE7O0FBRUQ7RUFDRSxtQnJMekJEO0VxTDBCQyxvQnJMMUJELEVxTDJCQTs7QUFFRDtFQUNFLHFCckw5QkQ7RXFMK0JDLGtCckwvQkQsRXFMZ0NBOztBQUVEO0VBQ0Usa0JyTG5DRCxFcUxvQ0E7O0FBRUQ7RUFDRSxvQnJMdkNELEVxTHdDQTs7QUFFRDtFQUNFLHFCckwzQ0QsRXFMNENBOztBQUVEO0VBQ0UsbUJyTC9DRCxFcUxnREE7O0FBNUJEO0VBQ0UsaUJyTHBCRSxFcUxxQkg7O0FBRUQ7RUFDRSxzQnJMeEJFO0VxTHlCRix1QnJMekJFLEVxTDBCSDs7QUFFRDtFQUNFLHdCckw3QkU7RXFMOEJGLHFCckw5QkUsRXFMK0JIOztBQUVEO0VBQ0UscUJyTGxDRSxFcUxtQ0g7O0FBRUQ7RUFDRSx1QnJMdENFLEVxTHVDSDs7QUFFRDtFQUNFLHdCckwxQ0UsRXFMMkNIOztBQUVEO0VBQ0Usc0JyTDlDRSxFcUwrQ0g7O0FBNUJEO0VBQ0UsaUJyTG5CRSxFcUxvQkg7O0FBRUQ7RUFDRSxzQnJMdkJFO0VxTHdCRix1QnJMeEJFLEVxTHlCSDs7QUFFRDtFQUNFLHdCckw1QkU7RXFMNkJGLHFCckw3QkUsRXFMOEJIOztBQUVEO0VBQ0UscUJyTGpDRSxFcUxrQ0g7O0FBRUQ7RUFDRSx1QnJMckNFLEVxTHNDSDs7QUFFRDtFQUNFLHdCckx6Q0UsRXFMMENIOztBQUVEO0VBQ0Usc0JyTDdDRSxFcUw4Q0g7O0FBNUJEO0VBQ0UsaUJyTGxCRyxFcUxtQko7O0FBRUQ7RUFDRSxzQnJMdEJHO0VxTHVCSCx1QnJMdkJHLEVxTHdCSjs7QUFFRDtFQUNFLHdCckwzQkc7RXFMNEJILHFCckw1QkcsRXFMNkJKOztBQUVEO0VBQ0UscUJyTGhDRyxFcUxpQ0o7O0FBRUQ7RUFDRSx1QnJMcENHLEVxTHFDSjs7QUFFRDtFQUNFLHdCckx4Q0csRXFMeUNKOztBQUVEO0VBQ0Usc0JyTDVDRyxFcUw2Q0o7O0FBNUJEO0VBQ0UsaUJyTGpCSSxFcUxrQkw7O0FBRUQ7RUFDRSxzQnJMckJJO0VxTHNCSix1QnJMdEJJLEVxTHVCTDs7QUFFRDtFQUNFLHdCckwxQkk7RXFMMkJKLHFCckwzQkksRXFMNEJMOztBQUVEO0VBQ0UscUJyTC9CSSxFcUxnQ0w7O0FBRUQ7RUFDRSx1QnJMbkNJLEVxTG9DTDs7QUFFRDtFQUNFLHdCckx2Q0ksRXFMd0NMOztBQUVEO0VBQ0Usc0JyTDNDSSxFcUw0Q0w7O0E3SmFMO0U2SnpDSTtJQUNFLFdyTHpCRCxFcUwwQkE7RUFFRDtJQUNFLGdCckw3QkQ7SXFMOEJDLGlCckw5QkQsRXFMK0JBO0VBRUQ7SUFDRSxrQnJMbENEO0lxTG1DQyxlckxuQ0QsRXFMb0NBO0VBRUQ7SUFDRSxlckx2Q0QsRXFMd0NBO0VBRUQ7SUFDRSxpQnJMM0NELEVxTDRDQTtFQUVEO0lBQ0Usa0JyTC9DRCxFcUxnREE7RUFFRDtJQUNFLGdCckxuREQsRXFMb0RBO0VBNUJEO0lBQ0UsaUJyTHhCSyxFcUx5Qk47RUFFRDtJQUNFLHNCckw1Qks7SXFMNkJMLHVCckw3QkssRXFMOEJOO0VBRUQ7SUFDRSx3QnJMakNLO0lxTGtDTCxxQnJMbENLLEVxTG1DTjtFQUVEO0lBQ0UscUJyTHRDSyxFcUx1Q047RUFFRDtJQUNFLHVCckwxQ0ssRXFMMkNOO0VBRUQ7SUFDRSx3QnJMOUNLLEVxTCtDTjtFQUVEO0lBQ0Usc0JyTGxESyxFcUxtRE47RUE1QkQ7SUFDRSxpQnJMdkJJLEVxTHdCTDtFQUVEO0lBQ0Usc0JyTDNCSTtJcUw0QkosdUJyTDVCSSxFcUw2Qkw7RUFFRDtJQUNFLHdCckxoQ0k7SXFMaUNKLHFCckxqQ0ksRXFMa0NMO0VBRUQ7SUFDRSxxQnJMckNJLEVxTHNDTDtFQUVEO0lBQ0UsdUJyTHpDSSxFcUwwQ0w7RUFFRDtJQUNFLHdCckw3Q0ksRXFMOENMO0VBRUQ7SUFDRSxzQnJMakRJLEVxTGtETDtFQTVCRDtJQUNFLGlCckx0QkcsRXFMdUJKO0VBRUQ7SUFDRSxzQnJMMUJHO0lxTDJCSCx1QnJMM0JHLEVxTDRCSjtFQUVEO0lBQ0Usd0JyTC9CRztJcUxnQ0gscUJyTGhDRyxFcUxpQ0o7RUFFRDtJQUNFLHFCckxwQ0csRXFMcUNKO0VBRUQ7SUFDRSx1QnJMeENHLEVxTHlDSjtFQUVEO0lBQ0Usd0JyTDVDRyxFcUw2Q0o7RUFFRDtJQUNFLHNCckxoREcsRXFMaURKO0VBNUJEO0lBQ0UsY3JMckJELEVxTHNCQTtFQUVEO0lBQ0UsbUJyTHpCRDtJcUwwQkMsb0JyTDFCRCxFcUwyQkE7RUFFRDtJQUNFLHFCckw5QkQ7SXFMK0JDLGtCckwvQkQsRXFMZ0NBO0VBRUQ7SUFDRSxrQnJMbkNELEVxTG9DQTtFQUVEO0lBQ0Usb0JyTHZDRCxFcUx3Q0E7RUFFRDtJQUNFLHFCckwzQ0QsRXFMNENBO0VBRUQ7SUFDRSxtQnJML0NELEVxTGdEQTtFQTVCRDtJQUNFLGlCckxwQkUsRXFMcUJIO0VBRUQ7SUFDRSxzQnJMeEJFO0lxTHlCRix1QnJMekJFLEVxTDBCSDtFQUVEO0lBQ0Usd0JyTDdCRTtJcUw4QkYscUJyTDlCRSxFcUwrQkg7RUFFRDtJQUNFLHFCckxsQ0UsRXFMbUNIO0VBRUQ7SUFDRSx1QnJMdENFLEVxTHVDSDtFQUVEO0lBQ0Usd0JyTDFDRSxFcUwyQ0g7RUFFRDtJQUNFLHNCckw5Q0UsRXFMK0NIO0VBNUJEO0lBQ0UsaUJyTG5CRSxFcUxvQkg7RUFFRDtJQUNFLHNCckx2QkU7SXFMd0JGLHVCckx4QkUsRXFMeUJIO0VBRUQ7SUFDRSx3QnJMNUJFO0lxTDZCRixxQnJMN0JFLEVxTDhCSDtFQUVEO0lBQ0UscUJyTGpDRSxFcUxrQ0g7RUFFRDtJQUNFLHVCckxyQ0UsRXFMc0NIO0VBRUQ7SUFDRSx3QnJMekNFLEVxTDBDSDtFQUVEO0lBQ0Usc0JyTDdDRSxFcUw4Q0g7RUE1QkQ7SUFDRSxpQnJMbEJHLEVxTG1CSjtFQUVEO0lBQ0Usc0JyTHRCRztJcUx1QkgsdUJyTHZCRyxFcUx3Qko7RUFFRDtJQUNFLHdCckwzQkc7SXFMNEJILHFCckw1QkcsRXFMNkJKO0VBRUQ7SUFDRSxxQnJMaENHLEVxTGlDSjtFQUVEO0lBQ0UsdUJyTHBDRyxFcUxxQ0o7RUFFRDtJQUNFLHdCckx4Q0csRXFMeUNKO0VBRUQ7SUFDRSxzQnJMNUNHLEVxTDZDSjtFQTVCRDtJQUNFLGlCckxqQkksRXFMa0JMO0VBRUQ7SUFDRSxzQnJMckJJO0lxTHNCSix1QnJMdEJJLEVxTHVCTDtFQUVEO0lBQ0Usd0JyTDFCSTtJcUwyQkoscUJyTDNCSSxFcUw0Qkw7RUFFRDtJQUNFLHFCckwvQkksRXFMZ0NMO0VBRUQ7SUFDRSx1QnJMbkNJLEVxTG9DTDtFQUVEO0lBQ0Usd0JyTHZDSSxFcUx3Q0w7RUFFRDtJQUNFLHNCckwzQ0ksRXFMNENMLEVBQUE7O0E3SmFMO0U2SnpDSTtJQUNFLFdyTHpCRCxFcUwwQkE7RUFFRDtJQUNFLGdCckw3QkQ7SXFMOEJDLGlCckw5QkQsRXFMK0JBO0VBRUQ7SUFDRSxrQnJMbENEO0lxTG1DQyxlckxuQ0QsRXFMb0NBO0VBRUQ7SUFDRSxlckx2Q0QsRXFMd0NBO0VBRUQ7SUFDRSxpQnJMM0NELEVxTDRDQTtFQUVEO0lBQ0Usa0JyTC9DRCxFcUxnREE7RUFFRDtJQUNFLGdCckxuREQsRXFMb0RBO0VBNUJEO0lBQ0UsaUJyTHhCSyxFcUx5Qk47RUFFRDtJQUNFLHNCckw1Qks7SXFMNkJMLHVCckw3QkssRXFMOEJOO0VBRUQ7SUFDRSx3QnJMakNLO0lxTGtDTCxxQnJMbENLLEVxTG1DTjtFQUVEO0lBQ0UscUJyTHRDSyxFcUx1Q047RUFFRDtJQUNFLHVCckwxQ0ssRXFMMkNOO0VBRUQ7SUFDRSx3QnJMOUNLLEVxTCtDTjtFQUVEO0lBQ0Usc0JyTGxESyxFcUxtRE47RUE1QkQ7SUFDRSxpQnJMdkJJLEVxTHdCTDtFQUVEO0lBQ0Usc0JyTDNCSTtJcUw0QkosdUJyTDVCSSxFcUw2Qkw7RUFFRDtJQUNFLHdCckxoQ0k7SXFMaUNKLHFCckxqQ0ksRXFMa0NMO0VBRUQ7SUFDRSxxQnJMckNJLEVxTHNDTDtFQUVEO0lBQ0UsdUJyTHpDSSxFcUwwQ0w7RUFFRDtJQUNFLHdCckw3Q0ksRXFMOENMO0VBRUQ7SUFDRSxzQnJMakRJLEVxTGtETDtFQTVCRDtJQUNFLGlCckx0QkcsRXFMdUJKO0VBRUQ7SUFDRSxzQnJMMUJHO0lxTDJCSCx1QnJMM0JHLEVxTDRCSjtFQUVEO0lBQ0Usd0JyTC9CRztJcUxnQ0gscUJyTGhDRyxFcUxpQ0o7RUFFRDtJQUNFLHFCckxwQ0csRXFMcUNKO0VBRUQ7SUFDRSx1QnJMeENHLEVxTHlDSjtFQUVEO0lBQ0Usd0JyTDVDRyxFcUw2Q0o7RUFFRDtJQUNFLHNCckxoREcsRXFMaURKO0VBNUJEO0lBQ0UsY3JMckJELEVxTHNCQTtFQUVEO0lBQ0UsbUJyTHpCRDtJcUwwQkMsb0JyTDFCRCxFcUwyQkE7RUFFRDtJQUNFLHFCckw5QkQ7SXFMK0JDLGtCckwvQkQsRXFMZ0NBO0VBRUQ7SUFDRSxrQnJMbkNELEVxTG9DQTtFQUVEO0lBQ0Usb0JyTHZDRCxFcUx3Q0E7RUFFRDtJQUNFLHFCckwzQ0QsRXFMNENBO0VBRUQ7SUFDRSxtQnJML0NELEVxTGdEQTtFQTVCRDtJQUNFLGlCckxwQkUsRXFMcUJIO0VBRUQ7SUFDRSxzQnJMeEJFO0lxTHlCRix1QnJMekJFLEVxTDBCSDtFQUVEO0lBQ0Usd0JyTDdCRTtJcUw4QkYscUJyTDlCRSxFcUwrQkg7RUFFRDtJQUNFLHFCckxsQ0UsRXFMbUNIO0VBRUQ7SUFDRSx1QnJMdENFLEVxTHVDSDtFQUVEO0lBQ0Usd0JyTDFDRSxFcUwyQ0g7RUFFRDtJQUNFLHNCckw5Q0UsRXFMK0NIO0VBNUJEO0lBQ0UsaUJyTG5CRSxFcUxvQkg7RUFFRDtJQUNFLHNCckx2QkU7SXFMd0JGLHVCckx4QkUsRXFMeUJIO0VBRUQ7SUFDRSx3QnJMNUJFO0lxTDZCRixxQnJMN0JFLEVxTDhCSDtFQUVEO0lBQ0UscUJyTGpDRSxFcUxrQ0g7RUFFRDtJQUNFLHVCckxyQ0UsRXFMc0NIO0VBRUQ7SUFDRSx3QnJMekNFLEVxTDBDSDtFQUVEO0lBQ0Usc0JyTDdDRSxFcUw4Q0g7RUE1QkQ7SUFDRSxpQnJMbEJHLEVxTG1CSjtFQUVEO0lBQ0Usc0JyTHRCRztJcUx1QkgsdUJyTHZCRyxFcUx3Qko7RUFFRDtJQUNFLHdCckwzQkc7SXFMNEJILHFCckw1QkcsRXFMNkJKO0VBRUQ7SUFDRSxxQnJMaENHLEVxTGlDSjtFQUVEO0lBQ0UsdUJyTHBDRyxFcUxxQ0o7RUFFRDtJQUNFLHdCckx4Q0csRXFMeUNKO0VBRUQ7SUFDRSxzQnJMNUNHLEVxTDZDSjtFQTVCRDtJQUNFLGlCckxqQkksRXFMa0JMO0VBRUQ7SUFDRSxzQnJMckJJO0lxTHNCSix1QnJMdEJJLEVxTHVCTDtFQUVEO0lBQ0Usd0JyTDFCSTtJcUwyQkoscUJyTDNCSSxFcUw0Qkw7RUFFRDtJQUNFLHFCckwvQkksRXFMZ0NMO0VBRUQ7SUFDRSx1QnJMbkNJLEVxTG9DTDtFQUVEO0lBQ0Usd0JyTHZDSSxFcUx3Q0w7RUFFRDtJQUNFLHNCckwzQ0ksRXFMNENMLEVBQUE7O0E3SmFMO0U2SnpDSTtJQUNFLFdyTHpCRCxFcUwwQkE7RUFFRDtJQUNFLGdCckw3QkQ7SXFMOEJDLGlCckw5QkQsRXFMK0JBO0VBRUQ7SUFDRSxrQnJMbENEO0lxTG1DQyxlckxuQ0QsRXFMb0NBO0VBRUQ7SUFDRSxlckx2Q0QsRXFMd0NBO0VBRUQ7SUFDRSxpQnJMM0NELEVxTDRDQTtFQUVEO0lBQ0Usa0JyTC9DRCxFcUxnREE7RUFFRDtJQUNFLGdCckxuREQsRXFMb0RBO0VBNUJEO0lBQ0UsaUJyTHhCSyxFcUx5Qk47RUFFRDtJQUNFLHNCckw1Qks7SXFMNkJMLHVCckw3QkssRXFMOEJOO0VBRUQ7SUFDRSx3QnJMakNLO0lxTGtDTCxxQnJMbENLLEVxTG1DTjtFQUVEO0lBQ0UscUJyTHRDSyxFcUx1Q047RUFFRDtJQUNFLHVCckwxQ0ssRXFMMkNOO0VBRUQ7SUFDRSx3QnJMOUNLLEVxTCtDTjtFQUVEO0lBQ0Usc0JyTGxESyxFcUxtRE47RUE1QkQ7SUFDRSxpQnJMdkJJLEVxTHdCTDtFQUVEO0lBQ0Usc0JyTDNCSTtJcUw0QkosdUJyTDVCSSxFcUw2Qkw7RUFFRDtJQUNFLHdCckxoQ0k7SXFMaUNKLHFCckxqQ0ksRXFMa0NMO0VBRUQ7SUFDRSxxQnJMckNJLEVxTHNDTDtFQUVEO0lBQ0UsdUJyTHpDSSxFcUwwQ0w7RUFFRDtJQUNFLHdCckw3Q0ksRXFMOENMO0VBRUQ7SUFDRSxzQnJMakRJLEVxTGtETDtFQTVCRDtJQUNFLGlCckx0QkcsRXFMdUJKO0VBRUQ7SUFDRSxzQnJMMUJHO0lxTDJCSCx1QnJMM0JHLEVxTDRCSjtFQUVEO0lBQ0Usd0JyTC9CRztJcUxnQ0gscUJyTGhDRyxFcUxpQ0o7RUFFRDtJQUNFLHFCckxwQ0csRXFMcUNKO0VBRUQ7SUFDRSx1QnJMeENHLEVxTHlDSjtFQUVEO0lBQ0Usd0JyTDVDRyxFcUw2Q0o7RUFFRDtJQUNFLHNCckxoREcsRXFMaURKO0VBNUJEO0lBQ0UsY3JMckJELEVxTHNCQTtFQUVEO0lBQ0UsbUJyTHpCRDtJcUwwQkMsb0JyTDFCRCxFcUwyQkE7RUFFRDtJQUNFLHFCckw5QkQ7SXFMK0JDLGtCckwvQkQsRXFMZ0NBO0VBRUQ7SUFDRSxrQnJMbkNELEVxTG9DQTtFQUVEO0lBQ0Usb0JyTHZDRCxFcUx3Q0E7RUFFRDtJQUNFLHFCckwzQ0QsRXFMNENBO0VBRUQ7SUFDRSxtQnJML0NELEVxTGdEQTtFQTVCRDtJQUNFLGlCckxwQkUsRXFMcUJIO0VBRUQ7SUFDRSxzQnJMeEJFO0lxTHlCRix1QnJMekJFLEVxTDBCSDtFQUVEO0lBQ0Usd0JyTDdCRTtJcUw4QkYscUJyTDlCRSxFcUwrQkg7RUFFRDtJQUNFLHFCckxsQ0UsRXFMbUNIO0VBRUQ7SUFDRSx1QnJMdENFLEVxTHVDSDtFQUVEO0lBQ0Usd0JyTDFDRSxFcUwyQ0g7RUFFRDtJQUNFLHNCckw5Q0UsRXFMK0NIO0VBNUJEO0lBQ0UsaUJyTG5CRSxFcUxvQkg7RUFFRDtJQUNFLHNCckx2QkU7SXFMd0JGLHVCckx4QkUsRXFMeUJIO0VBRUQ7SUFDRSx3QnJMNUJFO0lxTDZCRixxQnJMN0JFLEVxTDhCSDtFQUVEO0lBQ0UscUJyTGpDRSxFcUxrQ0g7RUFFRDtJQUNFLHVCckxyQ0UsRXFMc0NIO0VBRUQ7SUFDRSx3QnJMekNFLEVxTDBDSDtFQUVEO0lBQ0Usc0JyTDdDRSxFcUw4Q0g7RUE1QkQ7SUFDRSxpQnJMbEJHLEVxTG1CSjtFQUVEO0lBQ0Usc0JyTHRCRztJcUx1QkgsdUJyTHZCRyxFcUx3Qko7RUFFRDtJQUNFLHdCckwzQkc7SXFMNEJILHFCckw1QkcsRXFMNkJKO0VBRUQ7SUFDRSxxQnJMaENHLEVxTGlDSjtFQUVEO0lBQ0UsdUJyTHBDRyxFcUxxQ0o7RUFFRDtJQUNFLHdCckx4Q0csRXFMeUNKO0VBRUQ7SUFDRSxzQnJMNUNHLEVxTDZDSjtFQTVCRDtJQUNFLGlCckxqQkksRXFMa0JMO0VBRUQ7SUFDRSxzQnJMckJJO0lxTHNCSix1QnJMdEJJLEVxTHVCTDtFQUVEO0lBQ0Usd0JyTDFCSTtJcUwyQkoscUJyTDNCSSxFcUw0Qkw7RUFFRDtJQUNFLHFCckwvQkksRXFMZ0NMO0VBRUQ7SUFDRSx1QnJMbkNJLEVxTG9DTDtFQUVEO0lBQ0Usd0JyTHZDSSxFcUx3Q0w7RUFFRDtJQUNFLHNCckwzQ0ksRXFMNENMLEVBQUE7O0E3SmFMO0U2SnpDSTtJQUNFLFdyTHpCRCxFcUwwQkE7RUFFRDtJQUNFLGdCckw3QkQ7SXFMOEJDLGlCckw5QkQsRXFMK0JBO0VBRUQ7SUFDRSxrQnJMbENEO0lxTG1DQyxlckxuQ0QsRXFMb0NBO0VBRUQ7SUFDRSxlckx2Q0QsRXFMd0NBO0VBRUQ7SUFDRSxpQnJMM0NELEVxTDRDQTtFQUVEO0lBQ0Usa0JyTC9DRCxFcUxnREE7RUFFRDtJQUNFLGdCckxuREQsRXFMb0RBO0VBNUJEO0lBQ0UsaUJyTHhCSyxFcUx5Qk47RUFFRDtJQUNFLHNCckw1Qks7SXFMNkJMLHVCckw3QkssRXFMOEJOO0VBRUQ7SUFDRSx3QnJMakNLO0lxTGtDTCxxQnJMbENLLEVxTG1DTjtFQUVEO0lBQ0UscUJyTHRDSyxFcUx1Q047RUFFRDtJQUNFLHVCckwxQ0ssRXFMMkNOO0VBRUQ7SUFDRSx3QnJMOUNLLEVxTCtDTjtFQUVEO0lBQ0Usc0JyTGxESyxFcUxtRE47RUE1QkQ7SUFDRSxpQnJMdkJJLEVxTHdCTDtFQUVEO0lBQ0Usc0JyTDNCSTtJcUw0QkosdUJyTDVCSSxFcUw2Qkw7RUFFRDtJQUNFLHdCckxoQ0k7SXFMaUNKLHFCckxqQ0ksRXFMa0NMO0VBRUQ7SUFDRSxxQnJMckNJLEVxTHNDTDtFQUVEO0lBQ0UsdUJyTHpDSSxFcUwwQ0w7RUFFRDtJQUNFLHdCckw3Q0ksRXFMOENMO0VBRUQ7SUFDRSxzQnJMakRJLEVxTGtETDtFQTVCRDtJQUNFLGlCckx0QkcsRXFMdUJKO0VBRUQ7SUFDRSxzQnJMMUJHO0lxTDJCSCx1QnJMM0JHLEVxTDRCSjtFQUVEO0lBQ0Usd0JyTC9CRztJcUxnQ0gscUJyTGhDRyxFcUxpQ0o7RUFFRDtJQUNFLHFCckxwQ0csRXFMcUNKO0VBRUQ7SUFDRSx1QnJMeENHLEVxTHlDSjtFQUVEO0lBQ0Usd0JyTDVDRyxFcUw2Q0o7RUFFRDtJQUNFLHNCckxoREcsRXFMaURKO0VBNUJEO0lBQ0UsY3JMckJELEVxTHNCQTtFQUVEO0lBQ0UsbUJyTHpCRDtJcUwwQkMsb0JyTDFCRCxFcUwyQkE7RUFFRDtJQUNFLHFCckw5QkQ7SXFMK0JDLGtCckwvQkQsRXFMZ0NBO0VBRUQ7SUFDRSxrQnJMbkNELEVxTG9DQTtFQUVEO0lBQ0Usb0JyTHZDRCxFcUx3Q0E7RUFFRDtJQUNFLHFCckwzQ0QsRXFMNENBO0VBRUQ7SUFDRSxtQnJML0NELEVxTGdEQTtFQTVCRDtJQUNFLGlCckxwQkUsRXFMcUJIO0VBRUQ7SUFDRSxzQnJMeEJFO0lxTHlCRix1QnJMekJFLEVxTDBCSDtFQUVEO0lBQ0Usd0JyTDdCRTtJcUw4QkYscUJyTDlCRSxFcUwrQkg7RUFFRDtJQUNFLHFCckxsQ0UsRXFMbUNIO0VBRUQ7SUFDRSx1QnJMdENFLEVxTHVDSDtFQUVEO0lBQ0Usd0JyTDFDRSxFcUwyQ0g7RUFFRDtJQUNFLHNCckw5Q0Us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QztVYnNHbkMsMkJhdEdtQyxFQUNwQztFdk55OVlEO0kwTXozWUksc0JhakdpQyxFYmtHbEM7RTFNMDNZSDtJME14M1lJLHFCYXBHaUMsRWJxR2xDOztBY3ZJTDtFQUNFLG9CQUFtQixFQUNwQjs7QUFFRDtFZHFGSSwrQzNMdkYwQztFMkx3RjFDLHdCQUF1QjtFQUN2QiwwQkFBeUI7RUFhekIsNEJjbEdpQztVZGtHakMsMkJjbEdpQztFQUVuQyw4QnJOUWlCO0VxTlBqQiwrQnpNUDRDO0V5TVE1QyxnQmhOSE87RWdOSVAsc0JBQXFCLEVBQ3RCO0V4TmlnWkM7STBNMTZZSSxtQmM3RitCLEVkOEZoQztFMU0yNllIO0kwTXo2WUksb0JjaEcrQixFZGlHaEM7O0FjekZMO0VBRUksOEJBQTZCLEVBaUI5QjtFQW5CSDtJQUtNLGNBQWEsRUFDZDtFeE5rZ1pIO0l3TjcvWVEsK0RBQThELEVBQy9EO0V4TjgvWVA7SXdOMy9ZUSwrREFBOEQsRUFDL0Q7O0FBTVQ7RUFDRSwwQnJOZGU7RXFOZWYsOEJyTmpCZ0IsRXFOMEJqQjtFQVhEO0lBS0ksMEJyTm5CYyxFcU53QmY7SUFWSDtNQVFNLDBCck52QlksRXFOd0JiOztBQUlMO0VkZ0NJLGdEM0wvRTBDO0V5TWtENUMsZ0JBQWU7RUFDZiwyQkFBMEI7RUFDMUIsMEJBQWlCO0tBQWpCLHVCQUFpQjtNQUFqQixzQkFBaUI7VUFBakIsa0JBQWlCO0VBQ2pCLGVyTnZDaUI7RXFOd0NqQixjQUFhO0VBQ2IsMEIvTWxETztFK01tRFAscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQW1CO1VBQW5CLG9CQUFtQixFQWtEcEI7RUE1REQ7SUFhSSx5Q3JOOUNlLEVxTitDaEI7RUFkSDtJZHVESSx5QmN0Q2dDO1lkc0NoQyx3QmN0Q2dDO0lkNERoQyx3QmMzRCtCO1lkMkQvQix1QmMzRCtCO0lBRS9CLGVBQWM7SUFDZCxtQkFBa0IsRUFDbkI7SXhONitZQztNME1qOVlFLGdCY2pDOEIsRWRrQy9CO0kxTWs5WUQ7TTBNaDlZRSxpQmNwQzhCLEVkcUMvQjtJMU1pOVlEO00wTS83WUUsZWN0RDZCLEVkdUQ5QjtJMU1nOFlEO00wTTk3WUUsZ0JjekQ2QixFZDBEOUI7RWM1RUw7SWR5Skksd0JjaElnQztJQUVoQyxzQkFBcUI7SUFDckIsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixvQ0FBMkI7WUFBM0IsNEJBQTJCO0lBQzNCLGVBQWM7SUFDZCxnQkFBZTtJQUNmLDJEQUEwRDtJQUMxRCx3QkFBdUI7SUFDdkIsNkJBQTRCO0lBQzVCLHlCQUF3QjtJQUN4QixhQUFZO0lBQ1osWUFBVyxFQUNaO0l4TmsvWUM7TTBNcjRZRSxZYzNIOEIsRWQ0SC9CO0kxTXM0WUQ7TTBNcDRZRSxXYzlIOEIsRWQrSC9CO0VjeEpMO0lBMENJLG9CQUFZO1lBQVosYUFBWSxFQUNiO0VBM0NIO0lkdUZJLDRCak1uSVU7WWlNbUlWLDJCak1uSVUsRStNdUdYO0l4TnMrWUM7TTBNLzhZRSxzQmpNOUhRLEVpTStIVDtJMU1nOVlEO00wTTk4WUUscUJqTWpJUSxFaU1rSVQ7SWN0Rkw7TWR1REkseUJjTmtDO2NkTWxDLHdCY05rQztNZDRCbEMsd0JjM0JpQztjZDJCakMsdUJjM0JpQztNQUUvQixlQUFjO01BQ2QsbUJBQWtCLEVBQ25CO014Tm8vWUM7UTBNeC9ZQSxnQmNEZ0MsRWRFakM7TTFNeS9ZQztRME12L1lBLGlCY0pnQyxFZEtqQztNMU13L1lDO1EwTXQrWUEsZWN0QitCLEVkdUJoQztNMU11K1lDO1EwTXIrWUEsZ0JjekIrQixFZDBCaEM7SWM1RUw7TUF5RE0sY0FBYSxFQUNkOztBQUlMO0VBQ0UsOEJyTjNGZ0I7RXFONEZoQixpQ3JONUZnQixFcU42RmpCOztBQUVEO0VBQ0UsOEJyTmhHZ0IsRXFOaUdqQjs7QUFFRDtFZHZDSSxnRDNML0UwQyxFeU13SDdDOztBQUVEO0VBQ0UsZXJON0dpQjtFcU44R2pCLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsc0JBQXFCO0VBQ3JCLGtCQUFpQjtFQUNqQixlQUFjO0VBQ2QsdUIvTTlIWSxFK000SWI7RUFyQkQ7SUFVSSx5Q3JOdEhlLEVxTnVIaEI7RUFFRDtJQUNFLDBDck4xSGU7SXFOMkhmLGVyTnRJZSxFcU51SWhCO0VBaEJIO0lkWUksNEJqTW5JVTtZaU1tSVYsMkJqTW5JVSxFK00ySVg7SXhOKytZQztNME01L1lFLHNCak05SFEsRWlNK0hUO0kxTTYvWUQ7TTBNMy9ZRSxxQmpNaklRLEVpTWtJVDs7QWNhSDs7RWQ1Q0UsNEJjNkNxQjtVZDdDckIsMkJjNkNxQixFQUtwQjtFeE42K1lIOztJME1waVpJLG1CY2tEbUIsRWRqRHBCO0UxTXNpWkg7O0kwTXBpWkksb0JjK0NtQixFZDlDcEI7O0FjNkNIOztFZDVDRSw0QmM2Q3FCO1VkN0NyQiwyQmM2Q3FCLEVBS3BCO0V4TnUvWUg7O0kwTTlpWkksbUJja0RtQixFZGpEcEI7RTFNZ2paSDs7STBNOWlaSSxvQmMrQ21CLEVkOUNwQjs7QWM2Q0g7O0VkNUNFLDRCYzZDcUI7VWQ3Q3JCLDJCYzZDcUIsRUFLcEI7RXhOaWdaSDs7STBNeGpaSSxtQmNrRG1CLEVkakRwQjtFMU0walpIOztJME14alpJLG9CYytDbUIsRWQ5Q3BCOztBYzZDSDs7RWQ1Q0UsNEJjNkNxQjtVZDdDckIsMkJjNkNxQixFQUtwQjtFeE4yZ1pIOztJME1sa1pJLG1CY2tEbUIsRWRqRHBCO0UxTW9rWkg7O0kwTWxrWkksb0JjK0NtQixFZDlDcEI7O0FjNkNIOztFZDVDRSw0QmM2Q3FCO1VkN0NyQiwyQmM2Q3FCLEVBS3BCO0V4TnFoWkg7O0kwTTVrWkksbUJja0RtQixFZGpEcEI7RTFNOGtaSDs7STBNNWtaSSxvQmMrQ21CLEVkOUNwQjs7QWM2Q0g7O0VkNUNFLDRCYzZDcUI7VWQ3Q3JCLDJCYzZDcUIsRUFLcEI7RXhOK2haSDs7STBNdGxaSSxtQmNrRG1CLEVkakRwQjtFMU13bFpIOztJME10bFpJLG9CYytDbUIsRWQ5Q3BCOztBYzZDSDs7RWQ1Q0UsNEJjNkNxQjtVZDdDckIsMkJjNkNxQixFQUtwQjtFeE55aVpIOztJME1obVpJLG1CY2tEbUIsRWRqRHBCO0UxTWttWkg7O0kwTWhtWkksb0JjK0NtQixFZDlDcEI7O0FjNkNIOztFZDVDRSw0QmM2Q3FCO1VkN0NyQiwyQmM2Q3FCLEVBS3BCO0V4Tm1qWkg7O0kwTTFtWkksbUJja0RtQixFZGpEcEI7RTFNNG1aSDs7STBNMW1aSSxvQmMrQ21CLEVkOUNwQjs7QWN1REw7RUFDRSxpQkFBZ0I7RUFDaEIsZ0JoTnpKTyxFZ04wSlI7O0FBRUQ7RUFDRSxnQmhON0pPLEVnTjhKUjs7QUN2SkQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7Ozs7O0VBTUksb0JoTmhCUTtFZ05pQlIsV0FBVSxFQUNYOztBOUxFRDtFOExFRSxvQmhObkJVLEVnTm9CWDs7QTlMSEQ7RThMTUUsb0JoTnhCUyxFZ055QlY7O0E5TFBEO0U4TFVFLG9CaE43QlEsRWdOOEJUOztBQXJCSDtFQXdCSSxvQmhObENRLEVnTm1DVDs7QUF6Qkg7RUE2QkksMEJ0TnhCYSxFc055QmQ7O0FBOUJIO0VBaUNJLDBCdE41QmE7RXNONkJiLGlCaE45Q1M7RWdOK0NULHNCQUFxQixFQUN0Qjs7QUFJRDtFekRRQTtJeURQRSx3QkFBZTtPQUFmLHFCQUFlO1lBQWYsZ0JBQWUsRUFFbEIsRUFBQTs7QUFHQztFekRvSUE7SXlEbklFLGVBQWM7SUFDZCxhQUFZLEVBRWYsRUFBQTs7QXpES0M7RXlERkEsaUNBQWdDLEVBQ2pDOztBekR1QkM7RXlEcEJBLHdCQUEyQjtVQUEzQiw0QkFBMkIsRUFDNUI7O0F6RHVRRztFeURwUUYsNkJBQXNCO0VBQXRCLDhCQUFzQjtVQUF0Qix1QkFBc0IsRUFDdkI7O0FBRUQ7RUFDRSxpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsZUFBYztFQUNkLGtCQUFpQixFQUNsQjs7QUFHQztFekQwUEU7SXlEelBBLG1DQUFtQjtPQUFuQixnQ0FBbUI7WUFBbkIsb0JBQW1CLEVBRXRCLEVBQUEiLCJmaWxlIjoiZnJhY3RhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gTWl4aW5zXG5AaW1wb3J0ICdzYXNzLW1xL21xJztcblxuLy8gSW1wb3J0IG5vcm1hbGl6ZS5jc3NcbkBpbXBvcnQgJ25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplJztcblxuLy8gRW1iZWQgZXh0ZXJuYWwgQ1NTXG5AaW1wb3J0ICdoaWdobGlnaHQuanMvc3R5bGVzL2dpdGh1Yic7XG5AaW1wb3J0ICdzZWxlY3QyL2Rpc3QvY3NzL3NlbGVjdDInO1xuXG4vLyBFQ0xcbkBpbXBvcnQgJ0BlY2wvZWMtcHJlc2V0LWZ1bGwvZWMtcHJlc2V0LWZ1bGwnO1xuXG4vLyBGcmFjdGFsXG5AaW1wb3J0ICcuL3RoZW1lJztcbkBpbXBvcnQgJy4vY29yZS9hbGwnO1xuQGltcG9ydCAnLi9jb21wb25lbnRzL2luZGV4JztcbiIsIi8qXG5cbmdpdGh1Yi5jb20gc3R5bGUgKGMpIFZhc2lseSBQb2xvdm55b3YgPHZhc3RAd2hpdGVhbnRzLm5ldD5cblxuKi9cblxuLmhsanMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgcGFkZGluZzogMC41ZW07XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xufVxuXG4uaGxqcy1jb21tZW50LFxuLmhsanMtcXVvdGUge1xuICBjb2xvcjogIzk5ODtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaGxqcy1rZXl3b3JkLFxuLmhsanMtc2VsZWN0b3ItdGFnLFxuLmhsanMtc3Vic3Qge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obGpzLW51bWJlcixcbi5obGpzLWxpdGVyYWwsXG4uaGxqcy12YXJpYWJsZSxcbi5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLFxuLmhsanMtdGFnIC5obGpzLWF0dHIge1xuICBjb2xvcjogIzAwODA4MDtcbn1cblxuLmhsanMtc3RyaW5nLFxuLmhsanMtZG9jdGFnIHtcbiAgY29sb3I6ICNkMTQ7XG59XG5cbi5obGpzLXRpdGxlLFxuLmhsanMtc2VjdGlvbixcbi5obGpzLXNlbGVjdG9yLWlkIHtcbiAgY29sb3I6ICM5MDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaGxqcy1zdWJzdCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5obGpzLXR5cGUsXG4uaGxqcy1jbGFzcyAuaGxqcy10aXRsZSB7XG4gIGNvbG9yOiAjNDU4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmhsanMtdGFnLFxuLmhsanMtbmFtZSxcbi5obGpzLWF0dHJpYnV0ZSB7XG4gIGNvbG9yOiAjMDAwMDgwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uaGxqcy1yZWdleHAsXG4uaGxqcy1saW5rIHtcbiAgY29sb3I6ICMwMDk5MjY7XG59XG5cbi5obGpzLXN5bWJvbCxcbi5obGpzLWJ1bGxldCB7XG4gIGNvbG9yOiAjOTkwMDczO1xufVxuXG4uaGxqcy1idWlsdF9pbixcbi5obGpzLWJ1aWx0aW4tbmFtZSB7XG4gIGNvbG9yOiAjMDA4NmIzO1xufVxuXG4uaGxqcy1tZXRhIHtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaGxqcy1kZWxldGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZGQ7XG59XG5cbi5obGpzLWFkZGl0aW9uIHtcbiAgYmFja2dyb3VuZDogI2RmZDtcbn1cblxuLmhsanMtZW1waGFzaXMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5obGpzLXN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLnNlbGVjdDItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjhweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lcltkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwNTE7IH1cblxuLnNlbGVjdDItcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZzogNnB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZF0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24ge1xuICBsZWZ0OiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHg7IH1cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93bi5zZWxlY3QyLXNlYXJjaC0taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jbG9zZS1tYXNrIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOyB9XG5cbi5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcbiAgICB3aWR0aDogMjBweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgbGVmdDogMXB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAgNHB4IDVweCA0cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHRleHQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZzogMXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogc29saWQgYmxhY2sgMXB4O1xuICBvdXRsaW5lOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHMgPiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbltyb2xlPWdyb3VwXSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMWVtOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNlbTsgfVxuICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0ZW07IH1cbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTRlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVlbTsgfVxuICAgICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZlbTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODk3ZmI7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA2cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHdoaXRlIDUwJSwgI2VlZWVlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgNTAlLCAjZWVlZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSA1MCUsICNlZWVlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRkZGRkZGJywgZW5kQ29sb3JzdHI9JyNGRkVFRUVFRScsIEdyYWRpZW50VHlwZT0wKTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGU6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FhYTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFweDtcbiAgICByaWdodDogMXB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZWVlZSA1MCUsICNjY2NjY2MgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZWVlZSA1MCUsICNjY2NjY2MgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZWVlZSA1MCUsICNjY2NjY2MgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkVFRUVFRScsIGVuZENvbG9yc3RyPScjRkZDQ0NDQ0MnLCBHcmFkaWVudFR5cGU9MCk7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg4OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4ODggdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNHB4IDVweCA0cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHdoaXRlIDAlLCAjZWVlZWVlIDUwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHdoaXRlIDAlLCAjZWVlZWVlIDUwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHdoaXRlIDAlLCAjZWVlZWVlIDUwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRkZGRkZGJywgZW5kQ29sb3JzdHI9JyNGRkVFRUVFRScsIEdyYWRpZW50VHlwZT0wKTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZWVlZSA1MCUsIHdoaXRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgd2hpdGUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWVlZWUgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZFRUVFRUUnLCBlbmRDb2xvcnN0cj0nI0ZGRkZGRkZGJywgR3JhZGllbnRUeXBlPTApOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBvdXRsaW5lOiAwOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzU1NTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBdIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBjb2xvcjogZ3JleTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA2cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTg5N2ZiOyB9XG4iLCIvLyBFQ0wgQ29sb3JzXG5cbiRlY2wtY29sb3JzOiAoXG4gIGJsdWUtMTIwOiAjMDEyYjU4LFxuICBibHVlLTExMDogIzAwMzc3NixcbiAgYmx1ZS0xMDA6ICMwMDQ0OTQsXG4gIGJsdWUtNzU6ICM0MDczYWYsXG4gIGJsdWUtNTA6ICM3ZmExYzksXG4gIGJsdWUtMjU6ICNiZmQwZTQsXG4gIGJsdWUtNTogI2YyZjVmOSxcbiAgeWVsbG93LTEyMDogI2Y4YWUyMSxcbiAgeWVsbG93LTExMDogI2ZiYzExZCxcbiAgeWVsbG93LTEwMDogI2ZmZDYxNyxcbiAgeWVsbG93LTc1OiAjZmZkZTM5LFxuICB5ZWxsb3ctNTA6ICNmZmU4NzksXG4gIHllbGxvdy0yNTogI2ZmZjRiYixcbiAgZ3JleS0xMDA6ICM0MDQwNDAsXG4gIGdyZXktNzU6ICM3MDcwNzAsXG4gIGdyZXktNTA6ICM5ZjlmOWYsXG4gIGdyZXktMjU6ICNjZmNmY2YsXG4gIGdyZXktMjA6ICNkOWQ5ZDksXG4gIGdyZXktMTU6ICNlM2UzZTMsXG4gIGdyZXktMTA6ICNlYmViZWIsXG4gIGdyZXktNTogI2Y1ZjVmNSxcbiAgcHVycGxlLTEwMDogIzU1MDc0NSxcbikgIWRlZmF1bHQ7XG5cbi8qXG4gKiBBbGlhc2VzXG4gKi9cblxuJGVjbC1jb2xvci1wcmltYXJ5OiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMDAnKSAhZGVmYXVsdDtcbiRlY2wtY29sb3Itc2Vjb25kYXJ5OiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpICFkZWZhdWx0O1xuJGVjbC1jb2xvci1zaGFkZTogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJykgIWRlZmF1bHQ7XG5cbiRlY2wtY29sb3ItaW5mbzogIzAwNmZiNCAhZGVmYXVsdDtcbiRlY2wtY29sb3Itd2FybmluZzogI2YyOTUyNyAhZGVmYXVsdDtcbiRlY2wtY29sb3Itc3VjY2VzczogIzQ2N2EzOSAhZGVmYXVsdDtcbiRlY2wtY29sb3ItZXJyb3I6ICNkYTIxMzAgIWRlZmF1bHQ7XG5cbi8qXG4gKiBCYWNrZ3JvdW5kIGNvbG9yc1xuICpcbiAqIE5vdGU6IGluIHNvbWUgY2FzZXMsIGNvbXBvbmVudHMgY2FuIGhhdmUgb3RoZXIgYmFja2dyb3VuZCBjb2xvcnMgKGhlYWRlci10b3AsIGZpbGUsIGZvb3Rlci4uLilcbiAqIFRoZXNlIGFyZSB0aGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9ycy5cbiAqL1xuXG4kZWNsLWNvbG9ycy1iZzogKFxuICBkZWZhdWx0OiAjZmZmLFxuICBwcmltYXJ5OiAkZWNsLWNvbG9yLXByaW1hcnksXG4gIHNlY29uZGFyeTogJGVjbC1jb2xvci1zZWNvbmRhcnksXG4gIHNoYWRlOiAkZWNsLWNvbG9yLXNoYWRlLFxuICBibHVlLTU6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTUnKSxcbikgIWRlZmF1bHQ7XG4iLCIvKipcbiAqIEljb25zXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL2dlbmVyaWMtc3R5bGUtaWNvbic7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1zdHlsZS1pY29uJykge1xuICBAaW5jbHVkZSBlY2wtaWNvbnMoKTtcbn1cbiIsIi8qKlxuICogSWNvbnNcbiAqIEBkZWZpbmUgaWNvblxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AaW1wb3J0ICcuL2ZvbnQtZmFjZXMnO1xuQGltcG9ydCAnLi92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi9taXhpbnMnO1xuXG5AbWl4aW4gZWNsLWljb25zKCkge1xuICAuZWNsLWljb24ge1xuICAgIEBpbmNsdWRlIGVjbC1pY29uLS1iZWZvcmUoKTtcbiAgfVxuXG4gIC5lY2wtaWNvbi0tYWZ0ZXIge1xuICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuICB9XG5cbiAgLy8gSWNvbiBjb21wb25lbnQgYW5kIG1vZGlmaWVycy5cbiAgQGVhY2ggJG1vZGlmaWVyLCAkY2hhciBpbiAkZWNsLWljb25zIHtcbiAgICAuZWNsLWljb24tLSN7JG1vZGlmaWVyfSB7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCRtb2RpZmllcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVjbC1pY29uLS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgfVxuXG4gIC5lY2wtaWNvbi0tcm91bmRlZDo6YmVmb3JlIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0V1cm9wYUljb25zJztcbiAgc3JjOiB1cmwoJyN7JGVjbC1hc3NldHMtcGF0aH1mb250cy9ldXJvcGEtaWNvbnMvZXVyb3BhLWljb25zLmVvdCcpO1xuICBzcmM6IHVybCgnI3skZWNsLWFzc2V0cy1wYXRofWZvbnRzL2V1cm9wYS1pY29ucy9ldXJvcGEtaWNvbnMuZW90PyNpZWZpeCcpXG4gICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRlY2wtYXNzZXRzLXBhdGh9Zm9udHMvZXVyb3BhLWljb25zL2V1cm9wYS1pY29ucy53b2ZmJylcbiAgICAgIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skZWNsLWFzc2V0cy1wYXRofWZvbnRzL2V1cm9wYS1pY29ucy9ldXJvcGEtaWNvbnMudHRmJylcbiAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGVjbC1hc3NldHMtcGF0aH1mb250cy9ldXJvcGEtaWNvbnMvZXVyb3BhLWljb25zLnN2ZyNldXJvcGEtaWNvbnMnKVxuICAgICAgZm9ybWF0KCdzdmcnKTtcbn1cbiIsIkBtaXhpbiBlY2wtaWNvbigkbW9kaWZpZXIsICRjaGFyOiBtYXAtZ2V0KCRlY2wtaWNvbnMsICRtb2RpZmllcikpIHtcbiAgY29udGVudDogI3tcIidcIn0jeyRjaGFyfSN7XCInXCJ9O1xufVxuXG5AbWl4aW4gZWNsLWljb24tLWJlZm9yZSgpIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICdFdXJvcGFJY29ucyc7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkICovXG4gICAgLy8gQmV0dGVyIEZvbnQgUmVuZGVyaW5nXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGVjbC1pY29uLS1hZnRlcigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0V1cm9wYUljb25zJzsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmQgKi9cbiAgLy8gQmV0dGVyIEZvbnQgUmVuZGVyaW5nXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgc3BlYWs6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4iLCIvLyBFQ0wgVHlwZSBTY2FsZVxuXG4kZWNsLWZvbnQtc2l6ZTogKFxuICBub25lOiAwLFxuICB4eHhzOiAwLjVyZW0sXG4gIHh4czogMC43NXJlbSxcbiAgeHM6IDAuODc1cmVtLFxuICBzOiAxcmVtLFxuICBtOiAxLjEyNXJlbSxcbiAgbDogMS4zNzVyZW0sXG4gIHhsOiAxLjg3NXJlbSxcbiAgeHhsOiAyLjVyZW1cbikgIWRlZmF1bHQ7XG4iLCIvLyBFQ0wgU3BhY2luZ1xuXG4kZWNsLXNwYWNpbmc6IChcbiAgbm9uZTogMCxcbiAgeHh4czogMC4zM3JlbSxcbiAgeHhzOiAwLjY2cmVtLFxuICB4czogMC44OXJlbSxcbiAgczogMXJlbSxcbiAgbTogMS42NnJlbSxcbiAgbDogMi4yMnJlbSxcbiAgeGw6IDMuMzNyZW0sXG4gIHh4bDogNC40NHJlbVxuKSAhZGVmYXVsdDtcbiIsIi8qKlxuICogSW1hZ2VcbiAqIEBkZWZpbmUgaW1hZ2VcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLWltYWdlL2dlbmVyaWMtc3R5bGUtaW1hZ2UnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtc3R5bGUtaW1hZ2UnKSB7XG4gIEBpbmNsdWRlIGVjbC1pbWFnZSgpO1xufVxuIiwiLyoqXG4gKiBJbWFnZVxuICogQGRlZmluZSBpbWFnZVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWltYWdlKCkge1xuICAuZWNsLWltYWdlIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLmVjbC1pbWFnZS0tZmx1aWQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLWltYWdlLS1hbGlnbi1taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cbiIsIi8qKlxuICogVHlwb2dyYXBoeSBydWxlc1xuICogQGRlZmluZSB0eXBvZ3JhcGh5XG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5L2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1zdHlsZS10eXBvZ3JhcGh5Jykge1xuICBAaW5jbHVkZSBlY2wtdHlwb2dyYXBoeSgpO1xufVxuIiwiLyoqXG4gKiBUeXBvZ3JhcGh5IHJ1bGVzXG4gKiBAZGVmaW5lIHR5cG9ncmFwaHlcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQGltcG9ydCAnLi9taXhpbnMnO1xuXG5AbWl4aW4gZWNsLXR5cG9ncmFwaHkoKSB7XG4gIC5lY2wtdHlwb2dyYXBoeSB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgpO1xuICB9XG59XG4iLCJAbWl4aW4gdHlwb2dyYXBoeSgpIHtcbiAgZm9udC1mYW1pbHk6ICRlY2wtZm9udC1mYW1pbHktYmFzZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZWxlZ2liaWxpdHk7XG59XG4iLCIvLyBFQ0wgRm9udCBmYW1pbHlcblxuJGVjbC1mb250LWZhbWlseS1zYW5zLXNlcmlmOiBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRlY2wtZm9udC1mYW1pbHktbW9ub3NwYWNlOiBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsXG4gICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRlY2wtZm9udC1mYW1pbHktYmFzZTogJGVjbC1mb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBIZWFkaW5nc1xuICogQGRlZmluZSBoZWFkaW5nXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nJykge1xuICBAaW5jbHVkZSBlY2wtdHlwb2dyYXBoeS1oZWFkaW5nKCk7XG59XG4iLCIvKipcbiAqIEhlYWRpbmdzXG4gKiBAZGVmaW5lIGhlYWRpbmdcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQGltcG9ydCAnbWl4aW5zJztcblxuQG1peGluIGVjbC10eXBvZ3JhcGh5LWhlYWRpbmcoKSB7XG4gIC5lY2wtaGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaGVhZGluZygpO1xuICB9XG5cbiAgLmVjbC1oZWFkaW5nLS1oMSB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy0xKCk7XG4gIH1cblxuICAuZWNsLWhlYWRpbmctLWgyIHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLTIoKTtcbiAgfVxuXG4gIC5lY2wtaGVhZGluZy0taDMge1xuICAgIEBpbmNsdWRlIGhlYWRpbmctMygpO1xuICB9XG5cbiAgLmVjbC1oZWFkaW5nLS1oNCB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy00KCk7XG4gIH1cblxuICAuZWNsLWhlYWRpbmctLWg1IHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLTUoKTtcbiAgfVxuXG4gIC5lY2wtaGVhZGluZy0taGVhZGxpbmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI7XG4gIH1cblxuICAvLyBTcGFjaW5nXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgKiArIC5lY2wtaGVhZGluZy0taDEge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhsJyk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuICovXG4gICogKyAuZWNsLWhlYWRpbmctLWgyIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hsJyk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuICovXG4gICogKyAuZWNsLWhlYWRpbmctLWgzIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgfVxufVxuIiwiQG1peGluIGhlYWRpbmcoKSB7XG4gIG1hcmdpbjogMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWl4aW4gaGVhZGluZy0xKCkge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHhsJyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbkBtaXhpbiBoZWFkaW5nLTIoKSB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4bCcpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG5AbWl4aW4gaGVhZGluZy0zKCkge1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXgtd2lkdGg6IDMyZW07XG59XG5cbkBtaXhpbiBoZWFkaW5nLTQoKSB7XG4gIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1heC13aWR0aDogMzJlbTtcbn1cblxuQG1peGluIGhlYWRpbmctNSgpIHtcbiAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWF4LXdpZHRoOiAzMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwiLyoqXG4gKiBMaXN0XG4gKiBAZGVmaW5lIGxpc3RcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktbGlzdC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktbGlzdCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QnKSB7XG4gIEBpbmNsdWRlIGVjbC10eXBvZ3JhcGh5LWxpc3QoKTtcbn1cbiIsIi8qKlxuICogTGlzdFxuICogQGRlZmluZSBsaXN0XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBpbXBvcnQgJ21peGlucyc7XG5cbkBtaXhpbiBlY2wtdHlwb2dyYXBoeS1saXN0KCkge1xuICAuZWNsLWxpc3Qge1xuICAgIEBpbmNsdWRlIGxpc3QoKTtcbiAgfVxuXG4gIC8vIGxpc3QgYWxwaGFcbiAgLmVjbC1saXN0LS1hbHBoYSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1sYXRpbjtcbiAgfVxuXG4gIC8vIGxpc3QgdXN0eWxlZFxuICAuZWNsLWxpc3QtLXVuc3R5bGVkIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC8vIGxpc3QgaW5saW5lXG4gIC5lY2wtbGlzdC0taW5saW5lIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuXG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaXN0KCkge1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICBsaW5lLWhlaWdodDogMS42NjtcbiAgbWF4LXdpZHRoOiAzMmVtO1xufVxuIiwiLyoqXG4gKiBUeXBvZ3JhcGh5OiBwYXJhZ3JhcGhzXG4gKiBAZGVmaW5lIHBhcmFncmFwaFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaCcpIHtcbiAgQGluY2x1ZGUgZWNsLXR5cG9ncmFwaHktcGFyYWdyYXBoKCk7XG59XG4iLCIvKipcbiAqIFR5cG9ncmFwaHk6IHBhcmFncmFwaHNcbiAqIEBkZWZpbmUgcGFyYWdyYXBoXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ21peGlucyc7XG5cbkBtaXhpbiBlY2wtdHlwb2dyYXBoeS1wYXJhZ3JhcGgoKSB7XG4gIC5lY2wtcGFyYWdyYXBoIHtcbiAgICBAaW5jbHVkZSBwYXJhZ3JhcGgoKTtcbiAgfVxuXG4gIC5lY2wtcGFyYWdyYXBoLS1sIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gIH1cblxuICAuZWNsLXBhcmFncmFwaC0tbSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICB9XG5cbiAgLmVjbC1wYXJhZ3JhcGgtLXMge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtcGFyYWdyYXBoLS14cyB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgfVxuXG4gIC5lY2wtcGFyYWdyYXBoLS14eHMge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4cycpO1xuICB9XG59XG4iLCJAbWl4aW4gcGFyYWdyYXBoKCkge1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICBsaW5lLWhlaWdodDogMS42NjtcbiAgbWF4LXdpZHRoOiAzMmVtO1xufVxuIiwiLyoqXG4gKiBJbWFnZVxuICogQGRlZmluZSBpbWFnZVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtaW1hZ2UvZ2VuZXJpYy1zdHlsZS1pbWFnZS0tZWRpdG9yJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXN0eWxlLWltYWdlLS1lZGl0b3InKSB7XG4gIEBpbmNsdWRlIGVjbC1lZGl0b3ItaW1hZ2UoKTtcbn1cbiIsIi8qKlxuICogRUNMIEVkaXRvciAtIEltYWdlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZWRpdG9yLWltYWdlKCkge1xuICAuZWNsLWVkaXRvciBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC5lY2wtZWRpdG9yICogKyBpbWcge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ21peGlucyc7XG5cbkBtaXhpbiBlY2wtZWRpdG9yLXR5cG9ncmFwaHktaGVhZGluZygpIHtcbiAgLmVjbC1lZGl0b3IgaDEge1xuICAgIEBpbmNsdWRlIGhlYWRpbmcoKTtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLTEoKTtcbiAgfVxuXG4gIC5lY2wtZWRpdG9yIGgyIHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaGVhZGluZy0yKCk7XG4gIH1cblxuICAuZWNsLWVkaXRvciBoMyB7XG4gICAgQGluY2x1ZGUgaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhlYWRpbmctMygpO1xuICB9XG5cbiAgLmVjbC1lZGl0b3IgaDQge1xuICAgIEBpbmNsdWRlIGhlYWRpbmcoKTtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLTQoKTtcbiAgfVxuXG4gIC5lY2wtZWRpdG9yIGg1IHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaGVhZGluZy01KCk7XG4gIH1cblxuICAuZWNsLWVkaXRvciB7XG4gICAgKiArIGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhsJyk7XG4gICAgfVxuXG4gICAgKiArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKTtcbiAgICB9XG5cbiAgICAqICsgaDMge1xuICAgICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZWNsLWVkaXRvci10eXBvZ3JhcGh5LWxpc3QoKSB7XG4gIC5lY2wtZWRpdG9yIHVsLFxuICAuZWNsLWVkaXRvciBvbCB7XG4gICAgQGluY2x1ZGUgbGlzdCgpO1xuICB9XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZWNsLWVkaXRvci10eXBvZ3JhcGh5LXBhcmFncmFwaCgpIHtcbiAgLmVjbC1lZGl0b3IgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1lZGl0b3IgcCB7XG4gICAgQGluY2x1ZGUgcGFyYWdyYXBoKCk7XG5cbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLWVkaXRvciAqICsgcCB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZWNsLWdyaWQtY29sdW1uc2AuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG5cbkBtaXhpbiBlY2wtbWFrZS1ncmlkLWNvbHVtbnMoXG4gICRjb2x1bW5zOiAkZWNsLWdyaWQtY29sdW1ucyxcbiAgJGd1dHRlcnM6ICRlY2wtZ3JpZC1ndXR0ZXItd2lkdGhzLFxuICAkYnJlYWtwb2ludHM6ICRlY2wtZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWVjbC1ncmlkLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZWNsLW1ha2UtZ3V0dGVycygkZ3V0dGVycyk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBlY2wtYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuZWNsLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWVjbC1ncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmVjbC1jb2wjeyRpbmZpeH0ge1xuICAgICAgQGV4dGVuZCAlZWNsLWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuZWNsLWNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZWNsLWNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmVjbC1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGVjbC1tYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlYWNoICRtb2RpZmllciBpbiAocHVsbCwgcHVzaCkge1xuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuZWNsLSN7JG1vZGlmaWVyfSN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBlY2wtbWFrZS1jb2wtbW9kaWZpZXIoJG1vZGlmaWVyLCAkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90KCRpbmZpeCA9PSAnJyBhbmQgJGkgPT0gMCkge1xuICAgICAgICAgIC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC14cy0wXG4gICAgICAgICAgLmVjbC1vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZWNsLW1ha2UtY29sLW1vZGlmaWVyKG9mZnNldCwgJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBHcmlkIG1peGluc1xuLy9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5AaW1wb3J0ICdtaXhpbnMvZ3JpZC1mcmFtZXdvcmsnO1xuQGltcG9ydCAnbWl4aW5zL2dyaWQnO1xuXG5AbWl4aW4gZWNsLWdyaWQoKSB7XG4gIC8vIENvbnRhaW5lciB3aWR0aHNcbiAgLy9cbiAgLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuICAuZWNsLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZWNsLW1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgZWNsLW1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxuXG4gIC8vIEZsdWlkIGNvbnRhaW5lclxuICAvL1xuICAvLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4gIC8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuICAuZWNsLWNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgZWNsLW1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSb3dcbiAgLy9cbiAgLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cbiAgLmVjbC1yb3cge1xuICAgIEBpbmNsdWRlIGVjbC1tYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLmVjbC1uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICA+IC5lY2wtY29sLFxuICAgID4gW2NsYXNzKj0nZWNsLWNvbC0nXSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbnNcbiAgLy9cbiAgLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuICBAaW5jbHVkZSBlY2wtbWFrZS1ncmlkLWNvbHVtbnMoKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gZWNsLW1ha2UtY29udGFpbmVyKCRndXR0ZXJzOiAkZWNsLWdyaWQtZ3V0dGVyLXdpZHRocykge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGd1dHRlcnMpIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gZWNsLW1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoXG4gICRtYXgtd2lkdGhzOiAkZWNsLWNvbnRhaW5lci1tYXgtd2lkdGhzLFxuICAkYnJlYWtwb2ludHM6ICRlY2wtZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZWNsLW1ha2UtZ3V0dGVycygkZ3V0dGVyczogJGVjbC1ncmlkLWd1dHRlci13aWR0aHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGd1dHRlcnMpIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZWNsLW1ha2Utcm93KCRndXR0ZXJzOiAkZWNsLWdyaWQtZ3V0dGVyLXdpZHRocykge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGd1dHRlcnMpIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgICBtYXJnaW4tbGVmdDogKCRndXR0ZXIgLyAtMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICgkZ3V0dGVyIC8gLTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZWNsLW1ha2UtY29sLXJlYWR5KCRndXR0ZXJzOiAkZWNsLWdyaWQtZ3V0dGVyLXdpZHRocykge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRndXR0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGVjbC1tYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRlY2wtZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyB3aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gZWNsLW1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRlY2wtZ3JpZC1jb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gZWNsLW1ha2UtY29sLXB1c2goJHNpemUsICRjb2x1bW5zOiAkZWNsLWdyaWQtY29sdW1ucykge1xuICBsZWZ0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gZWNsLW1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zOiAkZWNsLWdyaWQtY29sdW1ucykge1xuICByaWdodDogaWYoJHNpemUgPiAwLCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpLCBhdXRvKTtcbn1cblxuQG1peGluIGVjbC1tYWtlLWNvbC1tb2RpZmllcigkdHlwZSwgJHNpemUsICRjb2x1bW5zKSB7XG4gIC8vIFdvcmsgYXJvdW5kIHRoZSBsYWNrIG9mIGR5bmFtaWMgbWl4aW4gQGluY2x1ZGUgc3VwcG9ydCAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvNjI2KVxuICBAaWYgJHR5cGUgPT0gcHVzaCB7XG4gICAgQGluY2x1ZGUgZWNsLW1ha2UtY29sLXB1c2goJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBwdWxsIHtcbiAgICBAaW5jbHVkZSBlY2wtbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IG9mZnNldCB7XG4gICAgQGluY2x1ZGUgZWNsLW1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGVjbC1ncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGVjbC1icmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gZWNsLWJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBlY2wtYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gZWNsLWJyZWFrcG9pbnQtbmV4dChcbiAgJG5hbWUsXG4gICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzLFxuICAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKVxuKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoXG4gICAgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLFxuICAgIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSxcbiAgICBudWxsXG4gICk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBlY2wtYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGVjbC1icmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZWNsLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcblxuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vXG4vLyAgICA+PiBlY2wtYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGVjbC1icmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZWNsLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGVjbC1icmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQHJldHVybiBpZigkbmV4dCwgZWNsLWJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gZWNsLWJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICAnJyAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBlY2wtYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgICctc20nXG5AZnVuY3Rpb24gZWNsLWJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoZWNsLWJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsICcnLCAnLSN7JG5hbWV9Jyk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGVjbC1icmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gZWNsLW1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZWNsLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogZWNsLWJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gZWNsLW1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbihcbiAgJGxvd2VyLFxuICAkdXBwZXIsXG4gICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzXG4pIHtcbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gZWNsLW1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZWNsLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbmFtZSwgJG5hbWUsICRicmVha3BvaW50cykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBFQ0wgQnJlYWtwb2ludHNcblxuJGVjbC1ncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNDgwcHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kZWNsLWNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA0NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTcwcHhcbikgIWRlZmF1bHQ7XG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZWNsLWdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kZWNsLWdyaWQtZ3V0dGVyLXdpZHRoLWJhc2U6IDJyZW0gIWRlZmF1bHQ7XG4kZWNsLWdyaWQtZ3V0dGVyLXdpZHRoczogKFxuICB4czogJGVjbC1ncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICBzbTogJGVjbC1ncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICBtZDogJGVjbC1ncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICBsZzogJGVjbC1ncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICB4bDogJGVjbC1ncmlkLWd1dHRlci13aWR0aC1iYXNlXG4pICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBGb3JtXG4gKiBAZGVmaW5lIGZvcm1cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZvcm0vZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mb3JtJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLWZvcm0nKSB7XG4gIEBpbmNsdWRlIGVjbC1mb3JtKCk7XG59XG4iLCIvKipcbiAqIEZvcm1cbiAqIEBkZWZpbmUgZm9ybVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWZvcm0oKSB7XG4gIC5lY2wtZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8qKlxuICogRm9ybSBGaWVsZHNldFxuICogQGRlZmluZSBmaWVsZHNldFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmllbGRzZXQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1maWVsZHNldCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1maWVsZHNldCcpIHtcbiAgQGluY2x1ZGUgZWNsLWZpZWxkc2V0KCk7XG59XG4iLCIvKipcbiAqIEZvcm0gRmllbGRzZXRcbiAqIEBkZWZpbmUgZmllbGRzZXRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1maWVsZHNldCgpIHtcbiAgLmVjbC1maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyogU3BhY2luZyAqL1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgKiArIC5lY2wtZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICB9XG5cbiAgLyogVG9wLWxldmVsIGZpZWxkc2V0cyAqL1xuICAuZWNsLWZpZWxkc2V0ICsgLmVjbC1maWVsZHNldCB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpO1xuICB9XG5cbiAgLyogTmVzdGVkIGZpZWxkc2V0cyAqL1xuICAuZWNsLWZpZWxkc2V0IC5lY2wtZmllbGRzZXQgKyAuZWNsLWZpZWxkc2V0IHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBMZWdlbmQgY29tcG9uZW50XG4gKiBAZGVmaW5lIGZvcm0tbGVnZW5kXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1sZWdlbmQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1sZWdlbmQnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tbGVnZW5kJykge1xuICBAaW5jbHVkZSBlY2wtZm9ybS1sZWdlbmQoKTtcbn1cbiIsIi8qKlxuICogTGVnZW5kIGNvbXBvbmVudFxuICogQGRlZmluZSBmb3JtLWxlZ2VuZFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWZvcm0tbGVnZW5kKCkge1xuICAuZWNsLWZvcm0tbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY2O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIFZhcmlhbnRzICovXG5cbiAgLmVjbC1mb3JtLWxlZ2VuZC0tbGV2ZWwtMSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1mb3JtLWxlZ2VuZC0tbGV2ZWwtMiB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICB9XG59XG4iLCIvKipcbiAqIEZvcm0gR3JvdXBcbiAqIEBkZWZpbmUgZm9ybS1ncm91cFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZm9ybS1ncm91cC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZvcm0tZ3JvdXAnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tZm9ybS1ncm91cCcpIHtcbiAgQGluY2x1ZGUgZWNsLWZvcm0tZ3JvdXAoKTtcbn1cbiIsIi8qKlxuICogRm9ybSBHcm91cFxuICogQGRlZmluZSBmb3JtLWdyb3VwXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZm9ybS1ncm91cCgpIHtcbiAgLmVjbC1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBTcGFjaW5nICovXG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAqICsgLmVjbC1mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxufVxuIiwiQG1peGluIGVjbC1oaWRkZW4tcHJpbnQoKSB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvKipcbiAqIEJ1dHRvbnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGZvcm0tbGFiZWxcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWxhYmVsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tbGFiZWwnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tbGFiZWwnKSB7XG4gIEBpbmNsdWRlIGVjbC1mb3JtLWxhYmVsKCk7XG59XG4iLCIvKipcbiAqIEJ1dHRvbnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGZvcm0tbGFiZWxcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1mb3JtLWxhYmVsKCkge1xuICAuZWNsLWZvcm0tbGFiZWwge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuIiwiLyoqXG4gKiBDaGVja2JveCBjb21wb25lbnRcbiAqIEBkZWZpbmUgY2hlY2tib3hcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWNoZWNrYm94L2dlbmVyaWMtY29tcG9uZW50LWZvcm0tY2hlY2tib3gnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1mb3JtLWxhYmVsJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tY2hlY2tib3gnKSB7XG4gIEBpbmNsdWRlIGVjbC1jaGVja2JveCgpO1xufVxuIiwiLyoqXG4gKiBDaGVja2JveCBjb21wb25lbnRcbiAqIEBkZWZpbmUgY2hlY2tib3hcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1jaGVja2JveCgkaWNvbi1zaXplOiAxLjVlbSkge1xuICAuZWNsLWNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLWNoZWNrYm94LS1pcy1kaXNhYmxlZCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTc1Jyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC5lY2wtY2hlY2tib3hfX2xhYmVsIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9jaGVja2JveC11bmNoZWNrZWQuc3ZnJylcbiAgICAgICAgbm8tcmVwZWF0O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNSU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgaGVpZ2h0OiAkaWNvbi1zaXplO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgICAgd2lkdGg6ICRpY29uLXNpemU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1jaGVja2JveC0taGFzLWVycm9yIC5lY2wtY2hlY2tib3hfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1lcnJvcjtcbiAgfVxuXG4gIC5lY2wtY2hlY2tib3gtLWlzLWRpc2FibGVkIC5lY2wtY2hlY2tib3hfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAkaWNvbi1zaXplIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTE1JykgaW5zZXQ7XG4gIH1cblxuICAuZWNsLWNoZWNrYm94X19pbnB1dDpjaGVja2VkICsgLmVjbC1jaGVja2JveF9fbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9jaGVja2JveC1jaGVja2VkLS1ibHVlLnN2ZycpO1xuICB9XG5cbiAgLmVjbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMgKyAuZWNsLWNoZWNrYm94X19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gIH1cbn1cbiIsIi8vIE9yaWdpbmFsOiBodHRwczovL2dpdGh1Yi5jb20vd2lsc29ucGFnZS9zYXNzLWltcG9ydC1vbmNlXG5cbiRlY2wtaW1wb3J0LW9uY2Utd2FybjogZmFsc2UgIWRlZmF1bHQ7XG4kZWNsLWNoZWNrLWltcG9ydHMtd2FybjogZmFsc2UgIWRlZmF1bHQ7XG4kaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBNb2R1bGUgZXhwb3J0IG1peGluXG4vLy8gVGhpcyBtaXhpbiBoZWxwcyBtYWtpbmcgc3VyZSBhIG1vZHVsZSBpcyBpbXBvcnRlZCBvbmNlIGFuZCBvbmx5IG9uY2UuXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIGV4cG9ydGVkIG1vZHVsZVxuLy8vIEBwYXJhbSB7Qm9vbH0gJHdhcm4gW3RydWVdIC0gV2FybiB3aGVuIG1vZHVsZSBoYXMgYmVlbiBhbHJlYWR5IGltcG9ydGVkXG4vLy8gQHJlcXVpcmUgJGltcG9ydGVkLW1vZHVsZXNcbkBtaXhpbiBleHBvcnRzKCRuYW1lLCAkd2FybjogJGVjbC1pbXBvcnQtb25jZS13YXJuKSB7XG4gIEBpZiAoaW5kZXgoJGltcG9ydGVkLW1vZHVsZXMsICRuYW1lKSA9PSBudWxsKSB7XG4gICAgJGltcG9ydGVkLW1vZHVsZXM6IGFwcGVuZCgkaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgJHdhcm4gPT0gdHJ1ZSB7XG4gICAgQHdhcm4gJ01vZHVsZSBgI3skbmFtZX1gIGhhcyBhbHJlYWR5IGJlZW4gaW1wb3J0ZWQuJztcbiAgfVxufVxuXG4vLyBXYXJuIGlmIGV4dGVybmFsIGRlcGVuZGVuY2llcyBoYXZlIG5vdCBiZWVuIGltcG9ydGVkIHlldFxuQG1peGluIGNoZWNrLWltcG9ydHMoJGRlcGVuZGVuY2llcywgJHdhcm46ICRlY2wtY2hlY2staW1wb3J0cy13YXJuKSB7XG4gIEBpZiAkd2FybiA9PSB0cnVlIHtcbiAgICBAZWFjaCAkZGVwIGluICRkZXBlbmRlbmNpZXMge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICBAaWYgKGluZGV4KCRpbXBvcnRlZC1tb2R1bGVzLCAkZGVwKSA9PSBudWxsKSB7XG4gICAgICAgIEB3YXJuICdNb2R1bGUgYCN7JGRlcH1gIGhhcyBub3QgYmVlbiBpbXBvcnRlZCB5ZXQuJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gKiBGZWVkYmFjayBtZXNzYWdlXG4gKiBAZGVmaW5lIGZlZWRiYWNrLW1lc3NhZ2VcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZlZWRiYWNrLW1lc3NhZ2UvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mZWVkYmFjay1tZXNzYWdlJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLWZlZWRiYWNrLW1lc3NhZ2UnKSB7XG4gIEBpbmNsdWRlIGVjbC1mZWVkYmFjay1tZXNzYWdlKCk7XG59XG4iLCIvKlxuICogRmVlZGJhY2sgbWVzc2FnZVxuICogQGRlZmluZSBmZWVkYmFjay1tZXNzYWdlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaCc7XG5cbkBtaXhpbiBlY2wtZmVlZGJhY2stbWVzc2FnZSgpIHtcbiAgLmVjbC1mZWVkYmFjay1tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL21lc3NhZ2VzLWluZm8uc3ZnJylcbiAgICAgIG5vLXJlcGVhdCAxLjJyZW0gMS4ycmVtO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLWhlaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpXG4gICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eGwnKTtcbiAgfVxuXG4gIC5lY2wtZmVlZGJhY2stbWVzc2FnZS0tZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL21lc3NhZ2VzLWVycm9yLnN2ZycpO1xuICB9XG5cbiAgLmVjbC1mZWVkYmFjay1tZXNzYWdlX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG5cbiAgLmVjbC1mZWVkYmFjay1tZXNzYWdlX19ib2R5IHtcbiAgICBAaW5jbHVkZSBwYXJhZ3JhcGgoKTtcblxuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBTcGFjaW5nICovXG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAqICsgLmVjbC1mZWVkYmFjay1tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cbn1cbiIsIi8qXG4gKiBGaWxlIHVwbG9hZFxuICogQGRlZmluZSBmaWxlLXVwbG9hZFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmlsZS11cGxvYWQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1maWxlLXVwbG9hZCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1maWxlLXVwbG9hZCcpIHtcbiAgQGluY2x1ZGUgZWNsLWZpbGUtdXBsb2FkKCk7XG59XG4iLCIvKlxuICogRmlsZSB1cGxvYWRcbiAqIEBkZWZpbmUgZmlsZS11cGxvYWRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1maWxlLXVwbG9hZCgpIHtcbiAgLmVjbC1maWxlLXVwbG9hZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1maWxlLXVwbG9hZF9fdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmb250LWZhbWlseTogJGVjbC1mb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgICAgb3V0bGluZTogM3B4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWZpbGUtdXBsb2FkX19icm93c2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZWNsLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1maWxlLXVwbG9hZF9fdXBsb2FkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZWNsLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1maWxlLXVwbG9hZF9faW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBkaXNhYmxlZFxuICAuZWNsLWZpbGUtdXBsb2FkLS1pcy1kaXNhYmxlZCB7XG4gICAgLmVjbC1maWxlLXVwbG9hZF9fdmFsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgLmVjbC1maWxlLXVwbG9hZF9fYnJvd3NlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gZXJyb3JcbiAgLmVjbC1maWxlLXVwbG9hZC0taGFzLWVycm9yIHtcbiAgICAuZWNsLWZpbGUtdXBsb2FkX192YWx1ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICB9XG5cbiAgICAuZWNsLWZpbGUtdXBsb2FkX19icm93c2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1lcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gKiBIZWxwIEJsb2NrXG4gKiBAZGVmaW5lIGhlbHAtYmxvY2tcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWhlbHAtYmxvY2svZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1oZWxwLWJsb2NrJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLWhlbHAtYmxvY2snKSB7XG4gIEBpbmNsdWRlIGVjbC1oZWxwLWJsb2NrKCk7XG59XG4iLCIvKlxuICogSGVscCBCbG9ja1xuICogQGRlZmluZSBoZWxwLWJsb2NrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtaGVscC1ibG9jaygpIHtcbiAgLmVjbC1oZWxwLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJyk7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLWhlbHAtYmxvY2stLWRpc2FibGVkIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNzUnKTtcbiAgfVxuXG4gIC5lY2wtaGVscC1ibG9jay0taGFzLWVycm9yIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJyk7XG4gIH1cblxuICAvKiBTcGFjaW5nICovXG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAqICsgLmVjbC1oZWxwLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cbn1cbiIsIi8qXG4gKiBSYWRpb1xuICogQGRlZmluZSByYWRpb1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tcmFkaW8vZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1yYWRpbyc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWZvcm0tbGFiZWwnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1yYWRpbycpIHtcbiAgQGluY2x1ZGUgZWNsLXJhZGlvKCk7XG59XG4iLCIvKlxuICogUmFkaW9cbiAqIEBkZWZpbmUgcmFkaW9cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1yYWRpbygkaWNvbi1zaXplOiAxLjVyZW0pIHtcbiAgLmVjbC1yYWRpbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSAwO1xuICB9XG5cbiAgLmVjbC1yYWRpby0taXMtZGlzYWJsZWQge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS03NScpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuZWNsLXJhZGlvX19sYWJlbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvcmFkaW8tdW5jaGVja2VkLnN2ZycpXG4gICAgICAgIG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGhlaWdodDogJGljb24tc2l6ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICAgIHdpZHRoOiAkaWNvbi1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtcmFkaW8tLWhhcy1lcnJvciAuZWNsLXJhZGlvX19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gIH1cblxuICAuZWNsLXJhZGlvX19pbnB1dDpjaGVja2VkICsgLmVjbC1yYWRpb19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9yYWRpby1jaGVja2VkLS1ibHVlLnN2ZycpO1xuICB9XG5cbiAgLmVjbC1yYWRpb19faW5wdXQ6Zm9jdXMgKyAuZWNsLXJhZGlvX19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gIH1cbn1cbiIsIi8qXG4gKiBSYWRpbyBncm91cFxuICogQGRlZmluZSByYWRpby1ncm91cFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tcmFkaW8tZ3JvdXAvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1yYWRpby1ncm91cCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1yYWRpby1ncm91cCcpIHtcbiAgQGluY2x1ZGUgZWNsLXJhZGlvLWdyb3VwKCk7XG59XG4iLCIvKlxuICogUmFkaW8gZ3JvdXBcbiAqIEBkZWZpbmUgcmFkaW8tZ3JvdXBcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1yYWRpby1ncm91cCgpIHtcbiAgLmVjbC1yYWRpby1ncm91cCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8qKlxuICogU2VsZWN0XG4gKiBAZGVmaW5lIHNlbGVjdFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tc2VsZWN0L2dlbmVyaWMtY29tcG9uZW50LWZvcm0tc2VsZWN0JztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLXNlbGVjdCcpIHtcbiAgQGluY2x1ZGUgZWNsLXNlbGVjdCgpO1xufVxuIiwiLyoqXG4gKiBTZWxlY3RcbiAqIEBkZWZpbmUgc2VsZWN0XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbi8vIFZhcmlhYmxlc1xuJGVjbC1zZWxlY3QtaWNvbi1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuJGVjbC1zZWxlY3QtYmFja2dyb3VuZC13aWR0aDogJGVjbC1zZWxlY3QtaWNvbi1zaXplICsgMiAqXG4gIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG5cbi8vIFNlbGVjdCBsaXN0IGFycm93IHN0eWxpbmcuXG5AbWl4aW4gZWNsLXNlbGVjdC1saXN0LWFycm93KCRiYWNrZ3JvdW5kLWNvbG9yLCAkYXJyb3ctZ3JleTogZmFsc2UpIHtcbiAgQGlmICgkYXJyb3ctZ3JleSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvYXJyb3ctZG93bi5zdmcnKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRiYWNrZ3JvdW5kLWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvcik7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQ6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvYXJyb3ctZG93bi0td2hpdGUuc3ZnJyksXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkYmFja2dyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHRcbiAgICAgICgkZWNsLXNlbGVjdC1iYWNrZ3JvdW5kLXdpZHRoIC0gJGVjbC1zZWxlY3QtaWNvbi1zaXplKS8yIGNlbnRlcixcbiAgICByaWdodDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAkZWNsLXNlbGVjdC1pY29uLXNpemUgYXV0bywgJGVjbC1zZWxlY3QtYmFja2dyb3VuZC13aWR0aCAxMDAlO1xufVxuXG5AbWl4aW4gZWNsLXNlbGVjdCgpIHtcbiAgLmVjbC1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGVjbC1zZWxlY3QtbGlzdC1hcnJvdygkZWNsLWNvbG9yLXNoYWRlKTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRlY2wtZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJylcbiAgICAgICgkZWNsLXNlbGVjdC1iYWNrZ3JvdW5kLXdpZHRoICsgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykpXG4gICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvKiBTcGFjaW5nICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAgICogKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICB9XG5cbiAgICAvLyBGaXggZm9yIElFIDEwKy5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMTAnKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM3NzM0MzAvcmVtb3ZlLW91dGxpbmUtZnJvbS1zZWxlY3QtYm94LWluLWZmIzE4ODUzMDAyXG4gICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjpub3QoW2Rpc2FibGVkXSk6bm90KFtyZWFkb25seV0pOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1zZWxlY3QtbGlzdC1hcnJvdygkZWNsLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXNlbGVjdC0taGFzLWVycm9yIHtcbiAgICBAaW5jbHVkZSBlY2wtc2VsZWN0LWxpc3QtYXJyb3coJGVjbC1jb2xvci1lcnJvcik7XG5cbiAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIH1cbn1cbiIsIi8qKlxuICogVGV4dCBpbnB1dCBjb21wb25lbnRcbiAqIEBkZWZpbmUgdGV4dC1pbnB1dFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tdGV4dC1pbnB1dC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXRleHQtaW5wdXQnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tdGV4dC1pbnB1dCcpIHtcbiAgQGluY2x1ZGUgZWNsLXRleHQtaW5wdXQoKTtcbn1cbiIsIi8qKlxuICogVGV4dCBpbnB1dCBjb21wb25lbnRcbiAqIEBkZWZpbmUgdGV4dC1pbnB1dFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXRleHQtaW5wdXQoKSB7XG4gIC5lY2wtdGV4dC1pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRlY2wtY29sb3Itc2hhZGU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGVjbC1mb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAgICogKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMTAnKTtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtdGV4dC1pbnB1dC0taGFzLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIH1cbn1cbiIsIi8qKlxuICogVGV4dGFyZWEgY29tcG9uZW50XG4gKiBAZGVmaW5lIHRleHRhcmVhXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS10ZXh0YXJlYS9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXRleHRhcmVhJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLXRleHRhcmVhJykge1xuICBAaW5jbHVkZSBlY2wtdGV4dGFyZWEoKTtcbn1cbiIsIi8qKlxuICogVGV4dGFyZWEgY29tcG9uZW50XG4gKiBAZGVmaW5lIHRleHRhcmVhXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdGV4dGFyZWEoKSB7XG4gIC5lY2wtdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRlY2wtZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgICAqICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMTAnKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICYtLWlzLWRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldLFxuICAgICYtLWlzLXJlYWRvbmx5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXRleHRhcmVhLS1oYXMtZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1lcnJvcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGVjbC1jb2xvci1lcnJvciwgMTAlKTtcbiAgICAgIG91dGxpbmUtY29sb3I6IGRhcmtlbigkZWNsLWNvbG9yLWVycm9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBCbG9ja3F1b3Rlc1xuICogQGRlZmluZSBibG9ja3F1b3RlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYmxvY2txdW90ZS9nZW5lcmljLWNvbXBvbmVudC1ibG9ja3F1b3RlJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaCcpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1ibG9ja3F1b3RlJykge1xuICBAaW5jbHVkZSBlY2wtYmxvY2txdW90ZSgpO1xufVxuIiwiLyoqXG4gKiBCbG9ja3F1b3Rlc1xuICogQGRlZmluZSBibG9ja3F1b3RlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZWNsLWJsb2NrcXVvdGUoKSB7XG4gIC5lY2wtYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgYmxvY2txdW90ZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC5lY2wtYmxvY2txdW90ZV9fYm9keSB7XG4gICAgQGluY2x1ZGUgYmxvY2txdW90ZS1ib2R5KCk7XG4gIH1cblxuICAuZWNsLWJsb2NrcXVvdGVfX2F1dGhvciB7XG4gICAgQGluY2x1ZGUgYmxvY2txdW90ZS1hdXRob3IoKTtcbiAgfVxuXG4gIC8vIFZhcmlhbnRzXG5cbiAgLmVjbC1ibG9ja3F1b3RlLS1zbWFsbCB7XG4gICAgQGluY2x1ZGUgYmxvY2txdW90ZS1jb250YWluZXItLXNtYWxsKCk7XG5cbiAgICAuZWNsLWJsb2NrcXVvdGVfX2JvZHkge1xuICAgICAgQGluY2x1ZGUgYmxvY2txdW90ZS1ib2R5LS1zbWFsbCgpO1xuICAgIH1cblxuICAgIC5lY2wtYmxvY2txdW90ZV9fYXV0aG9yIHtcbiAgICAgIEBpbmNsdWRlIGJsb2NrcXVvdGUtYXV0aG9yLS1zbWFsbCgpO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGJsb2NrcXVvdGUtY29udGFpbmVyKCkge1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkICRlY2wtY29sb3Itc2Vjb25kYXJ5O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpXG4gICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG59XG5cbkBtaXhpbiBibG9ja3F1b3RlLWNvbnRhaW5lci0tc21hbGwoKSB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiA2cHg7XG59XG5cbkBtaXhpbiBibG9ja3F1b3RlLWJvZHkoKSB7XG4gIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luOiAwO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbiAgfVxufVxuXG5AbWl4aW4gYmxvY2txdW90ZS1ib2R5LS1zbWFsbCgpIHtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xufVxuXG5AbWl4aW4gYmxvY2txdW90ZS1hdXRob3IoKSB7XG4gIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbn1cblxuQG1peGluIGJsb2NrcXVvdGUtYXV0aG9yLS1zbWFsbCgpIHtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbn1cbiIsIi8qKlxuICogQnV0dG9uIGNvbXBvbmVudFxuICogQGRlZmluZSBidXR0b25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1idXR0b24vZ2VuZXJpYy1jb21wb25lbnQtYnV0dG9uJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1idXR0b24nKSB7XG4gIEBpbmNsdWRlIGVjbC1idXR0b24oKTtcbn1cbiIsIi8qKlxuICogQnV0dG9ucyBjb21wb25lbnRcbiAqIEBkZWZpbmUgYnV0dG9uXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIG1peGluc1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcbkBpbXBvcnQgJy4vbWl4aW5zJztcblxuQG1peGluIGVjbC1idXR0b24oKSB7XG4gIC5lY2wtYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRlY2wtZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b246bGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJ1dHRvbi0tZGVmYXVsdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMjUnKTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTI1Jyk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTI1Jyk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTI1Jyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b24tLWNhbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMjUnKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0yNScpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b24tLWZvcm0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTE1Jyk7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b24tLWZvcm0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJ1dHRvbi0tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1idXR0b24tLWNhcmV0LXVwIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcblxuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3VwJyk7XG4gICAgICBAaW5jbHVkZSBlY2wtYnV0dG9uLS1jYXJldCgpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnV0dG9uLS1jYXJldC1yaWdodCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdyaWdodCcpO1xuICAgICAgQGluY2x1ZGUgZWNsLWJ1dHRvbi0tY2FyZXQoKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJ1dHRvbi0tY2FyZXQtZG93biB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdkb3duJyk7XG4gICAgICBAaW5jbHVkZSBlY2wtYnV0dG9uLS1jYXJldCgpO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGVjbC1idXR0b24tLWNhcmV0KCkge1xuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICBtYXJnaW4tbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbn1cbiIsIi8qXG4gKiBEYXRlIGJsb2NrXG4gKiBAZGVmaW5lIGRhdGUtYmxvY2tcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1kYXRlLWJsb2NrL2dlbmVyaWMtY29tcG9uZW50LWRhdGUtYmxvY2snO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWRhdGUtYmxvY2snKSB7XG4gIEBpbmNsdWRlIGVjbC1kYXRlLWJsb2NrKCk7XG59XG4iLCIvKlxuICogRGF0ZSBibG9ja1xuICogQGRlZmluZSBkYXRlLWJsb2NrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZGF0ZS1ibG9jaygpIHtcbiAgLmVjbC1kYXRlLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4yZW0gc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxLjJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDEuMmVtIHNvbGlkICNmZmY7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZGF0ZS1ibG9ja19fYm9keSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDUuNTVyZW07XG4gICAgbWluLXdpZHRoOiA1LjU1cmVtO1xuICB9XG5cbiAgLmVjbC1kYXRlLWJsb2NrX193ZWVrLWRheSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgLmVjbC1kYXRlLWJsb2NrX19kYXkge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hsJyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgLmVjbC1kYXRlLWJsb2NrX19tb250aCB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgfVxuXG4gIC5lY2wtZGF0ZS1ibG9ja19feWVhciB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICAvLyBvbmdvaW5nXG4gIC5lY2wtZGF0ZS1ibG9jay0tb25nb2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgfVxuXG4gIC8vIGNhbmNlbGxlZFxuICAuZWNsLWRhdGUtYmxvY2stLWNhbmNlbGxlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxuXG4gIC8vIHBhc3RcbiAgLmVjbC1kYXRlLWJsb2NrLS1wYXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMC4yZW0gc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMS4zNWVtO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMS4zNWVtO1xuICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgIHRvcDogLTAuMmVtO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMC4yZW0gc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxLjg1ZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMC40NWVtO1xuICAgICAgdG9wOiAtMC40ZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBGaWVsZHMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGZpZWxkXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZmllbGQvZ2VuZXJpYy1jb21wb25lbnQtZmllbGQnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZpZWxkJykge1xuICBAaW5jbHVkZSBlY2wtZmllbGQoKTtcbn1cbiIsIi8qKlxuICogRmllbGRzIGNvbXBvbmVudFxuICogQGRlZmluZSBmaWVsZFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWZpZWxkKCkge1xuICAuZWNsLWZpZWxkIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1maWVsZF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgfVxuXG4gIC5lY2wtZmllbGQgKyAuZWNsLWZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1maWVsZCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAuZWNsLWZpZWxkX19sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG5cbiAgICAuZWNsLWZpZWxkLS1hbGlnbmVkIC5lY2wtZmllbGRfX2JvZHkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogTGFiZWxzIGNvbXBvbmVudFxuICogQGRlZmluZSBsYWJlbFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWxhYmVsL2dlbmVyaWMtY29tcG9uZW50LWxhYmVsJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1sYWJlbCcpIHtcbiAgQGluY2x1ZGUgZWNsLWxhYmVsKCk7XG59XG4iLCIvKipcbiAqIExhYmVscyBjb21wb25lbnRcbiAqIEBkZWZpbmUgbGFiZWxcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1sYWJlbCgpIHtcbiAgLmVjbC1sYWJlbCB7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZWNsLWxhYmVsLS11cGNvbWluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0yNScpO1xuICB9XG5cbiAgLmVjbC1sYWJlbC0tb3BlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgfVxuXG4gIC5lY2wtbGFiZWwtLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICB9XG59XG4iLCIvKipcbiogTGluayBjb21wb25lbnRcbiogQGRlZmluZSBsaW5rXG4qL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1saW5rL2dlbmVyaWMtY29tcG9uZW50LWxpbmsnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWxpbmsnKSB7XG4gIEBpbmNsdWRlIGVjbC1saW5rKCk7XG59XG4iLCIvKipcbiogTGluayBjb21wb25lbnRcbiogQGRlZmluZSBsaW5rXG4qL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtaWNvbi9taXhpbnMnO1xuQGltcG9ydCAnLi9taXhpbnMnO1xuXG5AbWl4aW4gZWNsLWxpbmsoKSB7XG4gIC5lY2wtbGluayB7XG4gICAgQGluY2x1ZGUgbGluaygpO1xuICB9XG5cbiAgLmVjbC1saW5rLS1leHRlcm5hbCB7XG4gICAgQGluY2x1ZGUgbGluay1leHRlcm5hbCgpO1xuICB9XG5cbiAgLmVjbC1saW5rLS1zdGFuZGFsb25lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1saW5rLS1pbnZlcnRlZCB7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbGluay0tYWxsIHtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZWNsLWxpbmstLW1vcmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcblxuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3JpZ2h0Jyk7XG5cbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNGVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5rKCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICBtYXJnaW46IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdwdXJwbGUtMTAwJyk7XG4gIH1cbn1cblxuQG1peGluIGxpbmstZXh0ZXJuYWwge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICBAaW5jbHVkZSBlY2wtaWNvbignZXh0ZXJuYWwnKTtcblxuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjRlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICB9XG59XG4iLCIvKipcbiogTG9naW4gYmFyIGNvbXBvbmVudFxuKiBAZGVmaW5lIGxvZ2luLWJhclxuKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1sYXlvdXQtZ3JpZCcsICdlYy1jb21wb25lbnQtbGluaycpKTtcblxuQG1peGluIGVjbC1sb2dpbi1iYXIoKSB7XG4gIC5lY2wtbG9naW4tYmFyIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIDA7XG4gIH1cblxuICAuZWNsLWxvZ2luLWJhcl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAuZWNsLWxvZ2luLWJhcl9fbWVzc2FnZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpO1xuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gIH1cblxuICAuZWNsLWxvZ2luLWJhcl9fbGluayB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbn1cblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1sb2dpbiBiYXInKSB7XG4gIEBpbmNsdWRlIGVjbC1sb2dpbi1iYXIoKTtcbn1cbiIsIi8qKlxuICogTG9nb3NcbiAqIEBkZWZpbmUgbG9nb1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbG9nbygpIHtcbiAgLy8gRGVmYXVsdCBFQyBsb2dvLlxuICAuZWNsLWxvZ28ge1xuICAgIGJhY2tncm91bmQ6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvbG9nby5zdmcnKSBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIHdpZHRoOiAxNDBweDtcbiAgfVxuXG4gIC5lY2wtbG9nby0tYmlnIHtcbiAgICBoZWlnaHQ6IDE1M3B4O1xuICAgIHdpZHRoOiAyOTBweDtcbiAgfVxuXG4gIC8vIEVDIGxvZ290eXBlXG4gIC8vXG4gIC8vIEVDIGxvZ28gd2l0aCB0ZXh0LlxuXG4gIC8vIFNldHMgbGFuZ3VhZ2Utc3BlY2lmaWMgYmFja2dyb3VuZCBpbWFnZSBvbiAuZWNsLWxvZ28tLWxvZ290eXBlIGVsZW1lbnQgbmVzdGVkXG4gIC8vIGluIHt7bW9kaWZpZXJfY2xhc3N9fSBtb2RpZmllci5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGxvZ28tYmFja2dyb3VuZC1sYW5ndWFnZXMoXG4gICAgJGVjbC1hc3NldHMtcGF0aCArICdpbWFnZXMvbG9nby9sb2dvLS0nLFxuICAgICcuc3ZnJ1xuICApO1xuXG4gIC5lY2wtbG9nby0tbG9nb3R5cGUge1xuICAgIHdpZHRoOiAxOTBweDtcbiAgfVxuXG4gIC8vIEVDIGxvZ290eXBlIHdpdGggdGV4dCBiZWxvdyB0aGUgbG9nb1xuICAvL1xuICAvLyBFQyBsb2dvIHdpdGggdGV4dCBiZWxvdy5cblxuICAvLyBTZXRzIGxhbmd1YWdlLXNwZWNpZmljIGJhY2tncm91bmQgaW1hZ2Ugb24gLmVjbC1sb2dvLS1sb2dvdHlwZWJlbG93IGVsZW1lbnQgbmVzdGVkXG4gIC8vIGluIHt7bW9kaWZpZXJfY2xhc3N9fSBtb2RpZmllci5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGxvZ28tYmFja2dyb3VuZC1sYW5ndWFnZXMoXG4gICAgJGVjbC1hc3NldHMtcGF0aCArICdpbWFnZXMvbG9nby9sb2dvdHlwZWJlbG93LS0nLFxuICAgICcuc3ZnJyxcbiAgICAnZWNsLWxvZ28tLWxvZ290eXBlYmVsb3cnXG4gICk7XG5cbiAgLmVjbC1sb2dvLS1sb2dvdHlwZWJlbG93IHtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgd2lkdGg6IDE5OHB4O1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgLmVjbC1sb2dvLS1sb2dvdHlwZSB7XG4gICAgICB3aWR0aDogMjkwcHg7XG4gICAgfVxuXG4gICAgLmVjbC1sb2dvLS1sb2dvdHlwZWJlbG93IHtcbiAgICAgIGhlaWdodDogMTE4cHg7XG4gICAgICB3aWR0aDogMzI0cHg7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRUMgbG9nb1xuICovXG5cbi8vIExhbmd1YWdlIGdlbmVyYXRvci5cbkBtaXhpbiBsb2dvLWJhY2tncm91bmQtbGFuZ3VhZ2VzKFxuICAkZmlsZV9wYXRoLFxuICAkZmlsZV9leHRlbnNpb24sXG4gICRsb2dvX2NsYXNzOiBlY2wtbG9nby0tbG9nb3R5cGVcbikge1xuICBAZWFjaCAkaXRlbSBpbiAkZWNsLWxhbmd1YWdlcyB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAubGFuZ3VhZ2UtI3skaXRlbX0ge1xuICAgICAgLiN7JGxvZ29fY2xhc3N9IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRmaWxlX3BhdGh9I3skaXRlbX0jeyRmaWxlX2V4dGVuc2lvbn0nKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLiN7JGxvZ29fY2xhc3N9OjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybCgnI3skZmlsZV9wYXRofSN7JGl0ZW19I3skZmlsZV9leHRlbnNpb259Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICB9XG59XG5cbi8vIFVzZSBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWxvZ28nKSB7XG4gIEBpbmNsdWRlIGVjbC1sb2dvKCk7XG59XG4iLCIvKipcbiAqIE1lc3NhZ2VzXG4gKiBAZGVmaW5lIG1lc3NhZ2VcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1tZXNzYWdlL2dlbmVyaWMtY29tcG9uZW50LW1lc3NhZ2UnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLXN0eWxlLXR5cG9ncmFwaHktbGlzdCcpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1tZXNzYWdlJykge1xuICBAaW5jbHVkZSBlY2wtbWVzc2FnZSgpO1xufVxuIiwiLyoqXG4gKiBNZXNzYWdlc1xuICogQGRlZmluZSBtZXNzYWdlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbWVzc2FnZSgpIHtcbiAgLmVjbC1tZXNzYWdlIHtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWF4LWNvbnRlbnQ7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpXG4gICAgICAgIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4bCcpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvbWVzc2FnZXMtaW5mby5zdmcnKVxuICAgICAgbm8tcmVwZWF0IDEuMnJlbSAxLjJyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtNzUnKTtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4bCcpICtcbiAgICAgIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpXG4gICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4bCcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9tZXNzYWdlcy1zdWNjZXNzLnN2ZycpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLXN1Y2Nlc3M7XG4gICAgfVxuXG4gICAgJi0td2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL21lc3NhZ2VzLXdhcm5pbmcuc3ZnJyk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgfVxuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9tZXNzYWdlcy1lcnJvci5zdmcnKTtcbiAgICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1lcnJvcjtcbiAgICB9XG5cbiAgICAmLS1saXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvbGl2ZV9zdHJlYW1pbmcuc3ZnJyk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1tZXNzYWdlX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICB9XG4gIH1cblxuICAuZWNsLW1lc3NhZ2VfX2JvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1tZXNzYWdlX19kaXNtaXNzIHtcbiAgICBAaW5jbHVkZSBlY2wtZm9jdXMtb3V0bGluZS1ib3JkZXIoXG4gICAgICAkdGhpY2tuZXM6IDNweCxcbiAgICAgICRjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKSxcbiAgICAgICRvZmZzZXQ6IDNweFxuICAgICk7XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7XG4gICAgICBncmlkLXJvdy1zdGFydDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdG9wOiBhdXRvO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL2Nsb3NlLnN2ZycpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogMCAwIDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbWVzc2FnZV9fZGlzbWlzcy0taW52ZXJ0ZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44ODllbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwRDcnO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtZG93bigneHMnKSB7XG4gICAgLmVjbC1tZXNzYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgKyAyICpcbiAgICAgICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSArIDEuNXJlbTtcblxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZWNsLW1lc3NhZ2VfX2Rpc21pc3Mge1xuICAgICAgYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgYWxpZ24tc2VsZjogc2VsZi1lbmQ7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgICAgIGdyaWQtcm93LWVuZDogNDtcbiAgICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDM7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb2N1cyBvdXRsaW5lIGJvcmRlclxuXG5AbWl4aW4gZWNsLWZvY3VzLW91dGxpbmUtYm9yZGVyKFxuICAkdGhpY2tuZXM6IDNweCxcbiAgJGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpLFxuICAkb2Zmc2V0OiAwLFxuICAkdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmVcbikge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAkdGhpY2tuZXMgc29saWQgJGNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRleHQtZGVjb3JhdGlvbjtcbiAgfVxufVxuIiwiLypcbiAqIEVDTCBtZXRhXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbWV0YS9nZW5lcmljLWNvbXBvbmVudC1tZXRhJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1tZXRhJykge1xuICBAaW5jbHVkZSBlY2wtbWV0YSgpO1xufVxuIiwiLypcbiAqIEVDTCBtZXRhXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbWV0YSgpIHtcbiAgLmVjbC1tZXRhIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZWNsLW1ldGFfX2l0ZW0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgIG1hcmdpbjogMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLW1ldGEtLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICB9XG59XG4iLCIvKipcbiogU2l0ZSBzd2l0Y2hlciBjb21wb25lbnRcbiogQGRlZmluZSBzaXRlLXN3aXRjaGVyXG4qL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zaXRlLXN3aXRjaGVyL2dlbmVyaWMtY29tcG9uZW50LXNpdGUtc3dpdGNoZXInO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWxheW91dC1ncmlkJywgJ2VjLWNvbXBvbmVudC1saW5rJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXNpdGUtc3dpdGNoZXInKSB7XG4gIEBpbmNsdWRlIGVjbC1zaXRlLXN3aXRjaGVyKCk7XG59XG4iLCIvKipcbiogU2l0ZSBzd2l0Y2hlciBjb21wb25lbnRcbiogQGRlZmluZSBzaXRlLXN3aXRjaGVyXG4qL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1zaXRlLXN3aXRjaGVyKCkge1xuICAuZWNsLXNpdGUtc3dpdGNoZXIge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6OmFmdGVyLFxuICAgICYtLWlzLWV4dGVybmFsOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fb3B0aW9uLS1pcy1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG5cbiAgICAuZWNsLXNpdGUtc3dpdGNoZXJfX2xpbmsge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zaXRlLXN3aXRjaGVyLS1oZWFkZXIsXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlci0tZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpO1xuICB9XG5cbiAgLmVjbC1zaXRlLXN3aXRjaGVyLS1mb290ZXIgLmVjbC1zaXRlLXN3aXRjaGVyX19vcHRpb24sXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlci0taGVhZGVyIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fb3B0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLS1pcy1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHJnYmEoMCwgNjgsIDE0OCwgMCk7XG4gICAgICBjb250ZW50OiAnICcgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zaXRlLXN3aXRjaGVyLS1oZWFkZXIgLmVjbC1zaXRlLXN3aXRjaGVyX19vcHRpb24ge1xuICAgICYtLWlzLXNlbGVjdGVkOjphZnRlciB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMDAnKTtcbiAgICAgIHRvcDogOTUlO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlci0tZm9vdGVyIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fb3B0aW9uIHtcbiAgICAmLS1pcy1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgICBib3R0b206IDk1JTtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuZWNsLXNpdGUtc3dpdGNoZXJfX29wdGlvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuZWNsLXNpdGUtc3dpdGNoZXItLWZvb3RlciB7XG4gICAgICAuZWNsLXNpdGUtc3dpdGNoZXJfX2xpc3Qge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFNvY2lhbCBpY29uc1xuICogQGRlZmluZSBzb2NpYWwtaWNvblxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXNvY2lhbC1pY29uL2dlbmVyaWMtY29tcG9uZW50LXNvY2lhbC1pY29uJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtbGluaycpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1zb2NpYWwtaWNvbicpIHtcbiAgQGluY2x1ZGUgZWNsLXNvY2lhbC1pY29uKCk7XG59XG4iLCIvKipcbiAqIFNvY2lhbCBpY29uc1xuICogQGRlZmluZSBzb2NpYWwtaWNvblxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG4vLyBCcmluZ3MgaW4gdGhlIGxvbmcgbGlzdCBmb3IgJGVjbC1zb2NpYWwtaWNvbnMuXG5AaW1wb3J0ICcuL2ljb25zLWxpc3QnO1xuXG4vLyBEZWZpbmUgdmFyaWFibGVzXG4kaW1nLXBhdGg6ICRlY2wtYXNzZXRzLXBhdGggKyAnaW1hZ2VzL3NvY2lhbC8nO1xuXG4vLyBTb2NpYWwgaWNvbnMgaW1hZ2UuXG5AbWl4aW4gZ2VuZXJhdGUtaWNvbihcbiAgJHNlbGVjdG9yLFxuICAkaW1nLXBhdGgsXG4gICRpbWFnZSxcbiAgJGltZy1ob3ZlcixcbiAgJGV4dHJhOiBudWxsLFxuICAkZXh0cmFfaG92ZXI6IG51bGxcbikge1xuICAvLyBJZ25vcmluZyBuZXh0IDIgc2VsZWN0b3JzIHNpbmNlIHRoZSBkeW5hbWljIHNlbGVjdG9yIGlzIHByb2JsZW1hdGljIGZvciB0aGUgbGludGVyLlxuXG4gIC8qIHBvc3Rjc3MtYmVtLWxpbnRlcjogaWdub3JlICovXG4gICN7JHNlbGVjdG9yfTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJGltZy1wYXRoKyRpbWFnZSkgbm8tcmVwZWF0ICRleHRyYTtcbiAgfVxuXG4gIC8qIHBvc3Rjc3MtYmVtLWxpbnRlcjogaWdub3JlICovXG4gICN7JHNlbGVjdG9yfTpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltZy1wYXRoKyRpbWctaG92ZXIpICRleHRyYV9ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZWNsLXNvY2lhbC1pY29uKCkge1xuICAuZWNsLXNvY2lhbC1pY29uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1zb2NpYWwtaWNvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICB9XG5cbiAgLmVjbC1zb2NpYWwtaWNvbi0tc21hbGxlciB7XG4gICAgbWluLWhlaWdodDogMS41cmVtO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkaWNvbiwgJGV4dHJhIGluICRlY2wtc29jaWFsLWljb25zIHtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1pY29uKFxuICAgICAgJy5lY2wtc29jaWFsLWljb24tLScgKyAkaWNvbixcbiAgICAgICRpbWctcGF0aCxcbiAgICAgICRpY29uICsgJy5zdmcnLFxuICAgICAgJGljb24gKyAnX2hvdmVyLnN2ZycsXG4gICAgICAjeyRleHRyYX1cbiAgICApO1xuICB9XG59XG4iLCIvKlxuICpFQ0wgdGFibGVzXG4gKiBAZGVmaW5lIHRhYmxlIDsgd2Vha1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXRhYmxlL2dlbmVyaWMtY29tcG9uZW50LXRhYmxlJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC10YWJsZScpIHtcbiAgQGluY2x1ZGUgZWNsLXRhYmxlKCk7XG59XG4iLCIvKlxuICpFQ0wgdGFibGVzXG4gKiBAZGVmaW5lIHRhYmxlIDsgd2Vha1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuQGltcG9ydCAnbWl4aW5zJztcblxuQG1peGluIGVjbC10YWJsZSgpIHtcbiAgLmVjbC10YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoKTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAtZ2V0KCRlY2wtZ3JpZC1icmVha3BvaW50cywgJ21kJykpIHtcbiAgICAuZWNsLXRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLW1heC13aWR0aC1tZCgpO1xuICAgIH1cblxuICAgIC5lY2wtdGFibGVfX2hlYWRpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmVjbC10YWJsZV9fZ3JvdXAtbGFiZWwge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgtZ3JvdXApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpKTtcbiAgICAgIH1cblxuICAgICAgfiAuZWNsLXRhYmxlX19ncm91cF9lbGVtZW50IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgLmVjbC10YWJsZSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1taW4td2lkdGgtbWQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiB0YWJsZSgpIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICBtYXJnaW46IDA7XG4gIHRhYmxlLWxheW91dDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuQG1peGluIHRhYmxlLW1heC13aWR0aC1tZCgpIHtcbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gIH1cblxuICB0cjpudGgtb2YtdHlwZSgybikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4gIHRkW2RhdGEtdGgtZ3JvdXBdIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICB9XG5cbiAgdGQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLXRoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuXG5AbWl4aW4gdGFibGUtbWluLXdpZHRoLW1kKCkge1xuICAvKiBaZWJyYSBzdHJpcGluZyAqL1xuICB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpO1xuICB9XG5cbiAgdGJvZHkge1xuICAgIC8qIEhvdmVyICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1uZXN0aW5nLWRlcHRoICovXG4gICAgdHI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1uZXN0aW5nLWRlcHRoLCBzZWxlY3Rvci1tYXgtY29tcG91bmQtc2VsZWN0b3JzICovXG4gICAgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRlY2wtY29sb3Itc2hhZGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuICAgIHRyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRlY2wtY29sb3Itc2hhZGU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFRhZ3NcbiAqIEBkZWZpbmUgdGFnXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGFnL2dlbmVyaWMtY29tcG9uZW50LXRhZyc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWJ1dHRvbicpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC10YWcnKSB7XG4gIEBpbmNsdWRlIGVjbC10YWcoKTtcbn1cbiIsIi8qKlxuICogVGFnc1xuICogQGRlZmluZSB0YWdcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC10YWcoKSB7XG4gIC5lY2wtdGFnIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtdGFnX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmVjbC10YWdfX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTE1Jyk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBmb250LWZhbWlseTogJGVjbC1mb250LWZhbWlseS1iYXNlO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtdGFnLS1mYWNldC1jbG9zZSB7XG4gICAgLmVjbC10YWdfX2l0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5lY2wtdGFnX19pdGVtOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcblxuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3RhZy1jbG9zZScpO1xuXG4gICAgICBtYXJnaW4tbGVmdDogMC42ZW07XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZWNsLWVkaXRvci1ibG9ja3F1b3RlKCkge1xuICAuZWNsLWVkaXRvciBibG9ja3F1b3RlIHtcbiAgICBAaW5jbHVkZSBibG9ja3F1b3RlLWNvbnRhaW5lcigpO1xuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBibG9ja3F1b3RlLWJvZHkoKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWVkaXRvciAqICsgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuL21peGlucyc7XG5cbkBtaXhpbiBlY2wtZWRpdG9yLWxpbmsoKSB7XG4gIC5lY2wtZWRpdG9yIGEge1xuICAgIEBpbmNsdWRlIGxpbmsoKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnbWl4aW5zJztcblxuQG1peGluIGVjbC1lZGl0b3ItdGFibGUoKSB7XG4gIC5lY2wtZWRpdG9yIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgpO1xuICB9XG5cbiAgLmVjbC1lZGl0b3IgKiArIHRhYmxlIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZWNsLWdyaWQtYnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgLmVjbC1lZGl0b3IgdGFibGUge1xuICAgICAgQGluY2x1ZGUgdGFibGUtbWF4LXdpZHRoLW1kKCk7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAuZWNsLWVkaXRvciB0YWJsZSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1taW4td2lkdGgtbWQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogQmFubmVycyBjb21wb25lbnRcbiAqIEBkZWZpbmUgYmFubmVyXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYmFubmVyL2dlbmVyaWMtY29tcG9uZW50LWJhbm5lcic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKFxuICAoXG4gICAgJ2VjLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZycsXG4gICAgJ2VjLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoJyxcbiAgICAnZWMtc3R5bGUtaW1hZ2UnXG4gIClcbik7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtYmFubmVyJykge1xuICBAaW5jbHVkZSBlY2wtYmFubmVyKCk7XG59XG4iLCIvKipcbiAqIEJhbm5lcnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGJhbm5lclxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWJhbm5lcigpIHtcbiAgLmVjbC1iYW5uZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5lY2wtYmFubmVyX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIC5lY2wtYmFubmVyX190aXRsZSB7XG4gICAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLWJhbm5lcl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBtYXJnaW46IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDAgMDtcbiAgfVxuXG4gIC5lY2wtYmFubmVyX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZWNsLWJhbm5lci0taGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiAyM3JlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmVjbC1iYW5uZXJfX2ltYWdlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgIC5lY2wtYmFubmVyX19jb250ZW50IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKVxuICAgICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hsJykgMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICogQnJlYWRjcnVtYnNcbiAqIEBkZWZpbmUgYnJlYWRjcnVtYnNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1icmVhZGNydW1iL2dlbmVyaWMtY29tcG9uZW50LWJyZWFkY3J1bWInO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1saW5rJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWJyZWFkY3J1bWInKSB7XG4gIEBpbmNsdWRlIGVjbC1icmVhZGNydW1iKCk7XG59XG4iLCIvKlxuICogQnJlYWRjcnVtYnNcbiAqIEBkZWZpbmUgYnJlYWRjcnVtYlxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWJyZWFkY3J1bWIoKSB7XG4gIC5lY2wtYnJlYWRjcnVtYiB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICB9XG5cbiAgLmVjbC1icmVhZGNydW1iX19zZWdtZW50cy13cmFwcGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG4gIH1cblxuICAuZWNsLWJyZWFkY3J1bWJfX3NlZ21lbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4cycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NTtcblxuICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnJlYWRjcnVtYl9fbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcblxuICAgIC8vIEFkZCB0aGUgXCI+XCIgaWNvblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3JpZ2h0Jyk7XG5cbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnJlYWRjcnVtYl9fc2VnbWVudC0tbGFzdCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTI1Jyk7XG4gIH1cbn1cbiIsIi8qKlxuICogQ2Fyb3VzZWxcbiAqIEBkZWZpbmUgY2Fyb3VzZWxcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1jYXJvdXNlbC9nZW5lcmljLWNvbXBvbmVudC1jYXJvdXNlbCc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKFxuICAoJ2VjLXN0eWxlLXR5cG9ncmFwaHktbGlzdCcsICdlYy1jb21wb25lbnQtbGluaycsICdlYy1zdHlsZS1pY29uJylcbik7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtY2Fyb3VzZWwnKSB7XG4gIEBpbmNsdWRlIGVjbC1jYXJvdXNlbCgpO1xufVxuIiwiLyoqXG4gKiBDYXJvdXNlbFxuICogQGRlZmluZSBjYXJvdXNlbCA7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1jYXJvdXNlbCgpIHtcbiAgLmVjbC1jYXJvdXNlbCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdoZW4gY2Fyb3VzZWwgaXMgYSBkaWFsb2cuXG4gIC5lY2wtY2Fyb3VzZWxbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA5MHZoO1xuICAgIGxlZnQ6IDMlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdtb2RhbCcpO1xuICB9XG5cbiAgLmVjbC1jYXJvdXNlbF9fbGlzdC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgIC5lY2wtY2Fyb3VzZWxfX2xpc3Qtd3JhcHBlciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19jb250cm9scyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1jYXJvdXNlbF9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX2l0ZW0ge1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19idXR0b24ge1xuICAgIEBpbmNsdWRlIGVjbC1mb2N1cy1vdXRsaW5lLWJvcmRlcigpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHhsJyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ25hdmlnYXRpb24nKTtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX2J1dHRvbi0tcHJldmlvdXMge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19idXR0b24tLW5leHQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLy8gSlMgd2lsbCBzaG93IG9ubHkgdGhlIG5lY2Vzc2FyeSBvbmUgYnkgYSBkYXRhIGF0dHJpYnV0ZS5cbiAgLmVjbC1jYXJvdXNlbF9faW1hZ2UtaW5mb3JtYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX2xpdmUtcmVnaW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMDAnKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1pbi13aWR0aDogMzAlO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgIC5lY2wtY2Fyb3VzZWxfX2xpdmUtcmVnaW9uIHtcbiAgICAgIGZsZXg6IDA7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX21ldGEge1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICB9XG5cbiAgLy8gRXZlcnkgbGluayBoYXMgc3BlY2lmaWMgc3R5bGluZy5cbiAgLmVjbC1jYXJvdXNlbF9fbWV0YS1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBwdXQgaWNvbiBvbiByaWdodCB3aXRob3V0IGV4dGVuZHNcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1jYXJvdXNlbF9fbWV0YS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICB9XG5cbiAgLmVjbC1jYXJvdXNlbF9fbWV0YS1zbGlkZSB7XG4gICAgb3JkZXI6IC0xO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX2ltYWdlLWNvcHlyaWdodCB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHhzJyk7XG4gIH1cblxuICAvKiBTaG93IGluZm9ybWF0aW9uIGluIGEgc2ltaWxhciBmbG93IGFzIGlmIHRoZXJlIHdlcmUganMuICovXG4gIC5uby1qcyB7XG4gICAgLmVjbC1jYXJvdXNlbF9fbGlzdC13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93LXg6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmVjbC1jYXJvdXNlbF9fbGlzdCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5lY2wtY2Fyb3VzZWxfX2l0ZW0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuZWNsLWNhcm91c2VsX19pbWFnZS1pbmZvcm1hdGlvbiB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgfVxuXG4gICAgLmVjbC1jYXJvdXNlbF9fbGl2ZS1yZWdpb24ge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVDTCBaLWluZGV4XG5cbiRlY2wtei1pbmRleDogKFxuICBhdXRvOiBhdXRvLFxuICB6ZXJvOiAwLFxuICBoaWdobGlnaHQ6IDEsXG4gIG5hdmlnYXRpb246IDEwLFxuICBkcm9wZG93bjogMTUsXG4gIG1vZGFsOiAyMCxcbiAgbWF4OiA5OTk5XG4pICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBDb21tZW50cyBjb21wb25lbnRcbiAqIEBkZWZpbmUgY29tbWVudFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWNvbW1lbnQvZ2VuZXJpYy1jb21wb25lbnQtY29tbWVudCc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKFxuICAoXG4gICAgJ2VjLXN0eWxlLWltYWdlJyxcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nJyxcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgnLFxuICAgICdlYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QnXG4gIClcbik7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtY29tbWVudCcpIHtcbiAgQGluY2x1ZGUgZWNsLWNvbW1lbnQoKTtcbn1cbiIsIi8qKlxuICogQ29tbWVudHMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGNvbW1lbnRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1jb21tZW50KCkge1xuICAuZWNsLWNvbW1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1jb21tZW50X19pbWFnZS13cmFwcGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1jb21tZW50X19pbWFnZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDFweDtcbiAgfVxuXG4gIC5lY2wtY29tbWVudF9fYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtY29tbWVudF9fYm9keTo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0je21hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKX07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtY29tbWVudF9fbWV0YSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgfVxuXG4gIC5lY2wtY29tbWVudF9fdGl0bGUge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG4gIH1cblxuICAuZWNsLWNvbW1lbnRfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgfVxufVxuIiwiLypcbiAqIENvbnRleHQgbmF2aWdhdGlvblxuICogQGRlZmluZSBjb250ZXh0LW5hdlxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWNvbnRleHQtbmF2L2dlbmVyaWMtY29tcG9uZW50LWNvbnRleHQtbmF2JztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtYnV0dG9uJywgJ2VjLWNvbXBvbmVudC1saW5rJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWNvbnRleHQtbmF2Jykge1xuICBAaW5jbHVkZSBlY2wtY29udGV4dC1uYXYoKTtcbn1cbiIsIi8qXG4gKiBDb250ZXh0IG5hdmlnYXRpb25cbiAqIEBkZWZpbmUgY29udGV4dC1uYXZcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1jb250ZXh0LW5hdigpIHtcbiAgLmVjbC1jb250ZXh0LW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1jb250ZXh0LW5hdl9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICB9XG5cbiAgLmVjbC1jb250ZXh0LW5hdl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5lY2wtY29udGV4dC1uYXZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgICAgY29udGVudDogJ3wnO1xuICAgICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWNvbnRleHQtbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZWNsLWNvbnRleHQtbmF2X19idXR0b24ge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1jb250ZXh0LW5hdl9faXRlbS0tb3Zlci1saW1pdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5uby1qcyB7XG4gICAgLmVjbC1jb250ZXh0LW5hdl9faXRlbS0tb3Zlci1saW1pdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmVjbC1jb250ZXh0LW5hdl9fbW9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5lY2wtY29udGV4dC1uYXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAuZWNsLWNvbnRleHQtbmF2X19sYWJlbCB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4qIERhdGVwaWNrZXIgc3R5bGVzIGJhc2VkIG9uIFBpa2FkYXkuXG4qIEBkZWZpbmUgZGF0ZXBpY2tlclxuKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZGF0ZXBpY2tlci9nZW5lcmljLWNvbXBvbmVudC1kYXRlcGlja2VyJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1zdHlsZS1pY29uJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWRhdGVwaWNrZXInKSB7XG4gIEBpbmNsdWRlIGVjbC1kYXRlcGlja2VyKCk7XG59XG4iLCIvKlxuKiBEYXRlcGlja2VyIHN0eWxlcyBiYXNlZCBvbiBQaWthZGF5LlxuKiBAZGVmaW5lIGRhdGVwaWNrZXJcbiovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWRhdGVwaWNrZXIoXG4gICRjb2xvci1zZWxlY3Q6ICM0ZjRmNGYsXG4gICRjb2xvci1zZWxlY3Qtc2VwYXJhdG9yOiAjOWY5ZjlmLFxuICAkdGV4dC1jb2xvcjogIzMzMyxcbiAgJHRpdGxlLWJnOiAjNDA0MDQwLFxuICAkdGl0bGUtY29sb3I6ICM0MDQwNDAsXG4gICRhcnJvdy1zaXplOiA1MHB4LFxuICAkcGlja2VyLWJnOiAjZWFlYWVhLFxuICAkZGF5LWJnOiAjZjVmNWY1LFxuICAkZGF5LXNlbGVjdGVkLWJnOiAjZmZkNjE3LFxuICAkZGF5LWRpc2FibGVkLWNvbG9yOiAjOTk5LFxuICAkd2Vlay1jb2xvcjogIzk5OVxuKSB7XG4gIC8vIFBvc2l0aW9uaW5nIHRoZSBjYWxlbmRhciBpY29uLlxuICAuZWNsLWRhdGVwaWNrZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19pY29uIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgICAgLy8gRm9yIHRoZSBpY29uIGRvZXMgbm90IGludGVyZmVyZSB3aXRoIHRoZSBjbGlja2FibGUgYXJlYS5cbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDAuN2VtO1xuICAgICAgdG9wOiAwLjZlbTtcbiAgICB9XG4gIH1cblxuICAvKiBTcGFjaW5nICovXG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAqICsgLmVjbC1kYXRlcGlja2VyIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLWRhdGVwaWNrZXItcGlrYShcbiAgICAkY29sb3Itc2VsZWN0LFxuICAgICRjb2xvci1zZWxlY3Qtc2VwYXJhdG9yLFxuICAgICR0ZXh0LWNvbG9yLFxuICAgICR0aXRsZS1iZyxcbiAgICAkdGl0bGUtY29sb3IsXG4gICAgJGFycm93LXNpemUsXG4gICAgJHBpY2tlci1iZyxcbiAgICAkZGF5LWJnLFxuICAgICRkYXktc2VsZWN0ZWQtYmcsXG4gICAgJGRheS1kaXNhYmxlZC1jb2xvcixcbiAgICAkd2Vlay1jb2xvclxuICApO1xufVxuXG4vKlxuICogQGRlZmluZSBwaWthLXRoZW1lIDsgd2Vha1xuICovXG5AbWl4aW4gZWNsLWRhdGVwaWNrZXItcGlrYShcbiAgJGNvbG9yLXNlbGVjdCxcbiAgJGNvbG9yLXNlbGVjdC1zZXBhcmF0b3IsXG4gICR0ZXh0LWNvbG9yLFxuICAkdGl0bGUtYmcsXG4gICR0aXRsZS1jb2xvcixcbiAgJGFycm93LXNpemUsXG4gICRwaWNrZXItYmcsXG4gICRkYXktYmcsXG4gICRkYXktc2VsZWN0ZWQtYmcsXG4gICRkYXktZGlzYWJsZWQtY29sb3IsXG4gICR3ZWVrLWNvbG9yXG4pIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGggKi9cbiAgLmVjbC1waWthLXRoZW1lIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGlja2VyLWJnO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdtb2RhbCcpO1xuICAgIHpvb206IDE7XG5cbiAgICAvKiBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZSAqL1xuICAgICYuaXMtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogcG9zdGNzcy1iZW0tbGludGVyOiBpZ25vcmUgKi9cbiAgICAmLmlzLWJvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAvLyBjbGVhciBjaGlsZCBmbG9hdCAocGlrYS1sZW5kYXIpLCB1c2luZyB0aGUgZmFtb3VzIG1pY3JvIGNsZWFyZml4IGhhY2tcbiAgICAvLyBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnBpa2EtdGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRpdGxlLWJnO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucGlrYS1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGl0bGUtYmc7XG4gICAgICBjb2xvcjogJHRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5waWthLWxhYmVsIHNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBlY2wtZm9ybS1jb250cm9sKCk7XG4gICAgICBAaW5jbHVkZSBlY2wtZm9jdXMtb3V0bGluZS1ib3JkZXIoXG4gICAgICAgIDNweCxcbiAgICAgICAgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKSxcbiAgICAgICAgLTNweCxcbiAgICAgICAgbm9uZVxuICAgICAgKTtcblxuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWxlY3Q7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ21vZGFsJykgLSAxO1xuXG4gICAgICAvLyBGaXggZm9yIElFIDEwKy5cbiAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdoaWdobGlnaHQnKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgbGVmdCBzZWxlY3QgdG8gdGhlIGxlZnQuXG4gICAgLnBpa2EtbGFiZWw6bnRoLWNoaWxkKDEpIHNlbGVjdCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3Itc2VsZWN0LXNlcGFyYXRvcjtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gVGhlIHJpZ2h0IHNlbGVjdCB0byB0aGUgcmlnaHQuXG4gICAgLnBpa2EtbGFiZWw6bnRoLWNoaWxkKDIpIHNlbGVjdCB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAucGlrYS1wcmV2LFxuICAgIC5waWthLW5leHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAkdGl0bGUtYmc7IC8vIGhpZGUgdGV4dFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd2lkdGg6ICRhcnJvdy1zaXplO1xuICAgIH1cblxuICAgIC5waWthLXByZXYge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbigncmlnaHQnKTtcblxuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBpa2EtbmV4dCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICByaWdodDogMDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3JpZ2h0Jyk7XG5cbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGlrYS1wcmV2OmhvdmVyLFxuICAgIC5waWthLW5leHQ6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAucGlrYS1wcmV2LmlzLWRpc2FibGVkLFxuICAgIC5waWthLW5leHQuaXMtZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC5pcy1ydGwgLnBpa2EtcHJldiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICByaWdodDogMDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3JpZ2h0Jyk7XG5cbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtcnRsIC5waWthLW5leHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbigncmlnaHQnKTtcblxuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBpa2Etc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAucGlrYS10YWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBhYmJyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgY3Vyc29yOiBoZWxwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBpa2EtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXktYmc7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgICBtYXJnaW46IDFweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5pcy1zZWxlY3Rpb24tZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy10b2RheSAucGlrYS1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogJGRheS1zZWxlY3RlZC1iZztcbiAgICB9XG5cbiAgICAuaXMtc2VsZWN0ZWQgLnBpa2EtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXktc2VsZWN0ZWQtYmc7XG4gICAgfVxuXG4gICAgLmlzLWRpc2FibGVkIC5waWthLWJ1dHRvbixcbiAgICAuaXMtb3V0c2lkZS1jdXJyZW50LW1vbnRoIC5waWthLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogJGRheS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG5cbiAgICAuaXMtZGlzYWJsZWQgLnBpa2EtYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5waWthLXdlZWsge1xuICAgICAgY29sb3I6ICR3ZWVrLWNvbG9yO1xuICAgIH1cblxuICAgIC5pcy1pbnJhbmdlIC5waWthLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCh4cykge1xuICAgIC5lY2wtcGlrYS10aGVtZSB7XG4gICAgICAucGlrYS1sZW5kYXIsXG4gICAgICAucGlrYS1zaW5nbGUsXG4gICAgICAucGlrYS10YWJsZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGVjbC1mb3JtLWNvbnRyb2woKSB7XG4gIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcbiAgQGluY2x1ZGUgZWNsLWZvY3VzLW91dGxpbmUtYm9yZGVyKFxuICAgIDNweCxcbiAgICBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpLFxuICAgIDAsXG4gICAgbm9uZVxuICApO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRlY2wtY29sb3Itc2hhZGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gIG1hcmdpbi1ib3R0b206IDEuMWVtO1xuICBtaW4taGVpZ2h0OiAyLjc1cmVtO1xuXG4gICYuaGFzLWVycm9yIHtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBwYWRkaW5nOiA1cHggMTFweDtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlLlxuICAmOmZvY3VzLFxuICAmLmlzLWZvY3VzZWQsXG4gIC5oYXMtZXJyb3IgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8vIERpc2FibGVkIG1vZGlmaWVyLlxuICAmLmlzLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICB9XG5cbiAgJi5zZWxlY3Qge1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG59XG4iLCIvKipcbiAqIERpYWxvZ1xuICogQGRlZmluZSBkaWFsb2dcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1kaWFsb2cvZ2VuZXJpYy1jb21wb25lbnQtZGlhbG9nJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcnLCAnZWMtY29tcG9uZW50LW1lc3NhZ2UnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZGlhbG9nJykge1xuICBAaW5jbHVkZSBlY2wtZGlhbG9nKCk7XG59XG4iLCIvKipcbiAqIERpYWxvZ1xuICogQGRlZmluZSBkaWFsb2dcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1kaWFsb2coKSB7XG4gIC5lY2wtZGlhbG9nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdtb2RhbCcpO1xuICB9XG5cbiAgLmVjbC1kaWFsb2ctLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5lY2wtZGlhbG9nW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZWNsLWRpYWxvZ19fYm9keSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC5lY2wtZGlhbG9nX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ21vZGFsJykgLSAxO1xuICB9XG5cbiAgLmVjbC1kaWFsb2dfX292ZXJsYXlbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5lY2wtZGlhbG9nX19vdmVybGF5LS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRlY2wtY29sb3ItcHJpbWFyeSwgMC45NSk7XG4gIH1cblxuICAuZWNsLWRpYWxvZy0td2lkZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAuZWNsLWRpYWxvZy0td2lkZSAuZWNsLWRpYWxvZ19fYm9keSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLWRpYWxvZ19fZGlzbWlzcyB7XG4gICAgQGluY2x1ZGUgZWNsLWZvY3VzLW91dGxpbmUtYm9yZGVyKFxuICAgICAgJHRoaWNrbmVzOiAzcHgsXG4gICAgICAkY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyksXG4gICAgICAkb2Zmc2V0OiAzcHhcbiAgICApO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9jbG9zZS5zdmcnKSBuby1yZXBlYXRcbiAgICAgIGNlbnRlciBjZW50ZXI7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eGwnKTtcbiAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ2wnKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL2Nsb3NlX2hvdmVyLnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZGlhbG9nX19kaXNtaXNzLS1pbnZlcnRlZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg4OWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29udGVudDogJ1xcMDBENyc7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgd2lkdGg6IDEuNWVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWRpYWxvZ19fdGl0bGUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ2wnKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJykgMDtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgnc20nKSB7XG4gICAgLmVjbC1kaWFsb2cge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuZWNsLWRpYWxvZy0td2lkZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEVDTCBMaW5rIGJsb2Nrc1xuICogQGRlZmluZSBsaW5rLWJsb2NrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGluay1ibG9jay9nZW5lcmljLWNvbXBvbmVudC1saW5rLWJsb2NrJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtbGluaycpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1saW5rLWJsb2NrJykge1xuICBAaW5jbHVkZSBlY2wtbGluay1ibG9jaygpO1xufVxuIiwiLyoqXG4gKiBFQ0wgTGluayBibG9ja3NcbiAqIEBkZWZpbmUgbGluay1ibG9ja1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWxpbmstYmxvY2soKSB7XG4gIC5lY2wtbGluay1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSAwO1xuICB9XG5cbiAgLmVjbC1saW5rLWJsb2NrX190aXRsZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTExMCcpO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJylcbiAgICAgIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gIH1cblxuICAuZWNsLWxpbmstYmxvY2tfX2xpc3Qge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZWNsLWxpbmstYmxvY2tfX2l0ZW0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZWNsLWxpbmstYmxvY2tfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIHBhZGRpbmc6IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cbn1cbiIsIi8qKlxuICogRUNMIERyb3Bkb3duc1xuICogQGRlZmluZSBkcm9wZG93blxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWRyb3Bkb3duL2dlbmVyaWMtY29tcG9uZW50LWRyb3Bkb3duJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtYnV0dG9uJywgJ2VjLWNvbXBvbmVudC1saW5rLWJsb2NrJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWRyb3Bkb3duJykge1xuICBAaW5jbHVkZSBlY2wtZHJvcGRvd24oKTtcbn1cbiIsIi8qKlxuICogRUNMIERyb3Bkb3duc1xuICogQGRlZmluZSBkcm9wZG93blxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWRyb3Bkb3duKCkge1xuICAuZWNsLWRyb3Bkb3duIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gY29sbGFwc2VkL29wZW4gcGFydCBvZiB0aGUgZHJvcGRvd25cbiAgLmVjbC1kcm9wZG93bl9fYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2MgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IG1hcC1nZXQoJGVjbC16LWluZGV4LCAnZHJvcGRvd24nKTtcbiAgfVxuXG4gIC5lY2wtZHJvcGRvd25fX2JvZHlbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBFQ0wgRXhwYW5kYWJsZVxuICogQGRlZmluZSBleHBhbmRhYmxlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZXhwYW5kYWJsZS9nZW5lcmljLWNvbXBvbmVudC1leHBhbmRhYmxlJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1leHBhbmRhYmxlJykge1xuICBAaW5jbHVkZSBlY2wtZXhwYW5kYWJsZSgpO1xufVxuIiwiLyoqXG4gKiBFQ0wgRXhwYW5kYWJsZVxuICogQGRlZmluZSBleHBhbmRhYmxlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZXhwYW5kYWJsZSgpIHtcbiAgLmVjbC1leHBhbmRhYmxlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLWV4cGFuZGFibGVfX2J1dHRvbiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1idXR0b24tLWNhcmV0KCk7XG4gICAgfVxuXG4gICAgJlthcmlhLWV4cGFuZGVkPSdmYWxzZSddOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbignZG93bicpO1xuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbigndXAnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRmVhdHVyZWQgaXRlbSBjb21wb25lbnRcbiAqIEBkZWZpbmUgZmVhdHVyZWQtaXRlbVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZlYXR1cmVkLWl0ZW0vZ2VuZXJpYy1jb21wb25lbnQtZmVhdHVyZWQtaXRlbSc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZmVhdHVyZWQtaXRlbScpIHtcbiAgQGluY2x1ZGUgZWNsLWZlYXR1cmVkLWl0ZW0oKTtcbn1cbiIsIi8qKlxuICogRmVhdHVyZWQgaXRlbSBjb21wb25lbnRcbiAqIEBkZWZpbmUgZmVhdHVyZWQtaXRlbVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWZlYXR1cmVkLWl0ZW0oKSB7XG4gIC5lY2wtZmVhdHVyZWQtaXRlbSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1mZWF0dXJlZC1pdGVtX19pbWFnZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtZmVhdHVyZWQtaXRlbV9fdGl0bGUge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ2wnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtZmVhdHVyZWQtaXRlbS0tZXh0ZW5kZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgc29saWQgJGVjbC1jb2xvci1zZWNvbmRhcnk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG5cbiAgLy8gRGVza3RvcCBkaXNwbGF5XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgLmVjbC1mZWF0dXJlZC1pdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLmVjbC1mZWF0dXJlZC1pdGVtX19pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgICB3aWR0aDogNDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBGaWxlXG4gKiBAZGVmaW5lIGZpbGVcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1maWxlL2dlbmVyaWMtY29tcG9uZW50LWZpbGUnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKCdlYy1zdHlsZS1pY29uJywgJ2VjLWNvbXBvbmVudC1idXR0b24nLCAnZWMtY29tcG9uZW50LWxpbmsnKVxuKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1maWxlJykge1xuICBAaW5jbHVkZSBlY2wtZmlsZSgpO1xufVxuIiwiLyoqXG4gKiBGaWxlXG4gKiBAZGVmaW5lIGZpbGVcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgbWl4aW5cbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtaWNvbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLWljb24vbWl4aW5zJztcblxuJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtbGluZS1oZWlnaHQ6IDEuMztcbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLXRpdGxlLWxpbmUtaGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1saW5lLWhlaWdodDtcbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLXRpdGxlLWZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLWluZm8tbGluZS1oZWlnaHQ6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLWxpbmUtaGVpZ2h0O1xuJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1mb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1tYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLXRpdGxlLWhlaWdodDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtdGl0bGUtbGluZS1oZWlnaHQgKlxuICAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1mb250LXNpemU7XG4kZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLWhlaWdodDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1saW5lLWhlaWdodCAqXG4gICRnZW5lcmljLWNvbXBvbmVudC1maWxlLWluZm8tZm9udC1zaXplO1xuJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtbWV0YWRhdGEtaGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1oZWlnaHQgK1xuICAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLWhlaWdodCArICRnZW5lcmljLWNvbXBvbmVudC1maWxlLWluZm8tbWFyZ2luLXRvcDtcblxuQG1peGluIGVjbC1maWxlKFxuICAkbGluZS1oZWlnaHQ6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLWxpbmUtaGVpZ2h0LFxuICAkdGl0bGUtbGluZS1oZWlnaHQ6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLXRpdGxlLWxpbmUtaGVpZ2h0LFxuICAkdGl0bGUtZm9udC1zaXplOiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1mb250LXNpemUsXG4gICRpbmZvLWxpbmUtaGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLWxpbmUtaGVpZ2h0LFxuICAkaW5mby1mb250LXNpemU6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLWluZm8tZm9udC1zaXplLFxuICAkaW5mby1tYXJnaW4tdG9wOiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLW1hcmdpbi10b3AsXG4gICRpY29uLXBhZGRpbmctdG9wOiAwLjJyZW0sXG4gICRpY29uLXBhZGRpbmctYm90dG9tOiAwLjFyZW0sXG4gICR0aXRsZS1oZWlnaHQ6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLXRpdGxlLWhlaWdodCxcbiAgJGluZm8taGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLWhlaWdodCxcbiAgJG1ldGFkYXRhLWhlaWdodDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtbWV0YWRhdGEtaGVpZ2h0XG4pIHtcbiAgLy8gRGVmYXVsdCBkaXNwbGF5XG4gIC5lY2wtZmlsZSB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1maWxlX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMCcpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICB9XG5cbiAgLmVjbC1maWxlX19pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGljb24tcGFkZGluZy1ib3R0b207XG4gICAgcGFkZGluZy10b3A6ICRpY29uLXBhZGRpbmctdG9wO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgICAgZm9udC1zaXplOiAkbWV0YWRhdGEtaGVpZ2h0IC0gJGljb24tcGFkZGluZy10b3AgLSAkaWNvbi1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWZpbGVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6ICR0aXRsZS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6ICR0aXRsZS1saW5lLWhlaWdodDtcbiAgfVxuXG4gIC5lY2wtZmlsZV9faW5mbyB7XG4gICAgZm9udC1zaXplOiAkaW5mby1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAkaW5mby1tYXJnaW4tdG9wO1xuICB9XG5cbiAgLmVjbC1maWxlX19sYW5ndWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmVjbC1maWxlX19wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZWNsLWZpbGVfX2Rvd25sb2FkIHtcbiAgICBtYXJnaW46IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpIGF1dG8gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcblxuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ2Rvd25sb2FkJyk7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZWNsLWZpbGVfX2Rvd25sb2FkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gV2l0aCB0cmFuc2xhdGlvbnNcblxuICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucy10b2dnbGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucy10b2dnbGVbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdkb3duJyk7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucy10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcblxuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3VwJyk7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucy1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtaXRlbSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZmlsZV9fdHJhbnNsYXRpb25zLW1ldGFkYXRhIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucy10aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtaW5mbyB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtZG93bmxvYWQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcblxuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ2Rvd25sb2FkJyk7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucy1pdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtZG93bmxvYWQge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBMaW5rIGZpbGVcbiAgLmVjbC1maWxlX19saW5rLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTE1Jyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgMDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWZpbGVfX2xpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAuZWNsLWZpbGVfX2ljb24ge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLypcbiAgICAgIFVnbHkgaGFja3M6IHNldCBpY29ucycgc2l6ZSBtYW51YWxseVxuICAgICAqL1xuXG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xuICAgICAgfVxuXG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICYuZWNsLWljb24tLXNsaWRlczo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICB9XG5cbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgJi5lY2wtaWNvbi0taW1hZ2U6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lY2wtZmlsZV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gIC5lY2wtZmlsZV9fbGluay5lY2wtbGluay0tZXh0ZXJuYWw6OmFmdGVyLFxuICAuZWNsLWZpbGVfX3R5cGUge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC8vIEltYWdlIGFuZCB2aWRlbyBmaWxlXG4gIC5lY2wtZmlsZV9faW1hZ2UsXG4gIC5lY2wtZmlsZV9fdmlkZW8ge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtZmlsZV9fY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBbY2xhc3NePSdlY2wtdS1yYXRpbyddIGlmcmFtZS5lY2wtZmlsZV9fdmlkZW8sXG4gIFtjbGFzcyo9JyBlY2wtdS1yYXRpbyddIGlmcmFtZS5lY2wtZmlsZV9fdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8qKlxuICogRm9vdGVycyBjb21wb25lbnRcbiAqIEBkZWZpbmUgZm9vdGVyXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9vdGVyL2dlbmVyaWMtY29tcG9uZW50LWZvb3Rlcic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKFxuICAoXG4gICAgJ2VjLWxheW91dC1ncmlkJyxcbiAgICAnZWMtY29tcG9uZW50LWxpbmsnLFxuICAgICdlYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QnLFxuICAgICdlYy1zdHlsZS1pY29uJ1xuICApXG4pO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvb3RlcicpIHtcbiAgQGluY2x1ZGUgZWNsLWZvb3RlcigpO1xuXG4gIC5lY2wtZm9vdGVyX19jdXN0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTI1Jyk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEyMCcpO1xuXG4gICAgLy8gTGlua3Mgc2hvdWxkIGhhdmUgYSBkaWZmZXJlbnQgY29sb3IgYmVjYXVzZSBvZiB0aGVpciBiYWNrZ3JvdW5kLlxuICAgIC5lY2wtZm9vdGVyX19saW5rIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKTtcbiAgICB9XG5cbiAgICAuZWNsLWZvb3Rlcl9fbGluazpob3ZlcixcbiAgICAuZWNsLWZvb3Rlcl9fbGluazphY3RpdmUsXG4gICAgLmVjbC1mb290ZXJfX2xpbms6Zm9jdXMge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEyMCcpO1xuICAgIH1cblxuICAgIC5lY2wtZm9vdGVyX19jb2x1bW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgfVxuXG4gICAgLmVjbC1mb290ZXJfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19jb3Jwb3JhdGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLmVjbC1mb290ZXJfX2NvcnBvcmF0ZS10b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1Jyk7XG4gIH1cblxuICAuZWNsLWZvb3Rlcl9fY29ycG9yYXRlLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG4gIH1cblxuICAuZWNsLWZvb3Rlcl9fY29sdW1uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtNTAnKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG5cbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCdtZCcsICdsZycpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIE1ha2UgdGl0bGVzIGhlaWdodCBhdXRvIG9uIGxhcmdlIHNjcmVlbnMuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19jdXN0b20tdGl0bGUtaWRlbnRpdHkge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEyMCcpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgLmVjbC1mb290ZXJfX2NvbHVtbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgfVxuXG4gICAgLy8gU3BlY2lmaWNzIGZvciB0aGlzIHR5cGUgb2YgZm9vdGVyIHdoZW4gbm9uLW1vYmlsZVxuICAgIC5lY2wtZm9vdGVyX19jdXN0b20ge1xuICAgICAgLmVjbC1mb290ZXJfX2NvbHVtbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIH1cblxuICAgICAgLmVjbC1mb290ZXJfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lY2wtZm9vdGVyX19saW5rIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEZvb3RlcnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGZvb3RlclxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBtaXhpblxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1mb290ZXIoKSB7XG4gIC5lY2wtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qIExpc3QgaGFja3MgKi9cblxuICAuZWNsLWZvb3Rlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTsgLy8gc3BlY2lmaWMgdG8gdGhlIGZvb3RlclxuICB9XG5cbiAgLmVjbC1mb290ZXJfX2xpc3QtLWlubGluZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgLmVjbC1mb290ZXJfX2xpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIH1cblxuICAgIC5lY2wtZm9vdGVyX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLyogRW5kIG9mOiBMaXN0IGhhY2tzICovXG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gIC5lY2wtZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19jb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICB9XG5cbiAgLmVjbC1mb290ZXJfX3NwYWNlZC1jb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hsJyk7XG4gIH1cblxuICAuZWNsLWZvb3Rlcl9fc3BhY2VkLWNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpO1xuICB9XG5cbiAgLmVjbC1mb290ZXJfX2N1c3RvbS1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmVjbC1mb290ZXJfX2NvbHVtbi10aXRsZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIEZvb3RlcnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGZvb3Rlci1zdGFuZGFyZGlzZWRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKFxuICAgICdlYy1sYXlvdXQtZ3JpZCcsXG4gICAgJ2VjLWNvbXBvbmVudC1saW5rJyxcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0JyxcbiAgICAnZWMtc3R5bGUtaWNvbidcbiAgKVxuKTtcblxuQG1peGluIGVjbC1mb290ZXItc3RhbmRhcmRpc2VkKCkge1xuICAuZWNsLWZvb3Rlci1zdGFuZGFyZGlzZWQge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEwMCcpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKSAwO1xuICB9XG5cbiAgLmVjbC1mb290ZXItc3RhbmRhcmRpc2VkX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAzMmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLWZvb3Rlci1zdGFuZGFyZGlzZWRfX3RpdGxlLS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTUwJyk7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyLXN0YW5kYXJkaXNlZF9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAzMmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLWZvb3Rlci1zdGFuZGFyZGlzZWRfX2ljb246OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICB9XG5cbiAgLmVjbC1mb290ZXItc3RhbmRhcmRpc2VkX19saXN0LWl0ZW0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAzMmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLWZvb3Rlci1zdGFuZGFyZGlzZWRfX2xpc3QtaW5saW5lIHtcbiAgICAuZWNsLWZvb3Rlci1zdGFuZGFyZGlzZWRfX2xpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgfVxuXG4gICAgLmVjbC1mb290ZXItc3RhbmRhcmRpc2VkX19saXN0LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1mb290ZXItc3RhbmRhcmRpc2VkX19saXN0LXZlcnRpY2FsXG4gICAgLmVjbC1mb290ZXItc3RhbmRhcmRpc2VkX19saXN0LWl0ZW1cbiAgICArIC5lY2wtZm9vdGVyLXN0YW5kYXJkaXNlZF9fbGlzdC1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyLXN0YW5kYXJkaXNlZF9fbGlzdC12ZXJ0aWNhbC0tY29tcGFjdFxuICAgIC5lY2wtZm9vdGVyLXN0YW5kYXJkaXNlZF9fbGlzdC1pdGVtXG4gICAgKyAuZWNsLWZvb3Rlci1zdGFuZGFyZGlzZWRfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyLXN0YW5kYXJkaXNlZF9fYm9yZGVyZWQtcm93OjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS01MCcpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAxcmVtO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyLXN0YW5kYXJkaXNlZF9fYm9yZGVyZWQtcm93OjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTUwJyk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9vdGVyLXN0YW5kYXJkaXNlZCcpIHtcbiAgQGluY2x1ZGUgZWNsLWZvb3Rlci1zdGFuZGFyZGlzZWQoKTtcbn1cbiIsIi8qXG4gKiBMYW5ndWFnZSBzZWxlY3RvciAocGFnZSBsZXZlbClcbiAqIEBkZWZpbmUgbGFuZy1zZWxlY3QtcGFnZVxuICpcbiAqIE5vdGU6IGAuZWNsLWxhbmctc2VsZWN0LXBhZ2UtLWRyb3Bkb3duYCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkL3JlbW92ZWQgKEpTKVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWxhbmctc2VsZWN0LXBhZ2UvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZSc7XG5AaW1wb3J0ICdAZWNsL2VjLWNvbXBvbmVudC1mb3JtLXNlbGVjdC9lYy1jb21wb25lbnQtZm9ybS1zZWxlY3QnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLXN0eWxlLWljb24nLCAnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZScpIHtcbiAgQGluY2x1ZGUgZWNsLWxhbmctc2VsZWN0LXBhZ2UoKTtcbn1cbiIsIi8qXG4gKiBMYW5ndWFnZSBzZWxlY3RvciAocGFnZSBsZXZlbClcbiAqIEBkZWZpbmUgbGFuZy1zZWxlY3QtcGFnZVxuICpcbiAqIE5vdGU6IGAuZWNsLWxhbmctc2VsZWN0LXBhZ2UtLWRyb3Bkb3duYCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkL3JlbW92ZWQgKEpTKVxuICovXG5cbi8vIFRPRE86IFNXSVRDSCBlY2wtbGFuZy1zZWxlY3QtcGFnZS0tZHJvcGRvd24gd2l0aCBKU1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1zZWxlY3QvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1zZWxlY3QnO1xuXG5AbWl4aW4gZWNsLWxhbmctc2VsZWN0LXBhZ2UoKSB7XG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZSB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubm8tanMgJiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlX19pY29uIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneGwnKTtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZV9fdW5hdmFpbGFibGUge1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZV9fbGlzdCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm8td3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5lY2wtbGFuZy1zZWxlY3QtcGFnZS0tZHJvcGRvd24gJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm5vLWpzICYge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZV9fb3B0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXBhZ2VfX29wdGlvbi0taXMtc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXBhZ2VfX2Ryb3Bkb3duIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG4gICAgQGluY2x1ZGUgZWNsLXNlbGVjdC1saXN0LWFycm93KFxuICAgICAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgJGFycm93LWdyZXk6IHRydWVcbiAgICApO1xuXG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpXG4gICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgLy8gRml4IGZvciBJRSAxMCsuXG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5lY2wtbGFuZy1zZWxlY3QtcGFnZS0tZHJvcGRvd24gJiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2VmdWwgaW4gRmlyZWZveFxuICAuZWNsLWxhbmctc2VsZWN0LXBhZ2VfX2Ryb3Bkb3duLW9wdGlvbiB7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxuXG4gIC8qIFZhcmlhbnQgKi9cblxuICAuZWNsLWxhbmctc2VsZWN0LXBhZ2UtLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIC5lY2wtbGFuZy1zZWxlY3QtcGFnZV9fZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgZWNsLXNlbGVjdC1saXN0LWFycm93KFxuICAgICAgICAkYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTEwJyksXG4gICAgICAgICRhcnJvdy1ncmV5OiBmYWxzZVxuICAgICAgKTtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTEwJyk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogTGFuZ3VhZ2Ugc2VsZWN0IChTaXRlKVxuICogQGRlZmluZSBsYW5nLXNlbGVjdC1zaXRlc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWxhbmctc2VsZWN0LXNpdGUvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZSc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtaWNvbicpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1zaXRlJykge1xuICBAaW5jbHVkZSBlY2wtbGFuZy1zZWxlY3Qtc2l0ZSgpO1xufVxuIiwiLyoqXG4gKiBMYW5ndWFnZSBzZWxlY3QgKFNpdGUpXG4gKiBAZGVmaW5lIGxhbmctc2VsZWN0LXNpdGVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbGFuZy1zZWxlY3Qtc2l0ZSgkaWNvbi13aWR0aDogMS40cmVtKSB7XG4gIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXMge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19saW5rIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsIHMpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCB4eHMpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCB4cyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXNfX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgeWVsbG93LTEwMCk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXNfX2xhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCB4eHMpO1xuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1zaXRlc19fbGFiZWw6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1zaXRlc19fY29kZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAkaWNvbi13aWR0aDtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXNfX2NvZGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgeHhzKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19pY29uIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogJGljb24td2lkdGg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1zaXRlc19faWNvbjo6YmVmb3JlIHtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuIiwiLyoqXG4gKiBMYW5ndWFnZSBsaXN0IGNvbXBvbmVudFxuICogQGRlZmluZSBsYW5ndWFnZS1saXN0XG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdC9nZW5lcmljLWNvbXBvbmVudC1sYW5ndWFnZS1saXN0JztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoXG4gIChcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nJyxcbiAgICAnZWMtY29tcG9uZW50LWJ1dHRvbicsXG4gICAgJ2VjLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1zaXRlJ1xuICApXG4pO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWxhbmd1YWdlLWxpc3QnKSB7XG4gIEBpbmNsdWRlIGVjbC1sYW5ndWFnZS1saXN0KCk7XG59XG4iLCIvKipcbiAqIExhbmd1YWdlIGxpc3QgY29tcG9uZW50XG4gKiBAZGVmaW5lIGxhbmd1YWdlLWxpc3RcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1sYW5ndWFnZS1saXN0KCkge1xuICAuZWNsLWxhbmd1YWdlLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtbGFuZ3VhZ2UtbGlzdF9fd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKTtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpO1xuICB9XG5cbiAgLmVjbC1sYW5ndWFnZS1saXN0X19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1sYW5ndWFnZS1saXN0X19idXR0b24tLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1zZWNvbmRhcnk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuIiwiLyoqXG4gKiBsaXN0LWl0ZW1zXG4gKiBAZGVmaW5lIGxpc3QtaXRlbVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpc3QtaXRlbS9nZW5lcmljLWNvbXBvbmVudC1saXN0LWl0ZW0nO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKFxuICAgICdlYy1jb21wb25lbnQtbGluaycsXG4gICAgJ2VjLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZycsXG4gICAgJ2VjLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoJ1xuICApXG4pO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWxpc3QtaXRlbScpIHtcbiAgQGluY2x1ZGUgZWNsLWxpc3QtaXRlbSgpO1xufVxuIiwiLyoqXG4gKiBsaXN0LWl0ZW1zXG4gKiBAZGVmaW5lIGxpc3QtaXRlbTsgd2Vha1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWxpc3QtaXRlbSgpIHtcbiAgLmVjbC1saXN0LWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMCcpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLWxpc3QtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gIH1cblxuICAuZWNsLWxpc3QtaXRlbV9fYm9keSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtX19tZXRhIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNzUnKTtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtX19kZXRhaWwge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtX190aXRsZSB7XG4gICAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLWxpc3QtaXRlbS0taGlnaGxpZ2h0IC5lY2wtbGlzdC1pdGVtX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICAgIGhlaWdodDogMi4yZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtX19saW5rOmhvdmVyLFxuICAuZWNsLWxpc3QtaXRlbV9fbGluazpmb2N1cyB7XG4gICAgLmVjbC1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW1fX3ByaW1hcnkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIG1heC1oZWlnaHQ6IDUuNTVyZW07XG4gICAgbWF4LXdpZHRoOiA1LjU1cmVtO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gSGlnaGxpdGVkIGl0ZW1cbiAgLmVjbC1saXN0LWl0ZW0tLWhpZ2hsaWdodCAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtLS1oaWdobGlnaHQgLmVjbC1saXN0LWl0ZW1fX3ByaW1hcnkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW0tLWhpZ2hsaWdodCAuZWNsLWxpc3QtaXRlbV9fYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICB9XG5cbiAgLy8gQmxvY2sgaXRlbVxuICAuZWNsLWxpc3QtaXRlbS0tYmxvY2sge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZWNsLWxpc3QtaXRlbV9fZGV0YWlsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEwMCcpO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuZWNsLWxpc3QtaXRlbV9fbGluazpob3ZlcixcbiAgICAuZWNsLWxpc3QtaXRlbV9fbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAuZWNsLWxpc3QtaXRlbV9fbGluazpob3ZlciAuZWNsLWxpc3QtaXRlbV9fdGl0bGUsXG4gICAgLmVjbC1saXN0LWl0ZW1fX2xpbms6Zm9jdXMgLmVjbC1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4gICAgLmVjbC1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgaXRlbSwgYWRkIHRoZSBcIj5cIiBpY29uXG4gIC5lY2wtbGlzdC1pdGVtLS1ibG9jayAuZWNsLWxpc3QtaXRlbV9fdGl0bGU6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgICBAaW5jbHVkZSBlY2wtaWNvbigncmlnaHQnKTtcblxuICAgIHdpZHRoOiAxcmVtO1xuICB9XG5cbiAgLy8gTmF2aWdhdGlvbiBpdGVtXG4gIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4gIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbiAgLmVjbC1saXN0LWl0ZW0tLW5hdmlnYXRpb24gLmVjbC1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKSAwO1xuICB9XG4gIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uIC5lY2wtbGlzdC1pdGVtX19kZXRhaWwge1xuICAgIG1hcmdpbjogMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uIC5lY2wtbGlzdC1pdGVtX19saW5rOmhvdmVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMDAnKTtcblxuICAgIC5lY2wtbGlzdC1pdGVtX190aXRsZSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmVjbC1saXN0LWl0ZW0tLW5hdmlnYXRpb24gLmVjbC1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKSAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBFQ0wgTmF2aWdhdGlvbiBpbnBhZ2VcbiAqIEBkZWZpbmUgaW5wYWdlLW5hdmlnYXRpb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1pbnBhZ2UtbmF2aWdhdGlvbi9nZW5lcmljLWNvbXBvbmVudC1pbnBhZ2UtbmF2aWdhdGlvbic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbnBhZ2UtbmF2aWdhdGlvbicpIHtcbiAgQGluY2x1ZGUgZWNsLWlucGFnZS1uYXZpZ2F0aW9uKCk7XG59XG4iLCIvKipcbiAqIEVDTCBOYXZpZ2F0aW9uIGlucGFnZVxuICogQGRlZmluZSBpbnBhZ2UtbmF2aWdhdGlvblxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLWljb24vdmFyaWFibGVzJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL21peGlucyc7XG5cbi8vIFRyaWdnZXJcbiRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1mb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItbGluZS1oZWlnaHQ6IDE7XG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItcGFkZGluZy1ob3Jpem9udGFsOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1wYWRkaW5nLXZlcnRpY2FsOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1jYXJldC13aWR0aDogJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLXBhZGRpbmctdmVydGljYWwgKlxuICAyICsgJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLWxpbmUtaGVpZ2h0ICpcbiAgJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLWZvbnQtc2l6ZTtcblxuLy8gTGlua1xuJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1saW5rLWZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiRlY2wtaW5wYWdlLW5hdmlnYXRpb24tbGluay1saW5lLWhlaWdodDogMS42MjU7XG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstaGVpZ2h0OiAyLjVyZW07XG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstcGFkZGluZy12ZXJ0aWNhbDogKFxuICAgICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tbGluay1oZWlnaHQgLSAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstbGluZS1oZWlnaHQgKlxuICAgICAgJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1saW5rLWZvbnQtc2l6ZVxuICApIC8gMjtcblxuQG1peGluIGVjbC1pbnBhZ2UtbmF2aWdhdGlvbigpIHtcbiAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1saW5lLWhlaWdodDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLWNhcmV0LXdpZHRoICtcbiAgICAgICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy10b3A6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdhcnJvdy1kb3duJyk7XG5cbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMTAnKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eHhzJyk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1jYXJldC13aWR0aDtcbiAgICB9XG4gIH1cblxuICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX190aXRsZSB7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saXN0W2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBmb250LXNpemU6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tbGluay1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tbGluay1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstcGFkZGluZy12ZXJ0aWNhbCAwO1xuICB9XG5cbiAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbi0tdmlzaWJsZSB7XG4gICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fdHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtZG93bignc20nKSB7XG4gICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbi0tdmlzaWJsZSB7XG4gICAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19ib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTEwJyk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuXG4gICAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbiB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX3RpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpc3RbYXJpYS1oaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fbGluay0taXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb24tLXZpc2libGUge1xuICAgICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fdHJpZ2dlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEVDTCBQYWdlclxuICogQGRlZmluZSBwYWdlclxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXBhZ2VyL2dlbmVyaWMtY29tcG9uZW50LXBhZ2VyJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1wYWdlcicpIHtcbiAgQGluY2x1ZGUgZWNsLXBhZ2VyKCk7XG59XG4iLCIvKipcbiAqIEVDTCBQYWdlclxuICogQGRlZmluZSBwYWdlclxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXBhZ2VyKCkge1xuICAuZWNsLXBhZ2VyIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzAwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmVjbC1wYWdlcl9fbGlzdCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1wYWdlcl9faXRlbSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgfVxuXG4gIC5lY2wtcGFnZXJfX2xpbmsge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMDAnKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtaW4td2lkdGg6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXBhZ2VyX19pdGVtLS1wcmV2aW91cyxcbiAgLmVjbC1wYWdlcl9faXRlbS0tbmV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuZWNsLXBhZ2VyX19saW5rIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1wYWdlcl9faXRlbS0tZWxsaXBzaXMge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1pbi13aWR0aDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gIH1cblxuICAuZWNsLXBhZ2VyX19pdGVtLS1jdXJyZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1pbi13aWR0aDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZWNsLXBhZ2VyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5lY2wtcGFnZXJfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmVjbC1wYWdlcl9faXRlbS0tY3VycmVudCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cblxuICAgIC5lY2wtcGFnZXJfX2l0ZW0tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBCbG9ja3F1b3Rlc1xuICogQGRlZmluZSByc3MtbGlua1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXJzcy1saW5rL2dlbmVyaWMtY29tcG9uZW50LXJzcy1saW5rJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtc29jaWFsLWljb24nKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtcnNzLWxpbmsnKSB7XG4gIEBpbmNsdWRlIGVjbC1yc3MtbGluaygpO1xufVxuIiwiLyoqXG4gKiBSU1MgbGlua3NcbiAqIEBkZWZpbmUgcnNzLWxpbmtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1yc3MtbGluaygpIHtcbiAgLmVjbC1yc3MtbGluayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLXJzcy1saW5rX19sYWJlbCB7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4eHMnKSBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHhzJylcbiAgICAgIG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eHhzJykgMDtcbiAgfVxuXG4gIC5lY2wtcnNzLWxpbmtfX2xpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFNlYXJjaCBmb3JtXG4gKiBAZGVmaW5lIHNlYXJjaC1mb3JtXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc2VhcmNoLWZvcm0vZ2VuZXJpYy1jb21wb25lbnQtc2VhcmNoLWZvcm0nO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1mb3JtLXRleHQtaW5wdXQnLCAnZWMtY29tcG9uZW50LWJ1dHRvbicpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1zZWFyY2gtZm9ybScpIHtcbiAgQGluY2x1ZGUgZWNsLXNlYXJjaC1mb3JtKCk7XG59XG4iLCIvKipcbiAqIFNlYXJjaCBmb3JtXG4gKiBAZGVmaW5lIHNlYXJjaC1mb3JtXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtc2VhcmNoLWZvcm0oKSB7XG4gIC5lY2wtc2VhcmNoLWZvcm0ge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLXNlYXJjaC1mb3JtX190ZXh0ZmllbGQtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gS2VlcHMgdGhlIGZvY3VzIGluIHRoZSBjb250YWluZXJcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAuZWNsLXNlYXJjaC1mb3JtX190ZXh0ZmllbGQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG5cbiAgLmVjbC1zZWFyY2gtZm9ybV9fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYmVmb3JlKCk7XG5cbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdzZWFyY2gnKTtcblxuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5lY2wtc2VhcmNoLWZvcm1fX2J1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZWNsLXNlYXJjaC1mb3JtLS1pbnRlcm5hbCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5lY2wtc2VhcmNoLWZvcm1fX3RleHRmaWVsZC13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1iZWZvcmUoKTtcblxuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdzZWFyY2gnKTtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMjUnKTtcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVjbC1zZWFyY2gtZm9ybV9fdGV4dGZpZWxkIHtcbiAgICAgIC8vIH4gMSAqIGljb24ncyB3aWR0aCArIDEgKiBpY29uJ3MgbGVmdCBzcGFjZSArIDEgKiBzcGFjZSBiZXR3ZWVuIGljb24gYW5kIGlucHV0XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJykgKyAyICpcbiAgICAgICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogU2tpcCBsaW5rIGNvbXBvbmVudFxuICogQGRlZmluZSBza2lwLWxpbmtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1za2lwLWxpbmsvZ2VuZXJpYy1jb21wb25lbnQtc2tpcC1saW5rJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1za2lwLWxpbmsnKSB7XG4gIEBpbmNsdWRlIGVjbC1za2lwLWxpbmsoKTtcbn1cbiIsIi8qKlxuICogU2tpcCBsaW5rIGNvbXBvbmVudFxuICogQGRlZmluZSBza2lwLWxpbmtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1za2lwLWxpbmsoKSB7XG4gIC5lY2wtc2tpcC1saW5rX193cmFwcGVyIHtcbiAgICBsZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdtYXgnKTtcbiAgfVxuXG4gIC5lY2wtc2tpcC1saW5rIHtcbiAgICBAaW5jbHVkZSBlY2wtdS1zci1vbmx5KCk7XG4gICAgQGluY2x1ZGUgZWNsLXUtc3Itb25seS1mb2N1c2FibGUoKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1Jyk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3V0bGluZTogNHB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnRcbi8vIFNlZTogaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIGVjbC11LXNyLW9ubHkoKSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBlY2wtdS1zci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiIsIi8qKlxuICogU29jaWFsIG1lZGlhXG4gKiBAZGVmaW5lIHNvY2lhbC1tZWRpYS1saW5rXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc29jaWFsLW1lZGlhLWxpbmsvZ2VuZXJpYy1jb21wb25lbnQtc29jaWFsLW1lZGlhLWxpbmsnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1zb2NpYWwtaWNvbicpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1zb2NpYWwtbWVkaWEtbGluaycpIHtcbiAgQGluY2x1ZGUgZWNsLXNvY2lhbC1tZWRpYS1saW5rKCk7XG59XG4iLCIvKipcbiAqIFNvY2lhbCBtZWRpYVxuICogQGRlZmluZSBzb2NpYWwtbWVkaWEtbGlua1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXNvY2lhbC1tZWRpYS1saW5rKCkge1xuICAuZWNsLXNvY2lhbC1tZWRpYS1saW5rIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMCcpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1zb2NpYWwtbWVkaWEtbGlua19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zb2NpYWwtbWVkaWEtbGlua19fbGluayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IDJyZW07XG4gIH1cblxuICAvLyBIb3Jpem9udGFsXG4gIC5lY2wtc29jaWFsLW1lZGlhLWxpbmstLWhvcml6b250YWwge1xuICAgIC5lY2wtc29jaWFsLW1lZGlhLWxpbmtfX2xpc3Qge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5lY2wtc29jaWFsLW1lZGlhLWxpbmtfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIH1cblxuICAgIC5lY2wtc29jaWFsLW1lZGlhLWxpbmtfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFRpbWVsaW5lXG4gKiBAZGVmaW5lIHRpbWVsaW5lXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGltZWxpbmUvZ2VuZXJpYy1jb21wb25lbnQtdGltZWxpbmUnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZycsICdlYy1jb21wb25lbnQtYnV0dG9uJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXRpbWVsaW5lJykge1xuICBAaW5jbHVkZSBlY2wtdGltZWxpbmUoKTtcbn1cbiIsIi8qKlxuICogVGltZWxpbmVcbiAqIEBkZWZpbmUgdGltZWxpbmVcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC10aW1lbGluZSgkYnVsbGV0LXNpemU6IDE0cHgsICRib3JkZXItd2lkdGg6IDRweCkge1xuICAuZWNsLXRpbWVsaW5lIHtcbiAgICBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmVjbC10aW1lbGluZV9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJykgMCAwO1xuICB9XG5cbiAgLmVjbC10aW1lbGluZV9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gIH1cblxuICAuZWNsLXRpbWVsaW5lX19pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZWNsLXRpbWVsaW5lX19pdGVtLS1vdmVyLWxpbWl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLm5vLWpzICYge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtdGltZWxpbmVfX2J1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuXG4gICAgLm5vLWpzICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXRpbWVsaW5lX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMDAnKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogJGJ1bGxldC1zaXplO1xuICAgICAgbGVmdDogLSgoJGJ1bGxldC1zaXplICsgJGJvcmRlci13aWR0aCkgLyAyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6ICRidWxsZXQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXRpbWVsaW5lX19ib2R5IHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICB9XG59XG4iLCIvKipcbiAqIEFjY29yZGlvbnNcbiAqIEBkZWZpbmUgYWNjb3JkaW9uXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYWNjb3JkaW9uL2dlbmVyaWMtY29tcG9uZW50LWFjY29yZGlvbic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtaWNvbicpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1hY2NvcmRpb24nKSB7XG4gIEBpbmNsdWRlIGVjbC1hY2NvcmRpb24oKTtcbn1cbiIsIi8qKlxuICogQWNjb3JkaW9uc1xuICogQGRlZmluZSBhY2NvcmRpb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1hY2NvcmRpb24oKSB7XG4gIC5lY2wtYWNjb3JkaW9uIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLWFjY29yZGlvbl9faGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1hY2NvcmRpb25fX2hlYWRlci1pY29uIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAuZWNsLWFjY29yZGlvbl9faGVhZGVyOmFjdGl2ZSxcbiAgLmVjbC1hY2NvcmRpb25fX2hlYWRlcjpmb2N1cyxcbiAgLmVjbC1hY2NvcmRpb25fX2hlYWRlcjpob3ZlcixcbiAgLmVjbC1hY2NvcmRpb25fX2hlYWRlclthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3Itc2Vjb25kYXJ5O1xuICB9XG5cbiAgLmVjbC1hY2NvcmRpb25fX3BhbmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhsJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1hY2NvcmRpb25fX3BhbmVsW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8qKlxuKiBHYWxsZXJ5XG4qIEBkZWZpbmUgZ2FsbGVyeSA7IHdlYWtcbiovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWdhbGxlcnkvZ2VuZXJpYy1jb21wb25lbnQtZ2FsbGVyeSc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtaWNvbicpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1nYWxsZXJ5Jykge1xuICBAaW5jbHVkZSBlY2wtZ2FsbGVyeSgpO1xufVxuIiwiLyoqXG4qIEdhbGxlcnlcbiogQGRlZmluZSBnYWxsZXJ5IDsgd2Vha1xuKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZ2FsbGVyeSgpIHtcbiAgLmVjbC1nYWxsZXJ5IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1nYWxsZXJ5X19pdGVtIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmVjbC1nYWxsZXJ5IC5lY2wtZ2FsbGVyeV9faXRlbSB7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgLyAyO1xuICB9XG5cbiAgLmVjbC1nYWxsZXJ5X19pdGVtLWNvbnRhaW5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLWdhbGxlcnlfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5lY2wtZ2FsbGVyeV9fY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eHMnKTtcbiAgICBoZWlnaHQ6IDRlbTtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLy8gVGhlIGxpbmUgaXMgaWdub3JlZCBiZWNhdXNlIHByZXR0aWVyIHdhbnRzIGZpcnN0IGxpbmUgdG8gc3RheS5cbiAgICAvLyBXaGVyZWFzIHRoZSBsaW50ZXIgd2FudHMgdGhlIHJ1bGVzIHRvIGdvIGEgbmV3IGxpbmUgZGlyZWN0bHkuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKVxuICAgICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLmVjbC1nYWxsZXJ5X19pY29uLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGhlaWdodDogMi42NjdlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMi42NjdlbTtcblxuICAgIC8vIENhbWVyYSBpY29uIG5lZWRzIHRvIGJlIHNtYWxsZXIgaW4gdGhpcyBjb250ZXh0LlxuICAgIC5lY2wtaWNvbi0tY2FtZXJhIHtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4cycpO1xuICAgICAgbGluZS1oZWlnaHQ6IDRlbTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWdhbGxlcnlfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBsaW5lLWhlaWdodDogMi42NjdlbTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhhdCdzIGhvdyB3ZSBzaG93IHRoZSBjYXB0aW9uIG9uIGhvdmVyXG4gIC5lY2wtZ2FsbGVyeV9faXRlbTpob3ZlciB7XG4gICAgLmVjbC1nYWxsZXJ5X19jYXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBMaXN0aW5nc1xuICogQGRlZmluZSBsaXN0aW5nOyB3ZWFrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGlzdGluZy9nZW5lcmljLWNvbXBvbmVudC1saXN0aW5nJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1saXN0aW5nJykge1xuICBAaW5jbHVkZSBlY2wtbGlzdGluZygpO1xufVxuIiwiLyoqXG4gKiBMaXN0aW5nc1xuICogQGRlZmluZSBsaXN0aW5nOyB3ZWFrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbGlzdGluZygpIHtcbiAgLmVjbC1saXN0aW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gVHdvIGNvbHVtbnNcbiAgLmVjbC1saXN0aW5nLS10d28tY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAuZWNsLWxpc3QtaXRlbSB7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuZWNsLWxpc3RpbmctLXR3by1jb2x1bW5zIHtcbiAgICAgIC5lY2wtbGlzdC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgLy8gRmlyc3QgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbTpudGgtY2hpbGQob2RkKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB9XG4gICAgICAvLyBMYXN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW06bnRoLWNoaWxkKGV2ZW4pIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIC8vIE5hdmlnYXRpb24gbGlzdCBmaXJzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uOm50aC1jaGlsZChvZGQpIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICAgIC8vIE5hdmlnYXRpb24gbGlzdCBsYXN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLW5hdmlnYXRpb246bnRoLWNoaWxkKGV2ZW4pIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLy8gQmxvY2sgbGlzdCBmaXJzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1ibG9jazpudGgtY2hpbGQob2RkKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIG1hcmdpbjogMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwIDA7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgfVxuICAgICAgLy8gQmxvY2sgbGlzdCBsYXN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWJsb2NrOm50aC1jaGlsZChldmVuKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRocmVlIGNvbHVtbnNcbiAgLmVjbC1saXN0aW5nLS10aHJlZS1jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC5lY2wtbGlzdC1pdGVtIHtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5lY2wtbGlzdGluZy0tdGhyZWUtY29sdW1ucyB7XG4gICAgICAuZWNsLWxpc3QtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpcnN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW06bnRoLWNoaWxkKDNuICsgMSkgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgfVxuICAgICAgLy8gTWlkZGxlIGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW06bnRoLWNoaWxkKDNuICsgMikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgLyAyO1xuICAgICAgfVxuICAgICAgLy8gTGFzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtOm50aC1jaGlsZCgzbikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIaWdobGlnaHQgbGlzdCBmaXJzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1oaWdobGlnaHQ6bnRoLWNoaWxkKDNuICsgMSkgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgLy8gSGlnaGxpZ2h0IGxpc3QgbWlkZGxlIGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWhpZ2hsaWdodDpudGgtY2hpbGQoM24gKyAyKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAvIDI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgLyAyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAvLyBIaWdobGlnaHQgbGlzdCBsYXN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWhpZ2hsaWdodDpudGgtY2hpbGQoM24pIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIE5hdmlnYXRpb24gbGlzdCBmaXJzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uOm50aC1jaGlsZCgzbiArIDEpIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICAgIC8vIE5hdmlnYXRpb24gbGlzdCBtaWRkbGUgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbS0tbmF2aWdhdGlvbjpudGgtY2hpbGQoM24gKyAyKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIG1hcmdpbjogMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAvIDI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICAvLyBOYXZpZ2F0aW9uIGxpc3QgbGFzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uOm50aC1jaGlsZCgzbikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBCbG9jayBsaXN0IGZpcnN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWJsb2NrOm50aC1jaGlsZCgzbiArIDEpIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDAgMDtcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB9XG4gICAgICAvLyBCbG9jayBsaXN0IG1pZGRsZSBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1ibG9jazpudGgtY2hpbGQoM24gKyAyKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIG1hcmdpbjogMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAvIDI7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgfVxuICAgICAgLy8gQmxvY2sgbGlzdCBsYXN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWJsb2NrOm50aC1jaGlsZCgzbikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRUNMIE5hdmlnYXRpb25cbiAqIEBkZWZpbmUgbmF2aWdhdGlvbi1saXN0XG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0L2dlbmVyaWMtY29tcG9uZW50LW5hdmlnYXRpb24tbGlzdCc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0Jykge1xuICBAaW5jbHVkZSBlY2wtbmF2aWdhdGlvbi1saXN0KCk7XG59XG4iLCIvKipcbiAqIEVDTCBOYXZpZ2F0aW9uXG4gKiBAZGVmaW5lIG5hdmlnYXRpb24tbGlzdFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLW5hdmlnYXRpb24tbGlzdCgkYm9yZGVyLXdpZHRoOiAycHgpIHtcbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbGlzdF9faXRlbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbGlzdF9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGVjbC1jb2xvci1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3RfX2xpbmstLWFjdGl2ZSxcbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3RfX2xpbmtbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYXJpYW50c1xuICAgKi9cblxuICAvLyBUYWJzXG5cbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3QtLXRhYnMge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1saXN0LS10YWJzIC5lY2wtbmF2aWdhdGlvbi1saXN0X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1saXN0LS10YWJzIC5lY2wtbmF2aWdhdGlvbi1saXN0X19saW5rLS1hY3RpdmUsXG4gIC5lY2wtbmF2aWdhdGlvbi1saXN0LS10YWJzIC5lY2wtbmF2aWdhdGlvbi1saXN0X19saW5rW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNtYWxsXG5cbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3QtLXNtYWxsIC5lY2wtbmF2aWdhdGlvbi1saXN0X19saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBFQyBuYXZpZ2F0aW9uIG1lbnVzXG4gKiBAZGVmaW5lIG5hdmlnYXRpb24tbWVudVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LW5hdmlnYXRpb24tbWVudS9nZW5lcmljLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLXN0eWxlLXR5cG9ncmFwaHktbGlzdCcpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUnKSB7XG4gIEBpbmNsdWRlIGVjbC1uYXZpZ2F0aW9uLW1lbnUoXG4gICAgJGJhci1iZy1tb2JpbGU6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1JyksXG4gICAgJGJhci1iZy1kZXNrdG9wOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpLFxuICAgICR0b2dnbGUtYnRuLWNvbG9yOiAjZmZmLFxuICAgICRncm91cC1iZzogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpLFxuICAgICRzZXBhcmF0b3ItbW9iaWxlOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS01MCcpLFxuICAgICRsaW5rLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKSxcbiAgICAkYWN0aXZlLWNvbG9yOiAjZmZmLFxuICAgICRhY3RpdmUtYmc6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1JylcbiAgKTtcbn1cbiIsIi8qKlxuICogRUNMIEhvcml6b250YWwgbWVudXNcbiAqIEBkZWZpbmUgbmF2aWdhdGlvbi1tZW51XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbmF2aWdhdGlvbi1tZW51KFxuICAkYmFyLWJnLW1vYmlsZSxcbiAgJGJhci1iZy1kZXNrdG9wLFxuICAkdG9nZ2xlLWJ0bi1jb2xvcixcbiAgJGdyb3VwLWJnLFxuICAkc2VwYXJhdG9yLW1vYmlsZSxcbiAgJGxpbmstY29sb3IsXG4gICRhY3RpdmUtY29sb3IsXG4gICRhY3RpdmUtYmdcbikge1xuICAuZWNsLW5hdmlnYXRpb24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1tb2JpbGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3Jvb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLy8gRm9yY2UgZGlzcGxheSBpZiBubyBKU1xuICAgIC5uby1qcyAmIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3Jvb3Q6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1kZXNrdG9wO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3RvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1tb2JpbGU7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGNvbG9yOiAkdG9nZ2xlLWJ0bi1jb2xvcjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJykgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19ncm91cDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JvdXAtYmc7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X190aXRsZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGlua3Mge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZXBhcmF0b3ItbW9iaWxlO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdCA+IC5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLWJnLWRlc2t0b3A7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmc7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdCA+IC5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmc7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbTpsYXN0LWNoaWxkIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgLyogSWNvbiBkaXNwbGF5ICovXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rW2FyaWEtZXhwYW5kZWRdOjphZnRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcblxuICAgIC5uby1qcyAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmtbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdkb3duJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmtbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCd1cCcpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rXG4gICAgfiAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXBcbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLyogQ29sbGFwc2libGUgYmxvY2sgZGlzcGxheSAqL1xuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGlua1thcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICB+IC5lY2wtbmF2aWdhdGlvbi1tZW51X19ncm91cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBIYW1idXJnZXIgYnV0dG9uICovXG4gIC8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWJveCB7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpICsgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtMC4xZW07XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyLFxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9nZ2xlLWJ0bi1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjFlbTtcbiAgICBoZWlnaHQ6IDAuMmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtMC41ZW07XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLS1zcXVlZXplXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2hhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVcbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgZWFzZTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVcbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgdHJhbnNmb3JtIDAuMDc1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2hhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2hhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2U7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLS1zcXVlZXplW2FyaWEtZXhwYW5kZWQ9J3RydWUnXVxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1kZXNrdG9wO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19yb290IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3Jvb3Q6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X190b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSAwO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rW2FyaWEtZXhwYW5kZWRdOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmtbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1iZztcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGlua1thcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICAgIH4gLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2dyb3VwIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ2Ryb3Bkb3duJyk7XG4gICAgfVxuXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2l0ZW0ge1xuICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtLS1hY3RpdmUge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbS0tYWN0aXZlOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRUNMIFNpZGUgbWVudXNcbiAqIEBkZWZpbmUgc2lkZS1uYXZpZ2F0aW9uXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc2lkZS1uYXZpZ2F0aW9uL2dlbmVyaWMtY29tcG9uZW50LXNpZGUtbmF2aWdhdGlvbic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWV4cGFuZGFibGUnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtc2lkZS1uYXZpZ2F0aW9uJykge1xuICBAaW5jbHVkZSBlY2wtc2lkZS1uYXZpZ2F0aW9uKCk7XG59XG4iLCIvKipcbiAqIEVDTCBTaWRlIG1lbnVzXG4gKiBAZGVmaW5lIHNpZGUtbmF2aWdhdGlvblxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXNpZGUtbmF2aWdhdGlvbihcbiAgJGJnOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMCcpLFxuICAkZ3JvdXAtYmc6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKSxcbiAgJHRvZ2dsZS1idG4tYmc6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1JyksXG4gICR0b2dnbGUtYnRuLWNvbG9yOiAjZmZmLFxuICAkc2VwYXJhdG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpLFxuICAkZ3JvdXAtc2VwYXJhdG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0yNScpLFxuICAkbGluay1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJyksXG4gICRsaW5rLWFjdGl2ZS1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJylcbikge1xuICAuZWNsLXNpZGUtbmF2aWdhdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19yb290IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4td2lkdGg6IDEzcmVtO1xuICAgIHBhZGRpbmc6IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX3Jvb3Q6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX3Jvb3RbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC8vIEZvcmNlIGRpc3BsYXkgaWYgbm8gSlNcbiAgICAubm8tanMgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX190b2dnbGUge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBjb2xvcjogJHRvZ2dsZS1idG4tY29sb3I7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX3RvZ2dsZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9nZ2xlLWJ0bi1iZztcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19ncm91cCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAtKG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0obWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykpO1xuICAgIHBhZGRpbmc6IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2dyb3VwOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1iZztcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlcGFyYXRvcjtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fZ3JvdXAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbi0tZGVwdGgtMiAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdyb3VwLXNlcGFyYXRvcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10sXG4gICAgJlthcmlhLWV4cGFuZGVkPSdmYWxzZSddIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbi0tZGVwdGgtMyAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBtYXJnaW4tbGVmdDogLShtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSk7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uLS1kZXB0aC0yXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2l0ZW06bGFzdC1jaGlsZFxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb24tLWRlcHRoLTNcbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faXRlbTpsYXN0LWNoaWxkXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgfVxuXG4gIC8qIENvbGxhcHNpYmxlIGJsb2NrIGRpc3BsYXkgKi9cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2xpbmtbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgfiAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyogSGFtYnVyZ2VyIGJ1dHRvbiAqL1xuICAvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1ib3gge1xuICAgIGxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJykgKyBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtMC4xZW07XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyLFxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMWVtO1xuICAgIGhlaWdodDogMC4yZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IC0wLjVlbTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItLXNxdWVlemVcbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci0tc3F1ZWV6ZVxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjEycyBlYXNlLCBvcGFjaXR5IDAuMDc1cyBlYXNlO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci0tc3F1ZWV6ZVxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci0tc3F1ZWV6ZVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci0tc3F1ZWV6ZVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItLXNxdWVlemVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX3Jvb3QsXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX3Jvb3RbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fcm9vdDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2dyb3VwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1iZztcbiAgICB9XG5cbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fZ3JvdXA6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBQYWdlIGhlYWRlclxuICogQGRlZmluZSBwYWdlLWhlYWRlclxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXBhZ2UtaGVhZGVyL2dlbmVyaWMtY29tcG9uZW50LXBhZ2UtaGVhZGVyJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1wYWdlLWhlYWRlcicpIHtcbiAgQGluY2x1ZGUgZWNsLXBhZ2UtaGVhZGVyKCk7XG59XG4iLCIvKipcbiAqIFBhZ2UgaGVhZGVyXG4gKiBAZGVmaW5lIHBhZ2UtaGVhZGVyXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtcGFnZS1oZWFkZXIoKSB7XG4gIC5lY2wtcGFnZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgMDtcbiAgICB9XG5cbiAgICAmX19tZXRhIHtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIH1cblxuICAgICZfX2lkZW50aXR5IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgIG1heC13aWR0aDogNDBlbTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXBhZ2UtaGVhZGVyLS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAuZWNsLWNvbnRhaW5lciB7XG4gICAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ2hpZ2hsaWdodCcpICsgMTtcbiAgICB9XG4gIH1cblxuICAvKiBCbHVlIGdyYWRpZW50ICovXG5cbiAgLmVjbC1wYWdlLWhlYWRlci0taW1hZ2U6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ2hpZ2hsaWdodCcpO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDA0NDk0KzAsMDA0NDk0KzEwMCYxKzAsMC43NSs4MCwwLjUrMTAwICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoXG4gICAgICBsZWZ0LFxuICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAxKSAwJSxcbiAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMC43NSkgODAlLFxuICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAwLjUpIDEwMCVcbiAgICApOyAvKiBGRjMuNi0xNSAqL1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgbGVmdCxcbiAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMSkgMCUsXG4gICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuNzUpIDgwJSxcbiAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMC41KSAxMDAlXG4gICAgKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICB0byByaWdodCxcbiAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMSkgMCUsXG4gICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuNzUpIDgwJSxcbiAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMC41KSAxMDAlXG4gICAgKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDQ0OTQnLCBlbmRDb2xvcnN0cj0nIzgwMDA0NDk0JyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZWNsLWdyaWQtYnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgLmVjbC1wYWdlLWhlYWRlci0taW1hZ2U6OmFmdGVyIHtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDA0NDk0KzAsMDA0NDk0KzEwMCYxKzAsMC45KzgwLDAuOCsxMDAgKi9cbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBsZWZ0LFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDEpIDAlLFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuOSkgODAlLFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuOCkgMTAwJVxuICAgICAgKTsgLyogRkYzLjYtMTUgKi9cbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBsZWZ0LFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDEpIDAlLFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuOSkgODAlLFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuOCkgMTAwJVxuICAgICAgKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMSkgMCUsXG4gICAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMC45KSA4MCUsXG4gICAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMC44KSAxMDAlXG4gICAgICApOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDA0NDk0JywgZW5kQ29sb3JzdHI9JyNjYzAwNDQ5NCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbiAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICB9XG4gIH1cblxuICAvKiBFbmQgQmx1ZSBncmFkaWVudCAqL1xuXG4gIC5lY2wtcGFnZS1oZWFkZXItLWhpZ2hsaWdodCB7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuXG4gICAgLmVjbC1wYWdlLWhlYWRlcl9fYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGVjbC1ncmlkLWJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgIC5lY2wtcGFnZS1oZWFkZXItLWhpZ2hsaWdodCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgLmVjbC1wYWdlLWhlYWRlcl9fYm9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhsJyk7XG4gICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4bCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lY2wtcGFnZS1oZWFkZXJfX2xhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEyMCcpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNDtcbiAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICB9XG5cbiAgICAuZWNsLXBhZ2UtaGVhZGVyX19oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgICBtYXgtd2lkdGg6IDIyZW07XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRUNMIFByb2ZpbGUgVG9wYmFyXG4gKiBAZGVmaW5lIHByb2ZpbGUtdG9wYmFyXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtcHJvZmlsZS10b3BiYXIvZ2VuZXJpYy1jb21wb25lbnQtcHJvZmlsZS10b3BiYXInO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1leHBhbmRhYmxlJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXByb2ZpbGUtdG9wYmFyJykge1xuICBAaW5jbHVkZSBlY2wtcHJvZmlsZS10b3BiYXIoKTtcbn1cbiIsIi8qKlxuICogRUNMIFByb2ZpbGUgVG9wYmFyXG4gKiBAZGVmaW5lIHByb2ZpbGUtdG9wYmFyXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtcHJvZmlsZS10b3BiYXIoKSB7XG4gIC5lY2wtcHJvZmlsZS10b3BiYXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICB9XG5cbiAgLmVjbC1wcm9maWxlLXRvcGJhcl9fcGFuZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtcHJvZmlsZS10b3BiYXJfX3BhbmUtYnV0dG9uIHtcbiAgICBib3R0b206IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmVjbC1wcm9maWxlLXRvcGJhcl9fY29sbGFwc2libGUtYXJlYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmVjbC1wcm9maWxlLXRvcGJhcl9fY29sbGFwc2libGUtYXJlYVthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIFNpdGUgaGVhZGVyXG4gKiBAZGVmaW5lIHNpdGUtaGVhZGVyIDsgd2Vha1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXNpdGUtaGVhZGVyL2dlbmVyaWMtY29tcG9uZW50LXNpdGUtaGVhZGVyJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoXG4gIChcbiAgICAnZWMtY29tcG9uZW50LWxvZ28nLFxuICAgICdlYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdCcsXG4gICAgJ2VjLWNvbXBvbmVudC1zZWFyY2gtZm9ybSdcbiAgKVxuKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1zaXRlLWhlYWRlcicpIHtcbiAgQGluY2x1ZGUgZWNsLXNpdGUtaGVhZGVyKCk7XG59XG4iLCIvKipcbiAqIFNpdGUgaGVhZGVyXG4gKiBAZGVmaW5lIHNpdGUtaGVhZGVyIDsgd2Vha1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXNpdGUtaGVhZGVyKCkge1xuICAuZWNsLXNpdGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXJfX2Jhbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlcl9fYmFubmVyID4gKiB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAvLyBJZiB0aGUgbG9nbyBpcyBsaW5raW5nIHRvIGFuIGV4dGVybmFsIHBhZ2UgZG8gbm90IHNob3cgdGhlIGV4dGVybmFsIGljb24uXG4gIC5lY2wtc2l0ZS1oZWFkZXJfX2xvZ28ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXJfX2xhbmd1YWdlLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyX19zZWFyY2gge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXJfX3VzZXItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmVjbC1zaXRlLWhlYWRlcl9fdXNlci1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFNpdGUgaGVhZGVyXG4gKiBAZGVmaW5lIHNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZCA7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKFxuICAgICdlYy1jb21wb25lbnQtbG9nbycsXG4gICAgJ2VjLWNvbXBvbmVudC1sYW5ndWFnZS1saXN0JyxcbiAgICAnZWMtY29tcG9uZW50LXNlYXJjaC1mb3JtJ1xuICApXG4pO1xuXG5AbWl4aW4gZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZCgpIHtcbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWRfX2Jhbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX19iYW5uZXIgPiAqIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX19jbGFzc25hbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTUnKTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIDA7XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZF9fY2xhc3NuYW1lLXRpdGxlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzOyAvLyAyMCAvIDE0XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IC8vIDI0IC8gMTZcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZF9fc2l0ZW5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX19zaXRlbmF2LXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNzsgLy8gMS43NSAvIDEuMzc1XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG5cbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneGwnKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3OyAvLyAyIC8gMS44NzVcbiAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpIDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGxvZ28gaXMgbGlua2luZyB0byBhbiBleHRlcm5hbCBwYWdlIGRvIG5vdCBzaG93IHRoZSBleHRlcm5hbCBpY29uLlxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZF9fbG9nbyB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICB3aWR0aDogOHJlbTtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICB3aWR0aDogMTNyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIHdpZHRoOiAxNnJlbTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX19sYW5ndWFnZS1saXN0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWRfX2Ryb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS01Jyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMjUnKTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDEwMCUgLSAxLjFweCkpOyAvLyB1Z2x5IHRyaWNrLCBpc24ndCBpdD9cbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygxcmVtICsgNXB4KTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX19kcm9wZG93bi1tb2JpbGUge1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTUnKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTI1Jyk7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoMTAwJSAtIDEuMXB4KSk7IC8vIHVnbHkgdHJpY2ssIGlzbid0IGl0P1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgJlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZF9fZHJvcGRvd24tZGl2aWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmQwZTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZF9fc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWRfX3VzZXItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWRfX21lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWRfX21lbnUgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWRfX21lbnUgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTEwJyk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LWNvbXBvdW5kLXNlbGVjdG9ycyAqL1xuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZF9fbWVudVxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19yb290XG4gICAgPiAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbVxuICAgID4gLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC1jb21wb3VuZC1zZWxlY3RvcnMgKi9cbiAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEyMCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX19tZW51IC5lY2wtbmF2aWdhdGlvbi1tZW51X190b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWRfX21lbnUgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3Jvb3Qge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogYXV0bztcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX19tZW51LWNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZCAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19saW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJylcbiAgICAgIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKVxuICAgICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG4gICAgfVxuXG4gICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjVmOTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZmQwZTQ7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IGNhbGMoI3ttYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpfSAtIDFweClcbiAgICAgICAgY2FsYygje21hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKX0gLSAxcHgpICN7bWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgK1xuICAgICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyl9O1xuXG4gICAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3ttYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKX0gLSAxcHgpXG4gICAgICAgICAgY2FsYygje21hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpfSAtIDFweClcbiAgICAgICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZF9fZXhwYW5kYWJsZV9idXR0b24ge1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuXG4gICAgICAgIEBpbmNsdWRlIGVjbC1idXR0b24tLWNhcmV0KCk7XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1leHBhbmRlZD0nZmFsc2UnXTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbignZG93bicpO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbigndXAnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZCAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19jb2RlIHtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICBtYXJnaW46IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpIDA7XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyLXN0YW5kYXJkaXNlZCAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHhzJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXNfX2NvZGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDFweDtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eHMnKTtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWQgLmVjbC1sYW5nLXNlbGVjdC1zaXRlc19faWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGVmdDogM3B4O1xuICAgIHRvcDogM3B4O1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMXB4O1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5lY2wtc2l0ZS1oZWFkZXItc3RhbmRhcmRpc2VkX191c2VyLW1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWQnKSB7XG4gIEBpbmNsdWRlIGVjbC1zaXRlLWhlYWRlci1zdGFuZGFyZGlzZWQoKTtcbn1cbiIsIi8qKlxuICogVGFic1xuICogQGRlZmluZSB0YWJzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGFiL2dlbmVyaWMtY29tcG9uZW50LXRhYic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LW5hdmlnYXRpb24tbGlzdCcpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC10YWJzJykge1xuICBAaW5jbHVkZSBlY2wtdGFicygpO1xufVxuIiwiLyoqXG4gKiBUYWJzXG4gKiBAZGVmaW5lIHRhYnNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC10YWJzKCkge1xuICAuZWNsLXRhYnNfX3RhYnBhbmVsW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8qKlxuICogQXJpYSB1dGlsaXRpZXNcbiAqIEF1dG9tYXRpY2FsbHkgYXBwbHkgY2VydGFpbiBzdHlsZXMgZGVwZW5kaW5nIG9uIHRoZSBhcmlhIGF0dHJpYnV0ZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktYXJpYS9nZW5lcmljLXV0aWxpdHktYXJpYSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LWFyaWEnKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LWFyaWEoKTtcbn1cbiIsIi8qKlxuICogQXJpYSB1dGlsaXRpZXNcbiAqIEF1dG9tYXRpY2FsbHkgYXBwbHkgY2VydGFpbiBzdHlsZXMgZGVwZW5kaW5nIG9uIHRoZSBhcmlhIGF0dHJpYnV0ZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC11dGlsaXR5LWFyaWEoKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgLmVjbC11LWFyaWFbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBDbGVhcmZpeCB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktY2xlYXJmaXgvZ2VuZXJpYy11dGlsaXR5LWNsZWFyZml4JztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktY2xlYXJmaXgnKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LWNsZWFyZml4KCk7XG59XG4iLCIvKipcbiAqIENsZWFyZml4IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktY2xlYXJmaXgoKSB7XG4gIC5lY2wtdS1jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgZWNsLWNsZWFyZml4KCk7XG4gIH1cbn1cbiIsIkBtaXhpbiBlY2wtY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLyoqXG4gKiBGbGV4IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1mbGV4L2dlbmVyaWMtdXRpbGl0eS1mbGV4JztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktZmxleCcpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktZmxleCgpO1xufVxuIiwiLyoqXG4gKiBGbGV4IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktZmxleCgpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogZWNsLWJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRlY2wtZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAgIC5lY2wtdS1vcmRlciN7JGluZml4fS1maXJzdCB7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1vcmRlciN7JGluZml4fS1sYXN0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgICAuZWNsLXUtb3JkZXIjeyRpbmZpeH0tMCB7XG4gICAgICAgIG9yZGVyOiAwO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtZmxleCN7JGluZml4fS1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgfVxuICAgICAgLmVjbC11LWZsZXgjeyRpbmZpeH0tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuICAgICAgLmVjbC11LWZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1mbGV4I3skaW5maXh9LXdyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgICAuZWNsLXUtZmxleCN7JGluZml4fS1ub3dyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgICAgLmVjbC11LWp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgLmVjbC11LWp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2gge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2gge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0IHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1zZWxmI3skaW5maXh9LWVuZCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUge1xuICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtZmxleC1ncm93I3skaW5maXh9LTAge1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICB9XG4gICAgICAuZWNsLXUtZmxleC1ncm93I3skaW5maXh9LTEge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEZsb2F0IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1mbG9hdC9nZW5lcmljLXV0aWxpdHktZmxvYXQnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1mbG9hdCcpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktZmxvYXQoKTtcbn1cbiIsIi8qKlxuICogRmxvYXQgdXRpbGl0aWVzIFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktZmxvYXQoKSB7XG4gIC5lY2wtdS1mLWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5lY2wtdS1mLXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAuZWNsLXUtZi1ub25lIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb2xvcml6ZSB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktY29sb3JpemUvZ2VuZXJpYy11dGlsaXR5LWNvbG9yaXplJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktY29sb3JpemUnKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LWNvbG9yaXplKCk7XG59XG4iLCIvKipcbiAqIENvbG9yaXplIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktY29sb3JpemUoKSB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZWNsLWNvbG9ycyB7XG4gICAgLy8gRmlsdGVyIG91dCB5ZWxsb3cgY29sb3JzICh0ZXh0IHNob3VsZCBub3QgYmUgeWVsbG93KVxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgQGlmIG5vdCBzdHItaW5kZXgoJGtleSwgJ3llbGxvdy0nKSB7XG4gICAgICAuZWNsLXUtY29sb3ItI3ska2V5fSB7XG4gICAgICAgIGNvbG9yOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZWNsLWNvbG9ycy1iZyB7XG4gICAgLmVjbC11LWJnLSN7JGtleX0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtdS1jb2xvci1wcmltYXJ5IHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICB9XG4gIC5lY2wtdS1jb2xvci1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNlY29uZGFyeTtcbiAgfVxuICAuZWNsLXUtY29sb3Itc2hhZGUge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICB9XG4gIC5lY2wtdS1jb2xvci1pbmZvIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1pbmZvO1xuICB9XG4gIC5lY2wtdS1jb2xvci13YXJuaW5nIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci13YXJuaW5nO1xuICB9XG4gIC5lY2wtdS1jb2xvci1zdWNjZXNzIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zdWNjZXNzO1xuICB9XG4gIC5lY2wtdS1jb2xvci1lcnJvciB7XG4gICAgY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gIH1cbiAgLmVjbC11LWNvbG9yLXdoaXRlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuIiwiLyoqXG4gKiBEaXNhYmxlIHNjcm9sbCB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktZGlzYWJsZXNjcm9sbC9nZW5lcmljLXV0aWxpdHktZGlzYWJsZXNjcm9sbCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LWRpc2FibGVzY3JvbGwnKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LWRpc2FibGVzY3JvbGwoKTtcbn1cbiIsIi8qKlxuICogRGlzYWJsZXNjcm9sbCB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC11dGlsaXR5LWRpc2FibGVzY3JvbGwoKSB7XG4gIC5lY2wtdS1kaXNhYmxlc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCIvKipcbiAqIEZvbnQgc2l6ZSB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktZm9udC1zaXplL2dlbmVyaWMtdXRpbGl0eS1mb250LXNpemUnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1mb250LXNpemUnKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LWZvbnQtc2l6ZSgpO1xufVxuIiwiLyoqXG4gKiBGb250IHNpemUgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1mb250LXNpemUoKSB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZWNsLWZvbnQtc2l6ZSB7XG4gICAgLmVjbC11LWZzLSN7JGtleX0ge1xuICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIE1hcmdpbiB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktbWFyZ2luL2dlbmVyaWMtdXRpbGl0eS1tYXJnaW4nO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1tYXJnaW4nKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LW1hcmdpbigpO1xufVxuIiwiLyoqXG4gKiBNYXJnaW4gdXRpbGl0aWVzXG4gKi9cblxuLypcbiAgIEJhc2U6XG4gICAgbSA9IG1hcmdpblxuICBNb2RpZmllcnM6XG4gICAgYSA9IGFsbFxuICAgIGggPSBob3Jpem9udGFsXG4gICAgdiA9IHZlcnRpY2FsXG4gICAgdCA9IHRvcFxuICAgIHIgPSByaWdodFxuICAgIGIgPSBib3R0b21cbiAgICBsID0gbGVmdFxuKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1tYXJnaW4oKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRlY2wtZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGVjbC1icmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZWNsLWdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGVjbC1zcGFjaW5nIHtcbiAgICAgICAgLmVjbC11LW1hI3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIG1hcmdpbjogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LW1oI3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdmFsdWU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtbXYjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlO1xuICAgICAgICAgIG1hcmdpbi10b3A6ICR2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lY2wtdS1tdCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtbXIjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtbWIjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LW1sI3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLypcbiAgICAgICAgRUNMIE1hcmdpbiBhdXRvXG4gICAgICAgID09PT09PT09PT09PT09PVxuICAgICAgICBCYXNlOlxuICAgICAgICAgIG0gPSBtYXJnaW5cbiAgICAgICAgTW9kaWZpZXJzOlxuICAgICAgICAgIGEgPSBhbGxcbiAgICAgICAgICBoID0gaG9yaXpvbnRhbFxuICAgICAgICAgIHIgPSByaWdodFxuICAgICAgICAgIGwgPSBsZWZ0XG4gICAgICAqL1xuXG4gICAgICAuZWNsLXUtbWEjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cblxuICAgICAgLmVjbC11LW1oI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtbXIjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLmVjbC11LW1sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogUGFkZGluZyB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktcGFkZGluZy9nZW5lcmljLXV0aWxpdHktcGFkZGluZyc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LXBhZGRpbmcnKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LXBhZGRpbmcoKTtcbn1cbiIsIi8qKlxuICogUGFkZGluZyB1dGlsaXRpZXNcbiAqL1xuXG4vKiBcbiAgQmFzZTpcbiAgICBwID0gcGFkZGluZ1xuICBNb2RpZmllcnM6XG4gICAgYSA9IGFsbFxuICAgIGggPSBob3Jpem9udGFsXG4gICAgdiA9IHZlcnRpY2FsXG4gICAgdCA9IHRvcFxuICAgIHIgPSByaWdodFxuICAgIGIgPSBib3R0b21cbiAgICBsID0gbGVmdFxuKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1wYWRkaW5nKCkge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZWNsLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGluZml4OiBlY2wtYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGVjbC1ncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRlY2wtc3BhY2luZyB7XG4gICAgICAgIC5lY2wtdS1wYSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBwYWRkaW5nOiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtcGgjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdmFsdWU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LXB2I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWU7XG4gICAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lY2wtdS1wdCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LXByI3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lY2wtdS1wYiN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LXBsI3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFJhdGlvIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1yYXRpby9nZW5lcmljLXV0aWxpdHktcmF0aW8nO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1yYXRpbycpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktcmF0aW8oKTtcbn1cbiIsIi8qKlxuICogUmF0aW8gdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgPiAuY29udGVudCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZWNsLXV0aWxpdHktcmF0aW8oKSB7XG4gIC5lY2wtdS1yYXRpby0xNi05IHtcbiAgICBAaW5jbHVkZSBlY2wtYXNwZWN0LXJhdGlvKDE2LCA5KTtcbiAgfVxuXG4gIC5lY2wtdS1yYXRpby00LTMge1xuICAgIEBpbmNsdWRlIGVjbC1hc3BlY3QtcmF0aW8oNCwgMyk7XG4gIH1cbn1cbiIsIi8qKlxuICogU2NyZWVuIHJlYWRlciB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktc2NyZWVuLXJlYWRlci9nZW5lcmljLXV0aWxpdHktc2NyZWVuLXJlYWRlcic7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LXNjcmVlbi1yZWFkZXInKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LXNjcmVlbi1yZWFkZXIoKTtcbn1cbiIsIi8qKlxuICogU2NyZWVuIHJlYWRlcnMgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1zY3JlZW4tcmVhZGVyKCkge1xuICAuZWNsLXUtc3Itb25seSB7XG4gICAgQGluY2x1ZGUgZWNsLXUtc3Itb25seSgpO1xuICB9XG5cbiAgLmVjbC11LXNyLW9ubHktLWZvY3VzYWJsZSB7XG4gICAgQGluY2x1ZGUgZWNsLXUtc3Itb25seS1mb2N1c2FibGUoKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBUZXh0IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS10ZXh0L2dlbmVyaWMtdXRpbGl0eS10ZXh0JztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktdGV4dCcpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktdGV4dCgpO1xufVxuIiwiLyoqXG4gKiBUZXh0IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktdGV4dCgpIHtcbiAgLmVjbC11LXRleHQtY2FwaXRhbGl6ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cbiAgLmVjbC11LXRleHQtbG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB9XG4gIC5lY2wtdS10ZXh0LXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuZWNsLXUtdGV4dC1vdmVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBvdmVybGluZTtcbiAgfVxuICAuZWNsLXUtdGV4dC11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC5lY2wtdS10ZXh0LXN0cmlrZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cbiAgLmVjbC11LXRleHQtbm9uZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIERpc3BsYXkgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy11dGlsaXR5LWRpc3BsYXkvZ2VuZXJpYy11dGlsaXR5LWRpc3BsYXknO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1kaXNwbGF5Jykge1xuICBAaW5jbHVkZSBlY2wtdXRpbGl0eS1kaXNwbGF5KCk7XG59XG4iLCIvKipcbiAqIERpc3BsYXkgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1kaXNwbGF5KCkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZWNsLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGluZml4OiBlY2wtYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGVjbC1ncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgLmVjbC11LWQjeyRpbmZpeH0tbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWQjeyRpbmZpeH0taW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1kI3skaW5maXh9LWlubGluZS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtZCN7JGluZml4fS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1kI3skaW5maXh9LXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWQjeyRpbmZpeH0tdGFibGUtY2VsbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWQjeyRpbmZpeH0tZmxleCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWQjeyRpbmZpeH0taW5saW5lLWZsZXgge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBaLWluZGV4IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS16LWluZGV4L2dlbmVyaWMtdXRpbGl0eS16LWluZGV4JztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktei1pbmRleCcpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktei1pbmRleCgpO1xufVxuIiwiLyoqXG4gKiBaLWluZGV4IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktei1pbmRleCgpIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRlY2wtei1pbmRleCB7XG4gICAgLmVjbC11LXotI3ska2V5fSB7XG4gICAgICB6LWluZGV4OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIuQXNzZXRMaXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLkFzc2V0TGlzdC1hc3NldCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uQXNzZXRMaXN0LW5hbWUge1xuICBjb2xvcjogcmdiYSgkY29sb3ItdGV4dCwgMC41KTtcblxuICBzdHJvbmcge1xuICAgIGNvbG9yOiAkY29sb3ItbGluaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG59XG5cbi5Bc3NldExpc3QtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIC5Bc3NldExpc3QtcGF0aCB7XG4gICAgICBjb2xvcjogcmdiYSgkY29sb3ItdGV4dCwgMC43NSk7XG4gICAgfVxuXG4gICAgLkFzc2V0TGlzdC1pY29uIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICM5OTk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5Bc3NldExpc3QtaWNvbiB7XG4gIEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUoZW5kLCAwLjVyZW0pO1xuXG4gIHN2ZyB7XG4gICAgZmlsbDogI2NjYztcbiAgfVxufVxuIiwiQG1peGluIGxpbmstZGVmYXVsdCgkY29sb3IsICRkZWNvcmF0aW9uKSB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uO1xuICB9XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gdmlzdWFsbHloaWRkZW4ge1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbkBtaXhpbiB0cmJsKCR2YWwpIHtcbiAgYm90dG9tOiAkdmFsO1xuICBsZWZ0OiAkdmFsO1xuICByaWdodDogJHZhbDtcbiAgdG9wOiAkdmFsO1xufVxuXG5AbWl4aW4gZHJhZ0hhbmRsZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdWktaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXVpLWFjdGl2ZTtcbiAgfVxuXG4gICYuaXMtZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbmF2Q29sbGFwc2UpIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gVHlwb2dyYXBoeVxuQG1peGluIGZvbnQoJHByZXNldCkge1xuICBAaWYgJHByZXNldCA9PSB0aXRsZSB7XG4gICAgZm9udDogYm9sZCAxLjc1cmVtIC8jeygzMiAvIDI4KX0gJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnZGxpZycgMTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gIH1cblxuICBAaWYgJHByZXNldCA9PSBoZWFkaW5nIHtcbiAgICBmb250OiBib2xkIDEuMzEyNXJlbSAvI3soMjQgLyAyMSl9ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2RsaWcnIDE7XG4gIH1cblxuICBAaWYgJHByZXNldCA9PSBzdWJIZWFkaW5nIHtcbiAgICBmb250OiBib2xkIDEuMTI1cmVtIC8jeygyNCAvIDE4KX0gJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnZGxpZycgMTtcbiAgfVxuXG4gIEBpZiAkcHJlc2V0ID09IGJvZHkge1xuICAgIGZvbnQ6IG5vcm1hbCAxcmVtIC8jeygyNCAvIDE2KX0gJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gIH1cblxuICBAaWYgJHByZXNldCA9PSBjYXB0aW9uIHtcbiAgICBmb250OiBub3JtYWwgMC44NzVyZW0gLyN7KDI0IC8gMTQpfSAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgfVxuXG4gIEBpZiAkcHJlc2V0ID09IGNvZGUge1xuICAgIGZvbnQ6IG5vcm1hbCAwLjg3NXJlbSAvI3soMjQgLyAxNCl9ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIH1cblxuICBAaWYgJHByZXNldCA9PSBsYWJlbCB7XG4gICAgZm9udDogbm9ybWFsIDAuNzVyZW0gLyN7KDIwIC8gMTIpfSAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi8vIExvZ2ljYWwgcG9zaXRpb25pbmdcbkBtaXhpbiBwYWRkaW5nLWlubGluZSgkcG9zaXRpb24sICRhbW91bnQpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBzdGFydCB7XG4gICAgW2Rpcj0nbHRyJ10gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRhbW91bnQ7XG4gICAgfVxuICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgcGFkZGluZy1yaWdodDogJGFtb3VudDtcbiAgICB9XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRhbW91bnQ7XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IGVuZCB7XG4gICAgW2Rpcj0nbHRyJ10gJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYW1vdW50O1xuICAgIH1cbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGFtb3VudDtcbiAgICB9XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAkYW1vdW50O1xuICB9XG59XG5cbkBtaXhpbiBtYXJnaW4taW5saW5lKCRwb3NpdGlvbiwgJGFtb3VudCkge1xuICBAaWYgJHBvc2l0aW9uID09IHN0YXJ0IHtcbiAgICBbZGlyPSdsdHInXSAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYW1vdW50O1xuICAgIH1cbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGFtb3VudDtcbiAgICB9XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogJGFtb3VudDtcbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gZW5kIHtcbiAgICBbZGlyPSdsdHInXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGFtb3VudDtcbiAgICB9XG4gICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICBtYXJnaW4tbGVmdDogJGFtb3VudDtcbiAgICB9XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRhbW91bnQ7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1pbmxpbmUoJHBvc2l0aW9uLCAkc3R5bGUpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBzdGFydCB7XG4gICAgW2Rpcj0nbHRyJ10gJiB7XG4gICAgICBib3JkZXItbGVmdDogJHN0eWxlO1xuICAgIH1cbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIGJvcmRlci1yaWdodDogJHN0eWxlO1xuICAgIH1cbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAkc3R5bGU7XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IGVuZCB7XG4gICAgW2Rpcj0nbHRyJ10gJiB7XG4gICAgICBib3JkZXItcmlnaHQ6ICRzdHlsZTtcbiAgICB9XG4gICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICBib3JkZXItbGVmdDogJHN0eWxlO1xuICAgIH1cbiAgICBib3JkZXItaW5saW5lLWVuZDogJHN0eWxlO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItaW5saW5lLWNvbG9yKCRwb3NpdGlvbiwgJGNvbG9yKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gc3RhcnQge1xuICAgIFtkaXI9J2x0ciddICYge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBlbmQge1xuICAgIFtkaXI9J2x0ciddICYge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgYm9yZGVyLWlubGluZS1lbmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gb2Zmc2V0LWlubGluZSgkcG9zaXRpb24sICR2YWx1ZTogMCkge1xuICBAaWYgJHBvc2l0aW9uID09IHN0YXJ0IHtcbiAgICBbZGlyPSdsdHInXSAmIHtcbiAgICAgIGxlZnQ6ICR2YWx1ZTtcbiAgICB9XG4gICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICByaWdodDogJHZhbHVlO1xuICAgIH1cbiAgICBvZmZzZXQtaW5saW5lLXN0YXJ0OiAkdmFsdWU7XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IGVuZCB7XG4gICAgW2Rpcj0nbHRyJ10gJiB7XG4gICAgICByaWdodDogJHZhbHVlO1xuICAgIH1cbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIGxlZnQ6ICR2YWx1ZTtcbiAgICB9XG4gICAgb2Zmc2V0LWlubGluZS1lbmQ6ICR2YWx1ZTtcbiAgfVxufVxuIiwiLkJyb3dzZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uQnJvd3Nlci1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgMCAkY29sb3ItZnJhbWUtYm9yZGVyO1xufVxuXG4uQnJvd3Nlci10YWJzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLkJyb3dzZXItdGFiIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBhIHtcbiAgICBAaW5jbHVkZSBmb250KGNhcHRpb24pO1xuICAgIEBpbmNsdWRlIGxpbmstZGVmYXVsdCgkY29sb3ItdGV4dCwgbm9uZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjc1cmVtIDAuODc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2NjYztcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItbGluaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgYSB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICB9XG59XG5cbi5Ccm93c2VyLXBhbmVsIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtb2Zmc2V0O1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLkNvZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLW9mZnNldDtcblxuICAgIHByZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1vZmZzZXQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gLk1ldGEge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbn1cblxuLkJyb3dzZXItaXNFbXB0eU5vdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgb3BhY2l0eTogMC42O1xufVxuIiwiLkNvZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtb2Zmc2V0O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgcHJlIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICMyOGY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5FcnJvci1zdGFjayB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICBwcmUge1xuICAgIEBpbmNsdWRlIGZvbnQoY29kZSk7XG4gICAgY29sb3I6IHJnYmEoJGNvbG9yLXRleHQsIDAuNzUpO1xuICB9XG59XG5cbi5FcnJvci0tcmVuZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjYjAwLCAwLjA1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgjYjAwLCAwLjI1KTtcbiAgcGFkZGluZzogMC43NXJlbTtcblxuICAuRXJyb3ItdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQobGFiZWwpO1xuICAgIGNvbG9yOiAjYjAwO1xuICB9XG5cbiAgLkVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQoY2FwdGlvbik7XG4gIH1cblxuICAuRXJyb3Itc3RhY2sge1xuICAgIHByZSxcbiAgICBjb2RlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYWN0YWwgdmFyaWFibGVzXG5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6IEhhY2ssIENvbnNvbGFzLCBNb25hY28sICdBbmRhbGUgTW9ubycsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAkZWNsLWZvbnQtZmFtaWx5LWJhc2U7XG5cbiRjb2xvci1saW5rOiAkZWNsLWNvbG9yLXNlY29uZGFyeSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0OiAkZWNsLWNvbG9yLXNoYWRlICFkZWZhdWx0O1xuJGNvbG9yLWhlYWRpbmc6ICRlY2wtY29sb3Itc2hhZGUgIWRlZmF1bHQ7XG5cbiRjb2xvci1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGNvbG9yLWJhY2tncm91bmQtb2Zmc2V0OiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01JykgIWRlZmF1bHQ7XG5cbiRjb2xvci11aS1ob3ZlcjogcmdiYSgkY29sb3ItdGV4dCwgMC4wNSkgIWRlZmF1bHQ7XG4kY29sb3ItdWktYWN0aXZlOiByZ2JhKCRjb2xvci10ZXh0LCAwLjA3NSkgIWRlZmF1bHQ7XG5cbiRjb2xvci1oZWFkZXItYmFja2dyb3VuZDogJGVjbC1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuJGNvbG9yLWhlYWRlci1jb250ZW50OiAjZmZmICFkZWZhdWx0O1xuXG4kY29sb3ItZnJhbWUtYm9yZGVyOiByZ2JhKCRjb2xvci10ZXh0LCAwLjI1KSAhZGVmYXVsdDtcblxuJGNvbG9yLXNpZGViYXItaGVhZGluZzogcmdiYSgkY29sb3ItdGV4dCwgMC43NSkgIWRlZmF1bHQ7XG5cbiRoaWdobGlnaHQtdGhlbWU6ICdnaXRodWInICFkZWZhdWx0O1xuIiwiLkZpbGVCcm93c2VyIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxleC1iYXNpczogMTAwJTtcbn1cblxuLkZpbGVCcm93c2VyLXNlbGVjdFdyYXBwZXIge1xuICBtYXJnaW46IC0wLjc1cmVtIC0wLjc1cmVtIDAuNzVyZW0gLTAuNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1mcmFtZS1ib3JkZXIsIDAuMDUpO1xuXG4gIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZm9udChjYXB0aW9uKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4taW5saW5lKHN0YXJ0LCAtMC4yNXJlbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBtaW4td2lkdGg6IDE1ZW07XG4gIH1cblxuICBzZWxlY3Q6Zm9jdXMsXG4gIHNlbGVjdDphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLkZpbGVCcm93c2VyLXNlbGVjdC1sYWJlbCB7XG4gIEBpbmNsdWRlIGZvbnQobGFiZWwpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zZWxlY3QyLXNlbGVjdGlvbi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZnJhbWUtYm9yZGVyO1xuXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgJiB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1saW5rO1xuICB9XG59XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQoY2FwdGlvbik7XG4gIG1pbi13aWR0aDogMTVlbTtcblxuICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZnJhbWUtYm9yZGVyLCAwLjEpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oZWFkZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yLWhlYWRlci1jb250ZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5GaWxlQnJvd3Nlci1pdGVtIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAuRnJhbWUuaXMtY2xvc2VkIHtcbiAgICAuRmlsZUJyb3dzZXItc2VsZWN0LWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gIC5GcmFtZTpub3QoLmlzLWNsb3NlZCkge1xuICAgIC5GaWxlQnJvd3Nlci1zZWxlY3QtbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIuSGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAwIHJnYmEoYmxhY2ssIDAuMjUpLCAwIDJweCAwIHJnYmEoYmxhY2ssIDAuMSk7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBjb2xvcjogJGNvbG9yLWhlYWRlci1jb250ZW50O1xufVxuXG4uSGVhZGVyLXRpdGxlIHtcbiAgQGluY2x1ZGUgbGluay1kZWZhdWx0KGluaGVyaXQsIG5vbmUpO1xuICBsaW5lLWhlaWdodDogMjtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtIDAuNzVyZW0gMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLkhlYWRlci1idXR0b24ge1xuICBAaW5jbHVkZSBib3JkZXItaW5saW5lKGVuZCwgMXB4IHNvbGlkIHJnYmEoJGNvbG9yLWhlYWRlci1jb250ZW50LCAwLjI1KSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogM3JlbTtcbiAgd2lkdGg6IDNyZW07XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItaGVhZGVyLWNvbnRlbnQsIDAuMDUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWhlYWRlci1jb250ZW50LCAwLjEpO1xuICB9XG59XG5cbi5IZWFkZXItbmF2VG9nZ2xlIHtcbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZpbGw6ICRjb2xvci1oZWFkZXItY29udGVudDtcbiAgfVxufVxuXG4uRnJhbWUge1xuICAuSGVhZGVyLW5hdlRvZ2dsZUljb24tLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5GcmFtZS5pcy1jbG9zZWQge1xuICAuSGVhZGVyLW5hdlRvZ2dsZUljb24tLW9wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLkhlYWRlci1uYXZUb2dnbGVJY29uLS1jbG9zZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIuTWV0YSB7XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uTWV0YS1pdGVtIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRjb2xvci1mcmFtZS1ib3JkZXIsIDAuMTUpO1xuICB9XG59XG5cbi5NZXRhLWtleSB7XG4gIEBpbmNsdWRlIGZvbnQobGFiZWwpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgY29sb3I6ICRjb2xvci1zaWRlYmFyLWhlYWRpbmc7XG59XG5cbi5NZXRhLXZhbHVlIHtcbiAgQGluY2x1ZGUgZm9udChjYXB0aW9uKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBhIHN2ZyB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cblxuICBhOmhvdmVyIHNwYW4ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICB9XG59XG5cbi5NZXRhLWNvdW50IHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG5AaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gIC5GcmFtZS5pcy1jbG9zZWQge1xuICAgIC5NZXRhLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZy1pbmxpbmUoc3RhcnQsIDEwcmVtKTtcbiAgICB9XG5cbiAgICAuTWV0YS1rZXkge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luLWlubGluZShzdGFydCwgLTEwcmVtKTtcbiAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgLkZyYW1lOm5vdCguaXMtY2xvc2VkKSB7XG4gICAgLk1ldGEtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nLWlubGluZShzdGFydCwgMTByZW0pO1xuICAgIH1cblxuICAgIC5NZXRhLWtleSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4taW5saW5lKHN0YXJ0LCAtMTByZW0pO1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG59XG4iLCIuTmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uTmF2aWdhdGlvbi1ncm91cCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIH1cbn1cbiIsIi5QZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAmLmlzLXJlc2l6aW5nIHtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xuXG4gICAgLlBlbi1oYW5kbGUge1xuICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICB9XG4gIH1cbn1cblxuLlBlbi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LWhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJykgMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuU3RhdHVzIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4taW5saW5lKHN0YXJ0LCBhdXRvKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLWlubGluZShzdGFydCwgMC41cmVtKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbmF2Q29sbGFwc2UpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1mcmFtZS1ib3JkZXI7XG4gICAgcGFkZGluZzogMC43NXJlbTtcblxuICAgIC5TdGF0dXMgLlN0YXR1cy1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5QZW4tdGl0bGUge1xuICBAaW5jbHVkZSBmb250KHN1YkhlYWRpbmcpO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250OiBpbmhlcml0O1xufVxuXG4uUGVuLXByZXZpZXdMaW5rIHtcbiAgQGluY2x1ZGUgbGluay1kZWZhdWx0KCRjb2xvci1oZWFkaW5nLCBub25lKTtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG5cbiAgc3ZnIHtcbiAgICBmaWxsOiAkY29sb3ItbGluaztcbiAgICBvcGFjaXR5OiAwLjc1O1xuICB9XG5cbiAgJjpob3ZlciBzdmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLlBlbi1wcmV2aWV3IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGhlaWdodDogNTAlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgbWFyZ2luOiAwICRoYW5kbGUtc2l6ZTtcblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IG5hdkNvbGxhcHNlKSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLlBlbi1oYW5kbGUge1xuICBAaW5jbHVkZSBkcmFnSGFuZGxlO1xuXG4gIGZsZXg6IDAgMCBhdXRvO1xuICBoZWlnaHQ6ICRoYW5kbGUtc2l6ZTtcbiAgbWFyZ2luOiAwICRoYW5kbGUtc2l6ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvaWNvbi1kcmFnLS1ob3Jpem9udGFsLnN2ZycpIG5vLXJlcGVhdCA1MCVcbiAgICA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAzcHg7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xufVxuXG4uUGVuLWhhbmRsZS0tYnJvd3NlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uUGVuLWluZm8ge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZnJhbWUtYm9yZGVyO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWFyZ2luOiAwICRoYW5kbGUtc2l6ZSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbmF2Q29sbGFwc2UpIHtcbiAgICBtYXJnaW46IDAgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxufVxuXG4uUGVuLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5QZW4tdGFicy1uYXYge1xuICBtYXJnaW46IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG5cbiAgYSxcbiAgYTpsaW5rIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIH1cbiAgfVxufVxuXG4uUGVuLXRhYnMtbmF2IC5hY3RpdmUge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uUGVuLWRvY3VtZW50YXRpb24ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uUGVuLXBsYXlncm91bmQge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4uUGVuLXRhYnMgPiBkaXY6bm90KC5hY3RpdmUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29uZmlnXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kd2lkdGgtc2lkZWJhcjogMjQwcHg7XG4kaGFuZGxlLXNpemU6IDAuNjI1cmVtO1xuXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgbmF2Q29sbGFwc2U6IDUwMHB4LFxuICBtZWRpdW06IDYwMHB4LFxuICBsYXJnZTogODAwcHhcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb3JlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi9taXhpbnMnO1xuIiwiLlByZXZpZXcge1xuICBtaW4taGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgLlByZXZpZXctb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmlzLXJlc2l6aW5nIHtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xuXG4gICAgKiB7XG4gICAgICBjdXJzb3I6IGdyYWJiaW5nICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEobmF2Q29sbGFwc2UpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1vZmZzZXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWZyYW1lLWJvcmRlcjtcbiAgfVxufVxuXG4uUHJldmlldy13cmFwcGVyIHtcbiAgQGluY2x1ZGUgb2Zmc2V0LWlubGluZShzdGFydCwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRoYW5kbGUtc2l6ZX0pO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArICN7JGhhbmRsZS1zaXplfSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uUHJldmlldy1yZXNpemVyIHtcbiAgQGluY2x1ZGUgb2Zmc2V0LWlubGluZShzdGFydCwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JGhhbmRsZS1zaXplfSArIDFweCk7XG4gIG1pbi13aWR0aDogMTgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBuYXZDb2xsYXBzZSkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlIGFueSBKUy1zZXQgd2lkdGhzXG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC5FcnJvciB7XG4gICAgbWFyZ2luOiAwLjc1cmVtO1xuICB9XG59XG5cbi5QcmV2aWV3LWlmcmFtZSB7XG4gIEBpbmNsdWRlIHRyYmwoMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLlByZXZpZXctb3ZlcmxheSB7XG4gIEBpbmNsdWRlIHRyYmwoMCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLlByZXZpZXctaGFuZGxlIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWlubGluZShzdGFydCwgMXB4IHNvbGlkICRjb2xvci1mcmFtZS1ib3JkZXIpO1xuICBAaW5jbHVkZSBkcmFnSGFuZGxlO1xuICBAaW5jbHVkZSBvZmZzZXQtaW5saW5lKGVuZCwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICB3aWR0aDogJGhhbmRsZS1zaXplO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9pY29uLWRyYWctLXZlcnRpY2FsLnN2ZycpIG5vLXJlcGVhdCA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4IDE2cHg7XG4gIGN1cnNvcjogZXctcmVzaXplO1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbmF2Q29sbGFwc2UpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIuU3RhdHVzLFxuLlN0YXR1cy1kb3RzIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLlN0YXR1cy1kb3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIHdpZHRoOiAwLjVyZW07XG59XG5cbi5TdGF0dXMtZG90ICsgLlN0YXR1cy1kb3Qge1xuICBAaW5jbHVkZSBtYXJnaW4taW5saW5lKHN0YXJ0LCAzcHgpO1xufVxuXG4uU3RhdHVzLWxhYmVsIHtcbiAgQGluY2x1ZGUgZm9udChsYWJlbCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC43NXJlbTtcbiAgY29sb3I6IHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uU3RhdHVzLWxhYmVsICsgLlN0YXR1cy1sYWJlbCB7XG4gIEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUoc3RhcnQsIDAuMjVyZW0pO1xufVxuXG4uU3RhdHVzLS1sYWJlbGxlZCB7XG4gIC5TdGF0dXMtbGFiZWwge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUoZW5kLCAwLjc1cmVtKTtcbiAgfVxufVxuIiwiLlRyZWUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uVHJlZS10aXRsZSB7XG4gIEBpbmNsdWRlIGZvbnQobGFiZWwpO1xuICBAaW5jbHVkZSBwYWRkaW5nLWlubGluZShzdGFydCwgMXJlbSk7XG5cbiAgY29sb3I6ICRjb2xvci1zaWRlYmFyLWhlYWRpbmc7XG4gIGZvbnQtZmFtaWx5OiAkZWNsLWZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uVHJlZS1jb2xsZWN0aW9uIHtcbiAgJi5pcy1jbG9zZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLlRyZWUtY29sbGVjdGlvbkl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLlRyZWUtY29sbGVjdGlvbkxhYmVsIHtcbiAgICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgW2Rpcj0nbHRyJ10gJiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1uYXZpZ2F0aW9uLWNsb3NlZC1sdHIuc3ZnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLW5hdmlnYXRpb24tY2xvc2VkLXJ0bC5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uVHJlZS1jb2xsZWN0aW9uSXRlbXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuXG4gIC5UcmVlLWNvbGxlY3Rpb25JdGVtcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcblxuICAgIC5UcmVlLWNvbGxlY3Rpb25JdGVtcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgIH1cbiAgfVxufVxuXG4uVHJlZS1jb2xsZWN0aW9uTGFiZWwge1xuICBAaW5jbHVkZSBmb250KGNhcHRpb24pO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11aS1ob3ZlcjtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIHBhZGRpbmctaW5saW5lKHN0YXJ0LCAwKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4taW5saW5lKHN0YXJ0LCAwKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIHNwYW46OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBvZmZzZXQtaW5saW5lKGVuZCwgMXJlbSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1uYXZpZ2F0aW9uLW9wZW5lZC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICA+IHNwYW4ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIC5TdGF0dXMge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUoZW5kLCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpKTtcblxuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZy1pbmxpbmUoc3RhcnQsIDApO1xuICAgICAgQGluY2x1ZGUgbWFyZ2luLWlubGluZShzdGFydCwgMCk7XG5cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIHNwYW46OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5UcmVlLWl0ZW1zIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTE1Jyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xufVxuXG4uVHJlZS1pdGVtcyA+IGxpICsgbGkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbn1cblxuLlRyZWUtaXRlbSB7XG4gIEBpbmNsdWRlIGZvbnQoY2FwdGlvbik7XG59XG5cbi5UcmVlLWVudGl0eUxpbmsge1xuICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11aS1ob3ZlcjtcbiAgfVxuXG4gIC5pcy1jdXJyZW50ICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci11aS1hY3RpdmU7XG4gICAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgfVxuXG4gIC5TdGF0dXMge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUoZW5kLCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpKTtcbiAgfVxufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDgge1xuICAuVHJlZS1kZXB0aC0jeyRpfSB7XG4gICAgJHBhZExlZnQ6ICgkaSAqIDFyZW0pO1xuXG4gICAgLlRyZWUtY29sbGVjdGlvbkxhYmVsLFxuICAgIC5UcmVlLWVudGl0eUxpbmsge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZy1pbmxpbmUoc3RhcnQsICRwYWRMZWZ0KTtcbiAgICB9XG4gIH1cbn1cblxuLlRyZWUtZGVwdGgtMSBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAyLjU7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbn1cblxuLlRyZWUtc2VhcmNoIHtcbiAgcGFkZGluZzogMCBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xufVxuIiwiQGltcG9ydCAnLi9hc3NldC1saXN0JztcbkBpbXBvcnQgJy4vYnJvd3Nlcic7XG5AaW1wb3J0ICcuL2NvZGUnO1xuQGltcG9ydCAnLi9lcnJvcic7XG5AaW1wb3J0ICcuL2ZpbGUtYnJvd3Nlcic7XG5AaW1wb3J0ICcuL2hlYWRlcic7XG5AaW1wb3J0ICcuL21ldGEnO1xuQGltcG9ydCAnLi9uYXZpZ2F0aW9uJztcbkBpbXBvcnQgJy4vcGVuJztcbkBpbXBvcnQgJy4vcHJldmlldyc7XG5AaW1wb3J0ICcuL3N0YXR1cyc7XG5AaW1wb3J0ICcuL3RyZWUnO1xuXG4vLyBIYWNrc1xuLlN0YXR1cyB7XG4gIG1hcmdpbjogMCAwLjVyZW07XG59XG5cbi5lY2wtZWRpdG9yIHtcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1IHtcbiAgICBtYXJnaW46IDAgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gU3BhY2luZ1xuICAqICsgaDEge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhsJyk7XG4gIH1cblxuICAqICsgaDIge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKTtcbiAgfVxuXG4gICogKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gIH1cblxuICAqICsgaDQge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gIH1cblxuICBwcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB9XG59XG5cbi5lY2wtbmF2aWdhdGlvbi1tZW51X19ncm91cCB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGNvbHVtbi1jb3VudDogNDtcbiAgfVxufVxuXG4uZWNsLW5hdmlnYXRpb24tbWVudV9fbGlua1thcmlhLWV4cGFuZGVkPSd0cnVlJ10gfiAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAyMDA7XG4gIH1cbn1cblxuLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2dyb3VwOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2hlYWRpbmcge1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtLWxpc3Qge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5lY2wtbmF2aWdhdGlvbi1tZW51X19ncm91cCAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbn1cbiJdfQ== */