@charset "UTF-8";
/* This stylesheet generated by Transfonter (http://transfonter.org) on January 19, 2017 1:39 AM */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800");
@import url("https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i");
@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA55Medium-Italic.eot");
  src: url("/static/fonts/CoreSansA55Medium-Italic.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA55Medium-Italic.woff") format("woff"), url("/static/fonts/CoreSansA55Medium-Italic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA45Regular.eot");
  src: url("/static/fonts/CoreSansA45Regular.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA45Regular.woff") format("woff"), url("/static/fonts/CoreSansA45Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA35Light.eot");
  src: url("/static/fonts/CoreSansA35Light.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA35Light.woff") format("woff"), url("/static/fonts/CoreSansA35Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA35Light-Italic.eot");
  src: url("/static/fonts/CoreSansA35Light-Italic.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA35Light-Italic.woff") format("woff"), url("/static/fonts/CoreSansA35Light-Italic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA55Medium.eot");
  src: url("/static/fonts/CoreSansA55Medium.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA55Medium.woff") format("woff"), url("/static/fonts/CoreSansA55Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA65Bold.eot");
  src: url("/static/fonts/CoreSansA65Bold.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA65Bold.woff") format("woff"), url("/static/fonts/CoreSansA65Bold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA75ExtraBold.eot");
  src: url("/static/fonts/CoreSansA75ExtraBold.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA75ExtraBold.woff") format("woff"), url("/static/fonts/CoreSansA75ExtraBold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-family: 'Open Sans',sans-serif; }

@font-face {
  font-family: 'Core Sans A';
  src: url("/static/fonts/CoreSansA75ExtraBold-Italic.eot");
  src: url("/static/fonts/CoreSansA75ExtraBold-Italic.eot?#iefix") format("embedded-opentype"), url("/static/fonts/CoreSansA75ExtraBold-Italic.woff") format("woff"), url("/static/fonts/CoreSansA75ExtraBold-Italic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-family: 'Open Sans',sans-serif; }

/**
 * Foundation for Sites by ZURB
 * Version 6.4.4-rc1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

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

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

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

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

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

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

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

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

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

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

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 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 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

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

.foundation-mq {
  font-family: "small=0em&small-plus=28.125em&medium=40em&medium-plus=46.875em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #233A52;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 3px; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 3px; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  appearance: none;
  border: 0;
  border-radius: 3px;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  appearance: none;
  border-radius: 3px; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 3px 0 0 3px; }
  .input-group > :last-child > * {
    border-radius: 0 3px 3px 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.4375rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

.input-group .input-group-button {
  display: table-cell; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
.generic-p,
.section .content p,
.cta .content p,
.testimonials-text .content p,
.hero-home .content p,
.icon-block-layout-sidetext .description p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p, .generic-p, .section .content p, .cta .content p, .testimonials-text .content p, .hero-home .content p, .icon-block-layout-sidetext .description p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "PT Sans", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1 {
  font-size: 1.75rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.25rem; }
  h2, .h2 {
    font-size: 1.625rem; }
  h3, .h3 {
    font-size: 1.125rem; }
  h4, .h4 {
    font-size: 1.0625rem; }
  h5, .h5 {
    font-size: 1rem; }
  h6, .h6 {
    font-size: 0.9375rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p, blockquote .generic-p, blockquote .section .content p, .section .content blockquote p, blockquote .cta .content p, .cta .content blockquote p, blockquote .testimonials-text .content p, .testimonials-text .content blockquote p, blockquote .hero-home .content p, .hero-home .content blockquote p, blockquote .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a;
  border-radius: 3px; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat, .generic-p + .stat, .section .content p + .stat, .cta .content p + .stat, .testimonials-text .content p + .stat, .hero-home .content p + .stat, .icon-block-layout-sidetext .description p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left, .section .content-layout-solo-left .description .text-inner, .cta .content-layout-solo-left .description .text-inner, .testimonials-text .content-layout-solo-left .description .text-inner, .hero-home .content-layout-solo-left .description .text-inner,
.section .content-layout-solo-right .description .text-inner, .cta .content-layout-solo-right .description .text-inner, .testimonials-text .content-layout-solo-right .description .text-inner, .hero-home .content-layout-solo-right .description .text-inner {
  text-align: left; }

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

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

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 28.125em) {
  .small-plus-text-left {
    text-align: left; }
  .small-plus-text-right {
    text-align: right; }
  .small-plus-text-center {
    text-align: center; }
  .small-plus-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-text-left {
    text-align: left; }
  .medium-plus-text-right {
    text-align: right; }
  .medium-plus-text-center {
    text-align: center; }
  .medium-plus-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p, .generic-p, .section .content p, .cta .content p, .testimonials-text .content p, .hero-home .content p, .icon-block-layout-sidetext .description p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.row, .busmoveusa-countries-assisted .content .flags ul, .taxproblems-business-issues .features-lists .row .category-list ul {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 28.125em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 40em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    @media screen and (min-width: 75em) {
      .row .row, .busmoveusa-countries-assisted .content .flags ul .row, .taxproblems-business-issues .features-lists .row .category-list ul .row, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    .row .row.collapse, .busmoveusa-countries-assisted .content .flags ul .row.collapse, .taxproblems-business-issues .features-lists .row .category-list ul .row.collapse, .row .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row ul, .busmoveusa-countries-assisted .content .flags ul ul, .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded, .busmoveusa-countries-assisted .content .flags ul.expanded, .taxproblems-business-issues .features-lists .row .category-list ul.expanded {
    max-width: none; }
    .row.expanded .row, .busmoveusa-countries-assisted .content .flags ul.expanded .row, .taxproblems-business-issues .features-lists .row .category-list ul.expanded .row, .row.expanded .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row.expanded ul, .busmoveusa-countries-assisted .content .flags ul.expanded ul, .taxproblems-business-issues .features-lists .row.expanded .category-list ul, .taxproblems-business-issues .features-lists .row .category-list ul.expanded ul {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row, .busmoveusa-countries-assisted .content .flags ul:not(.expanded) .row, .taxproblems-business-issues .features-lists .row .category-list ul:not(.expanded) .row, .row:not(.expanded) .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .row:not(.expanded) ul, .busmoveusa-countries-assisted .content .flags ul:not(.expanded) ul, .taxproblems-business-issues .features-lists .row:not(.expanded) .category-list ul, .taxproblems-business-issues .features-lists .row .category-list ul:not(.expanded) ul {
    max-width: none; }
  .row.collapse > .column, .busmoveusa-countries-assisted .content .flags ul > .column, .taxproblems-business-issues .features-lists .row .category-list ul > .column, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > .column, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > .column, .row.collapse > .columns, .busmoveusa-countries-assisted .content .flags ul > .columns, .taxproblems-business-issues .features-lists .row .category-list ul > .columns, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > .columns, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > .columns, .busmoveusa-countries-assisted .content .flags ul .row.collapse > li, .busmoveusa-countries-assisted .content .flags ul > li, .taxproblems-business-issues .features-lists .row .category-list .busmoveusa-countries-assisted .content .flags ul > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul > li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > li {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child, .busmoveusa-countries-assisted .content .flags ul.is-collapse-child, .taxproblems-business-issues .features-lists .row .category-list ul.is-collapse-child,
  .row.collapse > .column > .row, .busmoveusa-countries-assisted .content .flags ul > .column > .row, .taxproblems-business-issues .features-lists .row .category-list ul > .column > .row, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > .column > .row, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > .column > .row,
  .row.collapse > .columns > .row, .busmoveusa-countries-assisted .content .flags ul > .columns > .row, .taxproblems-business-issues .features-lists .row .category-list ul > .columns > .row, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > .columns > .row, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > .columns > .row, .busmoveusa-countries-assisted .content .flags ul
  .row.collapse > li > .row, .busmoveusa-countries-assisted .content .flags ul > li > .row, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul > li > .row, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > li > .row, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > li > .row, .busmoveusa-countries-assisted .content .flags
  .row.collapse > .column > ul, .busmoveusa-countries-assisted .content .flags ul > .column > ul, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > .column > ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > .column > ul, .busmoveusa-countries-assisted .content .flags
  .row.collapse > .columns > ul, .busmoveusa-countries-assisted .content .flags ul > .columns > ul, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > .columns > ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > .columns > ul, .busmoveusa-countries-assisted .content .flags ul
  .row.collapse > li > ul, .busmoveusa-countries-assisted .content .flags ul > li > ul, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul > li > ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul > li > ul, .taxproblems-business-issues .features-lists .row .category-list
  .row.collapse > .column > ul, .taxproblems-business-issues .features-lists .row .category-list ul > .column > ul, .taxproblems-business-issues .features-lists .row .category-list
  .row.collapse > .columns > ul, .taxproblems-business-issues .features-lists .row .category-list ul > .columns > ul, .busmoveusa-countries-assisted .content .flags ul .taxproblems-business-issues .features-lists .row .category-list
  .row.collapse > li > ul, .taxproblems-business-issues .features-lists .row .category-list .busmoveusa-countries-assisted .content .flags ul > li > ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul > li > ul {
    margin-right: 0;
    margin-left: 0; }

.column, .columns, .busmoveusa-countries-assisted .content .flags ul li {
  flex: 1 1 0px;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  min-width: 0; }
  @media print, screen and (min-width: 40em) {
    .column, .columns, .busmoveusa-countries-assisted .content .flags ul li {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.column.row.row, .row.row.columns, .busmoveusa-countries-assisted .content .flags ul.columns, .taxproblems-business-issues .features-lists .row .category-list ul.columns, .busmoveusa-countries-assisted .content .flags ul.column, .busmoveusa-countries-assisted .content .flags ul li.row.row, .taxproblems-business-issues .features-lists .row .category-list ul.column {
  float: none;
  display: block; }

.row .column.row.row, .busmoveusa-countries-assisted .content .flags ul .column.row.row, .taxproblems-business-issues .features-lists .row .category-list ul .column.row.row, .row .row.row.columns, .busmoveusa-countries-assisted .content .flags ul .row.row.columns, .taxproblems-business-issues .features-lists .row .category-list ul .row.row.columns, .row .busmoveusa-countries-assisted .content .flags ul.columns, .busmoveusa-countries-assisted .content .flags .row ul.columns, .busmoveusa-countries-assisted .content .flags ul ul.columns, .taxproblems-business-issues .features-lists .row .category-list ul.columns, .row .busmoveusa-countries-assisted .content .flags ul.column, .busmoveusa-countries-assisted .content .flags .row ul.column, .busmoveusa-countries-assisted .content .flags ul ul.column, .busmoveusa-countries-assisted .content .flags ul li.row.row, .taxproblems-business-issues .features-lists .row .category-list ul.column {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.small-3 {
  flex: 0 0 25%;
  max-width: 25%; }

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

.small-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

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

.small-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.small-6 {
  flex: 0 0 50%;
  max-width: 50%; }

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

.small-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

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

.small-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.small-9 {
  flex: 0 0 75%;
  max-width: 75%; }

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

.small-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

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

.small-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.small-12, .heading-centered p, .heading-centered .generic-p, .heading-centered .section .content p, .section .content .heading-centered p, .heading-centered .cta .content p, .cta .content .heading-centered p, .heading-centered .testimonials-text .content p, .testimonials-text .content .heading-centered p, .heading-centered .hero-home .content p, .hero-home .content .heading-centered p, .heading-centered .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .heading-centered p {
  flex: 0 0 100%;
  max-width: 100%; }

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

.small-up-1 {
  flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-1 > li {
    flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-2 > li {
    flex: 0 0 50%;
    max-width: 50%; }

.small-up-3, .busmoveusa-countries-assisted .content .flags ul {
  flex-wrap: wrap; }
  .small-up-3 > .column, .busmoveusa-countries-assisted .content .flags ul > .column, .small-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-3 > li, .busmoveusa-countries-assisted .content .flags ul > li {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-4 > li {
    flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-5 > li {
    flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-6 > li {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-7 > li {
    flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-up-8 > li {
    flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-collapse > li {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-uncollapse > li {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }

@media print, screen and (min-width: 28.125em) {
  .small-plus-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .small-plus-offset-0 {
    margin-left: 0%; }
  .small-plus-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .small-plus-offset-1 {
    margin-left: 8.33333%; }
  .small-plus-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .small-plus-offset-2 {
    margin-left: 16.66667%; }
  .small-plus-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .small-plus-offset-3 {
    margin-left: 25%; }
  .small-plus-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .small-plus-offset-4 {
    margin-left: 33.33333%; }
  .small-plus-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .small-plus-offset-5 {
    margin-left: 41.66667%; }
  .small-plus-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .small-plus-offset-6 {
    margin-left: 50%; }
  .small-plus-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .small-plus-offset-7 {
    margin-left: 58.33333%; }
  .small-plus-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .small-plus-offset-8 {
    margin-left: 66.66667%; }
  .small-plus-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .small-plus-offset-9 {
    margin-left: 75%; }
  .small-plus-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .small-plus-offset-10 {
    margin-left: 83.33333%; }
  .small-plus-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .small-plus-offset-11 {
    margin-left: 91.66667%; }
  .small-plus-up-1 {
    flex-wrap: wrap; }
    .small-plus-up-1 > .column, .small-plus-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .small-plus-up-2 {
    flex-wrap: wrap; }
    .small-plus-up-2 > .column, .small-plus-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .small-plus-up-3 {
    flex-wrap: wrap; }
    .small-plus-up-3 > .column, .small-plus-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .small-plus-up-4 {
    flex-wrap: wrap; }
    .small-plus-up-4 > .column, .small-plus-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .small-plus-up-5 {
    flex-wrap: wrap; }
    .small-plus-up-5 > .column, .small-plus-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .small-plus-up-6 {
    flex-wrap: wrap; }
    .small-plus-up-6 > .column, .small-plus-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .small-plus-up-7 {
    flex-wrap: wrap; }
    .small-plus-up-7 > .column, .small-plus-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .small-plus-up-8 {
    flex-wrap: wrap; }
    .small-plus-up-8 > .column, .small-plus-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 28.125em) and (min-width: 28.125em) {
  .small-plus-expand {
    flex: 1 1 0px; } }

.row.small-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .column, .row.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 28.125em) {
    .row.small-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .column, .row.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.small-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.small-plus-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 28.125em) {
  .small-plus-collapse > .column, .small-plus-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .small-plus-uncollapse > .column, .small-plus-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .small-plus-uncollapse > li {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5, .section .content-layout-solo-left .graphic, .cta .content-layout-solo-left .graphic, .testimonials-text .content-layout-solo-left .graphic, .hero-home .content-layout-solo-left .graphic,
  .section .content-layout-solo-right .graphic, .cta .content-layout-solo-right .graphic, .testimonials-text .content-layout-solo-right .graphic, .hero-home .content-layout-solo-right .graphic, .section .content-layout-solo-left .description, .cta .content-layout-solo-left .description, .testimonials-text .content-layout-solo-left .description, .hero-home .content-layout-solo-left .description,
  .section .content-layout-solo-right .description, .cta .content-layout-solo-right .description, .testimonials-text .content-layout-solo-right .description, .hero-home .content-layout-solo-right .description {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11, .heading-centered p, .heading-centered .generic-p, .heading-centered .section .content p, .section .content .heading-centered p, .heading-centered .cta .content p, .cta .content .heading-centered p, .heading-centered .testimonials-text .content p, .testimonials-text .content .heading-centered p, .heading-centered .hero-home .content p, .hero-home .content .heading-centered p, .heading-centered .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .heading-centered p {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    flex: 1 1 0px; } }

.row.medium-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .column, .row.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .column, .row.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-plus-offset-0 {
    margin-left: 0%; }
  .medium-plus-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-plus-offset-1 {
    margin-left: 8.33333%; }
  .medium-plus-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .medium-plus-offset-2 {
    margin-left: 16.66667%; }
  .medium-plus-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-plus-offset-3 {
    margin-left: 25%; }
  .medium-plus-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-plus-offset-4 {
    margin-left: 33.33333%; }
  .medium-plus-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .medium-plus-offset-5 {
    margin-left: 41.66667%; }
  .medium-plus-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-plus-offset-6 {
    margin-left: 50%; }
  .medium-plus-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-plus-offset-7 {
    margin-left: 58.33333%; }
  .medium-plus-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .medium-plus-offset-8 {
    margin-left: 66.66667%; }
  .medium-plus-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-plus-offset-9 {
    margin-left: 75%; }
  .medium-plus-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-plus-offset-10 {
    margin-left: 83.33333%; }
  .medium-plus-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .medium-plus-offset-11 {
    margin-left: 91.66667%; }
  .medium-plus-up-1 {
    flex-wrap: wrap; }
    .medium-plus-up-1 > .column, .medium-plus-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .medium-plus-up-2 {
    flex-wrap: wrap; }
    .medium-plus-up-2 > .column, .medium-plus-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .medium-plus-up-3 {
    flex-wrap: wrap; }
    .medium-plus-up-3 > .column, .medium-plus-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-plus-up-4 {
    flex-wrap: wrap; }
    .medium-plus-up-4 > .column, .medium-plus-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .medium-plus-up-5 {
    flex-wrap: wrap; }
    .medium-plus-up-5 > .column, .medium-plus-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .medium-plus-up-6 {
    flex-wrap: wrap; }
    .medium-plus-up-6 > .column, .medium-plus-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-plus-up-7 {
    flex-wrap: wrap; }
    .medium-plus-up-7 > .column, .medium-plus-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-plus-up-8 {
    flex-wrap: wrap; }
    .medium-plus-up-8 > .column, .medium-plus-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 46.875em) and (min-width: 46.875em) {
  .medium-plus-expand {
    flex: 1 1 0px; } }

.row.medium-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .column, .row.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 46.875em) {
    .row.medium-plus-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .column, .row.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags ul.medium-plus-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.medium-plus-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-collapse > .column, .medium-plus-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .medium-plus-uncollapse > .column, .medium-plus-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .medium-plus-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5, .busmoveusa-countries-assisted .content .flags ul {
    flex-wrap: wrap; }
    .large-up-5 > .column, .busmoveusa-countries-assisted .content .flags ul > .column, .large-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-5 > li, .busmoveusa-countries-assisted .content .flags ul > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .large-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    flex: 1 1 0px; } }

.row.large-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .column, .row.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.large-unstack > li, .busmoveusa-countries-assisted .content .flags ul.large-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > li {
  flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .column, .row.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.large-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.large-unstack > li, .busmoveusa-countries-assisted .content .flags ul.large-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.large-unstack > li {
      flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .large-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .large-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 {
    flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-1 > li {
      flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-2 > li {
      flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-3 > li {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-4 > li {
      flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-5 > li {
      flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-6 > li {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-7 > li {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-up-8 > li {
      flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 75em) and (min-width: 75em) {
  .xlarge-expand {
    flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .column, .row.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > li {
  flex: 0 0 100%; }
  @media screen and (min-width: 75em) {
    .row.xlarge-unstack > .column, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .column, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .column, .row.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > .columns, .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > .columns, .busmoveusa-countries-assisted .content .flags ul .row.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags ul.xlarge-unstack > li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists .row .category-list ul.xlarge-unstack > li {
      flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-collapse > li {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns, .busmoveusa-countries-assisted .content .flags ul .xlarge-uncollapse > li {
    padding-right: 1.25rem;
    padding-left: 1.25rem; } }

.shrink, .taxproblems-subhero .header {
  flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 1.875rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 2.5rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 1em 1.4em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #007dff;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #0064cc;
      color: #ffffff; }
  .button.secondary {
    background-color: #f44d52;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #f01117;
      color: #ffffff; }
  .button.white {
    background-color: #ffffff;
    color: #ffffff; }
    .button.white:hover, .button.white:focus {
      background-color: #cccccc;
      color: #ffffff; }
  .button.dark-blue {
    background-color: #1f4e89;
    color: #ffffff; }
    .button.dark-blue:hover, .button.dark-blue:focus {
      background-color: #193e6e;
      color: #ffffff; }
  .button.business-blue {
    background-color: #076acd;
    color: #ffffff; }
    .button.business-blue:hover, .button.business-blue:focus {
      background-color: #0655a4;
      color: #ffffff; }
  .button.business-green {
    background-color: #15843a;
    color: #ffffff; }
    .button.business-green:hover, .button.business-green:focus {
      background-color: #116a2e;
      color: #ffffff; }
  .button.contact {
    background-color: #e60e15;
    color: #ffffff; }
    .button.contact:hover, .button.contact:focus {
      background-color: #b80b11;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #ffffff; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #ffffff; }
  .button.warning {
    background-color: #ffae00;
    color: #ffffff; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #ffffff; }
  .button.alert {
    background-color: #cc4b37;
    color: #ffffff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #ffffff; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #007dff;
        color: #ffffff; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #f44d52;
        color: #ffffff; }
    .button.disabled.white, .button[disabled].white {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.white, .button.disabled.white:hover, .button.disabled.white:focus, .button[disabled].white, .button[disabled].white:hover, .button[disabled].white:focus {
        background-color: #ffffff;
        color: #ffffff; }
    .button.disabled.dark-blue, .button[disabled].dark-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.dark-blue, .button.disabled.dark-blue:hover, .button.disabled.dark-blue:focus, .button[disabled].dark-blue, .button[disabled].dark-blue:hover, .button[disabled].dark-blue:focus {
        background-color: #1f4e89;
        color: #ffffff; }
    .button.disabled.business-blue, .button[disabled].business-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.business-blue, .button.disabled.business-blue:hover, .button.disabled.business-blue:focus, .button[disabled].business-blue, .button[disabled].business-blue:hover, .button[disabled].business-blue:focus {
        background-color: #076acd;
        color: #ffffff; }
    .button.disabled.business-green, .button[disabled].business-green {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.business-green, .button.disabled.business-green:hover, .button.disabled.business-green:focus, .button[disabled].business-green, .button[disabled].business-green:hover, .button[disabled].business-green:focus {
        background-color: #15843a;
        color: #ffffff; }
    .button.disabled.contact, .button[disabled].contact {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.contact, .button.disabled.contact:hover, .button.disabled.contact:focus, .button[disabled].contact, .button[disabled].contact:hover, .button[disabled].contact:focus {
        background-color: #e60e15;
        color: #ffffff; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #ffffff; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #ffffff; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #ffffff; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0f4f79;
      color: #0f4f79; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #007dff;
      color: #007dff; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0051a6;
        color: #0051a6; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #007dff;
          color: #007dff; }
    .button.hollow.secondary {
      border: 1px solid #f44d52;
      color: #f44d52; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #c50c12;
        color: #c50c12; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #f44d52;
          color: #f44d52; }
    .button.hollow.white {
      border: 1px solid #ffffff;
      color: #ffffff; }
      .button.hollow.white:hover, .button.hollow.white:focus {
        border-color: #a6a6a6;
        color: #a6a6a6; }
        .button.hollow.white:hover.disabled, .button.hollow.white:hover[disabled], .button.hollow.white:focus.disabled, .button.hollow.white:focus[disabled] {
          border: 1px solid #ffffff;
          color: #ffffff; }
    .button.hollow.dark-blue {
      border: 1px solid #1f4e89;
      color: #1f4e89; }
      .button.hollow.dark-blue:hover, .button.hollow.dark-blue:focus {
        border-color: #143359;
        color: #143359; }
        .button.hollow.dark-blue:hover.disabled, .button.hollow.dark-blue:hover[disabled], .button.hollow.dark-blue:focus.disabled, .button.hollow.dark-blue:focus[disabled] {
          border: 1px solid #1f4e89;
          color: #1f4e89; }
    .button.hollow.business-blue {
      border: 1px solid #076acd;
      color: #076acd; }
      .button.hollow.business-blue:hover, .button.hollow.business-blue:focus {
        border-color: #054585;
        color: #054585; }
        .button.hollow.business-blue:hover.disabled, .button.hollow.business-blue:hover[disabled], .button.hollow.business-blue:focus.disabled, .button.hollow.business-blue:focus[disabled] {
          border: 1px solid #076acd;
          color: #076acd; }
    .button.hollow.business-green {
      border: 1px solid #15843a;
      color: #15843a; }
      .button.hollow.business-green:hover, .button.hollow.business-green:focus {
        border-color: #0e5626;
        color: #0e5626; }
        .button.hollow.business-green:hover.disabled, .button.hollow.business-green:hover[disabled], .button.hollow.business-green:focus.disabled, .button.hollow.business-green:focus[disabled] {
          border: 1px solid #15843a;
          color: #15843a; }
    .button.hollow.contact {
      border: 1px solid #e60e15;
      color: #e60e15; }
      .button.hollow.contact:hover, .button.hollow.contact:focus {
        border-color: #96090d;
        color: #96090d; }
        .button.hollow.contact:hover.disabled, .button.hollow.contact:hover[disabled], .button.hollow.contact:focus.disabled, .button.hollow.contact:focus[disabled] {
          border: 1px solid #e60e15;
          color: #e60e15; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #1c984a;
        color: #1c984a; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #a67100;
        color: #a67100; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #863022;
        color: #863022; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #0f4f79;
      color: #0f4f79; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #007dff;
      color: #007dff; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0051a6;
        color: #0051a6; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #007dff;
          color: #007dff; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #f44d52;
      color: #f44d52; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #c50c12;
        color: #c50c12; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #f44d52;
          color: #f44d52; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.white {
      border: 1px solid #ffffff;
      color: #ffffff; }
      .button.clear.white:hover, .button.clear.white:focus {
        border-color: #a6a6a6;
        color: #a6a6a6; }
        .button.clear.white:hover.disabled, .button.clear.white:hover[disabled], .button.clear.white:focus.disabled, .button.clear.white:focus[disabled] {
          border: 1px solid #ffffff;
          color: #ffffff; }
      .button.clear.white, .button.clear.white.disabled, .button.clear.white[disabled], .button.clear.white:hover, .button.clear.white:hover.disabled, .button.clear.white:hover[disabled], .button.clear.white:focus, .button.clear.white:focus.disabled, .button.clear.white:focus[disabled] {
        border-color: transparent; }
    .button.clear.dark-blue {
      border: 1px solid #1f4e89;
      color: #1f4e89; }
      .button.clear.dark-blue:hover, .button.clear.dark-blue:focus {
        border-color: #143359;
        color: #143359; }
        .button.clear.dark-blue:hover.disabled, .button.clear.dark-blue:hover[disabled], .button.clear.dark-blue:focus.disabled, .button.clear.dark-blue:focus[disabled] {
          border: 1px solid #1f4e89;
          color: #1f4e89; }
      .button.clear.dark-blue, .button.clear.dark-blue.disabled, .button.clear.dark-blue[disabled], .button.clear.dark-blue:hover, .button.clear.dark-blue:hover.disabled, .button.clear.dark-blue:hover[disabled], .button.clear.dark-blue:focus, .button.clear.dark-blue:focus.disabled, .button.clear.dark-blue:focus[disabled] {
        border-color: transparent; }
    .button.clear.business-blue {
      border: 1px solid #076acd;
      color: #076acd; }
      .button.clear.business-blue:hover, .button.clear.business-blue:focus {
        border-color: #054585;
        color: #054585; }
        .button.clear.business-blue:hover.disabled, .button.clear.business-blue:hover[disabled], .button.clear.business-blue:focus.disabled, .button.clear.business-blue:focus[disabled] {
          border: 1px solid #076acd;
          color: #076acd; }
      .button.clear.business-blue, .button.clear.business-blue.disabled, .button.clear.business-blue[disabled], .button.clear.business-blue:hover, .button.clear.business-blue:hover.disabled, .button.clear.business-blue:hover[disabled], .button.clear.business-blue:focus, .button.clear.business-blue:focus.disabled, .button.clear.business-blue:focus[disabled] {
        border-color: transparent; }
    .button.clear.business-green {
      border: 1px solid #15843a;
      color: #15843a; }
      .button.clear.business-green:hover, .button.clear.business-green:focus {
        border-color: #0e5626;
        color: #0e5626; }
        .button.clear.business-green:hover.disabled, .button.clear.business-green:hover[disabled], .button.clear.business-green:focus.disabled, .button.clear.business-green:focus[disabled] {
          border: 1px solid #15843a;
          color: #15843a; }
      .button.clear.business-green, .button.clear.business-green.disabled, .button.clear.business-green[disabled], .button.clear.business-green:hover, .button.clear.business-green:hover.disabled, .button.clear.business-green:hover[disabled], .button.clear.business-green:focus, .button.clear.business-green:focus.disabled, .button.clear.business-green:focus[disabled] {
        border-color: transparent; }
    .button.clear.contact {
      border: 1px solid #e60e15;
      color: #e60e15; }
      .button.clear.contact:hover, .button.clear.contact:focus {
        border-color: #96090d;
        color: #96090d; }
        .button.clear.contact:hover.disabled, .button.clear.contact:hover[disabled], .button.clear.contact:focus.disabled, .button.clear.contact:focus[disabled] {
          border: 1px solid #e60e15;
          color: #e60e15; }
      .button.clear.contact, .button.clear.contact.disabled, .button.clear.contact[disabled], .button.clear.contact:hover, .button.clear.contact:hover.disabled, .button.clear.contact:hover[disabled], .button.clear.contact:focus, .button.clear.contact:focus.disabled, .button.clear.contact:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #1c984a;
        color: #1c984a; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #a67100;
        color: #a67100; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #863022;
        color: #863022; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1.4em; }
  .button.dropdown.hollow::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #007dff; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #f44d52; }
  .button.dropdown.hollow.white::after {
    border-top-color: #ffffff; }
  .button.dropdown.hollow.dark-blue::after {
    border-top-color: #1f4e89; }
  .button.dropdown.hollow.business-blue::after {
    border-top-color: #076acd; }
  .button.dropdown.hollow.business-green::after {
    border-top-color: #15843a; }
  .button.dropdown.hollow.contact::after {
    border-top-color: #e60e15; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: 100%; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #ffffff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #ffffff; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #ffffff; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #ffffff; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #ffffff; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #ffffff; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #ffffff; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #ffffff; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #ffffff; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button-group.white .button {
    background-color: #fff;
    color: #ffffff; }
    .button-group.white .button:hover, .button-group.white .button:focus {
      background-color: #cccccc;
      color: #ffffff; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 28.0625em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 3px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #ffffff; }
  .label.primary {
    background: #1779ba;
    color: #ffffff; }
  .label.secondary {
    background: #767676;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #ffffff; }
  .label.white {
    background: #fff;
    color: #0a0a0a; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 3px;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }
  .progress.white .progress-meter {
    background-color: #fff; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba;
  border-radius: 3px; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap;
  border-radius: 3px; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  user-select: none;
  touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 3px;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(-50%); }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 3px;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transform: translate3d(0, 0, 0);
    border-radius: 3px;
    background: #ffffff;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 3px; }
  thead, tbody, tfoot {
    border: 1px solid #f2f2f2;
    background-color: #ffffff; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f9f9f9;
    color: #233A52; }
  tfoot {
    background: #f2f2f2;
    color: #233A52; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f2f2f2; }
  table.unstriped tbody {
    background-color: #ffffff; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      background-color: #ffffff; }

@media screen and (max-width: 46.8125em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f4f4f4; }

table.hover tfoot tr:hover {
  background-color: #ededed; }

table.hover tbody tr:hover {
  background-color: #fafafa; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ededed; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #ffffff; }
  .badge.primary {
    background: #1779ba;
    color: #ffffff; }
  .badge.secondary {
    background: #767676;
    color: #ffffff; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #ffffff; }
  .badge.white {
    background: #fff;
    color: #0a0a0a; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' '; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.callout, .section-callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #233A52; }
  .callout > :first-child, .section-callout > :first-child {
    margin-top: 0; }
  .callout > :last-child, .section-callout > :last-child {
    margin-bottom: 0; }
  .callout.primary, .primary.section-callout {
    background-color: #d7ecfa;
    color: #233A52; }
  .callout.secondary, .secondary.section-callout {
    background-color: #eaeaea;
    color: #233A52; }
  .callout.success, .success.section-callout {
    background-color: #e1faea;
    color: #233A52; }
  .callout.warning, .warning.section-callout {
    background-color: #fff3d9;
    color: #233A52; }
  .callout.alert, .alert.section-callout {
    background-color: #f7e4e1;
    color: #233A52; }
  .callout.white, .white.section-callout {
    background-color: white;
    color: #233A52; }
  .callout.small, .small.section-callout {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large, .large.section-callout {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  color: #233A52; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' '; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 3px;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 3px;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 3px;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #ffffff; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before, .section .tooltip.bottom.content-layout-solo-left::before, .cta .tooltip.bottom.content-layout-solo-left::before, .testimonials-text .tooltip.bottom.content-layout-solo-left::before, .hero-home .tooltip.bottom.content-layout-solo-left::before,
  .section .tooltip.bottom.content-layout-solo-right::before, .cta .tooltip.bottom.content-layout-solo-right::before, .testimonials-text .tooltip.bottom.content-layout-solo-right::before, .hero-home .tooltip.bottom.content-layout-solo-right::before, .section .tooltip.bottom.content-layout-solo-center::before, .cta .tooltip.bottom.content-layout-solo-center::before, .testimonials-text .tooltip.bottom.content-layout-solo-center::before, .hero-home .tooltip.bottom.content-layout-solo-center::before, .tooltip.bottom.icon-group-3-1::before, .tooltip.bottom.icon-group-2close-1::before, .cta .container .tooltip.bottom.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.bottom.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.bottom::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.bottom::before, .taxprep-take-care-of-taxes .feature .tooltip.bottom.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.bottom::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.bottom::before, .taxprep-expert-team .all-features .tooltip.bottom.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.bottom::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.bottom::before, .taxprep-expert-team .feature .tooltip.bottom.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.bottom::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.bottom::before, .taxprep-business-section .feature .tooltip.bottom.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.bottom::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.bottom::before, .buspr-features-picker .services-group .card-wrapper .tooltip.bottom.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.bottom.icon-row::before, .busregister-plan-organize .tooltip.bottom.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.bottom.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.bottom::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.bottom::before, .busfin-benefits-intro .features-section .all-features .tooltip.bottom.features-row::before, .busfin-manage .all-features .tooltip.bottom.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.bottom::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.bottom::before, .busfin-team .features-section .all-features .tooltip.bottom.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.bottom::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.bottom::before, .busfin-team .features-section .feature .tooltip.bottom.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.bottom::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.bottom::before, .taxproblems-subhero .tooltip.bottom.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.bottom.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.bottom::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.bottom::before, .taxproblems-knowledge-experience .feature .tooltip.bottom.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.bottom::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.bottom::before, .taxproblems-personal-issues .tooltip.bottom.features-row::before, .taxproblems-personal-issues .feature .tooltip.bottom.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.bottom::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.bottom::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.bottom::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.bottom::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before, .section .tooltip.top.content-layout-solo-left::before, .cta .tooltip.top.content-layout-solo-left::before, .testimonials-text .tooltip.top.content-layout-solo-left::before, .hero-home .tooltip.top.content-layout-solo-left::before,
  .section .tooltip.top.content-layout-solo-right::before, .cta .tooltip.top.content-layout-solo-right::before, .testimonials-text .tooltip.top.content-layout-solo-right::before, .hero-home .tooltip.top.content-layout-solo-right::before, .section .tooltip.top.content-layout-solo-center::before, .cta .tooltip.top.content-layout-solo-center::before, .testimonials-text .tooltip.top.content-layout-solo-center::before, .hero-home .tooltip.top.content-layout-solo-center::before, .tooltip.top.icon-group-3-1::before, .tooltip.top.icon-group-2close-1::before, .cta .container .tooltip.top.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.top.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.top::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.top::before, .taxprep-take-care-of-taxes .feature .tooltip.top.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.top::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.top::before, .taxprep-expert-team .all-features .tooltip.top.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.top::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.top::before, .taxprep-expert-team .feature .tooltip.top.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.top::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.top::before, .taxprep-business-section .feature .tooltip.top.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.top::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.top::before, .buspr-features-picker .services-group .card-wrapper .tooltip.top.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.top.icon-row::before, .busregister-plan-organize .tooltip.top.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.top.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.top::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.top::before, .busfin-benefits-intro .features-section .all-features .tooltip.top.features-row::before, .busfin-manage .all-features .tooltip.top.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.top::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.top::before, .busfin-team .features-section .all-features .tooltip.top.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.top::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.top::before, .busfin-team .features-section .feature .tooltip.top.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.top::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.top::before, .taxproblems-subhero .tooltip.top.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.top.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.top::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.top::before, .taxproblems-knowledge-experience .feature .tooltip.top.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.top::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.top::before, .taxproblems-personal-issues .tooltip.top.features-row::before, .taxproblems-personal-issues .feature .tooltip.top.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.top::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.top::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.top::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.top::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before, .section .tooltip.left.content-layout-solo-left::before, .cta .tooltip.left.content-layout-solo-left::before, .testimonials-text .tooltip.left.content-layout-solo-left::before, .hero-home .tooltip.left.content-layout-solo-left::before,
  .section .tooltip.left.content-layout-solo-right::before, .cta .tooltip.left.content-layout-solo-right::before, .testimonials-text .tooltip.left.content-layout-solo-right::before, .hero-home .tooltip.left.content-layout-solo-right::before, .section .tooltip.left.content-layout-solo-center::before, .cta .tooltip.left.content-layout-solo-center::before, .testimonials-text .tooltip.left.content-layout-solo-center::before, .hero-home .tooltip.left.content-layout-solo-center::before, .tooltip.left.icon-group-3-1::before, .tooltip.left.icon-group-2close-1::before, .cta .container .tooltip.left.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.left.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.left::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.left::before, .taxprep-take-care-of-taxes .feature .tooltip.left.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.left::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.left::before, .taxprep-expert-team .all-features .tooltip.left.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.left::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.left::before, .taxprep-expert-team .feature .tooltip.left.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.left::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.left::before, .taxprep-business-section .feature .tooltip.left.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.left::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.left::before, .buspr-features-picker .services-group .card-wrapper .tooltip.left.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.left.icon-row::before, .busregister-plan-organize .tooltip.left.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.left.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.left::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.left::before, .busfin-benefits-intro .features-section .all-features .tooltip.left.features-row::before, .busfin-manage .all-features .tooltip.left.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.left::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.left::before, .busfin-team .features-section .all-features .tooltip.left.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.left::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.left::before, .busfin-team .features-section .feature .tooltip.left.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.left::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.left::before, .taxproblems-subhero .tooltip.left.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.left.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.left::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.left::before, .taxproblems-knowledge-experience .feature .tooltip.left.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.left::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.left::before, .taxproblems-personal-issues .tooltip.left.features-row::before, .taxproblems-personal-issues .feature .tooltip.left.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.left::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.left::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.left::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.left::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before, .section .tooltip.right.content-layout-solo-left::before, .cta .tooltip.right.content-layout-solo-left::before, .testimonials-text .tooltip.right.content-layout-solo-left::before, .hero-home .tooltip.right.content-layout-solo-left::before,
  .section .tooltip.right.content-layout-solo-right::before, .cta .tooltip.right.content-layout-solo-right::before, .testimonials-text .tooltip.right.content-layout-solo-right::before, .hero-home .tooltip.right.content-layout-solo-right::before, .section .tooltip.right.content-layout-solo-center::before, .cta .tooltip.right.content-layout-solo-center::before, .testimonials-text .tooltip.right.content-layout-solo-center::before, .hero-home .tooltip.right.content-layout-solo-center::before, .tooltip.right.icon-group-3-1::before, .tooltip.right.icon-group-2close-1::before, .cta .container .tooltip.right.content::before, .taxprep-services-picker .features-section .features-row .feature .tooltip.right.row::before, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.tooltip.right::before, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.tooltip.right::before, .taxprep-take-care-of-taxes .feature .tooltip.right.row::before, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.tooltip.right::before, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.tooltip.right::before, .taxprep-expert-team .all-features .tooltip.right.row::before, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.tooltip.right::before, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.tooltip.right::before, .taxprep-expert-team .feature .tooltip.right.row::before, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.tooltip.right::before, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.tooltip.right::before, .taxprep-business-section .feature .tooltip.right.row::before, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.tooltip.right::before, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.tooltip.right::before, .buspr-features-picker .services-group .card-wrapper .tooltip.right.card-section::before, .buspr-guidance-assistance .feature-row .feature .tooltip.right.icon-row::before, .busregister-plan-organize .tooltip.right.header-section::before, .busregister-plan-organize .features-row .feature .tooltip.right.row::before, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.tooltip.right::before, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.tooltip.right::before, .busfin-benefits-intro .features-section .all-features .tooltip.right.features-row::before, .busfin-manage .all-features .tooltip.right.row::before, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.tooltip.right::before, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.tooltip.right::before, .busfin-team .features-section .all-features .tooltip.right.row::before, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.tooltip.right::before, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.tooltip.right::before, .busfin-team .features-section .feature .tooltip.right.row::before, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.tooltip.right::before, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.tooltip.right::before, .taxproblems-subhero .tooltip.right.services-picker::before, .taxproblems-subhero .services-picker .service .card .tooltip.right.row::before, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.tooltip.right::before, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.tooltip.right::before, .taxproblems-knowledge-experience .feature .tooltip.right.row::before, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.tooltip.right::before, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.tooltip.right::before, .taxproblems-personal-issues .tooltip.right.features-row::before, .taxproblems-personal-issues .feature .tooltip.right.row::before, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.tooltip.right::before, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.tooltip.right::before, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip.right::before, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.tooltip.right::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.align-top::before, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .tooltip.row::before, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .busmoveusa-countries-assisted .content .flags ul.tooltip::before, .busmoveusa-countries-assisted .content .flags .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul.tooltip::before, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .taxproblems-business-issues .features-lists .row .category-list ul.tooltip::before, .taxproblems-business-issues .features-lists .row .category-list .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul.tooltip::before, .busfin-taxes-solution .section-features .feature .tooltip.row::before, .busfin-taxes-solution .section-features .feature .busmoveusa-countries-assisted .content .flags ul.tooltip::before, .busmoveusa-countries-assisted .content .flags .busfin-taxes-solution .section-features .feature ul.tooltip::before, .busfin-taxes-solution .section-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip::before, .taxproblems-business-issues .features-lists .row .category-list .busfin-taxes-solution .section-features .feature ul.tooltip::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before, .buspr-pay-features .feature .tooltip.row::before, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.tooltip::before, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.tooltip::before, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.tooltip::before, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.tooltip::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.accordion {
  margin-left: 0;
  background: #ffffff;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 3px 3px 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 3px 3px; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 3px 3px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #ffffff;
  color: #233A52; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.media-object {
  display: block;
  margin-bottom: 1rem; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 28.0625em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #ffffff; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #ffffff;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' '; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #ffffff;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #ffffff;
  color: #233A52;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #ffffff;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu li, .menu.horizontal li {
    display: inline-block; }
  .menu.vertical li {
    display: block; }
  .menu.expanded {
    display: table;
    width: 100%; }
    .menu.expanded > li {
      display: table-cell;
      vertical-align: middle; }
  .menu.simple li + li {
    margin-left: 1rem; }
  .menu.simple a {
    padding: 0; }
  @media print, screen and (min-width: 28.125em) {
    .menu.small-plus-horizontal li {
      display: inline-block; }
    .menu.small-plus-vertical li {
      display: block; }
    .menu.small-plus-expanded {
      display: table;
      width: 100%; }
      .menu.small-plus-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.small-plus-simple {
      display: table;
      width: 100%; }
      .menu.small-plus-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal li {
      display: inline-block; }
    .menu.medium-vertical li {
      display: block; }
    .menu.medium-expanded {
      display: table;
      width: 100%; }
      .menu.medium-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.medium-simple {
      display: table;
      width: 100%; }
      .menu.medium-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media print, screen and (min-width: 46.875em) {
    .menu.medium-plus-horizontal li {
      display: inline-block; }
    .menu.medium-plus-vertical li {
      display: block; }
    .menu.medium-plus-expanded {
      display: table;
      width: 100%; }
      .menu.medium-plus-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.medium-plus-simple {
      display: table;
      width: 100%; }
      .menu.medium-plus-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal li {
      display: inline-block; }
    .menu.large-vertical li {
      display: block; }
    .menu.large-expanded {
      display: table;
      width: 100%; }
      .menu.large-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.large-simple {
      display: table;
      width: 100%; }
      .menu.large-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal li {
      display: inline-block; }
    .menu.xlarge-vertical li {
      display: block; }
    .menu.xlarge-expanded {
      display: table;
      width: 100%; }
      .menu.xlarge-expanded > li {
        display: table-cell;
        vertical-align: middle; }
    .menu.xlarge-simple {
      display: table;
      width: 100%; }
      .menu.xlarge-simple > li {
        display: table-cell;
        vertical-align: middle; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons img,
  .menu.icons i,
  .menu.icons svg {
    vertical-align: middle; }
    .menu.icons img + span,
    .menu.icons i + span,
    .menu.icons svg + span {
      vertical-align: middle; }
  .menu.icon-top img,
  .menu.icon-top i,
  .menu.icon-top svg, .menu.icon-right img,
  .menu.icon-right i,
  .menu.icon-right svg, .menu.icon-bottom img,
  .menu.icon-bottom i,
  .menu.icon-bottom svg, .menu.icon-left img,
  .menu.icon-left i,
  .menu.icon-left svg {
    vertical-align: middle; }
    .menu.icon-top img + span,
    .menu.icon-top i + span,
    .menu.icon-top svg + span, .menu.icon-right img + span,
    .menu.icon-right i + span,
    .menu.icon-right svg + span, .menu.icon-bottom img + span,
    .menu.icon-bottom i + span,
    .menu.icon-bottom svg + span, .menu.icon-left img + span,
    .menu.icon-left i + span,
    .menu.icon-left svg + span {
      vertical-align: middle; }
  .menu.icon-left li a img,
  .menu.icon-left li a i,
  .menu.icon-left li a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu.icon-right li a img,
  .menu.icon-right li a i,
  .menu.icon-right li a svg {
    margin-left: 0.25rem;
    display: inline-block; }
  .menu.icon-top li a {
    text-align: center; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.icon-bottom li a {
    text-align: center; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      display: block;
      margin: 0.25rem auto 0; }
  .menu .is-active > a {
    background: #1779ba;
    color: #ffffff; }
  .menu .active > a {
    background: #1779ba;
    color: #ffffff; }
  .menu.align-left, .buspr-pay-features .feature .menu.row, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.menu, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.menu {
    text-align: left; }
  .menu.align-right {
    text-align: right; }
    .menu.align-right .submenu li {
      text-align: left; }
    .menu.align-right.vertical .submenu li {
      text-align: right; }
    .menu.align-right .nested {
      margin-right: 1rem;
      margin-left: 0; }
  .menu.align-center, .section .menu.content-layout-solo-left, .cta .menu.content-layout-solo-left, .testimonials-text .menu.content-layout-solo-left, .hero-home .menu.content-layout-solo-left,
  .section .menu.content-layout-solo-right, .cta .menu.content-layout-solo-right, .testimonials-text .menu.content-layout-solo-right, .hero-home .menu.content-layout-solo-right, .section .menu.content-layout-solo-center, .cta .menu.content-layout-solo-center, .testimonials-text .menu.content-layout-solo-center, .hero-home .menu.content-layout-solo-center, .menu.icon-group-3-1, .menu.icon-group-2close-1, .cta .container .menu.content, .taxprep-services-picker .features-section .features-row .feature .menu.row, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.menu, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.menu, .taxprep-take-care-of-taxes .feature .menu.row, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.menu, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.menu, .taxprep-expert-team .all-features .menu.row, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.menu, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.menu, .taxprep-expert-team .feature .menu.row, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.menu, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.menu, .taxprep-business-section .feature .menu.row, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.menu, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.menu, .buspr-features-picker .services-group .card-wrapper .menu.card-section, .buspr-guidance-assistance .feature-row .feature .menu.icon-row, .busregister-plan-organize .menu.header-section, .busregister-plan-organize .features-row .feature .menu.row, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.menu, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.menu, .busfin-benefits-intro .features-section .all-features .menu.features-row, .busfin-manage .all-features .menu.row, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.menu, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.menu, .busfin-team .features-section .all-features .menu.row, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.menu, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.menu, .busfin-team .features-section .feature .menu.row, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.menu, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.menu, .taxproblems-subhero .menu.services-picker, .taxproblems-subhero .services-picker .service .card .menu.row, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.menu, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.menu, .taxproblems-knowledge-experience .feature .menu.row, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.menu, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.menu, .taxproblems-personal-issues .menu.features-row, .taxproblems-personal-issues .feature .menu.row, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.menu, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.menu, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.menu {
    text-align: center; }
    .menu.align-center .submenu li, .section .menu.content-layout-solo-left .submenu li, .cta .menu.content-layout-solo-left .submenu li, .testimonials-text .menu.content-layout-solo-left .submenu li, .hero-home .menu.content-layout-solo-left .submenu li,
    .section .menu.content-layout-solo-right .submenu li, .cta .menu.content-layout-solo-right .submenu li, .testimonials-text .menu.content-layout-solo-right .submenu li, .hero-home .menu.content-layout-solo-right .submenu li, .section .menu.content-layout-solo-center .submenu li, .cta .menu.content-layout-solo-center .submenu li, .testimonials-text .menu.content-layout-solo-center .submenu li, .hero-home .menu.content-layout-solo-center .submenu li, .menu.icon-group-3-1 .submenu li, .menu.icon-group-2close-1 .submenu li, .cta .container .menu.content .submenu li, .taxprep-services-picker .features-section .features-row .feature .menu.row .submenu li, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.menu .submenu li, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.menu .submenu li, .taxprep-take-care-of-taxes .feature .menu.row .submenu li, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.menu .submenu li, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.menu .submenu li, .taxprep-expert-team .all-features .menu.row .submenu li, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.menu .submenu li, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.menu .submenu li, .taxprep-expert-team .feature .menu.row .submenu li, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.menu .submenu li, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.menu .submenu li, .taxprep-business-section .feature .menu.row .submenu li, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.menu .submenu li, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.menu .submenu li, .buspr-features-picker .services-group .card-wrapper .menu.card-section .submenu li, .buspr-guidance-assistance .feature-row .feature .menu.icon-row .submenu li, .busregister-plan-organize .menu.header-section .submenu li, .busregister-plan-organize .features-row .feature .menu.row .submenu li, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.menu .submenu li, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.menu .submenu li, .busfin-benefits-intro .features-section .all-features .menu.features-row .submenu li, .busfin-manage .all-features .menu.row .submenu li, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.menu .submenu li, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.menu .submenu li, .busfin-team .features-section .all-features .menu.row .submenu li, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.menu .submenu li, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.menu .submenu li, .busfin-team .features-section .feature .menu.row .submenu li, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.menu .submenu li, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.menu .submenu li, .taxproblems-subhero .menu.services-picker .submenu li, .taxproblems-subhero .services-picker .service .card .menu.row .submenu li, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.menu .submenu li, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.menu .submenu li, .taxproblems-knowledge-experience .feature .menu.row .submenu li, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.menu .submenu li, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.menu .submenu li, .taxproblems-personal-issues .menu.features-row .submenu li, .taxproblems-personal-issues .feature .menu.row .submenu li, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.menu .submenu li, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.menu .submenu li, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.menu .submenu li, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.menu .submenu li {
      text-align: left; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  text-align: center; }
  .menu-centered > .menu .submenu li {
    text-align: left; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after, .buspr-pay-features .feature .accordion-menu.row .is-accordion-submenu-parent > a::after, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.accordion-menu .is-accordion-submenu-parent > a::after, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.accordion-menu .is-accordion-submenu-parent > a::after, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.accordion-menu .is-accordion-submenu-parent > a::after, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.accordion-menu .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  transform: rotate(180deg);
  transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  transform: scaleY(-1);
  transform-origin: 50% 50%; }

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

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  transition: transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after, .buspr-pay-features .feature .drilldown.row .is-drilldown-submenu-parent > a::after, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.drilldown .is-drilldown-submenu-parent > a::after, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.drilldown .is-drilldown-submenu-parent > a::after, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.drilldown .is-drilldown-submenu-parent > a::after, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.drilldown .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

@media print, screen and (min-width: 28.125em) {
  .dropdown.menu.small-plus-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.small-plus-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.small-plus-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.small-plus-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.small-plus-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.small-plus-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.small-plus-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.small-plus-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.small-plus-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.small-plus-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 46.875em) {
  .dropdown.menu.medium-plus-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-plus-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-plus-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-plus-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-plus-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-plus-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-plus-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-plus-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-plus-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.medium-plus-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(10, 10, 10, 0.4);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 85%;
  transform: translateX(-85%); }
  @media print, screen and (min-width: 40em) {
    .position-left {
      width: 500px;
      transform: translateX(-500px); } }
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-left {
        transform: translateX(-500px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-left.has-transition-push {
        transform: translateX(500px); } }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 85%;
  transform: translateX(85%); }
  @media print, screen and (min-width: 40em) {
    .position-right {
      width: 500px;
      transform: translateX(500px); } }
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-right {
        transform: translateX(500px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-85%); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-right.has-transition-push {
        transform: translateX(-500px); } }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  transform: none;
  transition: transform 0.5s ease;
  backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    transform: translate(0, 0); }

@media print, screen and (min-width: 28.125em) {
  .position-left.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 85%; }
    .position-left.reveal-for-small-plus ~ .off-canvas-content {
      margin-left: 85%; }
  .position-right.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 85%; }
    .position-right.reveal-for-small-plus ~ .off-canvas-content {
      margin-right: 85%; }
  .position-top.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 85%; }
    .position-top.reveal-for-small-plus ~ .off-canvas-content {
      margin-top: 85%; }
  .position-bottom.reveal-for-small-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-small-plus .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-small-plus {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 85%; }
    .position-bottom.reveal-for-small-plus ~ .off-canvas-content {
      margin-bottom: 85%; } }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media print, screen and (min-width: 46.875em) {
  .position-left.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-medium-plus ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-medium-plus ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-medium-plus ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-medium-plus {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium-plus .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium-plus {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-medium-plus ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 500px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 500px; }
  .position-right.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 500px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 500px; }
  .position-top.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 500px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 500px; }
  .position-bottom.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 500px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 500px; } }

@media print, screen and (min-width: 28.125em) {
  .off-canvas.in-canvas-for-small-plus {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-small-plus.position-left, .off-canvas.in-canvas-for-small-plus.position-right, .off-canvas.in-canvas-for-small-plus.position-top, .off-canvas.in-canvas-for-small-plus.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-small-plus .close-button {
      display: none; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 46.875em) {
  .off-canvas.in-canvas-for-medium-plus {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium-plus.position-left, .off-canvas.in-canvas-for-medium-plus.position-right, .off-canvas.in-canvas-for-medium-plus.position-top, .off-canvas.in-canvas-for-medium-plus.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-medium-plus .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: scroll; }
  html.is-reveal-open body {
    overflow: hidden; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 3px;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns, .reveal .busmoveusa-countries-assisted .content .flags ul li, .busmoveusa-countries-assisted .content .flags ul .reveal li {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse, .busmoveusa-countries-assisted .content .flags ul.reveal, .taxproblems-business-issues .features-lists .row .category-list ul.reveal {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 28.0625em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #ffffff; }
  .title-bar::before, .title-bar::after {
    display: table;
    content: ' '; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

.title-bar-right {
  float: right;
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 39.9375em) {
    .top-bar.stacked-for-small-plus .top-bar-left,
    .top-bar.stacked-for-small-plus .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 46.8125em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium-plus .top-bar-left,
    .top-bar.stacked-for-medium-plus .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge .top-bar-left,
    .top-bar.stacked-for-xlarge .top-bar-right {
      width: 100%; } }

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0; }
  .top-bar-title .menu-icon {
    bottom: 2px; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' '; }

.clearfix::after {
  clear: both; }

.align-left, .buspr-pay-features .feature .row, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul {
  justify-content: flex-start; }

.align-right {
  justify-content: flex-end; }

.align-center, .section .content-layout-solo-left, .cta .content-layout-solo-left, .testimonials-text .content-layout-solo-left, .hero-home .content-layout-solo-left,
.section .content-layout-solo-right, .cta .content-layout-solo-right, .testimonials-text .content-layout-solo-right, .hero-home .content-layout-solo-right, .section .content-layout-solo-center, .cta .content-layout-solo-center, .testimonials-text .content-layout-solo-center, .hero-home .content-layout-solo-center, .icon-group-3-1, .icon-group-2close-1, .cta .container .content, .taxprep-services-picker .features-section .features-row .feature .row, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-take-care-of-taxes .feature .row, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul, .taxprep-expert-team .all-features .row, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul, .taxprep-expert-team .feature .row, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul, .taxprep-business-section .feature .row, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul, .buspr-features-picker .services-group .card-wrapper .card-section, .buspr-guidance-assistance .feature-row .feature .icon-row, .busregister-plan-organize .header-section, .busregister-plan-organize .features-row .feature .row, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul, .busfin-benefits-intro .features-section .all-features .features-row, .busfin-manage .all-features .row, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul, .busfin-team .features-section .all-features .row, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul, .busfin-team .features-section .feature .row, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul, .taxproblems-subhero .services-picker, .taxproblems-subhero .services-picker .service .card .row, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul, .taxproblems-knowledge-experience .feature .row, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul, .taxproblems-personal-issues .features-row, .taxproblems-personal-issues .feature .row, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul {
  justify-content: center; }

.align-justify {
  justify-content: space-between; }

.align-spaced, .busregister-plan-organize .features-row {
  justify-content: space-around; }

.align-left.vertical.menu > li > a, .buspr-pay-features .feature .vertical.menu.row > li > a, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul.vertical.menu > li > a, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul.vertical.menu > li > a {
  justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  justify-content: flex-end; }

.align-center.vertical.menu > li > a, .section .vertical.menu.content-layout-solo-left > li > a, .cta .vertical.menu.content-layout-solo-left > li > a, .testimonials-text .vertical.menu.content-layout-solo-left > li > a, .hero-home .vertical.menu.content-layout-solo-left > li > a,
.section .vertical.menu.content-layout-solo-right > li > a, .cta .vertical.menu.content-layout-solo-right > li > a, .testimonials-text .vertical.menu.content-layout-solo-right > li > a, .hero-home .vertical.menu.content-layout-solo-right > li > a, .section .vertical.menu.content-layout-solo-center > li > a, .cta .vertical.menu.content-layout-solo-center > li > a, .testimonials-text .vertical.menu.content-layout-solo-center > li > a, .hero-home .vertical.menu.content-layout-solo-center > li > a, .vertical.menu.icon-group-3-1 > li > a, .vertical.menu.icon-group-2close-1 > li > a, .cta .container .vertical.menu.content > li > a, .taxprep-services-picker .features-section .features-row .feature .vertical.menu.row > li > a, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul.vertical.menu > li > a, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul.vertical.menu > li > a, .taxprep-take-care-of-taxes .feature .vertical.menu.row > li > a, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul.vertical.menu > li > a, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul.vertical.menu > li > a, .taxprep-expert-team .all-features .vertical.menu.row > li > a, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul.vertical.menu > li > a, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul.vertical.menu > li > a, .taxprep-expert-team .feature .vertical.menu.row > li > a, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul.vertical.menu > li > a, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul.vertical.menu > li > a, .taxprep-business-section .feature .vertical.menu.row > li > a, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul.vertical.menu > li > a, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul.vertical.menu > li > a, .buspr-features-picker .services-group .card-wrapper .vertical.menu.card-section > li > a, .buspr-guidance-assistance .feature-row .feature .vertical.menu.icon-row > li > a, .busregister-plan-organize .vertical.menu.header-section > li > a, .busregister-plan-organize .features-row .feature .vertical.menu.row > li > a, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul.vertical.menu > li > a, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul.vertical.menu > li > a, .busfin-benefits-intro .features-section .all-features .vertical.menu.features-row > li > a, .busfin-manage .all-features .vertical.menu.row > li > a, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul.vertical.menu > li > a, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul.vertical.menu > li > a, .busfin-team .features-section .all-features .vertical.menu.row > li > a, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul.vertical.menu > li > a, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul.vertical.menu > li > a, .busfin-team .features-section .feature .vertical.menu.row > li > a, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul.vertical.menu > li > a, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul.vertical.menu > li > a, .taxproblems-subhero .vertical.menu.services-picker > li > a, .taxproblems-subhero .services-picker .service .card .vertical.menu.row > li > a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul.vertical.menu > li > a, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul.vertical.menu > li > a, .taxproblems-knowledge-experience .feature .vertical.menu.row > li > a, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul.vertical.menu > li > a, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul.vertical.menu > li > a, .taxproblems-personal-issues .vertical.menu.features-row > li > a, .taxproblems-personal-issues .feature .vertical.menu.row > li > a, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul.vertical.menu > li > a, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul.vertical.menu > li > a, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul.vertical.menu > li > a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul.vertical.menu > li > a {
  justify-content: center; }

.align-top, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .row, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card ul, .busfin-taxes-solution .section-features .feature .row, .busfin-taxes-solution .section-features .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-taxes-solution .section-features .feature ul, .busfin-taxes-solution .section-features .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-taxes-solution .section-features .feature ul {
  align-items: flex-start; }

.align-self-top, .busfin-manage .all-features .feature .column-icon {
  align-self: flex-start; }

.align-bottom {
  align-items: flex-end; }

.align-self-bottom {
  align-self: flex-end; }

.align-middle, .mobile-nav ul > li ul li a .wrapper, .taxprep-services-picker .features-section .features-row .feature .row, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul, .taxprep-take-care-of-taxes .feature .row, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul, .taxprep-expert-team .feature .row, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul, .buspr-features-picker .services-group .card-wrapper .card-section, .buspr-pay-features .feature .row, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul, .buspr-guidance-assistance .feature-row .feature .icon-row, .busregister-plan-organize .features-row .feature .row, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul, .busfin-benefits-intro .features-section .all-features .feature .card .row, .busfin-benefits-intro .features-section .all-features .feature .card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-benefits-intro .features-section .all-features .feature .card ul, .busfin-benefits-intro .features-section .all-features .feature .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-benefits-intro .features-section .all-features .feature .card ul, .busfin-manage .all-features .row, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul, .taxproblems-subhero .services-picker .service .card .row, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul, .taxproblems-knowledge-experience .feature .row, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul, .taxproblems-personal-issues .feature .row, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul, .taxproblems-business-issues .features-lists .row, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul, .taxproblems-business-issues .features-lists .row .category-list ul {
  align-items: center; }

.align-self-middle, .section .content-layout-solo-center .content-block, .cta .content-layout-solo-center .content-block, .testimonials-text .content-layout-solo-center .content-block, .hero-home .content-layout-solo-center .content-block {
  align-self: center; }

.align-stretch {
  align-items: stretch; }

.align-self-stretch {
  align-self: stretch; }

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center; }

.small-order-1, .section .content-layout-solo-left .graphic, .cta .content-layout-solo-left .graphic, .testimonials-text .content-layout-solo-left .graphic, .hero-home .content-layout-solo-left .graphic, .section .content-layout-solo-right .graphic, .cta .content-layout-solo-right .graphic, .testimonials-text .content-layout-solo-right .graphic, .hero-home .content-layout-solo-right .graphic, .buspr-year-end-payroll .graphic, .busregister-review-issues .column-icon, .busfin-future .column-icon {
  order: 1; }

.small-order-2, .section .content-layout-solo-left .description, .cta .content-layout-solo-left .description, .testimonials-text .content-layout-solo-left .description, .hero-home .content-layout-solo-left .description, .section .content-layout-solo-right .description, .cta .content-layout-solo-right .description, .testimonials-text .content-layout-solo-right .description, .hero-home .content-layout-solo-right .description, .buspr-year-end-payroll .description, .busregister-review-issues .column-text, .busfin-future .column-text, .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
  order: 2; }

.small-order-3, .all-contact-info .information-row .column-hours {
  order: 3; }

.small-order-4 {
  order: 4; }

.small-order-5 {
  order: 5; }

.small-order-6 {
  order: 6; }

@media print, screen and (min-width: 28.125em) {
  .small-plus-order-1, .busregister-register-your-business .column-icon, .busregister-register-your-business .column-text {
    order: 1; }
  .small-plus-order-2, .busregister-register-your-business .column-icon, .busregister-register-your-business .column-text {
    order: 2; }
  .small-plus-order-3 {
    order: 3; }
  .small-plus-order-4 {
    order: 4; }
  .small-plus-order-5 {
    order: 5; }
  .small-plus-order-6 {
    order: 6; } }

@media print, screen and (min-width: 40em) {
  .medium-order-1, .section .content-layout-solo-left .graphic, .cta .content-layout-solo-left .graphic, .testimonials-text .content-layout-solo-left .graphic, .hero-home .content-layout-solo-left .graphic, .section .content-layout-solo-right .description, .cta .content-layout-solo-right .description, .testimonials-text .content-layout-solo-right .description, .hero-home .content-layout-solo-right .description, .taxprep-business-section .feature .column-text, .busregister-review-issues .column-text, .busfin-future .column-text {
    order: 1; }
  .medium-order-2, .section .content-layout-solo-left .description, .cta .content-layout-solo-left .description, .testimonials-text .content-layout-solo-left .description, .hero-home .content-layout-solo-left .description, .section .content-layout-solo-right .graphic, .cta .content-layout-solo-right .graphic, .testimonials-text .content-layout-solo-right .graphic, .hero-home .content-layout-solo-right .graphic, .taxprep-business-section .feature .column-icon, .busregister-review-issues .column-icon, .busfin-future .column-icon {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-order-1, .taxprep-business-section .feature .column-icon {
    order: 1; }
  .medium-plus-order-2, .taxprep-business-section .feature .column-text, .all-contact-info .information-row .column-hours {
    order: 2; }
  .medium-plus-order-3, .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
    order: 3; }
  .medium-plus-order-4 {
    order: 4; }
  .medium-plus-order-5 {
    order: 5; }
  .medium-plus-order-6 {
    order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    order: 1; }
  .xlarge-order-2 {
    order: 2; }
  .xlarge-order-3 {
    order: 3; }
  .xlarge-order-4 {
    order: 4; }
  .xlarge-order-5 {
    order: 5; }
  .xlarge-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

.flex-child-grow {
  flex: 1 0 auto; }

.flex-child-shrink {
  flex: 0 1 auto; }

.flex-dir-row {
  flex-direction: row; }

.flex-dir-row-reverse {
  flex-direction: row-reverse; }

.flex-dir-column {
  flex-direction: column; }

.flex-dir-column-reverse {
  flex-direction: column-reverse; }

@media print, screen and (min-width: 28.125em) {
  .small-plus-flex-container {
    display: flex; }
  .small-plus-flex-child-auto {
    flex: 1 1 auto; }
  .small-plus-flex-child-grow {
    flex: 1 0 auto; }
  .small-plus-flex-child-shrink {
    flex: 0 1 auto; }
  .small-plus-flex-dir-row {
    flex-direction: row; }
  .small-plus-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .small-plus-flex-dir-column {
    flex-direction: column; }
  .small-plus-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 46.875em) {
  .medium-plus-flex-container {
    display: flex; }
  .medium-plus-flex-child-auto {
    flex: 1 1 auto; }
  .medium-plus-flex-child-grow {
    flex: 1 0 auto; }
  .medium-plus-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-plus-flex-dir-row {
    flex-direction: row; }
  .medium-plus-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-plus-flex-dir-column {
    flex-direction: column; }
  .medium-plus-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: flex; }
  .xlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 28.0625em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 28.125em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 28.125em) {
  .hide-for-small-plus {
    display: none !important; } }

@media screen and (max-width: 28.0625em) {
  .show-for-small-plus {
    display: none !important; } }

@media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
  .hide-for-small-plus-only {
    display: none !important; } }

@media screen and (max-width: 28.0625em), screen and (min-width: 40em) {
  .show-for-small-plus-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 46.8125em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 46.875em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 46.875em) {
  .hide-for-medium-plus {
    display: none !important; } }

@media screen and (max-width: 46.8125em) {
  .show-for-medium-plus {
    display: none !important; } }

@media screen and (min-width: 46.875em) and (max-width: 63.9375em) {
  .hide-for-medium-plus-only {
    display: none !important; } }

@media screen and (max-width: 46.8125em), screen and (min-width: 64em) {
  .show-for-medium-plus-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

/*
@include foundation-global-styles;
//@include foundation-grid;
@include foundation-flex-classes;
@include foundation-flex-grid;
@include foundation-typography;
@include foundation-button;
@include foundation-forms;
// @include foundation-range-input;
@include foundation-accordion;
@include foundation-accordion-menu;
@include foundation-badge;
@include foundation-breadcrumbs;
@include foundation-button-group;
@include foundation-callout;
@include foundation-card;
@include foundation-close-button;
@include foundation-menu;
@include foundation-menu-icon;
@include foundation-drilldown-menu;
@include foundation-dropdown;
@include foundation-dropdown-menu;
@include foundation-responsive-embed;
@include foundation-label;
@include foundation-media-object;
@include foundation-off-canvas;
@include foundation-orbit;
@include foundation-pagination;
@include foundation-progress-bar;
// @include foundation-progress-element;
// @include foundation-meter-element;
@include foundation-slider;
@include foundation-sticky;
@include foundation-reveal;
@include foundation-switch;
@include foundation-table;
@include foundation-tabs;
@include foundation-thumbnail;
@include foundation-title-bar;
@include foundation-tooltip;
@include foundation-top-bar;
@include foundation-visibility-classes;
@include foundation-float-classes;
*/
.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(-100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(100%);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  animation-duration: 500ms; }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

/* @include transition(all,2s,ease-out); */
.language-bar {
  z-index: 9990;
  position: absolute;
  top: 0;
  width: 100%;
  padding: 3px 0 0px;
  display: none; }
  @media screen and (min-width: 48.125em) {
    .language-bar {
      display: block; } }
  .language-bar .container {
    max-width: 75rem;
    margin: 0 auto; }
  .language-bar .menu {
    margin-right: 1rem;
    line-height: 0; }
    .language-bar .menu li {
      height: 12px;
      vertical-align: top; }
    .language-bar .menu li.language-item {
      padding-right: .25rem; }
      .language-bar .menu li.language-item:not(:last-of-type) {
        border-right: solid 1px #ebebeb; }
    .language-bar .menu a {
      padding: 0;
      margin: 0;
      padding-top: 2.4px;
      font-size: 12px;
      font-size: 9.6px;
      vertical-align: top; }
    .language-bar .menu .option-phone {
      font-weight: 600;
      margin-right: 1rem; }
      .language-bar .menu .option-phone .phone-icon {
        display: inline-block;
        vertical-align: top;
        background: url("/static/img/phone-icon_solid.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 0 0px;
        height: calc( 12px * .65);
        width: calc( 12px * .65);
        margin-top: calc( 12px * .2);
        margin-right: calc( 12px * .15); }
      .language-bar .menu .option-phone .phone-icon-svg {
        display: block;
        height: 100%;
        width: auto; }
      .language-bar .menu .option-phone a {
        display: inline-block; }
    .language-bar .menu .option-language {
      text-transform: uppercase; }
    .language-bar .menu .active-language {
      font-weight: 700; }

@media screen and (min-width: 48.125em) {
  .nav-bar_sticky {
    top: 0; } }

.nav-bar .is-stuck.container {
  -webkit-box-shadow: 1px 0 10px #707070;
  -moz-box-shadow: 1px 0 10px #707070;
  box-shadow: 1px 0 10px #707070; }

.nav-bar {
  z-index: 9990;
  position: fixed;
  top: 0;
  width: 100%;
  margin: 0 auto;
  background: purple;
  background: #ffffff; }
  @media screen and (min-width: 48.125em) {
    .nav-bar {
      position: absolute;
      top: 16px; } }
  .nav-bar .primary-links {
    display: none; }
  .nav-bar .container {
    border-bottom: solid 1px #d6dde3; }
    .nav-bar .container .navbar-left {
      height: 52px;
      flex: 0 0 auto;
      padding-right: 0;
      padding-left: 0;
      padding-left: 1rem; }
      @media screen and (min-width: 48.125em) {
        .nav-bar .container .navbar-left {
          height: 49px; } }
      .nav-bar .container .navbar-left .logo {
        height: 100%; }
        .nav-bar .container .navbar-left .logo a {
          margin: 0;
          padding: 0; }
        .nav-bar .container .navbar-left .logo .tslogo {
          width: auto;
          height: 26px;
          position: relative;
          top: 50%;
          transform: translateY(-50%); }
          @media screen and (min-width: 48.125em) {
            .nav-bar .container .navbar-left .logo .tslogo {
              height: 24.5px;
              transform: translateY(-56%); } }
          @media screen and (min-width: 59.375em) {
            .nav-bar .container .navbar-left .logo .tslogo {
              height: 29.4px;
              transform: translateY(-58%);
              transform: translateY(-56%); } }
    .nav-bar .container .navbar-right {
      flex: 0 0 auto;
      padding-right: 0;
      padding-left: 0;
      padding-right: 1rem; }
      @media screen and (min-width: 48.125em) {
        .nav-bar .container .navbar-right .btn-mobile-menu {
          display: none; } }
      .nav-bar .container .navbar-right .btn-mobile-menu {
        float: right;
        display: block;
        position: relative;
        top: 50%;
        transform: translateY(-50%); }
        @media screen and (min-width: 48.125em) {
          .nav-bar .container .navbar-right .btn-mobile-menu {
            display: none; } }
        .nav-bar .container .navbar-right .btn-mobile-menu .hamburger {
          position: relative;
          display: inline-block;
          vertical-align: middle;
          width: 24px;
          height: 16px;
          cursor: pointer; }
          .nav-bar .container .navbar-right .btn-mobile-menu .hamburger::after {
            position: absolute;
            top: 0;
            left: 0;
            display: block;
            width: 100%;
            height: 2px;
            background: #007dff;
            box-shadow: 0 7px 0 #007dff, 0 14px 0 #007dff;
            content: ''; }
          .nav-bar .container .navbar-right .btn-mobile-menu .hamburger:hover::after {
            background: #1f4e89;
            box-shadow: 0 7px 0 #1f4e89, 0 14px 0 #1f4e89; }
      .nav-bar .container .navbar-right .btn-contact {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 1em 1.4em;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 3px;
        transition: background-color 0.25s ease-out, color 0.25s ease-out;
        font-size: 0.9rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #f44d52;
        color: #ffffff;
        margin: 0;
        padding: .45rem 1rem;
        text-transform: uppercase;
        position: relative;
        top: 50%;
        transform: translateY(-52%);
        display: none; }
        [data-whatinput='mouse'] .nav-bar .container .navbar-right .btn-contact {
          outline: 0; }
        .nav-bar .container .navbar-right .btn-contact:hover, .nav-bar .container .navbar-right .btn-contact:focus {
          background-color: #f11d23;
          color: #ffffff; }
        @media screen and (min-width: 48.125em) {
          .nav-bar .container .navbar-right .btn-contact {
            display: block; } }
        @media screen and (max-width: 59.375em) {
          .nav-bar .container .navbar-right .btn-contact {
            font-size: .8em;
            padding: .4rem .75rem; } }
    .nav-bar .container .navbar-center {
      display: none; }
      @media screen and (min-width: 48.125em) {
        .nav-bar .container .navbar-center {
          flex: 1 1 0px;
          padding-right: 0;
          padding-left: 0;
          min-width: 0;
          display: block; } }
      .nav-bar .container .navbar-center ul.menu > li:hover > a, .nav-bar .container .navbar-center ul.menu > li:focus-within > a {
        border-bottom: solid 2px #007dff;
        border-bottom-color: #1f4e89; }
      .nav-bar .container .navbar-center ul.menu > li > a {
        height: 49px;
        padding-top: 16.66px;
        font-size: .8em;
        font-weight: 600;
        padding-left: .65rem;
        padding-right: .65rem;
        text-transform: uppercase; }
        @media screen and (min-width: 59.375em) {
          .nav-bar .container .navbar-center ul.menu > li > a {
            font-size: .9em;
            padding-left: 1rem;
            padding-right: 1rem; } }
        @media print, screen and (min-width: 64em) {
          .nav-bar .container .navbar-center ul.menu > li > a {
            padding-left: 1.5rem;
            padding-right: 1.5rem; } }
      .nav-bar .container .navbar-center ul.menu li:hover > ul.submenu-dropdown,
      .nav-bar .container .navbar-center ul.menu li:focus-within > ul.submenu-dropdown,
      .nav-bar .container .navbar-center ul.menu li ul.submenu-dropdown:hover {
        visibility: visible;
        opacity: 1;
        display: flex; }
      .nav-bar .container .navbar-center ul.menu .submenu-container {
        margin: 0 auto;
        padding-left: 1rem;
        padding-right: 1rem; }
        @media screen and (min-width: 75em) {
          .nav-bar .container .navbar-center ul.menu .submenu-container {
            padding-left: calc( (100vw - 75rem) / 2);
            padding-right: calc( (100vw - 75rem) / 2); } }
      .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown {
        visibility: hidden;
        opacity: 0;
        display: none;
        position: fixed;
        width: 100%;
        left: 0;
        right: 0;
        margin: 0 auto;
        padding-top: 1rem;
        padding-bottom: 2rem;
        background: #ffffff;
        border-top: solid 1px #d6dde3;
        -webkit-box-shadow: 0 6px 5px #8a8a8a;
        -moz-box-shadow: 0 6px 5px #8a8a8a;
        box-shadow: 0 6px 5px #8a8a8a; }
        .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: left;
          border: solid 1px #ffffff;
          margin-top: .6rem; }
          @media print, screen and (min-width: 40em) {
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media screen and (min-width: 48.125em) {
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
              flex: 0 0 33.33333%;
              max-width: 33.33333%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media screen and (min-width: 48.125em) and (min-width: 40em) {
    .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
          .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-icon {
            flex: 0 0 auto;
            padding-right: 0;
            padding-left: 0; }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-icon .icon-svg {
              fill: currentColor;
              color: #3397ff;
              height: 3rem;
              width: 3rem; }
          .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text {
            flex: 1 1 0px;
            padding-right: 0.9375rem;
            padding-left: 0.9375rem;
            min-width: 0; }
            @media print, screen and (min-width: 40em) {
              .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text {
                padding-right: 1.25rem;
                padding-left: 1.25rem; } }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text h4 {
              font-family: "Core Sans A", sans-serif;
              font-size: .9em;
              font-weight: 500;
              letter-spacing: -.3px;
              line-height: 1;
              margin-bottom: .2em;
              color: #1f4e89; }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text p, .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item .column-text .generic-p {
              font-size: .8em;
              line-height: 1.4;
              color: #646464; }
          .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:hover, .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:focus-within {
            background: #fafafa;
            border: solid 1px #d6dde3; }
            .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:hover .column-text h4, .nav-bar .container .navbar-center ul.menu ul.submenu-dropdown li.submenu-item:focus-within .column-text h4 {
              color: #007dff; }

.is-sticky .primary-links {
  background: #ffffff;
  padding: .5rem 0;
  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.39);
  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.39);
  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.39);
  box-shadow: inset 0 -1px 0 0 #e5e5e5; }
  .is-sticky .primary-links .top-bar-center #navigation li > a .caret:before {
    border-top-color: #114683; }
  .is-sticky .primary-links .top-bar-right .language-select,
  .is-sticky .primary-links .top-bar-right .btn-language {
    color: #7d7d7d;
    color: #0a0a0a;
    border-color: #898989; }

.body_do_not_scroll {
  overflow: hidden; }

.mobile-nav {
  overflow-x: hidden;
  height: calc(100% - 52px);
  margin-top: 52px; }
  .mobile-nav ul {
    width: 100%;
    margin: 0;
    list-style: none;
    background: #ffffff; }
    .mobile-nav ul > li {
      border: solid 0px #ededed;
      border-bottom-width: 1px;
      text-align: left; }
      .mobile-nav ul > li > a {
        padding: 2rem 2rem;
        color: #114683;
        font-size: 1rem; }
      .mobile-nav ul > li ul li {
        background: #fbfbfb;
        border-color: #e5e5e5;
        padding: .5rem 0; }
        .mobile-nav ul > li ul li a .wrapper {
          max-width: 75rem;
          margin-right: auto;
          margin-left: auto;
          display: flex;
          flex-flow: row wrap; }
        .mobile-nav ul > li ul li a .column-icon {
          flex: 0 0 auto;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; }
          @media print, screen and (min-width: 40em) {
            .mobile-nav ul > li ul li a .column-icon {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          .mobile-nav ul > li ul li a .column-icon .icon-svg {
            fill: currentcolor;
            color: #3397ff;
            height: 3rem;
            width: 3rem; }
        .mobile-nav ul > li ul li a .column-text {
          flex: 1 1 0px;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          min-width: 0; }
          @media print, screen and (min-width: 40em) {
            .mobile-nav ul > li ul li a .column-text {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          .mobile-nav ul > li ul li a .column-text h4 {
            font-size: 0.9rem;
            font-weight: 400;
            margin-bottom: 0rem; }
          .mobile-nav ul > li ul li a .column-text p, .mobile-nav ul > li ul li a .column-text .generic-p {
            margin-bottom: 0rem;
            margin-top: 0rem;
            font-size: 0.8rem;
            color: #646464; }
        .mobile-nav ul > li ul li a .column-text_noicon h4, .mobile-nav ul > li ul li a .column-text_noicon p, .mobile-nav ul > li ul li a .column-text_noicon .generic-p {
          margin-left: 1rem; }
      .mobile-nav ul > li .contact-btn {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 1em 1.4em;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 3px;
        transition: background-color 0.25s ease-out, color 0.25s ease-out;
        font-size: 0.9rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #f44d52;
        color: #ffffff;
        margin: .5rem auto; }
        [data-whatinput='mouse'] .mobile-nav ul > li .contact-btn {
          outline: 0; }
        .mobile-nav ul > li .contact-btn:hover, .mobile-nav ul > li .contact-btn:focus {
          background-color: #f01117;
          color: #ffffff; }
    .mobile-nav ul > li:first-of-type {
      border-top-width: 1px; }
    .mobile-nav ul > li:last-of-type {
      border-bottom-width: 0px; }
    .mobile-nav ul li.menuitem-phone {
      text-align: center;
      padding: 1rem 0; }
      .mobile-nav ul li.menuitem-phone .number {
        font-size: 1.1em;
        font-weight: 600; }
      .mobile-nav ul li.menuitem-phone .phone-icon-svg {
        display: inline-block;
        height: 1.8em;
        width: 1.8em;
        margin-right: .5em;
        vertical-align: middle; }

/*
	
	+++++++++++ BASIC STRUCTURE MAP +++++++++++++
	See this map for a general summary of how the section blocks work.

	| section
		| container
			| content (ROW)		-----OR----  	| icon-group (ROW)
				| content-block:					| icon-block
					|<h2,p,ul styling>					|<h2,p,ul styling>
*/
/*------  START TOC  ------
1. Base Elements
	a. Containers & Spacing
	b. Colors
	c. Texts & Headers
	d. Links
	e. Buttons
	f. Icons / SVG
	g. Borders & Dividers

2. Section Layout
	a. Section Base
	b. Alternate Section Styles

3. Content Layouts
	a. Common Layouts
	b. Content Styles


4. Content-Blocks 
	a. Content-Block Layouts (inside)
	b. Content Block Types (description, image)
	c. Other Block Types (cards, etc)


5. Icon-Group Layouts
	a. Base
	b. Common Layouts
	c. Icon-Block Layouts
	d. Icon-Block Styles

6. Predefined Sections
	
7. Page-Specific Section Classes & Modification


------  END TOC  ------ */
body {
  font-family: 'Open Sans', sans-serif;
  margin-top: 52px; }
  @media screen and (min-width: 48.125em) {
    body {
      margin-top: 49px; } }

.section-padding-standard, .section, .cta, .testimonials-text, .hero-home, .contact-stripe {
  padding-top: 5rem;
  padding-bottom: 5rem; }
  @media screen and (max-width: 28.0625em) {
    .section-padding-standard, .section, .cta, .testimonials-text, .hero-home, .contact-stripe {
      padding-top: 4rem;
      padding-bottom: 4rem; } }

.container-template, .section .container, .cta .container, .testimonials-text .container, .hero-home .container, .footer-section .container {
  max-width: 75rem;
  margin: auto; }

.container-padding-standard, .section .container, .cta .container, .testimonials-text .container, .hero-home .container, section.subhero .container {
  padding: 0 2rem; }

.font-alternate-1, .taxproblems-subhero .services-picker .service .card .row .column-text h5 a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text h5 a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text h5 a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text h5 a {
  font-family: "Core Sans A", sans-serif; }

h1 {
  margin-bottom: .4rem;
  font-weight: 600; }

h2 {
  font-weight: 600; }

h3 {
  font-weight: 600; }

h4 {
  font-weight: 600; }

.generic-h2, .section .content h2, .cta .content h2, .testimonials-text .content h2, .hero-home .content h2, .contact-stripe .container .header h2, .header_how-can-we-help h2 {
  font-weight: 600; }

.generic-h3, .section .content h3, .cta .content h3, .testimonials-text .content h3, .hero-home .content h3 {
  font-weight: 600;
  letter-spacing: -.02em;
  padding-bottom: .5rem; }

.generic-h4 {
  font-weight: 600;
  letter-spacing: -.02em;
  padding-bottom: .5rem; }

.generic-h5 {
  font-weight: 400;
  padding-bottom: .5rem; }

.h3-alt, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text h3, .taxproblems-business-issues .features-lists .row .category-list ul li.category h3, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category h3, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category h3 {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

.h4-alt, .taxprep-business-section .feature .column-text h4, .taxproblems-personal-issues .feature .row .column-text h4, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text h4, .info-and-contact .content .column-info h4 {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

.h5-alt, .busfin-features-main .features-section .feature .column-text h5, .busfin-benefits-intro .features-section .all-features .feature .column-text h5, .busfin-taxes-solution .section-features .feature .column-text h5 {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

.h6-alt {
  font-family: "Core Sans A", sans-serif;
  font-weight: 500; }

.text-left, .section .content-layout-solo-left .description .text-inner, .cta .content-layout-solo-left .description .text-inner, .testimonials-text .content-layout-solo-left .description .text-inner, .hero-home .content-layout-solo-left .description .text-inner,
.section .content-layout-solo-right .description .text-inner, .cta .content-layout-solo-right .description .text-inner, .testimonials-text .content-layout-solo-right .description .text-inner, .hero-home .content-layout-solo-right .description .text-inner {
  text-align: left; }

.text-size-small {
  font-size: .9rem; }

.text-size-smaller {
  font-size: .8rem; }

a {
  color: #1f4e89; }
  a:hover {
    color: #007dff; }

a.whitelink {
  color: #ffffff; }
  a.whitelink:hover {
    color: #ffffff; }

.link-caret-right::after {
  height: 9px;
  width: 9px; }

.link-caret-right::after {
  -webkit-transform: rotate(45deg) translate3d(0, 0, 0);
  -moz-transform: rotate(45deg) translate3d(0, 0, 0);
  -ms-transform: rotate(45deg) translate3d(0, 0, 0);
  -o-transform: rotate(45deg) translate3d(0, 0, 0);
  transform: rotate(45deg) translate3d(0, 0, 0);
  transition: transform .2s ease-in-out; }

.link-caret-left::after,
.link-caret-right::after,
.link-caret-up::after,
.link-caret-below::after {
  border-top-width: 2px;
  border-top-style: solid;
  border-right-width: 2px;
  border-right-style: solid;
  content: "";
  display: inline-block;
  margin-left: .3rem;
  position: relative;
  pointer-events: none;
  width: 9px;
  height: 9px; }

.button {
  font-family: 'PT Sans', sans-serif;
  font-weight: 500 !important;
  min-height: 3.3rem;
  padding-top: 17px;
  font-size: 1.1rem !important;
  text-transform: none !important; }

.button-hover-solid_blue:hover, .business-overview .card-wrapper .card .hollow:hover {
  background: #0058b3;
  border-color: #0058b3;
  color: #ffffff; }

.button-hover-solid_red:hover {
  background: #e60e15 !important;
  border-color: #e60e15 !important;
  color: #ffffff !important; }

.icon-svg {
  display: inline-block;
  width: 100%;
  height: auto; }

.icon-svg-max {
  display: inline-block;
  width: 100%;
  height: 100%; }

.icon-svg-height-std, .buspr-pay-features .feature .row .column-icon .icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon .icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon .icon, .icon-svg-height-medium, .busfin-plans .cards-row .column-card .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-icon .icon-svg, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon .icon-svg {
  display: inline-block;
  width: 100%;
  height: 7rem; }

.icon-svg-height-xsmall, .taxprep-expert-team .feature .row .column-icon .icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon .icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon .icon {
  display: inline-block;
  width: 100%;
  height: 3rem; }

.icon-svg-height-small, .taxproblems-knowledge-experience .column-graphic .icon {
  display: inline-block;
  width: 100%;
  height: 5rem; }

.icon-svg-height-large, .taxprep-take-care-of-taxes .column-icon .icon-svg {
  display: inline-block;
  width: 100%;
  height: 9rem; }
  @media print, screen and (min-width: 40em) {
    .icon-svg-height-large, .taxprep-take-care-of-taxes .column-icon .icon-svg {
      height: 12rem; } }

.icon-svg-height-xlarge {
  display: inline-block;
  width: 100%;
  height: 12rem; }
  @media print, screen and (min-width: 40em) {
    .icon-svg-height-xlarge {
      height: 15rem; } }

.icon-svg-height-2xlarge, .busregister-register-your-business .column-icon .icon, .busregister-review-issues .column-icon .icon {
  display: inline-block;
  width: 100%;
  height: 15rem; }
  @media print, screen and (min-width: 40em) {
    .icon-svg-height-2xlarge, .busregister-register-your-business .column-icon .icon, .busregister-review-issues .column-icon .icon {
      height: 18rem; } }

.t-bdr-bottom {
  border-bottom-style: solid;
  border-width: 1px;
  border-color: #d6dde3; }

.t-bdr-top, .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
  border-top-style: solid;
  border-width: 1px;
  border-color: #d6dde3; }

.cmn-divider {
  border: solid 1px #e5eaed;
  border-width: 1px 0 0;
  clear: both;
  width: 100%;
  margin-top: .5rem;
  margin-bottom: .5rem;
  height: 0; }

@media screen and (max-width: 46.8125em) {
  .section .container, .cta .container, .testimonials-text .container, .hero-home .container {
    padding-right: 1rem;
    padding-left: 1rem; } }

.section .content, .cta .content, .testimonials-text .content, .hero-home .content {
  padding-top: 2.5rem; }
  @media screen and (max-width: 46.8125em) {
    .section .content, .cta .content, .testimonials-text .content, .hero-home .content {
      padding-top: 1rem; } }

.section .content:first-of-type, .cta .content:first-of-type, .testimonials-text .content:first-of-type, .hero-home .content:first-of-type, .section .content-no_padding, .cta .content-no_padding, .testimonials-text .content-no_padding, .hero-home .content-no_padding {
  padding-top: 0; }

.section .content-small_padding, .cta .content-small_padding, .testimonials-text .content-small_padding, .hero-home .content-small_padding {
  padding-top: 1rem; }

.section .container-nopadding, .cta .container-nopadding, .testimonials-text .container-nopadding, .hero-home .container-nopadding {
  padding-top: 0;
  padding-bottom: 0; }

@media screen and (max-width: 28.0625em) {
  .section .container-nopadding-small .small-12, .cta .container-nopadding-small .small-12, .testimonials-text .container-nopadding-small .small-12, .hero-home .container-nopadding-small .small-12, .section .container-nopadding-small .heading-centered p, .heading-centered .section .container-nopadding-small p, .cta .container-nopadding-small .heading-centered p, .heading-centered .cta .container-nopadding-small p, .testimonials-text .container-nopadding-small .heading-centered p, .heading-centered .testimonials-text .container-nopadding-small p, .hero-home .container-nopadding-small .heading-centered p, .heading-centered .hero-home .container-nopadding-small p, .section .container-nopadding-small .heading-centered .generic-p, .heading-centered .section .container-nopadding-small .generic-p, .cta .container-nopadding-small .heading-centered .generic-p, .heading-centered .cta .container-nopadding-small .generic-p, .testimonials-text .container-nopadding-small .heading-centered .generic-p, .heading-centered .testimonials-text .container-nopadding-small .generic-p, .hero-home .container-nopadding-small .heading-centered .generic-p, .heading-centered .hero-home .container-nopadding-small .generic-p, .section .content .heading-centered .container-nopadding-small p, .cta .content .heading-centered .container-nopadding-small p, .testimonials-text .content .heading-centered .container-nopadding-small p, .hero-home .content .heading-centered .container-nopadding-small p, .section .container-nopadding-small .small-11, .cta .container-nopadding-small .small-11, .testimonials-text .container-nopadding-small .small-11, .hero-home .container-nopadding-small .small-11, .section .container-nopadding-small .small-10, .cta .container-nopadding-small .small-10, .testimonials-text .container-nopadding-small .small-10, .hero-home .container-nopadding-small .small-10 {
    padding: 0rem; } }

.section .content, .cta .content, .testimonials-text .content, .hero-home .content {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  @media screen and (max-width: 28.0625em) {
    .section .content h1, .cta .content h1, .testimonials-text .content h1, .hero-home .content h1, .section .content h2, .cta .content h2, .testimonials-text .content h2, .hero-home .content h2, .section .content h3, .cta .content h3, .testimonials-text .content h3, .hero-home .content h3 {
      text-align: left; } }
  .section .content h2, .cta .content h2, .testimonials-text .content h2, .hero-home .content h2 {
    margin-bottom: 1em; }
    .section .content h2 + .intro.generic-p, .cta .content h2 + .intro.generic-p, .testimonials-text .content h2 + .intro.generic-p, .hero-home .content h2 + .intro.generic-p, .section .content h2 + p.intro, .cta .content h2 + p.intro, .testimonials-text .content h2 + p.intro, .hero-home .content h2 + p.intro, .section .content .icon-block-layout-sidetext .description h2 + p.intro, .cta .content .icon-block-layout-sidetext .description h2 + p.intro, .testimonials-text .content .icon-block-layout-sidetext .description h2 + p.intro, .hero-home .content .icon-block-layout-sidetext .description h2 + p.intro {
      font-weight: 600;
      line-height: 1.3em; }
  @media screen and (max-width: 28.0625em) {
    .section .content p p, .cta .content p p, .testimonials-text .content p p, .hero-home .content p p, .section .content .generic-p p, .cta .content .generic-p p, .testimonials-text .content .generic-p p, .hero-home .content .generic-p p, .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .content p p, .section .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .section .content p p, .cta .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .hero-home .content p p, .section .content p .generic-p, .cta .content p .generic-p, .testimonials-text .content p .generic-p, .hero-home .content p .generic-p, .section .content .generic-p .generic-p, .cta .content .generic-p .generic-p, .testimonials-text .content .generic-p .generic-p, .hero-home .content .generic-p .generic-p, .section .content p .generic-p, .cta .section .content p .generic-p, .section .cta .content p .generic-p, .testimonials-text .section .content p .generic-p, .section .testimonials-text .content p .generic-p, .hero-home .section .content p .generic-p, .section .hero-home .content p .generic-p, .section .cta .content p .generic-p, .cta .section .content p .generic-p, .cta .content p .generic-p, .testimonials-text .cta .content p .generic-p, .cta .testimonials-text .content p .generic-p, .hero-home .cta .content p .generic-p, .cta .hero-home .content p .generic-p, .section .testimonials-text .content p .generic-p, .testimonials-text .section .content p .generic-p, .cta .testimonials-text .content p .generic-p, .testimonials-text .cta .content p .generic-p, .testimonials-text .content p .generic-p, .hero-home .testimonials-text .content p .generic-p, .testimonials-text .hero-home .content p .generic-p, .section .hero-home .content p .generic-p, .hero-home .section .content p .generic-p, .cta .hero-home .content p .generic-p, .hero-home .cta .content p .generic-p, .testimonials-text .hero-home .content p .generic-p, .hero-home .testimonials-text .content p .generic-p, .hero-home .content p .generic-p, .section .content .icon-block-layout-sidetext .description p .generic-p, .icon-block-layout-sidetext .description .section .content p .generic-p, .cta .content .icon-block-layout-sidetext .description p .generic-p, .icon-block-layout-sidetext .description .cta .content p .generic-p, .testimonials-text .content .icon-block-layout-sidetext .description p .generic-p, .icon-block-layout-sidetext .description .testimonials-text .content p .generic-p, .hero-home .content .icon-block-layout-sidetext .description p .generic-p, .icon-block-layout-sidetext .description .hero-home .content p .generic-p, .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .content .generic-p p, .cta .section .content .generic-p p, .section .cta .content .generic-p p, .testimonials-text .section .content .generic-p p, .section .testimonials-text .content .generic-p p, .hero-home .section .content .generic-p p, .section .hero-home .content .generic-p p, .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .cta .section .content p p, .section .testimonials-text .cta .content p p, .cta .testimonials-text .section .content p p, .section .cta .testimonials-text .content p p, .hero-home .cta .section .content p p, .section .hero-home .cta .content p p, .cta .hero-home .section .content p p, .section .cta .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .section .content p p, .section .cta .testimonials-text .content p p, .testimonials-text .cta .section .content p p, .section .testimonials-text .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .testimonials-text .section .content p p, .section .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .section .content p p, .section .testimonials-text .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .section .content p p, .section .cta .hero-home .content p p, .hero-home .cta .section .content p p, .section .hero-home .cta .content p p, .testimonials-text .hero-home .section .content p p, .section .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .section .content p p, .section .hero-home .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .section .content p p, .cta .section .content .icon-block-layout-sidetext .description p p, .section .cta .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .cta .section .content p p, .section .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .section .content .icon-block-layout-sidetext .description p p, .section .testimonials-text .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .testimonials-text .section .content p p, .section .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .section .content .icon-block-layout-sidetext .description p p, .section .hero-home .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .hero-home .section .content p p, .section .icon-block-layout-sidetext .description .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .cta .content .generic-p p, .cta .section .content .generic-p p, .cta .content .generic-p p, .testimonials-text .cta .content .generic-p p, .cta .testimonials-text .content .generic-p p, .hero-home .cta .content .generic-p p, .cta .hero-home .content .generic-p p, .section .cta .content p p, .cta .section .content p p, .cta .section .content p p, .section .cta .content p p, .testimonials-text .section .cta .content p p, .cta .testimonials-text .section .content p p, .section .testimonials-text .cta .content p p, .cta .section .testimonials-text .content p p, .hero-home .section .cta .content p p, .cta .hero-home .section .content p p, .section .hero-home .cta .content p p, .cta .section .hero-home .content p p, .section .cta .content p p, .cta .section .content p p, .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .testimonials-text .cta .content p p, .cta .section .testimonials-text .content p p, .testimonials-text .section .cta .content p p, .cta .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .testimonials-text .cta .content p p, .cta .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .cta .content p p, .cta .testimonials-text .hero-home .content p p, .section .hero-home .cta .content p p, .cta .section .hero-home .content p p, .hero-home .section .cta .content p p, .cta .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .cta .content p p, .cta .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .cta .content p p, .cta .hero-home .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .cta .content .icon-block-layout-sidetext .description p p, .cta .section .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .section .cta .content p p, .cta .icon-block-layout-sidetext .description .section .content p p, .cta .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .cta .content .icon-block-layout-sidetext .description p p, .cta .testimonials-text .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .testimonials-text .cta .content p p, .cta .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .cta .content .icon-block-layout-sidetext .description p p, .cta .hero-home .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .hero-home .cta .content p p, .cta .icon-block-layout-sidetext .description .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .testimonials-text .content .generic-p p, .testimonials-text .section .content .generic-p p, .cta .testimonials-text .content .generic-p p, .testimonials-text .cta .content .generic-p p, .testimonials-text .content .generic-p p, .hero-home .testimonials-text .content .generic-p p, .testimonials-text .hero-home .content .generic-p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .section .testimonials-text .content p p, .testimonials-text .cta .section .content p p, .section .cta .testimonials-text .content p p, .testimonials-text .section .cta .content p p, .testimonials-text .section .content p p, .section .testimonials-text .content p p, .hero-home .section .testimonials-text .content p p, .testimonials-text .hero-home .section .content p p, .section .hero-home .testimonials-text .content p p, .testimonials-text .section .hero-home .content p p, .section .cta .testimonials-text .content p p, .testimonials-text .section .cta .content p p, .cta .section .testimonials-text .content p p, .testimonials-text .cta .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .cta .content p p, .cta .testimonials-text .content p p, .hero-home .cta .testimonials-text .content p p, .testimonials-text .hero-home .cta .content p p, .cta .hero-home .testimonials-text .content p p, .testimonials-text .cta .hero-home .content p p, .section .testimonials-text .content p p, .testimonials-text .section .content p p, .cta .testimonials-text .content p p, .testimonials-text .cta .content p p, .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .hero-home .testimonials-text .content p p, .testimonials-text .section .hero-home .content p p, .hero-home .section .testimonials-text .content p p, .testimonials-text .hero-home .section .content p p, .cta .hero-home .testimonials-text .content p p, .testimonials-text .cta .hero-home .content p p, .hero-home .cta .testimonials-text .content p p, .testimonials-text .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .testimonials-text .content .icon-block-layout-sidetext .description p p, .testimonials-text .section .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .section .testimonials-text .content p p, .testimonials-text .icon-block-layout-sidetext .description .section .content p p, .cta .testimonials-text .content .icon-block-layout-sidetext .description p p, .testimonials-text .cta .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .cta .testimonials-text .content p p, .testimonials-text .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .testimonials-text .content .icon-block-layout-sidetext .description p p, .testimonials-text .hero-home .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .hero-home .testimonials-text .content p p, .testimonials-text .icon-block-layout-sidetext .description .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .content p p, .section .hero-home .content .generic-p p, .hero-home .section .content .generic-p p, .cta .hero-home .content .generic-p p, .hero-home .cta .content .generic-p p, .testimonials-text .hero-home .content .generic-p p, .hero-home .testimonials-text .content .generic-p p, .hero-home .content .generic-p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .section .hero-home .content p p, .hero-home .cta .section .content p p, .section .cta .hero-home .content p p, .hero-home .section .cta .content p p, .testimonials-text .section .hero-home .content p p, .hero-home .testimonials-text .section .content p p, .section .testimonials-text .hero-home .content p p, .hero-home .section .testimonials-text .content p p, .hero-home .section .content p p, .section .hero-home .content p p, .section .cta .hero-home .content p p, .hero-home .section .cta .content p p, .cta .section .hero-home .content p p, .hero-home .cta .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .cta .hero-home .content p p, .hero-home .testimonials-text .cta .content p p, .cta .testimonials-text .hero-home .content p p, .hero-home .cta .testimonials-text .content p p, .hero-home .cta .content p p, .cta .hero-home .content p p, .section .testimonials-text .hero-home .content p p, .hero-home .section .testimonials-text .content p p, .testimonials-text .section .hero-home .content p p, .hero-home .testimonials-text .section .content p p, .cta .testimonials-text .hero-home .content p p, .hero-home .cta .testimonials-text .content p p, .testimonials-text .cta .hero-home .content p p, .hero-home .testimonials-text .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p p, .section .hero-home .content p p, .hero-home .section .content p p, .cta .hero-home .content p p, .hero-home .cta .content p p, .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p p, .hero-home .content p p, .section .hero-home .content .icon-block-layout-sidetext .description p p, .hero-home .section .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .section .hero-home .content p p, .hero-home .icon-block-layout-sidetext .description .section .content p p, .cta .hero-home .content .icon-block-layout-sidetext .description p p, .hero-home .cta .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .cta .hero-home .content p p, .hero-home .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .hero-home .content .icon-block-layout-sidetext .description p p, .hero-home .testimonials-text .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .testimonials-text .hero-home .content p p, .hero-home .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .hero-home .content p p, .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .content p p, .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .content p p, .section .content .generic-p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .content .generic-p p, .cta .content .generic-p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .content .generic-p p, .testimonials-text .content .generic-p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .content .generic-p p, .hero-home .content .generic-p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .content .generic-p p, .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .content p p, .cta .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .section .content p p, .section .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .cta .content p p, .testimonials-text .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .section .content p p, .section .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .testimonials-text .content p p, .hero-home .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .section .content p p, .section .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .hero-home .content p p, .section .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .cta .content p p, .cta .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .section .content p p, .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .cta .content p p, .cta .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .testimonials-text .content p p, .hero-home .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .cta .content p p, .cta .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .hero-home .content p p, .section .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .testimonials-text .content p p, .testimonials-text .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .section .content p p, .cta .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .testimonials-text .content p p, .testimonials-text .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .cta .content p p, .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .testimonials-text .content p p, .testimonials-text .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .hero-home .content p p, .section .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .section .hero-home .content p p, .hero-home .section .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .section .content p p, .cta .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .cta .hero-home .content p p, .hero-home .cta .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .cta .content p p, .testimonials-text .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .testimonials-text .hero-home .content p p, .hero-home .testimonials-text .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .testimonials-text .content p p, .hero-home .content p .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .hero-home .content p p, .section .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .section .content p p, .cta .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .cta .content p p, .testimonials-text .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .testimonials-text .content p p, .hero-home .content .icon-block-layout-sidetext .description p p, .icon-block-layout-sidetext .description .hero-home .content p p {
      text-align: left; } }
  .section .content .generic-p a:not(.button):not(.card-link):not(.icon-block), .cta .content .generic-p a:not(.button):not(.card-link):not(.icon-block), .testimonials-text .content .generic-p a:not(.button):not(.card-link):not(.icon-block), .hero-home .content .generic-p a:not(.button):not(.card-link):not(.icon-block), .section .content p a:not(.button):not(.card-link):not(.icon-block), .cta .content p a:not(.button):not(.card-link):not(.icon-block), .testimonials-text .content p a:not(.button):not(.card-link):not(.icon-block), .hero-home .content p a:not(.button):not(.card-link):not(.icon-block) {
    border-bottom: 1px dotted #1f4e89; }
    .section .content .generic-p a:not(.button):not(.card-link):not(.icon-block):hover, .cta .content .generic-p a:not(.button):not(.card-link):not(.icon-block):hover, .testimonials-text .content .generic-p a:not(.button):not(.card-link):not(.icon-block):hover, .hero-home .content .generic-p a:not(.button):not(.card-link):not(.icon-block):hover, .section .content p a:not(.button):not(.card-link):not(.icon-block):hover, .cta .content p a:not(.button):not(.card-link):not(.icon-block):hover, .testimonials-text .content p a:not(.button):not(.card-link):not(.icon-block):hover, .hero-home .content p a:not(.button):not(.card-link):not(.icon-block):hover {
      border-bottom-color: #007dff; }
  .section .content a:not(.button):not(.card-link):not(.icon-block), .cta .content a:not(.button):not(.card-link):not(.icon-block), .testimonials-text .content a:not(.button):not(.card-link):not(.icon-block), .hero-home .content a:not(.button):not(.card-link):not(.icon-block) {
    border-bottom: 1px dotted #1f4e89; }
    .section .content a:not(.button):not(.card-link):not(.icon-block):hover, .cta .content a:not(.button):not(.card-link):not(.icon-block):hover, .testimonials-text .content a:not(.button):not(.card-link):not(.icon-block):hover, .hero-home .content a:not(.button):not(.card-link):not(.icon-block):hover {
      border-bottom-color: #007dff; }
  .section .content .icon-block > a, .cta .content .icon-block > a, .testimonials-text .content .icon-block > a, .hero-home .content .icon-block > a {
    border-bottom: none; }
  .section .content .button, .cta .content .button, .testimonials-text .content .button, .hero-home .content .button {
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: -.0em;
    font-weight: 500;
    margin-top: 1rem; }

@media screen and (max-width: 28.0625em) {
  .t-mr-tm {
    margin-top: 1rem !important; }
  .t-mr-tm-2 {
    margin-top: 2rem !important; }
  .pdngtpnone {
    padding-top: 0 !important; }
  .pdngbtmnone {
    padding-bottom: 0 !important; } }

.reveal-overlay {
  z-index: 9999; }

section p:last-child, section .generic-p:last-child, section .section .content p:last-child, .section .content section p:last-child, section .cta .content p:last-child, .cta .content section p:last-child, section .testimonials-text .content p:last-child, .testimonials-text .content section p:last-child, section .hero-home .content p:last-child, .hero-home .content section p:last-child, section .icon-block-layout-sidetext .description p:last-child, .icon-block-layout-sidetext .description section p:last-child, article p:last-child, article .generic-p:last-child, article .section .content p:last-child, .section .content article p:last-child, article .cta .content p:last-child, .cta .content article p:last-child, article .testimonials-text .content p:last-child, .testimonials-text .content article p:last-child, article .hero-home .content p:last-child, .hero-home .content article p:last-child, article .icon-block-layout-sidetext .description p:last-child, .icon-block-layout-sidetext .description article p:last-child {
  padding-bottom: 0rem;
  margin-bottom: 0rem; }

.section-white {
  background: #ffffff !important; }

.section-gray {
  background: #fafafa; }

.section-gray-2 {
  background: #ededed; }

.section-blue {
  background: #0095ff;
  color: #ffffff; }

.section-nobg {
  background: none; }

.section-bg-gradient-gray {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#eeeeee+0,fafafa+54 */
  background: #eeeeee;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #eeeeee 0%, #fafafa 54%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, #eeeeee 0%, #fafafa 54%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #eeeeee 0%, #fafafa 54%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#fafafa', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */ }

.section-bg-gradient-blue-gray {
  background: #8e9eab !important;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ }

.section-border-gray {
  border-top: solid 1px #fafafa; }

@media print, screen and (min-width: 40em) {
  .section .content-centered, .cta .content-centered, .testimonials-text .content-centered, .hero-home .content-centered {
    text-align: center; } }

@media print, screen and (min-width: 40em) {
  .section .content-centered .content-block, .cta .content-centered .content-block, .testimonials-text .content-centered .content-block, .hero-home .content-centered .content-block {
    text-align: center; } }

.section .content-centered .content-block p, .cta .content-centered .content-block p, .testimonials-text .content-centered .content-block p, .hero-home .content-centered .content-block p, .section .content-centered .content-block .generic-p, .cta .content-centered .content-block .generic-p, .testimonials-text .content-centered .content-block .generic-p, .hero-home .content-centered .content-block .generic-p {
  margin-left: auto;
  margin-right: auto; }

.section .content-centered_all, .cta .content-centered_all, .testimonials-text .content-centered_all, .hero-home .content-centered_all {
  text-align: center; }

@media screen and (max-width: 28.0625em) {
  .section .content-layout-solo-right, .cta .content-layout-solo-right, .testimonials-text .content-layout-solo-right, .hero-home .content-layout-solo-right {
    padding: 0 1rem;
    padding-bottom: 1rem; } }

.section .content-layout-solo-left .graphic, .cta .content-layout-solo-left .graphic, .testimonials-text .content-layout-solo-left .graphic, .hero-home .content-layout-solo-left .graphic,
.section .content-layout-solo-right .graphic, .cta .content-layout-solo-right .graphic, .testimonials-text .content-layout-solo-right .graphic, .hero-home .content-layout-solo-right .graphic {
  text-align: center; }
  @media screen and (max-width: 28.0625em) {
    .section .content-layout-solo-left .graphic, .cta .content-layout-solo-left .graphic, .testimonials-text .content-layout-solo-left .graphic, .hero-home .content-layout-solo-left .graphic,
    .section .content-layout-solo-right .graphic, .cta .content-layout-solo-right .graphic, .testimonials-text .content-layout-solo-right .graphic, .hero-home .content-layout-solo-right .graphic {
      padding-bottom: 2rem; } }
  .section .content-layout-solo-left .graphic .icon-svg, .cta .content-layout-solo-left .graphic .icon-svg, .testimonials-text .content-layout-solo-left .graphic .icon-svg, .hero-home .content-layout-solo-left .graphic .icon-svg,
  .section .content-layout-solo-right .graphic .icon-svg, .cta .content-layout-solo-right .graphic .icon-svg, .testimonials-text .content-layout-solo-right .graphic .icon-svg, .hero-home .content-layout-solo-right .graphic .icon-svg {
    margin: auto;
    height: 20rem;
    width: 20rem; }

.section .content-layout-solo-left .description .text-inner, .cta .content-layout-solo-left .description .text-inner, .testimonials-text .content-layout-solo-left .description .text-inner, .hero-home .content-layout-solo-left .description .text-inner,
.section .content-layout-solo-right .description .text-inner, .cta .content-layout-solo-right .description .text-inner, .testimonials-text .content-layout-solo-right .description .text-inner, .hero-home .content-layout-solo-right .description .text-inner {
  max-width: 390px;
  margin: auto; }

.section .content-layout-solo-center .content-block, .cta .content-layout-solo-center .content-block, .testimonials-text .content-layout-solo-center .content-block, .hero-home .content-layout-solo-center .content-block {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .section .content-layout-solo-center .content-block, .cta .content-layout-solo-center .content-block, .testimonials-text .content-layout-solo-center .content-block, .hero-home .content-layout-solo-center .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.section .content-layout-solo-center .description .text-inner h2, .cta .content-layout-solo-center .description .text-inner h2, .testimonials-text .content-layout-solo-center .description .text-inner h2, .hero-home .content-layout-solo-center .description .text-inner h2 {
  margin: auto;
  max-width: 600px; }

.section .content-layout-solo-center .description .text-inner p, .cta .content-layout-solo-center .description .text-inner p, .testimonials-text .content-layout-solo-center .description .text-inner p, .hero-home .content-layout-solo-center .description .text-inner p, .section .content-layout-solo-center .description .text-inner .generic-p, .cta .content-layout-solo-center .description .text-inner .generic-p, .testimonials-text .content-layout-solo-center .description .text-inner .generic-p, .hero-home .content-layout-solo-center .description .text-inner .generic-p {
  margin: auto;
  max-width: 700px; }

.section .content-layout-solo-center .graphic, .cta .content-layout-solo-center .graphic, .testimonials-text .content-layout-solo-center .graphic, .hero-home .content-layout-solo-center .graphic {
  padding-bottom: 3rem; }

.section .content-layout-2-1 .content-block, .cta .content-layout-2-1 .content-block, .testimonials-text .content-layout-2-1 .content-block, .hero-home .content-layout-2-1 .content-block {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .section .content-layout-2-1 .content-block, .cta .content-layout-2-1 .content-block, .testimonials-text .content-layout-2-1 .content-block, .hero-home .content-layout-2-1 .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .section .content-layout-2-1 .content-block, .cta .content-layout-2-1 .content-block, .testimonials-text .content-layout-2-1 .content-block, .hero-home .content-layout-2-1 .content-block {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .section .content-layout-2-1 .content-block, .cta .content-layout-2-1 .content-block, .testimonials-text .content-layout-2-1 .content-block, .hero-home .content-layout-2-1 .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .section .content-layout-left-header .description, .cta .content-layout-left-header .description, .testimonials-text .content-layout-left-header .description, .hero-home .content-layout-left-header .description {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .section .content-layout-left-header .description, .cta .content-layout-left-header .description, .testimonials-text .content-layout-left-header .description, .hero-home .content-layout-left-header .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.callout, .section-callout {
  border: 0; }

.content-highlight-box-blue {
  background: rgba(0, 149, 255, 0.05);
  border: solid 1px #0095ff; }

.content-highlight-box-green {
  background: rgba(19, 213, 138, 0.05);
  border: solid 1px #13d58a; }

.content-highlight-outline-gray {
  border: solid 1px #b7b7b7;
  border-width: 0 1px; }

.content-highlight-top-bottom-gray {
  border: solid 1px #ededed;
  border-width: 1px 0; }

.content-block ul.featurelist {
  list-style: none; }
  .content-block ul.featurelist li .li-checkmark {
    background-image: url("/static/img/checkmark.svg");
    background-repeat: no-repeat;
    background-position: left top;
    padding-left: 3.75em; }
  .content-block ul.featurelist li:last-of-type {
    padding-bottom: 0; }
  .content-block ul.featurelist li h4 {
    font-size: 1.1rem; }
  .content-block ul.featurelist li p, .content-block ul.featurelist li .generic-p {
    font-size: .8em; }

.content-block ul.featurelist-2-1 {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .content-block ul.featurelist-2-1 li {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .content-block ul.featurelist-2-1 li {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.content-block p.center-float, .content-block .center-float.generic-p {
  margin-left: auto;
  margin-right: auto; }

.heading p, .heading .generic-p, .heading .section .content p, .section .content .heading p, .heading .cta .content p, .cta .content .heading p, .heading .testimonials-text .content p, .testimonials-text .content .heading p, .heading .hero-home .content p, .hero-home .content .heading p, .heading .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .heading p {
  padding-bottom: 1rem; }

.heading-centered p, .heading-centered .generic-p, .heading-centered .section .content p, .section .content .heading-centered p, .heading-centered .cta .content p, .cta .content .heading-centered p, .heading-centered .testimonials-text .content p, .testimonials-text .content .heading-centered p, .heading-centered .hero-home .content p, .hero-home .content .heading-centered p, .heading-centered .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .heading-centered p {
  margin-left: auto;
  margin-right: auto; }

.description {
  padding: 1rem 1rem; }
  @media print, screen and (min-width: 40em) {
    .description {
      padding: 2rem 1rem; } }

.graphic {
  padding: 1.5rem; }

.graphic_small, .busregister-plan-organize .column-icon {
  padding: 1rem; }

.card-wrapper {
  margin-bottom: 1rem; }

.card {
  border-radius: 10px;
  border: solid 1px #d6dde3;
  background-color: #fff;
  padding: 1rem 2rem; }
  @media screen and (max-width: 28.0625em) {
    .card {
      padding: 1rem 1.5rem; } }
  .card .card-section {
    padding: 0; }
  .card .column-text p, .card .column-text .generic-p {
    font-size: .9rem; }

.card-hover-highlight:hover {
  border-color: #99abba;
  box-shadow: 0 18px 40px -10px rgba(0, 0, 0, 0.18);
  -webkit-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out; }

@media screen and (min-width: 40em) and (max-width: 46.8125em) {
  .card-medium-sideways {
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem; }
    .card-medium-sideways .icon-svg {
      height: 10rem;
      margin-left: -1rem; } }

.base-services-picker .services-group, .buspr-features-picker .services-group, .busmoveusa-additional-services .services-group, .busfin-features-picker .services-group {
  padding: 1rem 0 0; }

.base-services-picker .service-card, .buspr-features-picker .service-card, .busmoveusa-additional-services .service-card, .busfin-features-picker .service-card {
  position: relative; }
  .base-services-picker .service-card svg, .buspr-features-picker .service-card svg, .busmoveusa-additional-services .service-card svg, .busfin-features-picker .service-card svg {
    width: 100%;
    height: 4rem; }

.base-services-picker .card-link, .buspr-features-picker .card-link, .busmoveusa-additional-services .card-link, .busfin-features-picker .card-link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block; }

.icon-group-1 .icon-block {
  text-align: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }
  .icon-group-1 .icon-block a {
    border-bottom: none !important; }
  .icon-group-1 .icon-block h5 {
    margin-bottom: 0;
    padding-bottom: .25rem; }
    .icon-group-1 .icon-block h5 span {
      border-bottom: 1px dotted #1f4e89;
      font-size: .8rem; }
      .icon-group-1 .icon-block h5 span:hover {
        border-bottom-color: #007dff; }
  .icon-group-1 .icon-block p, .icon-group-1 .icon-block .generic-p {
    padding-top: 0em;
    font-size: .65em;
    color: #7d7d7d; }
  .icon-group-1 .icon-block .icon-svg {
    height: 6rem; }
    @media print, screen and (min-width: 40em) {
      .icon-group-1 .icon-block .icon-svg {
        height: 7rem; } }
  .icon-group-1 .icon-block .icon-block-contentrow .text-inner {
    text-align: left; }

.icon-group {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap;
  width: 100%; }
  .icon-group .icon-block {
    text-align: center;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
    .icon-group .icon-block h5 {
      margin-bottom: 0;
      padding-bottom: .25rem; }
      .icon-group .icon-block h5 span {
        border-bottom: 1px dotted #1f4e89;
        font-size: .8rem; }
        .icon-group .icon-block h5 span:hover {
          border-bottom-color: #007dff; }
    .icon-group .icon-block p, .icon-group .icon-block .generic-p {
      padding-top: 0em;
      font-size: .65em;
      color: #7d7d7d; }
    .icon-group .icon-block .icon-svg {
      height: 6rem; }
      @media print, screen and (min-width: 40em) {
        .icon-group .icon-block .icon-svg {
          height: 7rem; } }
    .icon-group .icon-block .icon-block-contentrow {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap; }
      .icon-group .icon-block .icon-block-contentrow .text-inner {
        text-align: left; }

@media print, screen and (min-width: 46.875em) {
  .group-wide {
    padding-left: 0;
    padding-right: 0; } }

@media print, screen and (min-width: 46.875em) {
  .group-inset {
    padding-left: 10%;
    padding-right: 10%; } }

.icon-group-4-2 .icon-block {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .icon-group-4-2 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-group-4-2 .icon-block {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .icon-group-4-2 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.icon-group-4-1 .icon-block {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .icon-group-4-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-group-4-1 .icon-block {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .icon-group-4-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.icon-group-3 .icon-block {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .icon-group-3 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.icon-group-3-2 .icon-block {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .icon-group-3-2 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-group-3-2 .icon-block {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .icon-group-3-2 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.icon-group-3-1 .icon-block {
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .icon-group-3-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-group-3-1 .icon-block {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .icon-group-3-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.icon-group-2-1 .icon-block {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .icon-group-2-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-group-2-1 .icon-block {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .icon-group-2-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.icon-group-2close-1 .icon-block {
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .icon-group-2close-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-group-2close-1 .icon-block {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .icon-group-2close-1 .icon-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.icon-group-inset {
  padding-left: 20%;
  padding-right: 20%; }

.icon-block-layout-sidetext {
  margin-right: -0.9375rem;
  margin-left: -0.9375rem;
  display: flex;
  flex-flow: row wrap; }
  @media print, screen and (min-width: 28.125em) {
    .icon-block-layout-sidetext {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .icon-block-layout-sidetext {
      margin-right: -1.25rem;
      margin-left: -1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .icon-block-layout-sidetext {
      margin-right: -1.25rem;
      margin-left: -1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .icon-block-layout-sidetext {
      margin-right: -1.25rem;
      margin-left: -1.25rem; } }
  @media screen and (min-width: 75em) {
    .icon-block-layout-sidetext {
      margin-right: -1.25rem;
      margin-left: -1.25rem; } }
  .icon-block-layout-sidetext .icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .icon-block-layout-sidetext .icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
  .icon-block-layout-sidetext .description {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .icon-block-layout-sidetext .description {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    .icon-block-layout-sidetext .description .generic-p, .icon-block-layout-sidetext .description p {
      text-align: left;
      color: #7d7d7d; }

.icon-block-2 {
  flex: 1 1 0px;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  min-width: 0;
  text-align: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .icon-block-2 {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .icon-block-2 h5 {
    margin-bottom: 0;
    padding-bottom: .25rem; }
    .icon-block-2 h5 a {
      border-bottom: 1px dotted #1f4e89; }
      .icon-block-2 h5 a:hover {
        border-bottom-color: #007dff; }
  .icon-block-2 p, .icon-block-2 .generic-p, .icon-block-2 .section .content p, .section .content .icon-block-2 p, .icon-block-2 .cta .content p, .cta .content .icon-block-2 p, .icon-block-2 .testimonials-text .content p, .testimonials-text .content .icon-block-2 p, .icon-block-2 .hero-home .content p, .hero-home .content .icon-block-2 p, .icon-block-2 .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .icon-block-2 p {
    padding-top: 0em;
    font-size: .65em;
    color: #7d7d7d; }
  .icon-block-2 .icon-svg {
    height: 6rem; }
    @media print, screen and (min-width: 40em) {
      .icon-block-2 .icon-svg {
        height: 7rem; } }
  .icon-block-2 .icon-block-contentrow {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap; }
    .icon-block-2 .icon-block-contentrow .text-inner {
      text-align: left; }

#billboard {
  color: #f30; }

section.subhero .content-block {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    section.subhero .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    section.subhero .content-block {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    section.subhero .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  section.subhero .content-block p, section.subhero .content-block .generic-p {
    margin-bottom: .25rem; }

.cta {
  background: linear-gradient(50deg, #1988ff, #25acca); }
  .cta .container .content {
    color: #ffffff;
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap; }
    .cta .container .content .content-block {
      text-align: center;
      flex: 1 1 0px;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      min-width: 0; }
      @media print, screen and (min-width: 40em) {
        .cta .container .content .content-block {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .cta .container .content .content-block {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .cta .container .content .content-block {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .cta .container .content .info-link {
      margin-left: .5rem; }

.pride-bar {
  background: #fafafa;
  background: #ededed;
  color: #7d7d7d;
  font-weight: 300;
  padding: .5rem 0;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  @media screen and (max-width: 28.0625em) {
    .pride-bar .container .content {
      padding-top: 0.8rem;
      padding-bottom: 0.5rem; } }
  .pride-bar .container .content .description {
    font-size: 1.4rem;
    font-size: 1rem; }
    .pride-bar .container .content .description h4 {
      font-weight: 400 !important; }
      @media screen and (max-width: 28.0625em) {
        .pride-bar .container .content .description h4 {
          font-size: 1rem; } }
  .pride-bar .container .content .graphic {
    float: right;
    padding-left: 0;
    padding-right: 0; }
    @media print, screen and (min-width: 40em) {
      .pride-bar .container .content .graphic {
        padding-right: .5rem; } }
    @media screen and (max-width: 28.0625em) {
      .pride-bar .container .content .graphic {
        padding-top: 0rem; } }
  .pride-bar .container .content .medal-icon svg {
    height: 3rem;
    width: 3rem; }
  .pride-bar .container .content-stacked .description,
  .pride-bar .container .content-stacked .graphic {
    text-align: center; }

.testimonials-text {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background: #fafafa; }
  .testimonials-text .container {
    padding-top: 3rem;
    padding-bottom: 3rem; }
    .testimonials-text .container .content {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap; }
      .testimonials-text .container .content .quote .generic-p, .testimonials-text .container .content .quote p {
        font-size: 1.2rem;
        font-weight: 300;
        line-height: 2;
        padding: 1em 1em .5em; }
      .testimonials-text .container .content .profile {
        padding-top: 2rem; }
        .testimonials-text .container .content .profile .pic .person-pic {
          display: inline-block;
          width: auto;
          height: 5rem;
          border-radius: 50%; }
        .testimonials-text .container .content .profile .info {
          text-align: left; }
          .testimonials-text .container .content .profile .info .generic-p, .testimonials-text .container .content .profile .info p {
            padding: 0;
            margin: 0; }
            .testimonials-text .container .content .profile .info .name.generic-p, .testimonials-text .container .content .profile .info p.name {
              font-weight: 500; }

.hero {
  background: url("/static/img/p4_@2X.png");
  background-repeat: repeat; }
  .hero .container {
    max-width: none;
    background: linear-gradient(135deg, rgba(0, 95, 191, 0.85) 0%, rgba(0, 125, 255, 0.85) 36%, rgba(0, 125, 255, 0.85) 63%, rgba(0, 76, 183, 0.85) 100%); }
    @media screen and (max-width: 28.0625em) {
      .hero .container {
        padding-bottom: 2rem; } }
  .hero .content {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: center; }
  .hero .hero-content {
    text-align: center;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    padding-top: 3rem;
    padding-bottom: 2rem; }
    @media print, screen and (min-width: 40em) {
      .hero .hero-content {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .hero .hero-content {
        padding-top: 4rem;
        padding-bottom: 5rem; } }
    .hero .hero-content p, .hero .hero-content .generic-p {
      text-align: center; }
    .hero .hero-content .pagename {
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.6);
      font-size: .6rem;
      border: solid 1px rgba(255, 255, 255, 0.2);
      border-width: 0px;
      border-width: 1px 0px;
      padding: .3rem .5rem; }
    .hero .hero-content .pageicon {
      width: auto;
      height: 5rem;
      display: block;
      margin-left: auto;
      margin-right: auto;
      margin-top: 1rem;
      margin-bottom: 1rem; }
    .hero .hero-content h1 {
      margin-top: 1rem;
      color: #ffffff;
      /* font-size: 2rem; */
      border: solid 1px rgba(255, 255, 255, 0.2);
      border-width: 1px 0px;
      border-width: 0px;
      padding: .3rem .5rem;
      text-align: center !important; }
      @media screen and (max-width: 28.0625em) {
        .hero .hero-content h1 {
          padding: 0 0 1rem; } }
    .hero .hero-content p, .hero .hero-content .generic-p {
      color: #fafafa;
      font-weight: 300;
      padding: 0 10%; }
      @media screen and (max-width: 28.0625em) {
        .hero .hero-content p, .hero .hero-content .generic-p {
          padding: 0 1rem; } }

.seamlessly-integrated-business-services {
  background: #8e9eab !important;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ }
  .seamlessly-integrated-business-services .bus-addl-services-picker {
    padding-top: 0 !important; }
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: 1rem; }
      @media print, screen and (min-width: 40em) {
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card {
        background-color: #fff;
        border-radius: 4px;
        box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
        padding: 1rem 0; }
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
              flex: 0 0 33.33333%;
              max-width: 33.33333%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
        .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
              flex: 0 0 66.66667%;
              max-width: 66.66667%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
          .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text h3 {
            font-size: .9em; }
          .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text p, .seamlessly-integrated-business-services .bus-addl-services-picker .service_card_wrapper .service_card .column-text .generic-p {
            font-size: .9em;
            margin: 0; }

form.form-contact {
  padding-top: 2rem;
  padding-bottom: 1rem; }
  form.form-contact input {
    border-width: 0 0 1px;
    border-radius: 0;
    box-shadow: none; }
    form.form-contact input::placeholder {
      color: #cccccc; }
  form.form-contact textarea {
    border-radius: 0;
    box-shadow: none; }
  form.form-contact textarea#description {
    margin-top: .2rem;
    border-width: 0 0 1px 0; }
    form.form-contact textarea#description:active, form.form-contact textarea#description:focus, form.form-contact textarea#description:valid {
      min-height: 6rem; }
    form.form-contact textarea#description:active, form.form-contact textarea#description:focus {
      border-width: 1px; }
    form.form-contact textarea#description::placeholder {
      position: absolute;
      bottom: 1rem; }
  form.form-contact input#dontFillThisOut {
    display: none; }

.contact-stripe {
  background: linear-gradient(45deg, #0078f9, #3cbedb); }
  .contact-stripe .container .content {
    text-align: center;
    color: #ffffff;
    padding-top: 0; }
  .contact-stripe .container .header {
    padding-bottom: 1rem; }
    .contact-stripe .container .header p, .contact-stripe .container .header .generic-p {
      font-size: 1.2em;
      line-height: 1.4; }
      .contact-stripe .container .header p .ts-phone, .contact-stripe .container .header .generic-p .ts-phone {
        white-space: nowrap;
        font-size: 1.5em;
        margin-left: 4px;
        font-weight: 600; }
      .contact-stripe .container .header p .ts-phone-star, .contact-stripe .container .header .generic-p .ts-phone-star {
        position: relative;
        font-size: .7em;
        top: -.7em;
        line-height: 0;
        vertical-align: baseline; }
      .contact-stripe .container .header p a, .contact-stripe .container .header .generic-p a {
        color: #04376a; }
        .contact-stripe .container .header p a:hover, .contact-stripe .container .header .generic-p a:hover {
          color: #b60b10;
          border-bottom-color: #b60b10; }
    .contact-stripe .container .header h2, .contact-stripe .container .header p, .contact-stripe .container .header .generic-p {
      text-align: center; }
  .contact-stripe .container .ts-hours {
    text-align: center;
    margin-top: 2rem; }
  .contact-stripe .container .ts-directions {
    text-align: center; }
  .contact-stripe .container .form-wrapper {
    background: #ffffff;
    border-radius: 4px;
    text-align: left;
    box-shadow: 0 18px 40px -10px rgba(0, 0, 0, 0.18);
    margin-top: 1rem; }
    .contact-stripe .container .form-wrapper .sidebar, .contact-stripe .container .form-wrapper .contact-form-container {
      padding-top: 2rem;
      padding-bottom: 1rem; }
    .contact-stripe .container .form-wrapper .sidebar {
      color: #e6e6e6;
      background: linear-gradient(to bottom right, #1f4e89, #076acd);
      border-top-left-radius: 4px;
      border-bottom-left-radius: 4px; }
      @media screen and (max-width: 28.0625em) {
        .contact-stripe .container .form-wrapper .sidebar {
          padding-top: 1.5rem;
          padding-bottom: .5rem;
          border-top-right-radius: 4px;
          border-bottom-left-radius: 0px; } }
      @media screen and (max-width: 28.0625em) {
        .contact-stripe .container .form-wrapper .sidebar hr {
          margin-top: 1rem;
          margin-bottom: 1rem; } }
  .contact-stripe .contact-content {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap;
    color: #ffffff; }
    .contact-stripe .contact-content .contact-content-block {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .contact-stripe .contact-content .contact-content-block {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .contact-stripe .contact-content .contact-content-block {
          flex: 0 0 33.33333%;
          max-width: 33.33333%;
          padding-right: 0;
          padding-left: 0; } }
      .contact-stripe .contact-content .contact-content-block:before {
        border-width: 10px;
        height: 10px;
        border-bottom-style: solid;
        content: " ";
        width: calc(100% + 2px);
        display: block;
        margin: 0 -1px;
        border-color: #007dff; }
      .contact-stripe .contact-content .contact-content-block > .content-inner {
        background-color: #ffffff;
        border: solid 1px #ededed;
        padding: 2rem 2rem;
        color: #1f4e89;
        color: #0a0a0a;
        text-align: center;
        min-height: 15rem; }
        .contact-stripe .contact-content .contact-content-block > .content-inner h4 {
          font-size: 1.5rem;
          font-weight: 500; }
        .contact-stripe .contact-content .contact-content-block > .content-inner .button {
          font-weight: 500;
          text-transform: uppercase; }
      .contact-stripe .contact-content .contact-content-block p, .contact-stripe .contact-content .contact-content-block .generic-p {
        font-size: .8rem;
        letter-spacing: .006em; }
  @media print, screen and (min-width: 40em) {
    .contact-stripe .phone {
      text-align: left; } }

/*  
	
	----- HOME PAGE -------
	

	+++++++++++ BASIC STRUCTURE MAP +++++++++++++
	See this map for a general summary of how the section blocks work.

	| section
		| container
			| content (ROW)		-----OR----  	| icon-group (ROW)
				| content-block:					| icon-block
					|<h2,p,ul styling>					|<h2,p,ul styling>
*/
.hero-home {
  background-position: center top;
  background-size: cover;
  background: url("/static/img/p4_@2X.png");
  background-repeat: repeat;
  overflow: hidden;
  padding: 0;
  position: relative; }
  .hero-home .fullscreen-bg__video {
    z-index: -1;
    position: absolute;
    left: 0;
    height: 100%; }
  .hero-home .button.primary.business-blue.large {
    border: 1pt solid #8ec1f3; }
  .hero-home .container {
    z-index: 2;
    height: 100%;
    min-height: 250px;
    max-width: none;
    background: linear-gradient(135deg, rgba(0, 95, 191, 0.85) 0%, rgba(0, 125, 255, 0.85) 36%, rgba(0, 125, 255, 0.85) 63%, rgba(0, 76, 183, 0.85) 100%);
    padding-top: 3rem;
    padding-bottom: 3rem; }
    @media print, screen and (min-width: 40em) {
      .hero-home .container {
        min-height: 24rem;
        padding-top: 6.5rem;
        padding-bottom: 3.5rem; } }
    .hero-home .container .content .content-block {
      color: #ffffff;
      text-align: center; }
      .hero-home .container .content .content-block h1 {
        text-align: center; }
      .hero-home .container .content .content-block .generic-p, .hero-home .container .content .content-block p {
        padding-top: 1em; }
      .hero-home .container .content .content-block a.whitelink {
        border-bottom: 1px dotted #ffffff;
        text-transform: none;
        background: transparent; }
        .hero-home .container .content .content-block a.whitelink:hover {
          border-bottom-color: #ffffff; }
        .hero-home .container .content .content-block a.whitelink:hover {
          -webkit-transition: all .3s ease-in;
          -o-transition: all .3s ease-in;
          transition: all .3s ease-in; }

/*
	.home-subhero-services {
		.icon-group {
			@include breakpoint(medium-plus) {
				padding-left: 8%;
				padding-right: 8%;
			}
			@include breakpoint(large) {
				padding-left: 12%;
				padding-right: 12%;
			}
		}
		.icon-block {
			padding-top: 1rem;
			&:last-of-type {
				padding-bottom: 3rem;
			}
			@include breakpoint(medium) {
				padding-bottom: 3rem;
			} //background: rgba(90,90,90,.3);
			.button-wrapper {
				padding: 1rem;
				border: solid 1px #eaeaea;
			}
			h5 {
				@extend .generic-h5; // font-size: .9rem;
				padding-bottom: 0;
				min-height: 0;
				@include breakpoint(medium) {
					min-height: 35px;
				}
				@include breakpoint(850px) {
					min-height: 0px;
				}
			}
			.btn {
				//display: none;
				//@extend .hollow;
				@extend .button;
				@extend .primary;
				&:hover {
					background-color: $blue-primary;
				}
				margin-top: 0rem;
				margin-bottom: 0; // padding: .75rem;
				font-size: .75rem; // min-width: 7rem;
				text-transform: uppercase;
			}
		}
	}
	*/
.home-taxprep-section {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem; }
  .home-taxprep-section .container {
    background-position: right 1rem;
    background-position: 3rem 1rem;
    background-repeat: no-repeat;
    background-size: contain;
    padding-bottom: 0; }
  .home-taxprep-section .description {
    padding: 0rem 2rem; }
  .home-taxprep-section .graphic {
    text-align: center;
    padding-top: 0; }
    @media print, screen and (min-width: 46.875em) {
      .home-taxprep-section .graphic {
        padding-top: 1.5rem; } }
    .home-taxprep-section .graphic .circle img {
      width: auto;
      height: 13rem; }
      @media screen and (min-width: 40em) and (max-width: 46.8125em) {
        .home-taxprep-section .graphic .circle img {
          height: 18rem; } }
      @media print, screen and (min-width: 46.875em) {
        .home-taxprep-section .graphic .circle img {
          height: 27rem; } }

.home-business .container-cards {
  padding: 1rem 1rem 0rem; }
  @media print, screen and (min-width: 40em) {
    .home-business .container-cards {
      padding: 0rem 1rem 3rem; } }
  @media screen and (max-width: 28.0625em) {
    .home-business .container-cards .card .card-section .icon-svg {
      height: 7rem; } }
  @media screen and (min-width: 40em) and (max-width: 46.8125em) {
    .home-business .container-cards .card .card-section .icon-payroll {
      height: 9rem; } }
  .home-business .container-cards .card .button:hover {
    background: #0058b3;
    border-color: #0058b3;
    color: #ffffff; }

.home-business-services .container {
  padding-left: 0;
  padding-right: 0; }
  .home-business-services .container .business-icons {
    padding-top: .5rem;
    padding-bottom: 1.5rem; }

.home-taxproblems-bus-personal {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background-image: url("/static/img/p4.png"); }
  .home-taxproblems-bus-personal .container {
    max-width: none;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#0064cc+0,0064cc+100&1+0,0+29,0+65,1+100 */ }
    @media print, screen and (min-width: 46.875em) {
      .home-taxproblems-bus-personal .container div.content-highlight-box-red {
        color: #233A52;
        border-bottom: 1pt solid #F44D52;
        background: #ffff; } }
  .home-taxproblems-bus-personal .content {
    max-width: 71rem;
    background-position: -10rem bottom;
    background-repeat: no-repeat;
    background-size: 150% 100%; }
    @media screen and (min-width: 53.125em) {
      .home-taxproblems-bus-personal .content {
        background-size: contain;
        background-position: right bottom; } }
    .home-taxproblems-bus-personal .content .description {
      padding: 2rem;
      margin-top: 3rem; }
      @media screen and (max-width: 28.0625em) {
        .home-taxproblems-bus-personal .content .description {
          margin-top: 3rem;
          padding: 0rem; } }
    .home-taxproblems-bus-personal .content .graphic {
      text-align: center; }
      .home-taxproblems-bus-personal .content .graphic .pic {
        width: auto;
        height: 13rem;
        margin-bottom: -1.5rem; }
        @media print, screen and (min-width: 46.875em) {
          .home-taxproblems-bus-personal .content .graphic .pic {
            height: 25rem; } }
        @media screen and (min-width: 40em) and (max-width: 46.8125em) {
          .home-taxproblems-bus-personal .content .graphic .pic {
            height: 18rem; } }
      .home-taxproblems-bus-personal .content .graphic .svg-icon {
        height: 100%; }

@media screen and (min-width: 40em) and (max-width: 46.8125em) {
  .language-select {
    display: flex;
    margin-top: 0.75rem; } }

@media only screen and (max-width: 40em) {
  #exampleModal11 {
    top: 3.5rem !important; }
  .language-select {
    display: flex;
    margin-top: 0.75rem; }
  .icon-contact {
    padding: 0.2rem; } }

@media only screen and (min-width: 40em) {
  #mobile-nav {
    display: none; } }

@media screen and (max-width: 28.0625em) {
  .margintopnoneS {
    margin-top: 0 !important;
    padding-top: 0 !important; } }

#firstModalTitle {
  text-align: center;
  padding-bottom: 2rem; }

.modal-contact-form .small-12.columns, .modal-contact-form .heading-centered p.columns, .heading-centered .modal-contact-form p.columns, .modal-contact-form .heading-centered .columns.generic-p, .heading-centered .modal-contact-form .columns.generic-p {
  padding: 0rem; }

.modal-contact-form .textare {
  margin-top: 2rem;
  padding: 0rem; }

.modal-contact-form h3 {
  margin-top: 2rem;
  line-height: 0.9rem;
  margin-bottom: 0rem;
  font-weight: normal !important; }

.modal-contact-form .align-center, .modal-contact-form .section .content-layout-solo-left, .section .modal-contact-form .content-layout-solo-left, .modal-contact-form .cta .content-layout-solo-left, .cta .modal-contact-form .content-layout-solo-left, .modal-contact-form .testimonials-text .content-layout-solo-left, .testimonials-text .modal-contact-form .content-layout-solo-left, .modal-contact-form .hero-home .content-layout-solo-left, .hero-home .modal-contact-form .content-layout-solo-left, .modal-contact-form
.section .content-layout-solo-right,
.section .modal-contact-form .content-layout-solo-right, .modal-contact-form .cta .content-layout-solo-right, .cta .modal-contact-form .content-layout-solo-right, .modal-contact-form .testimonials-text .content-layout-solo-right, .testimonials-text .modal-contact-form .content-layout-solo-right, .modal-contact-form .hero-home .content-layout-solo-right, .hero-home .modal-contact-form .content-layout-solo-right, .modal-contact-form .section .content-layout-solo-center, .section .modal-contact-form .content-layout-solo-center, .modal-contact-form .cta .content-layout-solo-center, .cta .modal-contact-form .content-layout-solo-center, .modal-contact-form .testimonials-text .content-layout-solo-center, .testimonials-text .modal-contact-form .content-layout-solo-center, .modal-contact-form .hero-home .content-layout-solo-center, .hero-home .modal-contact-form .content-layout-solo-center, .modal-contact-form .icon-group-3-1, .modal-contact-form .icon-group-2close-1, .modal-contact-form .cta .container .content, .cta .container .modal-contact-form .content, .modal-contact-form .taxprep-services-picker .features-section .features-row .feature .row, .taxprep-services-picker .features-section .features-row .feature .modal-contact-form .row, .modal-contact-form .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature .modal-contact-form ul, .modal-contact-form .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-services-picker .features-section .features-row .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature .modal-contact-form ul, .modal-contact-form .taxprep-take-care-of-taxes .feature .row, .taxprep-take-care-of-taxes .feature .modal-contact-form .row, .modal-contact-form .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-take-care-of-taxes .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-take-care-of-taxes .feature .modal-contact-form ul, .modal-contact-form .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-take-care-of-taxes .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-take-care-of-taxes .feature .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .all-features .row, .taxprep-expert-team .all-features .modal-contact-form .row, .modal-contact-form .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags ul, .taxprep-expert-team .all-features .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .all-features .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-expert-team .all-features .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .all-features .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .feature .row, .taxprep-expert-team .feature .modal-contact-form .row, .modal-contact-form .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature .modal-contact-form ul, .modal-contact-form .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature .modal-contact-form ul, .modal-contact-form .taxprep-business-section .feature .row, .taxprep-business-section .feature .modal-contact-form .row, .modal-contact-form .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags ul, .taxprep-business-section .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature ul, .busmoveusa-countries-assisted .content .flags .taxprep-business-section .feature .modal-contact-form ul, .modal-contact-form .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxprep-business-section .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxprep-business-section .feature .modal-contact-form ul, .modal-contact-form .buspr-features-picker .services-group .card-wrapper .card-section, .buspr-features-picker .services-group .card-wrapper .modal-contact-form .card-section, .modal-contact-form .buspr-guidance-assistance .feature-row .feature .icon-row, .buspr-guidance-assistance .feature-row .feature .modal-contact-form .icon-row, .modal-contact-form .busregister-plan-organize .header-section, .busregister-plan-organize .modal-contact-form .header-section, .modal-contact-form .busregister-plan-organize .features-row .feature .row, .busregister-plan-organize .features-row .feature .modal-contact-form .row, .modal-contact-form .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature .modal-contact-form ul, .modal-contact-form .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list ul, .busregister-plan-organize .features-row .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature .modal-contact-form ul, .modal-contact-form .busfin-benefits-intro .features-section .all-features .features-row, .busfin-benefits-intro .features-section .all-features .modal-contact-form .features-row, .modal-contact-form .busfin-manage .all-features .row, .busfin-manage .all-features .modal-contact-form .row, .modal-contact-form .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags ul, .busfin-manage .all-features .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features ul, .busmoveusa-countries-assisted .content .flags .busfin-manage .all-features .modal-contact-form ul, .modal-contact-form .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .busfin-manage .all-features .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-manage .all-features .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .all-features .row, .busfin-team .features-section .all-features .modal-contact-form .row, .modal-contact-form .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags ul, .busfin-team .features-section .all-features .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .all-features .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list ul, .busfin-team .features-section .all-features .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .all-features .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .feature .row, .busfin-team .features-section .feature .modal-contact-form .row, .modal-contact-form .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags ul, .busfin-team .features-section .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature ul, .busmoveusa-countries-assisted .content .flags .busfin-team .features-section .feature .modal-contact-form ul, .modal-contact-form .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list ul, .busfin-team .features-section .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature ul, .taxproblems-business-issues .features-lists .row .category-list .busfin-team .features-section .feature .modal-contact-form ul, .modal-contact-form .taxproblems-subhero .services-picker, .taxproblems-subhero .modal-contact-form .services-picker, .modal-contact-form .taxproblems-subhero .services-picker .service .card .row, .taxproblems-subhero .services-picker .service .card .modal-contact-form .row, .modal-contact-form .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card .modal-contact-form ul, .modal-contact-form .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-subhero .services-picker .service .card .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card .modal-contact-form ul, .modal-contact-form .taxproblems-knowledge-experience .feature .row, .taxproblems-knowledge-experience .feature .modal-contact-form .row, .modal-contact-form .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags ul, .taxproblems-knowledge-experience .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature ul, .busmoveusa-countries-assisted .content .flags .taxproblems-knowledge-experience .feature .modal-contact-form ul, .modal-contact-form .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-knowledge-experience .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-knowledge-experience .feature .modal-contact-form ul, .modal-contact-form .taxproblems-personal-issues .features-row, .taxproblems-personal-issues .modal-contact-form .features-row, .modal-contact-form .taxproblems-personal-issues .feature .row, .taxproblems-personal-issues .feature .modal-contact-form .row, .modal-contact-form .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags .modal-contact-form ul, .modal-contact-form .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature .modal-contact-form ul, .modal-contact-form .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list .modal-contact-form ul, .modal-contact-form .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature .modal-contact-form ul {
  text-align: center; }

.modal-contact-form p, .modal-contact-form .generic-p, .modal-contact-form .section .content p, .section .content .modal-contact-form p, .modal-contact-form .cta .content p, .cta .content .modal-contact-form p, .modal-contact-form .testimonials-text .content p, .testimonials-text .content .modal-contact-form p, .modal-contact-form .hero-home .content p, .hero-home .content .modal-contact-form p, .modal-contact-form .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .modal-contact-form p {
  font-size: .9rem !important;
  margin-top: 0px;
  padding-top: 0px; }

.modal-contact-form label > [type='checkbox'] {
  opacity: 0;
  position: absolute; }

.modal-contact-form .icon-svg {
  height: 5rem;
  padding-top: 1rem; }

.modal-contact-form .icon-contact {
  text-align: center;
  min-height: 10rem; }
  .modal-contact-form .icon-contact label {
    line-height: 1.2rem;
    cursor: pointer;
    height: 8.5rem;
    border: 1pt solid #c0dcf7;
    border-radius: 0.3rem; }
    .modal-contact-form .icon-contact label:hover svg {
      transition: all .3s ease; }

.taxprep-hero {
  background: none;
  background: linear-gradient(135deg, rgba(0, 95, 191, 0.1) 0%, rgba(0, 125, 255, 0.1) 36%, rgba(0, 125, 255, 0.1) 63%, rgba(0, 76, 183, 0.1) 100%);
  background: linear-gradient(135deg, #005fbf 0%, #007dff 36%, #007dff 63%, #004cb7 100%); }
  .taxprep-hero .hero-content {
    width: 100%;
    max-width: 100%; }
  .taxprep-hero .container {
    background-image: url("/static/img/taxprep_bg_pattern_dark.svg");
    background-size: 160px auto; }
    .taxprep-hero .container h1 {
      font-weight: 600; }

@media screen and (max-width: 28.0625em) {
  .taxprep-services-picker {
    padding-top: 4rem;
    padding-bottom: 4rem; } }

.taxprep-services-picker .features-section .graphic {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-bottom: 2rem;
  padding-top: 0;
  padding-bottom: 0;
  background-color: #fafafa;
  background-color: #fbfcfe;
  background-image: url("/static/img/taxprep_bg_pattern.svg");
  background-repeat: repeat;
  background-size: 120px auto; }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-services-picker .features-section .graphic {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-services-picker .features-section .graphic img {
    height: 15rem;
    z-index: 10 !important; }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .graphic img {
        height: 21rem; } }

.taxprep-services-picker .features-section .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .all-features {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-services-picker .features-section .all-features {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .taxprep-services-picker .features-section .all-features {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0;
      padding-left: 0; } }

.taxprep-services-picker .features-section .features-row .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-services-picker .features-section .features-row .feature .card {
    padding-left: 1rem;
    padding-right: 1rem;
    position: relative;
    -webkit-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
    @media screen and (max-width: 39.9375em) {
      .taxprep-services-picker .features-section .features-row .feature .card {
        padding-top: .5rem;
        padding-bottom: .5rem; } }
    .taxprep-services-picker .features-section .features-row .feature .card:hover {
      background: #F4F9FF;
      border-color: #9EAEBC; }
      .taxprep-services-picker .features-section .features-row .feature .card:hover .card-section {
        padding-top: 1.0rem; }
    .taxprep-services-picker .features-section .features-row .feature .card .card-link {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      display: block; }
  .taxprep-services-picker .features-section .features-row .feature .row .column-icon, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-icon, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-icon, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; } }
  .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-services-picker .features-section .features-row .feature .row .column-icon .icon-svg, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-icon .icon-svg {
    width: 100%;
    height: 4rem; }
  .taxprep-services-picker .features-section .features-row .feature .row .column-text, .taxprep-services-picker .features-section .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-services-picker .features-section .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-services-picker .features-section .features-row .feature ul .column-text {
    text-align: left; }

.taxprep-take-care-of-taxes {
  padding-top: 0rem;
  padding-bottom: 0rem;
  background-image: url("/static/img/taxprep_bg_pattern_dark.svg");
  background-size: 160px auto; }
  .taxprep-take-care-of-taxes .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background: rgba(255, 255, 255, 0.65); }
  .taxprep-take-care-of-taxes .features-section .graphic {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    padding-top: 0rem;
    padding-bottom: 3rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .features-section .graphic {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .features-section .graphic {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0;
        padding-left: 0;
        padding-bottom: 0rem; } }
    @media screen and (min-width: 46.875em) and (max-width: 63.9375em) {
      .taxprep-take-care-of-taxes .features-section .graphic {
        padding-right: 1rem; } }
    .taxprep-take-care-of-taxes .features-section .graphic .taxprep_lady {
      width: auto;
      height: 15rem; }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-take-care-of-taxes .features-section .graphic .taxprep_lady {
          height: 21rem; } }
      @media print, screen and (min-width: 64em) {
        .taxprep-take-care-of-taxes .features-section .graphic .taxprep_lady {
          height: 23rem; } }
  .taxprep-take-care-of-taxes .features-section .all-features {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .features-section .all-features {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0;
        padding-left: 0; } }
  .taxprep-take-care-of-taxes .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 2rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .feature {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-take-care-of-taxes .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .feature {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-take-care-of-taxes .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-take-care-of-taxes .feature:first-of-type {
      margin-top: 0rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .feature {
        margin-top: 0rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-take-care-of-taxes .feature {
        margin-top: 3rem; }
        .taxprep-take-care-of-taxes .feature:first-of-type {
          margin-top: 1.5rem; } }
  .taxprep-take-care-of-taxes .column-icon {
    display: none;
    /* @include breakpoint(small-plus) {
				@include flex-grid-column(3);
			} */
    text-align: left; }
    @media print, screen and (min-width: 28.125em) {
      .taxprep-take-care-of-taxes .column-icon .icon-svg {
        height: 9rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .column-icon .icon-svg {
        height: 9rem; } }
    .taxprep-take-care-of-taxes .column-icon .icon-dollar {
      margin-bottom: -1rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-take-care-of-taxes .column-icon .icon-dollar {
          margin-bottom: 0; } }
  .taxprep-take-care-of-taxes .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-take-care-of-taxes .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-take-care-of-taxes .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-take-care-of-taxes .column-text h3 {
      font-size: 1.1rem; }

.taxprep-expert-team .features-section {
  padding-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .features-section {
      padding-top: 1rem; } }

.taxprep-expert-team .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-expert-team .all-features {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-expert-team .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .taxprep-expert-team .all-features {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxprep-expert-team .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.taxprep-expert-team .feature {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxprep-expert-team .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-expert-team .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxprep-expert-team .feature .row .column-icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-expert-team .feature .row .column-icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-expert-team .feature .row .column-icon .icon, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-icon .icon, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-icon .icon {
        height: 4rem; } }
  .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
    flex: 0 0 75%;
    max-width: 75%;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
    padding-top: .5rem; }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .taxprep-expert-team .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text {
        padding: .5rem 1rem; } }
    .taxprep-expert-team .feature .row .column-text h4, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text h4 {
      font-weight: 400;
      font-size: .95em; }
      @media print, screen and (min-width: 28.125em) {
        .taxprep-expert-team .feature .row .column-text h4, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text h4 {
          font-size: .95em; } }
      @media print, screen and (min-width: 40em) {
        .taxprep-expert-team .feature .row .column-text h4, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text h4 {
          font-size: 1em; } }

.taxprep-business-section {
  padding-top: 6rem;
  padding-bottom: 6rem; }
  .taxprep-business-section .all-features {
    padding-top: 2rem; }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-business-section .all-features {
        padding-top: 4rem; } }
  .taxprep-business-section .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-business-section .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxprep-business-section .feature {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-business-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-business-section .feature {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-business-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .taxprep-business-section .feature {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxprep-business-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-business-section .feature:not(:first-of-type) {
      margin-top: 2rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature:not(:first-of-type) {
          margin-top: 3rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-business-section .feature:not(:first-of-type) {
          margin-top: 0; } }
    .taxprep-business-section .feature .column-icon {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature .column-icon {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-business-section .feature .column-icon {
          flex: 0 0 91.66667%;
          max-width: 91.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .taxprep-business-section .feature .column-icon .icon-svg {
        height: 7rem; }
        @media print, screen and (min-width: 40em) {
          .taxprep-business-section .feature .column-icon .icon-svg {
            height: 9rem; } }
    .taxprep-business-section .feature .column-text {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0;
      font-size: .9em; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .feature .column-text {
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxprep-business-section .feature .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxprep-business-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .taxprep-business-section .feature .column-text h4 {
        font-size: 1.05em;
        letter-spacing: -.01em; }
  .taxprep-business-section .business-teaser-row {
    padding-top: 4rem; }
    .taxprep-business-section .business-teaser-row .wrapper {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      background: #f7fbff;
      border: solid 1px #d6dde3; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .business-teaser-row .wrapper {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .taxprep-business-section .business-teaser-row .wrapper {
          flex: 0 0 83.33333%;
          max-width: 83.33333%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxprep-business-section .business-teaser-row .wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxprep-business-section .business-teaser-row .column-content {
      flex: 0 0 75%;
      max-width: 75%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxprep-business-section .business-teaser-row .column-content {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      .taxprep-business-section .business-teaser-row .column-content h3 {
        font-size: 1.0em; }
      .taxprep-business-section .business-teaser-row .column-content p, .taxprep-business-section .business-teaser-row .column-content .generic-p, .taxprep-business-section .business-teaser-row .column-content a {
        font-size: .9em; }
    .taxprep-business-section .business-teaser-row .column-graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0;
      padding-left: 0; }
      .taxprep-business-section .business-teaser-row .column-graphic .icon-svg {
        height: 7rem; }
    .taxprep-business-section .business-teaser-row .link-caret-right::after {
      height: 7px;
      width: 7px;
      bottom: 2px; }
  .taxprep-business-section .description h3 {
    text-align: center; }
  .taxprep-business-section .description .box {
    border: 1pt solid #9EAEBC;
    border-width: 0px 0px 1px;
    margin: 1.2rem 0rem 1rem;
    background: #FDFDFD;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
    display: block;
    width: 100%; }

@media print, screen and (min-width: 46.875em) and (min-width: 46.875em) {
  .taxprep-business-section .description .box svg {
    height: 7rem; } }
  @media print, screen and (min-width: 46.875em) {
    .taxprep-business-section .dotted-right {
      border-right: 2pt dotted #eaeaea;
      margin-bottom: -0.5rem;
      padding-right: 1rem; } }
  .taxprep-business-section .description.card {
    min-height: 27.5rem; }
  .taxprep-business-section .intro-block {
    border-bottom: dotted 0px #b7b7b7; }
  .taxprep-business-section .service-block {
    padding-bottom: 1rem; }
    @media screen and (max-width: 28.0625em) {
      .taxprep-business-section .service-block {
        padding-bottom: 0rem; } }
    .taxprep-business-section .service-block .card {
      border: none; }
    .taxprep-business-section .service-block .description.small-centered {
      text-align: center; }
  .taxprep-business-section .mantenga-su-negocio {
    padding-top: 2rem; }
    @media screen and (max-width: 28.0625em) {
      .taxprep-business-section .mantenga-su-negocio {
        padding: 0rem; } }
    .taxprep-business-section .mantenga-su-negocio .card {
      padding: 1rem 0rem 0.5rem !important; }
      @media screen and (max-width: 28.0625em) {
        .taxprep-business-section .mantenga-su-negocio .card {
          padding: 1rem !important; } }
      .taxprep-business-section .mantenga-su-negocio .card .button-border {
        border: 2px solid #14679e;
        background-color: #fff;
        border-radius: 4px;
        cursor: pointer;
        transition: all .2s ease;
        text-align: center;
        vertical-align: middle;
        -webkit-user-select: none;
        user-select: none;
        display: inline-block;
        margin: 0 0 1rem 0;
        margin-top: 0rem;
        padding: 0.8em 1.5rem;
        -webkit-appearance: none;
        transition: background-color 0.25s ease-out, color 0.25s ease-out; }

@media screen and (max-width: 28.0625em) {
  .taxprep-tax-problems .description {
    padding: 0rem; } }

.taxprep-tax-problems .graphic {
  text-align: center;
  padding-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .taxprep-tax-problems .graphic {
      padding-right: 0; } }
  .taxprep-tax-problems .graphic .img-size-wrapper {
    position: relative;
    height: 14rem; }
    @media print, screen and (min-width: 40em) {
      .taxprep-tax-problems .graphic .img-size-wrapper {
        height: 17rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxprep-tax-problems .graphic .img-size-wrapper {
        height: 24rem; } }
  .taxprep-tax-problems .graphic .img-size-wrapper img {
    height: 100%;
    width: auto; }

@media print, screen and (min-width: 40em) {
  .business-overview .container:first-of-type {
    padding-bottom: 2rem; } }

.business-overview .container-cards {
  padding: 0rem 1rem 0rem; }
  .business-overview .container-cards .content {
    padding-top: 0; }

.business-overview .card-wrapper {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0;
  padding-left: 0; }
  @media print, screen and (min-width: 40em) {
    .business-overview .card-wrapper {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .business-overview .card-wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .business-overview .card-wrapper {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .business-overview .card-wrapper {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .business-overview .card-wrapper .card .row .column-icon, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%; }
    @media screen and (min-width: 40em) and (max-width: 46.8125em) {
      .business-overview .card-wrapper .card .row .column-icon, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-icon {
        flex: 0 0 33.33333%;
        max-width: 33.33333%; } }
  .business-overview .card-wrapper .card .row .column-text, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-text {
    flex: 0 0 100%;
    max-width: 100%; }
    @media screen and (min-width: 40em) and (max-width: 46.8125em) {
      .business-overview .card-wrapper .card .row .column-text, .business-overview .card-wrapper .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .business-overview .card-wrapper .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .business-overview .card-wrapper .card ul .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%; } }

.business-overview .large-cards .card .icon-svg {
  height: 9rem; }

.business-overview .small-cards .card .icon-svg {
  height: 6.5rem;
  margin-bottom: .5rem; }

.business-payroll {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem; }

@media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
  .buspr-features-picker .services-group .card-wrapper {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; } }

.buspr-features-picker .services-group .card-wrapper .service-card {
  padding: 1rem; }
  @media print, screen and (min-width: 28.125em) {
    .buspr-features-picker .services-group .card-wrapper .service-card {
      padding: 1rem 1.5rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .service-card {
      padding: 1rem 2rem; } }

.buspr-features-picker .services-group .card-wrapper .card-section {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap; }
  .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0;
    padding-left: 0; }
    @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        padding-left: .5rem; } }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }
  .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media screen and (max-width: 28.0625em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        padding-right: 0; } }
    @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }

.buspr-features-picker .services-group .card-wrapper .card-section {
  text-align: left; }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
      text-align: left; } }
  @media print, screen and (min-width: 40em) {
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text {
      text-align: center; } }
  .buspr-features-picker .services-group .card-wrapper .card-section .column-text h5 > span {
    border-bottom: 1px dotted #1f4e89;
    font-size: 1em;
    font-weight: 500;
    color: #1f4e89; }
    .buspr-features-picker .services-group .card-wrapper .card-section .column-text h5 > span:hover {
      border-bottom-color: #007dff; }

.buspr-year-end-payroll .description {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .buspr-year-end-payroll .description {
      flex: 0 0 75%;
      max-width: 75%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      flex: 0 0 58.33333%;
      max-width: 58.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .buspr-year-end-payroll .description {
      flex: 0 0 58.33333%;
      max-width: 58.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .buspr-year-end-payroll .description {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.buspr-year-end-payroll .graphic {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (max-width: 28.0625em) {
    .buspr-year-end-payroll .graphic {
      padding-bottom: 1rem; } }
  @media print, screen and (min-width: 28.125em) {
    .buspr-year-end-payroll .graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .buspr-year-end-payroll .graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .buspr-year-end-payroll .graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .buspr-year-end-payroll ._icon-reptchkmark {
    max-height: 11rem; } }

.buspr-payroll-tax-problems {
  padding-top: 0; }
  .buspr-payroll-tax-problems .wrapping-box {
    padding: 1rem 0; }
    @media print, screen and (min-width: 40em) {
      .buspr-payroll-tax-problems .wrapping-box {
        padding: 2rem 0; } }
  .buspr-payroll-tax-problems .column-icon .icon-svg-max {
    height: 12rem;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .buspr-payroll-tax-problems .column-icon .icon-svg-max {
        height: 16rem; } }

.buspr-pay-features .feature {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-pay-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-pay-features .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: 3rem;
      margin-bottom: 1rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-pay-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (min-width: 75em) {
    .buspr-pay-features .feature {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 75em) and (min-width: 40em) {
    .buspr-pay-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-icon, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-icon, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-pay-features .feature .row .column-text, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text, .buspr-pay-features .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .buspr-pay-features .feature .row .column-text .fee-detail, .buspr-pay-features .feature .busmoveusa-countries-assisted .content .flags ul .column-text .fee-detail, .busmoveusa-countries-assisted .content .flags .buspr-pay-features .feature ul .column-text .fee-detail, .taxproblems-business-issues .features-lists .row .category-list .buspr-pay-features .feature ul .column-text .fee-detail {
      color: #878787;
      font-size: 0.9rem; }

.buspr-guidance-assistance .feature-row .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .buspr-guidance-assistance .feature-row .feature {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper {
      height: 6rem;
      width: 6rem;
      padding: 1rem;
      margin: 1rem auto; }
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper svg {
        height: 4rem; }
      @media print, screen and (min-width: 40em) {
        .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper {
          height: 7.6rem;
          width: 7.6rem;
          padding: 1rem; }
          .buspr-guidance-assistance .feature-row .feature .icon-row .column-icon .icon-wrapper svg {
            height: 5rem; } }
  .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .buspr-guidance-assistance .feature-row .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.buspr-guidance-assistance .column-icon .icon-wrapper {
  background: #fff;
  border-radius: 100%;
  border: 1pt solid #e5eaed; }

.buspr-guidance-assistance .column-text {
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    .buspr-guidance-assistance .column-text {
      text-align: center; } }
  .buspr-guidance-assistance .column-text h4 {
    font-weight: 500; }

@media print, screen and (min-width: 40em) {
  .busmoveusa-establish .features-row {
    padding-top: 0; } }

.busmoveusa-establish .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-establish .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (max-width: 28.0625em) {
    .busmoveusa-establish .feature:first-of-type {
      margin-top: 0; } }
  @media screen and (min-width: 28.125em) and (max-width: 39.9375em) {
    .busmoveusa-establish .feature:first-of-type {
      margin-top: 0; } }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-establish .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: 3rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-establish .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busmoveusa-establish .feature .icon-row .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busmoveusa-establish .feature .icon-row .column-icon {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busmoveusa-establish .feature .icon-row .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busmoveusa-establish .feature .icon-row .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busmoveusa-establish .feature .icon-row .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busmoveusa-countries-assisted .content .column-globe {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-countries-assisted .content .column-globe {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busmoveusa-countries-assisted .content .column-globe {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busmoveusa-countries-assisted .content .column-globe {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busmoveusa-countries-assisted .content .column-text .comment {
  font-size: .8rem;
  color: #7d7d7d; }

.busmoveusa-countries-assisted .content .flags {
  min-height: 3rem; }
  .busmoveusa-countries-assisted .content .flags ul {
    list-style: none; }
    .busmoveusa-countries-assisted .content .flags ul li img {
      height: auto;
      width: 100%;
      max-height: 3rem; }
      @media print, screen and (min-width: 40em) {
        .busmoveusa-countries-assisted .content .flags ul li img {
          max-height: 3.5rem; } }

.busmoveusa-cover-basics .evaluamos-las-mejores p, .busmoveusa-cover-basics .evaluamos-las-mejores .generic-p {
  font-size: 0.9rem !important;
  color: #536475;
  line-height: 1.75rem; }

.busmoveusa-cover-basics .icon-svg-custom {
  height: 12rem;
  width: auto; }

.busmoveusa-cover-basics .description p, .busmoveusa-cover-basics .description .generic-p {
  font-size: .8rem; }

.busmoveusa-additional-services {
  background: #8e9eab !important;
  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #f7f9f9, #e9f4fd) !important;
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ }
  .busmoveusa-additional-services .service-card:hover svg {
    height: 5rem;
    -webkit-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
  .busmoveusa-additional-services .service-card:hover .card-section {
    padding-top: 1rem;
    -webkit-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    transition: all .3s ease-in; }
  .busmoveusa-additional-services .service-card {
    min-height: 10rem;
    background-color: #fff; }
    .busmoveusa-additional-services .service-card .card-section {
      padding-top: 1.5rem; }
      .busmoveusa-additional-services .service-card .card-section h5 a {
        font-size: 0.8rem;
        border-bottom: 1px dotted #1f4e89;
        font-weight: 500;
        color: #1f4e89; }
        .busmoveusa-additional-services .service-card .card-section h5 a:hover {
          border-bottom-color: #007dff; }

.busregister-plan-organize .header-section .column-header {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-plan-organize .header-section .column-header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-plan-organize .header-section .column-header {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-plan-organize .header-section .column-header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-plan-organize .features-row .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0; }
  @media screen and (max-width: 28.0625em) {
    .busregister-plan-organize .features-row .feature:not(:first-of-type) {
      margin-top: 1rem; } }
  @media print, screen and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-plan-organize .features-row .feature {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-icon, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-plan-organize .features-row .feature .row .column-text, .busregister-plan-organize .features-row .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .busregister-plan-organize .features-row .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .busregister-plan-organize .features-row .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .header {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .busregister-register-your-business .header {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-register-your-business .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-register-your-business .header {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-register-your-business .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .column-icon {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .busregister-register-your-business .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-register-your-business .column-icon {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-register-your-business .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 28.125em) {
    .busregister-register-your-business .column-text {
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busregister-register-your-business .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busregister-register-your-business .column-text {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busregister-register-your-business .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-register-your-business .column-icon .icon {
  height: 9rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-register-your-business .column-icon .icon {
      height: 12rem; } }

.busregister-review-issues .column-icon {
  margin-top: -1rem;
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-review-issues .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busregister-review-issues .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busregister-review-issues .column-text {
      flex: 0 0 58.33333%;
      max-width: 58.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busregister-review-issues .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.sub-nav {
  text-transform: uppercase;
  border-bottom: solid 1px #d6dde3;
  overflow: hidden; }
  .sub-nav .menu li a {
    font-size: .9em;
    height: 49px;
    padding-top: 19.6px; }
    .sub-nav .menu li a:hover {
      color: #007dff; }
  .sub-nav .menu li.is-active {
    height: 50px; }
    .sub-nav .menu li.is-active a {
      background: none;
      border-bottom: solid 2px #007dff;
      color: #1a4274; }
      .sub-nav .menu li.is-active a:hover {
        color: #1a4274; }

.business-subnav {
  /* 		
		nav.sub-nav {
			@include breakpoint(small only) {
				top: inherit !important;
			}
		}
		*/ }
  .business-subnav .d-none-block {
    display: none;
    position: relative;
    z-index: 999; }
  .business-subnav .logo {
    height: 100%; }
    .business-subnav .logo a img {
      height: 26px;
      position: relative;
      top: 50%;
      transform: translateY(-50%); }
  .business-subnav .btn-block {
    text-align: right; }
    .business-subnav .btn-block .btn-contact {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 1em 1.4em;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 3px;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 0.9rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      background-color: #f44d52;
      color: #ffffff;
      color: #ffffff;
      font-weight: 500;
      font-size: 0.7rem;
      position: relative;
      top: 50%;
      transform: translateY(-50%); }
      [data-whatinput='mouse'] .business-subnav .btn-block .btn-contact {
        outline: 0; }
      .business-subnav .btn-block .btn-contact:hover, .business-subnav .btn-block .btn-contact:focus {
        background-color: #f01117;
        color: #ffffff; }
      @media screen and (max-width: 48.125em) {
        .business-subnav .btn-block .btn-contact {
          display: none; } }
      @media screen and (min-width: 48.125em) {
        .business-subnav .btn-block .btn-contact {
          margin-right: 0; } }
  .business-subnav .sticky.is-stuck {
    z-index: 9999 !important; }
    @media screen and (max-width: 28.0625em) {
      .business-subnav .sticky.is-stuck {
        max-width: auto; } }
    .business-subnav .sticky.is-stuck .d-none-block {
      display: block; }
  .business-subnav .sticky.is-stuck.is-at-top {
    background-color: #fff; }

.busfin-intro {
  padding-top: 3rem;
  padding-bottom: 0; }
  .busfin-intro .header {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-intro .header {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
  .busfin-intro .graphic {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
    padding-bottom: 0; }
    .busfin-intro .graphic img {
      width: auto;
      height: 12rem; }
      @media print, screen and (min-width: 28.125em) {
        .busfin-intro .graphic img {
          height: 15rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-intro .graphic img {
          height: 18rem; } }

@media print, screen and (min-width: 40em) {
  .busfin-plans .header {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-plans .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-plans .cards-row {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media screen and (max-width: 28.0625em) {
    .busfin-plans .cards-row {
      padding-top: 1rem;
      padding-bottom: 0rem; } }
  .busfin-plans .cards-row .column-card {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-plans .cards-row .column-card {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-plans .cards-row .column-card {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-plans .cards-row .column-card {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busfin-plans .cards-row .column-card {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .busfin-plans .cards-row .column-card .column-icon {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-plans .cards-row .column-card .column-icon {
          flex: 0 0 33.33333%;
          max-width: 33.33333%;
          padding-right: 0;
          padding-left: 0; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-plans .cards-row .column-card .column-icon {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }
      .busfin-plans .cards-row .column-card .column-icon .icon-payroll {
        padding: .5rem; }
    .busfin-plans .cards-row .column-card .column-text {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-plans .cards-row .column-card .column-text {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-plans .cards-row .column-card .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-plans .cards-row .column-card .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }

.busfin-plans .conclusion-section {
  padding-top: 0; }

@media print, screen and (min-width: 46.875em) {
  .busfin-features-main .header {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-main .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-features-main .features-section {
  padding-top: 1rem; }
  .busfin-features-main .features-section .all-features {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .busfin-features-main .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-features-main .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-main .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busfin-features-main .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-features-main .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busfin-features-main .features-section .feature {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 1rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-features-main .features-section .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-features-main .features-section .feature {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-features-main .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-features-main .features-section .feature {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-main .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-features-main .features-section .feature {
        margin-top: 2rem; } }
    .busfin-features-main .features-section .feature .column-icon {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .busfin-features-main .features-section .feature .column-icon {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      .busfin-features-main .features-section .feature .column-icon .icon-svg {
        width: 100%;
        height: 3rem; }
        @media print, screen and (min-width: 40em) {
          .busfin-features-main .features-section .feature .column-icon .icon-svg {
            height: 4rem; } }
    .busfin-features-main .features-section .feature .column-text {
      flex: 1 1 0px;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      min-width: 0;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .busfin-features-main .features-section .feature .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      .busfin-features-main .features-section .feature .column-text h5 {
        font-size: .9em;
        font-weight: 400; }
      .busfin-features-main .features-section .feature .column-text .cmn-divider {
        margin-top: 0; }

.busfin-features-main .conclusion-section {
  text-align: center; }
  @media screen and (max-width: 46.8125em) {
    .busfin-features-main .conclusion-section {
      padding-top: 2rem; } }

.busfin-benefits-intro {
  padding-top: 3rem;
  padding-bottom: 1rem; }
  .busfin-benefits-intro .features-section .all-features {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .busfin-benefits-intro .features-section .all-features {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .busfin-benefits-intro .features-section .all-features {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-benefits-intro .features-section .all-features {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .busfin-benefits-intro .features-section .all-features .feature {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .busfin-benefits-intro .features-section .all-features .feature {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .busfin-benefits-intro .features-section .all-features .feature {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-benefits-intro .features-section .all-features .feature {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .busfin-benefits-intro .features-section .all-features .feature .card {
        padding: .5rem 1rem;
        position: relative;
        -webkit-transition: all .3s ease-in;
        -o-transition: all .3s ease-in;
        transition: all .3s ease-in; }
        .busfin-benefits-intro .features-section .all-features .feature .card:hover {
          background: #F4F9FF;
          border-color: #9EAEBC; }
          .busfin-benefits-intro .features-section .all-features .feature .card:hover .card-section {
            padding-top: 1.0rem; }
        .busfin-benefits-intro .features-section .all-features .feature .card .card-link {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          display: block; }
      .busfin-benefits-intro .features-section .all-features .feature .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; }
        @media print, screen and (min-width: 40em) {
          .busfin-benefits-intro .features-section .all-features .feature .column-icon {
            flex: 0 0 25%;
            max-width: 25%;
            padding-right: 0;
            padding-left: 0;
            padding-left: 1rem; } }
        .busfin-benefits-intro .features-section .all-features .feature .column-icon .icon-svg {
          width: 100%;
          height: 3.5rem; }
      .busfin-benefits-intro .features-section .all-features .feature .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0;
        padding-left: 0; }
        @media print, screen and (min-width: 40em) {
          .busfin-benefits-intro .features-section .all-features .feature .column-text {
            flex: 0 0 75%;
            max-width: 75%;
            padding-right: 0.9375rem;
            padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-benefits-intro .features-section .all-features .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
        .busfin-benefits-intro .features-section .all-features .feature .column-text h5 {
          font-size: .8em;
          margin: 0;
          text-align: center;
          text-align: left; }
          @media print, screen and (min-width: 40em) {
            .busfin-benefits-intro .features-section .all-features .feature .column-text h5 {
              font-size: .9em; } }

.busfin-features-picker .services-group .feature {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-features-picker .services-group .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busfin-features-picker .services-group .feature {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-features-picker .services-group .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-taxes-solution .section-graphic {
  padding-top: .5rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-taxes-solution .section-graphic {
      padding-top: 2rem; } }
  .busfin-taxes-solution .section-graphic .graphic {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding-right: 0;
    padding-left: 0;
    background-image: url("/static/img/bus_bg_pattern.svg");
    background-size: 110px auto;
    padding: 0;
    text-align: center;
    border-bottom: solid 1px rgba(77, 164, 255, 0.2);
    border: solid 1px #f1f4f6; }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-graphic .graphic {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-graphic .graphic {
        background-size: 160px auto; } }
    .busfin-taxes-solution .section-graphic .graphic .bg-overlay {
      width: 100%;
      height: 100%;
      padding: .5rem 0 .25rem;
      background: rgba(240, 247, 255, 0.5); }
    .busfin-taxes-solution .section-graphic .graphic .circle-wrapper {
      margin-left: auto;
      margin-right: auto;
      height: 8rem; }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-graphic .graphic .circle-wrapper {
          height: 12rem; } }
    .busfin-taxes-solution .section-graphic .graphic img {
      height: 100%;
      width: auto; }

.busfin-taxes-solution .section-features {
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .busfin-taxes-solution .section-features {
      padding-top: 1rem; } }
  .busfin-taxes-solution .section-features .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 2rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-features .feature {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-taxes-solution .section-features .feature {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-taxes-solution .section-features .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media screen and (max-width: 39.9375em) {
      .busfin-taxes-solution .section-features .feature:first-of-type {
        margin-top: 1.5rem; } }
    .busfin-taxes-solution .section-features .feature .column-icon {
      flex: 0 0 8.33333%;
      max-width: 8.33333%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-features .feature .column-icon {
          flex: 0 0 8.33333%;
          max-width: 8.33333%;
          padding-right: 0;
          padding-left: 0; } }
      .busfin-taxes-solution .section-features .feature .column-icon .icon-svg {
        height: 1.5rem; }
        @media print, screen and (min-width: 40em) {
          .busfin-taxes-solution .section-features .feature .column-icon .icon-svg {
            height: 1.5rem;
            padding-right: .5rem; } }
      .busfin-taxes-solution .section-features .feature .column-icon svg.checkmark {
        color: #0058b3; }
    .busfin-taxes-solution .section-features .feature .column-text {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      font-size: .85em; }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-features .feature .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-taxes-solution .section-features .feature .column-text {
          flex: 0 0 91.66667%;
          max-width: 91.66667%;
          padding-right: 0;
          padding-left: 0;
          font-size: .9em; } }
      .busfin-taxes-solution .section-features .feature .column-text h5 {
        font-size: 1em; }

.busfin-manage .header-section .header {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-manage .header-section .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .busfin-manage .header-section .header {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-manage .header-section .header {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .busfin-manage .features-section {
    padding-top: 1rem; } }

.busfin-manage .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-manage .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .busfin-manage .all-features {
      flex: 0 0 83.33333%;
      max-width: 83.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-manage .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busfin-manage .all-features .feature {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-top: 1.5rem;
    margin-top: 2rem; }
    .busfin-manage .all-features .feature .column-icon {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .busfin-manage .all-features .feature .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-manage .all-features .feature .column-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .busfin-manage .all-features .feature .column-icon .icon-svg {
        height: 5rem; }
        @media print, screen and (min-width: 40em) {
          .busfin-manage .all-features .feature .column-icon .icon-svg {
            height: 7rem; } }
    .busfin-manage .all-features .feature .column-text {
      flex: 0 0 75%;
      max-width: 75%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      font-size: .85em; }
      @media print, screen and (min-width: 40em) {
        .busfin-manage .all-features .feature .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-manage .all-features .feature .column-text {
          font-size: .9em;
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-manage .all-features .feature .column-text {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-manage .all-features .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .busfin-manage .all-features .feature .column-text h5 {
        font-size: 1rem;
        font-weight: 600; }

.busfin-future .column-icon {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 46.875em) {
    .busfin-future .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-icon .icon-svg {
      height: 15rem; } }

.busfin-future .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .busfin-future .column-text {
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-future .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .busfin-future .column-text {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-future .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-future .container .t-bdr-top, .busfin-future .container .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .row .busfin-future .container .column-text, .busfin-future .container .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .busfin-future .container .column-text, .busfin-future .container .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .busfin-future .container .column-text, .busfin-future .container .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .busfin-future .container .column-text {
  padding-top: 6rem; }
  @media screen and (max-width: 28.0625em) {
    .busfin-future .container .t-bdr-top, .busfin-future .container .taxprep-expert-team .feature .row .column-text, .taxprep-expert-team .feature .row .busfin-future .container .column-text, .busfin-future .container .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .taxprep-expert-team .feature .busmoveusa-countries-assisted .content .flags ul .busfin-future .container .column-text, .busfin-future .container .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .column-text, .busmoveusa-countries-assisted .content .flags .taxprep-expert-team .feature ul .busfin-future .container .column-text, .busfin-future .container .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxprep-expert-team .feature ul .busfin-future .container .column-text {
      padding-top: 3rem; } }

.busfin-future .container .description {
  padding-top: 0rem;
  padding-bottom: 0rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-future .container .description {
      padding-bottom: 0rem; } }

@media print, screen and (min-width: 40em) {
  .busfin-future .busfin-taxexpense .description {
    padding-bottom: 0rem; } }

.busfin-team .features-section .all-features {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0; }
  @media print, screen and (min-width: 64em) {
    .busfin-team .features-section .all-features {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-team .features-section .all-features {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.busfin-team .features-section .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .busfin-team .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media screen and (max-width: 46.8125em) {
    .busfin-team .features-section .feature {
      margin-top: 1rem; }
      .busfin-team .features-section .feature:not(:first-of-type) {
        margin-top: 1.5rem; } }
  @media print, screen and (min-width: 40em) {
    .busfin-team .features-section .feature {
      flex: 0 0 91.66667%;
      max-width: 91.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-team .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .busfin-team .features-section .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-team .features-section .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .busfin-team .features-section .feature .column-icon {
    flex: 0 0 25%;
    max-width: 25%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .busfin-team .features-section .feature .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-team .features-section .feature .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-team .features-section .feature .column-icon {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .busfin-team .features-section .feature .column-icon .circle-wrapper {
      background: #fdfdfd;
      border: solid 1px #d6eaff;
      border-radius: 50rem;
      -webkit-border-radius: 50rem;
      -moz-border-radius: 50rem;
      -ms-border-radius: 50rem;
      -o-border-radius: 50rem;
      margin-left: auto;
      margin-right: auto;
      height: 3.75rem;
      width: 3.75rem;
      padding-top: 0.375rem; }
      @media print, screen and (min-width: 28.125em) {
        .busfin-team .features-section .feature .column-icon .circle-wrapper {
          height: 4.375rem;
          width: 4.375rem;
          padding-top: 0.4375rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-team .features-section .feature .column-icon .circle-wrapper {
          height: 5rem;
          width: 5rem;
          padding-top: 0.5rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-team .features-section .feature .column-icon .circle-wrapper {
          height: 6.25rem;
          width: 6.25rem;
          padding-top: 0.625rem; } }
    .busfin-team .features-section .feature .column-icon .icon-svg {
      height: 3rem; }
      @media print, screen and (min-width: 28.125em) {
        .busfin-team .features-section .feature .column-icon .icon-svg {
          height: 3.5rem; } }
      @media print, screen and (min-width: 40em) {
        .busfin-team .features-section .feature .column-icon .icon-svg {
          height: 4rem; } }
      @media print, screen and (min-width: 46.875em) {
        .busfin-team .features-section .feature .column-icon .icon-svg {
          height: 5rem; } }
  .busfin-team .features-section .feature .column-text {
    font-size: .9em;
    flex: 0 0 75%;
    max-width: 75%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .busfin-team .features-section .feature .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 75%;
        max-width: 75%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        margin-top: 1.5rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .busfin-team .features-section .feature .column-text {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .busfin-team .features-section .feature .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.pricing-tab .pricing-table {
  background-color: #ffffff;
  border: solid 1px #cacaca;
  width: 100%;
  text-align: center;
  list-style-type: none; }
  @media screen and (max-width: 28.0625em) {
    .pricing-tab .pricing-table {
      margin: 0; } }
  .pricing-tab .pricing-table li {
    border-bottom: dotted 1px #cacaca;
    padding: 0.875rem 1.125rem; }
    .pricing-tab .pricing-table li:last-child {
      border-bottom: 0; }
  .pricing-tab .pricing-table .title {
    background-color: #0a0a0a;
    color: #ffffff;
    border-bottom: 0; }
  .pricing-tab .pricing-table .price {
    background-color: #e6e6e6;
    font-size: 2rem;
    border-bottom: 0; }
  .pricing-tab .pricing-table .description {
    color: #8a8a8a;
    font-size: 80%; }
  .pricing-tab .pricing-table :last-child {
    margin-bottom: 0; }

.hero-taxproblems .hero-content {
  padding-bottom: 2rem; }

.taxproblems-subhero {
  padding-top: 0;
  padding-bottom: 4rem; }
  .taxproblems-subhero .header {
    padding-bottom: 1rem; }
    .taxproblems-subhero .header h4 {
      font-weight: 300;
      font-size: .9em;
      color: #f2f2f2;
      text-align: center; }
      .taxproblems-subhero .header h4:after {
        display: block;
        height: 1px;
        border-bottom: 1px solid #ffffff; }
  .taxproblems-subhero .services-picker .service {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-subhero .services-picker .service {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 28.125em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media screen and (min-width: 75em) {
      .taxproblems-subhero .services-picker .service {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media screen and (min-width: 75em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          flex: 0 0 33.33333%;
          max-width: 33.33333%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-icon, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: center; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: center;
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          text-align: left; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-subhero .services-picker .service .card .row .column-text, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .taxproblems-subhero .services-picker .service .card {
      position: relative;
      border-radius: 7px;
      border-color: #007dff;
      border-width: 2px;
      -webkit-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in; }
      .taxproblems-subhero .services-picker .service .card .row .column-text h5 a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text h5 a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text h5 a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text h5 a {
        font-weight: 500; }
      .taxproblems-subhero .services-picker .service .card:hover {
        background: #ffffff;
        border-color: #0064cc;
        -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15);
        -moz-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15);
        box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15); }
        .taxproblems-subhero .services-picker .service .card:hover .row .column-text a, .taxproblems-subhero .services-picker .service .card:hover .busmoveusa-countries-assisted .content .flags ul .column-text a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card:hover ul .column-text a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card:hover ul .column-text a {
          color: #1a4274; }
      .taxproblems-subhero .services-picker .service .card .row .column-icon svg, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon svg, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon svg {
        width: 100%;
        height: 5rem;
        -webkit-transition: all .3s ease-in;
        -o-transition: all .3s ease-in;
        transition: all .3s ease-in; }
        @media print, screen and (min-width: 28.125em) {
          .taxproblems-subhero .services-picker .service .card .row .column-icon svg, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon svg, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon svg {
            height: 6rem; } }
        @media print, screen and (min-width: 40em) {
          .taxproblems-subhero .services-picker .service .card .row .column-icon svg, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-icon svg, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-icon svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-icon svg {
            height: 6rem; } }
      .taxproblems-subhero .services-picker .service .card .row .column-text a, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text a, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text a, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text a {
        font-size: 1em;
        border-bottom: 1px dotted #1f4e89;
        font-weight: 500;
        color: #1f4e89; }
        .taxproblems-subhero .services-picker .service .card .row .column-text a:hover, .taxproblems-subhero .services-picker .service .card .busmoveusa-countries-assisted .content .flags ul .column-text a:hover, .busmoveusa-countries-assisted .content .flags .taxproblems-subhero .services-picker .service .card ul .column-text a:hover, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-subhero .services-picker .service .card ul .column-text a:hover {
          border-bottom-color: #007dff; }
  .taxproblems-subhero .services-picker .services-group {
    padding: 0rem; }
  .taxproblems-subhero .services-picker .service-card:hover {
    background: #F4F9FF;
    border-color: #9EAEBC; }
    .taxproblems-subhero .services-picker .service-card:hover .card-section {
      padding-top: 1.0rem;
      -webkit-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in; }
    .taxproblems-subhero .services-picker .service-card:hover svg {
      height: 5.5rem;
      -webkit-transition: all .3s ease-in;
      -o-transition: all .3s ease-in;
      transition: all .3s ease-in; }
  .taxproblems-subhero .services-picker .service-card .card-section {
    padding-top: 1.5rem; }
    @media screen and (max-width: 28.0625em) {
      .taxproblems-subhero .services-picker .service-card .card-section {
        padding: 0rem; } }
  .taxproblems-subhero .services-picker .card-link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: block; }

.taxproblems-promise {
  padding-top: 4rem; }
  .taxproblems-promise .graphic {
    padding: 0rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .graphic {
        padding: inherit; } }
  .taxproblems-promise .border-red {
    border-bottom: none; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .border-red {
        border-bottom: 1pt solid #F5C5C6; } }
  .taxproblems-promise .graphic img {
    width: 100%;
    height: auto;
    max-height: 13rem;
    margin-bottom: 1rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .graphic img {
        max-height: 27rem !important; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-promise .graphic img {
        max-height: none;
        margin-bottom: 0; } }

.taxproblems-business-issues .box-svg,
.taxproblems-personal-issues .box-svg {
  margin: 1.2rem 0rem 1rem; }

.taxproblems-business-issues .box-svg1,
.taxproblems-personal-issues .box-svg1 {
  margin: 1.2rem 0rem 1rem; }

.taxproblems-business-issues .icon-block svg,
.taxproblems-personal-issues .icon-block svg {
  width: 100%;
  height: 6rem;
  margin: 1rem 0rem 0rem; }
  @media screen and (max-width: 28.0625em) {
    .taxproblems-business-issues .icon-block svg,
    .taxproblems-personal-issues .icon-block svg {
      width: 6rem; } }

.taxproblems-business-issues .icon-block h4,
.taxproblems-personal-issues .icon-block h4 {
  font-weight: 600 !important;
  font-size: 1rem !important;
  margin: 0rem 0rem 1.5rem; }
  @media screen and (max-width: 28.0625em) {
    .taxproblems-business-issues .icon-block h4,
    .taxproblems-personal-issues .icon-block h4 {
      float: right;
      margin-top: 16%;
      padding-right: 1rem; } }

@media screen and (max-width: 28.0625em) {
  .taxproblems-business-issues .icon-block .text,
  .taxproblems-personal-issues .icon-block .text {
    text-align: left;
    padding-left: 1rem; } }

.taxproblems-knowledge-experience .column-graphic {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-graphic .icon {
      height: 9rem; } }

.taxproblems-knowledge-experience .column-text {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-text {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-knowledge-experience .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .taxproblems-personal-issues .features-row {
    padding-top: 1rem; } }

.taxproblems-personal-issues .feature {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .taxproblems-personal-issues .feature .row .column-icon, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 0;
    padding-left: 0; }
    @media print, screen and (min-width: 28.125em) {
      .taxproblems-personal-issues .feature .row .column-icon, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon {
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 0;
        padding-left: 0; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-icon, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-icon, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0;
        padding-left: 0; } }
  .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.taxproblems-personal-issues .feature {
  margin-top: 1rem; }
  .taxproblems-personal-issues .feature:first-of-type {
    margin-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .taxproblems-personal-issues .feature {
      margin-top: 2rem; }
      .taxproblems-personal-issues .feature:first-of-type {
        margin-top: 2rem; } }
  .taxproblems-personal-issues .feature .row .column-icon .icon-svg, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon .icon-svg {
    height: 5rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-personal-issues .feature .row .column-icon .icon-svg, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-icon .icon-svg, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-icon .icon-svg {
        height: 7rem; } }
  .taxproblems-personal-issues .feature .row .column-text, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text, .taxproblems-personal-issues .feature .taxproblems-business-issues .features-lists .row .category-list ul .column-text, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text {
    text-align: left; }
    .taxproblems-personal-issues .feature .row .column-text h4, .taxproblems-personal-issues .feature .busmoveusa-countries-assisted .content .flags ul .column-text h4, .busmoveusa-countries-assisted .content .flags .taxproblems-personal-issues .feature ul .column-text h4, .taxproblems-business-issues .features-lists .row .category-list .taxproblems-personal-issues .feature ul .column-text h4 {
      font-size: 1em; }

.taxproblems-personal-issues .title-block p, .taxproblems-personal-issues .title-block .generic-p {
  padding-left: 10%;
  padding-right: 10%;
  padding: 0rem; }

.taxproblems-business-issues {
  text-align: left; }
  .taxproblems-business-issues p.english-terms, .taxproblems-business-issues .english-terms.generic-p {
    font-size: .7em;
    margin-top: 1.5rem !important;
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    text-align: right; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-business-issues p.english-terms, .taxproblems-business-issues .english-terms.generic-p {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
  .taxproblems-business-issues .features-lists {
    margin-top: 1rem; }
    .taxproblems-business-issues .features-lists .graphic {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .graphic {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }
    .taxproblems-business-issues .features-lists .all-lists {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .all-lists {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0;
          padding-left: 0; } }
    .taxproblems-business-issues .features-lists .row:not(:first-of-type), .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul:not(:first-of-type), .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul:not(:first-of-type), .taxproblems-business-issues .features-lists .row .category-list ul:not(:first-of-type) {
      margin-top: 1rem; }
    .taxproblems-business-issues .features-lists .row .category-icon, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon, .taxproblems-business-issues .features-lists .row .category-list ul .category-icon {
      flex: 0 0 25%;
      max-width: 25%;
      padding-right: 0;
      padding-left: 0; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-icon, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon, .taxproblems-business-issues .features-lists .row .category-list ul .category-icon {
          flex: 0 0 25%;
          max-width: 25%;
          padding-right: 0;
          padding-left: 0; } }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-icon .icon-svg, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-icon .icon-svg, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-icon .icon-svg {
          height: 9rem; } }
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 75%;
          max-width: 75%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 66.66667%;
          max-width: 66.66667%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 58.33333%;
          max-width: 58.33333%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list, .taxproblems-business-issues .features-lists .row .category-list ul .category-list {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      .taxproblems-business-issues .features-lists .row .category-list ul, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul {
        list-style: none; }
        .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          font-size: .85rem; }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
              flex: 0 0 50%;
              max-width: 50%;
              padding-right: 0.9375rem;
              padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li {
              font-size: .9rem; } }
        .taxproblems-business-issues .features-lists .row .category-list ul li.category, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem;
          border-bottom: solid 1px #d6dde3;
          margin-bottom: .5rem; }
          @media print, screen and (min-width: 40em) {
            .taxproblems-business-issues .features-lists .row .category-list ul li.category, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category {
              padding-right: 1.25rem;
              padding-left: 1.25rem; } }
          .taxproblems-business-issues .features-lists .row .category-list ul li.category h3, .taxproblems-business-issues .features-lists .busmoveusa-countries-assisted .content .flags ul .category-list ul li.category h3, .busmoveusa-countries-assisted .content .flags .taxproblems-business-issues .features-lists ul .category-list ul li.category h3 {
            font-size: 1.05em;
            padding-bottom: .5rem;
            margin-bottom: 0; }
  .taxproblems-business-issues .categories-row .category {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .taxproblems-business-issues .categories-row .category {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    .taxproblems-business-issues .categories-row .category .header {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0;
      padding-left: 0; }
    .taxproblems-business-issues .categories-row .category .feature {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .taxproblems-business-issues .categories-row .category .feature {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }

.hero-contact .container {
  background: linear-gradient(45deg, #0078f9, #25acca);
  padding-bottom: 6rem; }
  @media print, screen and (min-width: 28.125em) {
    .hero-contact .container {
      padding-bottom: 8rem; } }

.header_how-can-we-help {
  padding-top: 1rem;
  padding-bottom: 1rem;
  color: #ffffff; }
  .header_how-can-we-help p, .header_how-can-we-help .generic-p, .header_how-can-we-help .section .content p, .section .content .header_how-can-we-help p, .header_how-can-we-help .cta .content p, .cta .content .header_how-can-we-help p, .header_how-can-we-help .testimonials-text .content p, .testimonials-text .content .header_how-can-we-help p, .header_how-can-we-help .hero-home .content p, .hero-home .content .header_how-can-we-help p, .header_how-can-we-help .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .header_how-can-we-help p {
    font-size: 1.2em;
    font-size: 1.1em;
    line-height: 1.4; }
    .header_how-can-we-help p .ts-phone, .header_how-can-we-help .generic-p .ts-phone {
      white-space: nowrap;
      font-size: 1.5em;
      margin-left: 4px;
      font-weight: 600; }
    .header_how-can-we-help p .ts-phone-star, .header_how-can-we-help .generic-p .ts-phone-star {
      position: relative;
      font-size: .7em;
      top: -.7em;
      line-height: 0;
      vertical-align: baseline; }
    .header_how-can-we-help p a, .header_how-can-we-help .generic-p a, .header_how-can-we-help .section .content p a, .section .content .header_how-can-we-help p a, .header_how-can-we-help .cta .content p a, .cta .content .header_how-can-we-help p a, .header_how-can-we-help .testimonials-text .content p a, .testimonials-text .content .header_how-can-we-help p a, .header_how-can-we-help .hero-home .content p a, .hero-home .content .header_how-can-we-help p a, .header_how-can-we-help .icon-block-layout-sidetext .description p a, .icon-block-layout-sidetext .description .header_how-can-we-help p a {
      color: #04376a;
      border-bottom: dotted 1px #04376a; }
      .header_how-can-we-help p a:hover, .header_how-can-we-help .generic-p a:hover {
        color: #b60b10;
        border-bottom-color: #b60b10; }
  .header_how-can-we-help h2, .header_how-can-we-help p, .header_how-can-we-help .generic-p, .header_how-can-we-help .section .content p, .section .content .header_how-can-we-help p, .header_how-can-we-help .cta .content p, .cta .content .header_how-can-we-help p, .header_how-can-we-help .testimonials-text .content p, .testimonials-text .content .header_how-can-we-help p, .header_how-can-we-help .hero-home .content p, .hero-home .content .header_how-can-we-help p, .header_how-can-we-help .icon-block-layout-sidetext .description p, .icon-block-layout-sidetext .description .header_how-can-we-help p {
    text-align: center; }
  .header_how-can-we-help a.more-information-below {
    color: #d9d9d9;
    border-bottom: 1px dotted #d9d9d9;
    font-size: .9em; }
    .header_how-can-we-help a.more-information-below:hover {
      color: #80beff; }
    .header_how-can-we-help a.more-information-below:hover {
      border-bottom-color: #80beff; }

.info-and-contact .content {
  margin-top: -10rem; }
  @media print, screen and (min-width: 28.125em) {
    .info-and-contact .content {
      margin-top: -12rem; } }
  @media print, screen and (min-width: 40em) {
    .info-and-contact .content {
      margin-top: -14rem; } }
  .info-and-contact .content .column-info {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    background: linear-gradient(to bottom right, #1f4e89, #076acd);
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 1rem; }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-info {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-info {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .info-and-contact .content .column-info {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .info-and-contact .content .column-info .column-phone, .info-and-contact .content .column-info .column-visit, .info-and-contact .content .column-info .column-social {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .info-and-contact .content .column-info .column-phone:not(:first-of-type), .info-and-contact .content .column-info .column-visit:not(:first-of-type), .info-and-contact .content .column-info .column-social:not(:first-of-type) {
          margin-top: 2em; } }
    .info-and-contact .content .column-info h4 {
      font-size: .8em;
      font-weight: 300;
      color: #ebebeb;
      margin-bottom: .25em; }
    .info-and-contact .content .column-info p, .info-and-contact .content .column-info .generic-p {
      margin-bottom: 0;
      color: #ffffff; }
    .info-and-contact .content .column-info a {
      color: #ffffff;
      border-bottom-color: #ffffff !important; }
      .info-and-contact .content .column-info a:hover {
        color: #ffffff;
        border-bottom-color: #ffffff !important;
        font-weight: 600; }
    .info-and-contact .content .column-info a.sociallink {
      display: inline-block;
      float: left;
      border-bottom: none !important;
      padding-top: .5rem; }
      .info-and-contact .content .column-info a.sociallink .icon-svg {
        height: 1.5rem;
        width: 1.5rem;
        margin-right: 1rem;
        fill: currentColor;
        color: #007dff; }
      .info-and-contact .content .column-info a.sociallink:hover .icon-svg {
        color: #3397ff; }
      .info-and-contact .content .column-info a.sociallink .icon-youtube {
        height: 1.8rem;
        width: 1.8rem;
        margin-top: -.05rem; }
  .info-and-contact .content .column-form {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-form {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .info-and-contact .content .column-form {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .info-and-contact .content .column-form {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .info-and-contact .content .form-wrapper {
    background: #ffffff;
    border-radius: 4px;
    text-align: left;
    box-shadow: 0 18px 40px -10px rgba(0, 0, 0, 0.18); }

.phonenbr-label {
  display: inline-block;
  width: 4rem;
  font-size: .8em;
  vertical-align: center; }

.all-contact-info {
  padding-top: 3rem;
  padding-bottom: 0; }
  .all-contact-info .content p, .all-contact-info .content .generic-p {
    margin-bottom: .25rem; }
  .all-contact-info .content a.sociallink {
    display: inline-block;
    float: left;
    border-bottom: none !important;
    padding-top: .5rem; }
    .all-contact-info .content a.sociallink .icon-svg {
      height: 1.6rem;
      width: 1.6rem;
      margin-right: 1rem; }
  .all-contact-info .information-row .column-phone,
  .all-contact-info .information-row .column-location,
  .all-contact-info .information-row .column-hours,
  .all-contact-info .information-row .column-support,
  .all-contact-info .information-row .column-social {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    padding-bottom: 2rem; }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-phone,
      .all-contact-info .information-row .column-location,
      .all-contact-info .information-row .column-hours,
      .all-contact-info .information-row .column-support,
      .all-contact-info .information-row .column-social {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-phone,
      .all-contact-info .information-row .column-location,
      .all-contact-info .information-row .column-hours,
      .all-contact-info .information-row .column-support,
      .all-contact-info .information-row .column-social {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .all-contact-info .information-row .column-phone,
    .all-contact-info .information-row .column-location,
    .all-contact-info .information-row .column-hours,
    .all-contact-info .information-row .column-support,
    .all-contact-info .information-row .column-social {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .all-contact-info .information-row .column-phone,
      .all-contact-info .information-row .column-location,
      .all-contact-info .information-row .column-hours,
      .all-contact-info .information-row .column-support,
      .all-contact-info .information-row .column-social {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-phone,
    .all-contact-info .information-row .column-location,
    .all-contact-info .information-row .column-hours,
    .all-contact-info .information-row .column-support,
    .all-contact-info .information-row .column-social {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .all-contact-info .information-row .column-hours {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-hours {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .all-contact-info .information-row .column-hours {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .all-contact-info .information-row .column-hours {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      flex: 0 0 100%;
      max-width: 100%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      border: solid 1px #d6dde3;
      padding: 1rem; }
      @media print, screen and (min-width: 40em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          padding-right: 1.25rem;
          padding-left: 1.25rem; } }
      @media print, screen and (min-width: 28.125em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 28.125em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          flex: 0 0 50%;
          max-width: 50%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
      @media print, screen and (min-width: 46.875em) {
        .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
          flex: 0 0 100%;
          max-width: 100%;
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-hours .regular-hours, .all-contact-info .information-row .column-hours .extended-hours {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .all-contact-info .information-row .column-hours .extended-hours {
        margin-top: 2rem; } }
  @media print, screen and (min-width: 46.875em) {
    .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem;
      margin-top: -14rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .all-contact-info .information-row .column-social, .all-contact-info .information-row .column-support {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .all-contact-info .information-row .column-social .button, .all-contact-info .information-row .column-support .button {
    margin-top: .5rem;
    margin-bottom: 0; }
  .all-contact-info .column-hours .regular-hours p, .all-contact-info .column-hours .regular-hours .generic-p, .all-contact-info .column-hours .extended-hours p, .all-contact-info .column-hours .extended-hours .generic-p {
    margin-bottom: 1em; }
  .all-contact-info .column-hours .hours-days-label {
    display: block;
    min-width: 8rem; }
  .all-contact-info .column-hours .hours-days {
    text-align: right;
    font-size: .9em; }
  .all-contact-info .column-hours .appointments {
    font-size: .9em; }
  .all-contact-info .column-hours h5 {
    font-size: .8em;
    font-weight: 600;
    margin-bottom: 1.6em; }
  .all-contact-info .column-hours .extended-hours {
    background: #fafafa; }
  .all-contact-info .column-hours .hours-days-label {
    font-size: .8em;
    vertical-align: center; }
  .all-contact-info .column-hours .extended-hours-disclaimer {
    font-size: .75em;
    color: #7d7d7d;
    padding-top: 1em; }
  .all-contact-info .column-location .directions-link {
    margin-top: 1rem;
    font-size: .8em; }

.map-section {
  padding-top: 3rem;
  padding-bottom: 5rem; }
  .map-section #map {
    width: 100%;
    height: 25rem; }
  .map-section .map-infowindow-content img {
    height: 1.6rem;
    margin: 0rem 0 .3rem; }
  .map-section .map-infowindow-content p, .map-section .map-infowindow-content .generic-p {
    margin-bottom: 0; }

.footer-section {
  background: #fafafa;
  padding: 4rem 1rem 2rem; }
  .footer-section .container .site-links {
    max-width: none;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-flow: row wrap;
    flex-wrap: wrap; }
    .footer-section .container .site-links > .links-block {
      flex: 0 0 50%;
      max-width: 50%; }
    @media print, screen and (min-width: 40em) {
      .footer-section .container .site-links {
        flex-wrap: wrap; }
        .footer-section .container .site-links > .links-block {
          flex: 0 0 25%;
          max-width: 25%; } }
    .footer-section .container .site-links .links-block {
      font-size: .75rem; }
      @media print, screen and (min-width: 40em) {
        .footer-section .container .site-links .links-block:last-of-type ul {
          padding-right: 0; } }
      .footer-section .container .site-links .links-block ul {
        list-style-type: none;
        margin: 0;
        margin-bottom: 1.25rem;
        padding-right: 1.25rem; }
        @media print, screen and (min-width: 40em) {
          .footer-section .container .site-links .links-block ul {
            padding-right: 2.5rem; } }
        .footer-section .container .site-links .links-block ul li {
          padding-top: .5em;
          padding-bottom: .5em;
          line-height: 1.2; }
          .footer-section .container .site-links .links-block ul li a {
            color: #0a0a0a; }
            .footer-section .container .site-links .links-block ul li a:hover {
              text-decoration: underline;
              color: #1f4e89; }
        .footer-section .container .site-links .links-block ul h4 {
          font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
          color: #898989;
          text-transform: uppercase;
          font-size: 1em;
          font-weight: 600; }
        .footer-section .container .site-links .links-block ul .title {
          color: #898989;
          text-transform: uppercase;
          font-size: 1em;
          font-weight: 600; }

.subfooter {
  background: #ededed;
  padding: 1rem 1rem 2rem; }
  .subfooter .container {
    padding-top: .5rem; }
    .subfooter .container a {
      color: #0a0a0a; }
      .subfooter .container a:hover {
        text-decoration: underline; }
    .subfooter .container .utility-links, .subfooter .container .language-social {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap;
      font-size: .7rem; }
      .subfooter .container .utility-links .links-left, .subfooter .container .language-social .links-left, .subfooter .container .utility-links .links-right, .subfooter .container .language-social .links-right {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding: .5rem 0 0; }
        @media print, screen and (min-width: 40em) {
          .subfooter .container .utility-links .links-left, .subfooter .container .language-social .links-left, .subfooter .container .utility-links .links-right, .subfooter .container .language-social .links-right {
            flex: 0 0 50%;
            max-width: 50%;
            padding-right: 0;
            padding-left: 0; } }
        .subfooter .container .utility-links .links-left ul, .subfooter .container .language-social .links-left ul, .subfooter .container .utility-links .links-right ul, .subfooter .container .language-social .links-right ul {
          list-style-type: none;
          margin: 0; }
          .subfooter .container .utility-links .links-left ul li, .subfooter .container .language-social .links-left ul li, .subfooter .container .utility-links .links-right ul li, .subfooter .container .language-social .links-right ul li {
            position: relative;
            display: inline-block; }
      .subfooter .container .utility-links .links-left ul li, .subfooter .container .language-social .links-left ul li {
        margin-right: 2em; }
      @media print, screen and (min-width: 40em) {
        .subfooter .container .utility-links .links-right, .subfooter .container .language-social .links-right {
          text-align: right; } }
      .subfooter .container .utility-links .links-right ul li, .subfooter .container .language-social .links-right ul li {
        padding-right: 1em; }
        .subfooter .container .utility-links .links-right ul li:last-of-type, .subfooter .container .language-social .links-right ul li:last-of-type {
          padding-right: 0; }
    .subfooter .container .language-social .social-row {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start; }
      @media print, screen and (min-width: 40em) {
        .subfooter .container .language-social .social-row {
          justify-content: flex-end; } }
      .subfooter .container .language-social .social-row .label-block, .subfooter .container .language-social .social-row .icons-block {
        flex: 0 0 auto;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; }
        @media print, screen and (min-width: 40em) {
          .subfooter .container .language-social .social-row .label-block, .subfooter .container .language-social .social-row .icons-block {
            padding-right: 1.25rem;
            padding-left: 1.25rem; } }
      .subfooter .container .language-social .social-row .label-block {
        padding-left: 0; }
      .subfooter .container .language-social .social-row .icons-block {
        margin-top: -.25rem;
        padding-right: 0; }
    .subfooter .container .language-social ul li {
      display: inline-block; }
      .subfooter .container .language-social ul li a {
        display: block;
        height: 1.5rem; }
      .subfooter .container .language-social ul li .icon-svg {
        height: 1.5rem;
        width: 1.5rem; }
    .subfooter .container .copyright-terms {
      font-size: .6rem; }
      .subfooter .container .copyright-terms::before {
        display: block;
        border-top: solid 1px #b7b7b7;
        height: 1px;
        width: 100%;
        content: "";
        margin-top: .25rem; }

.blog-nav {
  padding: .75rem 0;
  width: 100%;
  background: #007dff; }
  .blog-nav .container {
    max-width: 75rem;
    margin: auto; }
  .blog-nav .title a {
    font-size: 1.2rem;
    font-weight: 500;
    color: #ffffff; }

.blog-nav-category {
  background: #ededed; }
  .blog-nav-category .container {
    max-width: 75rem;
    margin: auto;
    padding: 0 2rem; }
  .blog-nav-category .menu {
    margin-left: auto;
    margin-right: auto; }
    .blog-nav-category .menu li {
      font-size: .9rem; }
    .blog-nav-category .menu li > a {
      color: #b7b7b7;
      padding-top: 1.4rem;
      padding-bottom: 1.4rem; }
      @media print, screen and (min-width: 46.875em) {
        .blog-nav-category .menu li > a {
          padding: 1.4rem; } }
      .blog-nav-category .menu li > a:hover {
        color: #007dff; }
    .blog-nav-category .menu li.active > a {
      background: #ffffff;
      color: #007dff; }

.hero-blog-index .hero-content {
  padding-top: 2rem;
  padding-bottom: 2rem; }

.hero-blog-article .container {
  background: rgba(0, 125, 255, 0.35); }

.profile-pic {
  border-radius: 10rem;
  width: 6.5rem;
  height: 6.5rem;
  width: 7rem;
  height: 7rem;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  background: #898989;
  background-size: cover; }
  .profile-pic img {
    width: 12rem;
    height: auto; }

.section-blog-index-listing .blog-article {
  margin-bottom: 2rem;
  font-size: 1rem;
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      flex: 0 0 50%;
      max-width: 50%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .section-blog-index-listing .blog-article {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .section-blog-index-listing .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .section-blog-index-listing .blog-article article {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border: solid 1px #ededed;
    background: #fafafa;
    background: #ffffff;
    text-align: center; }
    .section-blog-index-listing .blog-article article header {
      line-height: .9; }
      .section-blog-index-listing .blog-article article header .post-image {
        overflow: hidden;
        height: 8rem;
        margin-bottom: .5rem; }
        .section-blog-index-listing .blog-article article header .post-image img {
          height: 100%;
          min-width: 100%; }
      .section-blog-index-listing .blog-article article header .category, .section-blog-index-listing .blog-article article header .separator {
        display: inline-block;
        font-size: .6em;
        color: #b7b7b7; }
      .section-blog-index-listing .blog-article article header a.category {
        text-transform: uppercase;
        font-weight: 500;
        border-bottom: none; }
        .section-blog-index-listing .blog-article article header a.category:hover {
          color: #007dff; }
      .section-blog-index-listing .blog-article article header .separator {
        margin: 0 .45em; }
      .section-blog-index-listing .blog-article article header h2 {
        font-size: 1.2em;
        font-weight: 400;
        color: #0a0a0a;
        color: #1f4e89;
        margin-top: .75em;
        margin-bottom: .9rem;
        padding: 0 1rem; }
    .section-blog-index-listing .blog-article article .summary {
      font-size: .75em;
      color: #333333;
      padding: 0 1rem; }
    .section-blog-index-listing .blog-article article a.read-more {
      border-color: #CACACA;
      color: #AAA; }
      .section-blog-index-listing .blog-article article a.read-more:hover {
        border-color: #007dff;
        color: #007dff; }

.section-blog-article .container {
  padding-top: 0; }

.section-blog-article .featured-image {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  padding: 0 !important; }
  @media print, screen and (min-width: 40em) {
    .section-blog-article .featured-image {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.section-blog-article .blog-article {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  padding: 0 2rem; }
  @media print, screen and (min-width: 40em) {
    .section-blog-article .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  @media print, screen and (min-width: 46.875em) {
    .section-blog-article .blog-article {
      padding: 0;
      flex: 0 0 66.66667%;
      max-width: 66.66667%;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .section-blog-article .blog-article {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .section-blog-article .blog-article article header {
    margin-bottom: 3em; }
    .section-blog-article .blog-article article header h1 {
      font-size: 2em;
      font-weight: 500;
      line-height: 1.2;
      color: #007dff; }
    .section-blog-article .blog-article article header .article-summary {
      line-height: auto;
      font-size: .8em; }
    .section-blog-article .blog-article article header .profile-pic {
      border-radius: 10rem;
      width: 3rem;
      height: 3rem;
      overflow: hidden;
      margin: 0 1em 0 0;
      display: inline-block; }
      .section-blog-article .blog-article article header .profile-pic img {
        margin: 0 auto; }
    .section-blog-article .blog-article article header .author, .section-blog-article .blog-article article header .date {
      font-size: .9em;
      color: #7d7d7d; }
    .section-blog-article .blog-article article header .category, .section-blog-article .blog-article article header .separator {
      display: inline-block;
      font-size: .7em;
      color: #b7b7b7; }
    .section-blog-article .blog-article article header a.category {
      text-transform: uppercase;
      font-weight: 500;
      border-bottom: none; }
      .section-blog-article .blog-article article header a.category:hover {
        color: #007dff; }
    .section-blog-article .blog-article article header .separator {
      margin: 0 .45em; }
  .section-blog-article .blog-article article .article-body h1, .section-blog-article .blog-article article .article-body h2, .section-blog-article .blog-article article .article-body h3, .section-blog-article .blog-article article .article-body h4, .section-blog-article .blog-article article .article-body h5, .section-blog-article .blog-article article .article-body h6 {
    font-weight: 500; }
  .section-blog-article .blog-article article .article-body p, .section-blog-article .blog-article article .article-body .generic-p {
    font-family: 'Georgia', serif; }
  .section-blog-article .blog-article article .article-body ul, .section-blog-article .blog-article article .article-body ol {
    margin-left: 3em; }
  .section-blog-article .blog-article article .article-body h1 {
    font-size: 1.8em; }
  .section-blog-article .blog-article article .article-body h2 {
    font-size: 1.6em; }
  .section-blog-article .blog-article article .article-body .articleImage {
    margin-top: 1em;
    margin-bottom: 1em;
    height: auto; }
    .section-blog-article .blog-article article .article-body .articleImage .imageCaption {
      font-size: .8rem;
      color: #7d7d7d; }
  .section-blog-article .blog-article article .article-body .articleImage-full {
    width: 100%; }
  .section-blog-article .blog-article article .article-body .articleImage-right {
    width: 50% !important;
    float: right;
    margin-left: 1em; }
  .section-blog-article .blog-article article .article-body .articleImage-center {
    width: 75% !important;
    margin-left: auto;
    margin-right: auto; }
  .section-blog-article .blog-article article .article-body .featuredQuote blockquote {
    border-left: solid 3px #007dff;
    color: #007dff;
    font-size: 1.2em;
    padding-bottom: .5em; }
  .section-blog-article .blog-article article .article-body .callout, .section-blog-article .blog-article article .article-body .section-callout, .section-blog-article .blog-article article .article-body .relatedArticle, .section-blog-article .blog-article article .article-body .featuredSnippet {
    margin-top: 2em;
    margin-bottom: 2em; }
  .section-blog-article .blog-article article .article-body .callout, .section-blog-article .blog-article article .article-body .section-callout {
    padding: 3em;
    background: #fafafa;
    border: solid 1px #ededed; }
    .section-blog-article .blog-article article .article-body .callout p, .section-blog-article .blog-article article .article-body .section-callout p, .section-blog-article .blog-article article .article-body .callout .generic-p, .section-blog-article .blog-article article .article-body .section-callout .generic-p, .section-blog-article .blog-article article .article-body .callout ul, .section-blog-article .blog-article article .article-body .section-callout ul, .section-blog-article .blog-article article .article-body .callout ol, .section-blog-article .blog-article article .article-body .section-callout ol, .section-blog-article .blog-article article .article-body .callout a, .section-blog-article .blog-article article .article-body .section-callout a {
      font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif; }
  .section-blog-article .blog-article article .article-body .relatedArticle {
    background: #ffffff;
    border: solid 1px #007dff;
    padding: 1em; }
  .section-blog-article .blog-article article .article-body .featuredSnippet {
    text-align: center;
    border: solid 2px #007dff;
    border-width: 1px 0; }
    .section-blog-article .blog-article article .article-body .featuredSnippet p, .section-blog-article .blog-article article .article-body .featuredSnippet .generic-p {
      font-family: "Open Sans", Helvetica, Roboto, Arial, sans-serif;
      color: #898989;
      font-size: 1.15em;
      margin-bottom: 0;
      padding: 2em 0; }

.hero-testimonials {
  background-image: none; }
  .hero-testimonials .container {
    background: #ffffff; }
    .hero-testimonials .container .hero-content {
      padding-top: 3rem;
      padding-bottom: 1.5rem;
      padding-bottom: 0rem; }
      .hero-testimonials .container .hero-content h1 {
        color: #007dff; }
      .hero-testimonials .container .hero-content p, .hero-testimonials .container .hero-content .generic-p {
        color: #0a0a0a; }
      .hero-testimonials .container .hero-content a {
        border-bottom: 1px dotted #1f4e89; }
        .hero-testimonials .container .hero-content a:hover {
          border-bottom-color: #007dff; }

.section-testimonial-personinfo .container {
  padding-bottom: 0; }
  .section-testimonial-personinfo .container h5 {
    padding-top: .5rem;
    margin-bottom: 0; }
  .section-testimonial-personinfo .container p.person-details, .section-testimonial-personinfo .container .person-details.generic-p {
    color: #b7b7b7; }

@media print, screen and (min-width: 40em) {
  .section-testimonial .container {
    padding-left: 15%;
    padding-right: 15%; } }

.section-testimonial p.summary, .section-testimonial .summary.generic-p {
  text-align: center;
  font-size: 1.4rem;
  padding-top: 2rem; }

.section-testimonial .testimonial-content h2 {
  font-size: 1.65rem;
  padding-bottom: 1.5rem;
  color: #0a0a0a;
  color: #007dff;
  color: #1f4e89;
  font-weight: 300;
  letter-spacing: -.02em; }

.section-testimonial-featurequote .container {
  padding: 0; }
  @media print, screen and (min-width: 40em) {
    .section-testimonial-featurequote .container {
      margin-left: 12%;
      margin-right: 12%; } }
  .section-testimonial-featurequote .container .content {
    background: #007dff; }
    .section-testimonial-featurequote .container .content h3 {
      padding: 1.5rem 1rem 1.5rem;
      text-align: center;
      font-size: 1.9rem;
      font-weight: 300;
      color: #007dff;
      color: #ffffff; }

.section-testimonial-video .container {
  max-width: 40rem;
  margin: 0 auto; }

.section-testimonial-video .testimonial-index-video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; }
  .section-testimonial-video .testimonial-index-video .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.section-testimonial-cards {
  background: #FCFCFC; }
  .section-testimonial-cards .testimonial-card-column {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .section-testimonial-cards .testimonial-card-column {
        padding-right: 1.25rem;
        padding-left: 1.25rem; } }
    @media print, screen and (min-width: 40em) {
      .section-testimonial-cards .testimonial-card-column {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .section-testimonial-cards .testimonial-card-column {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
    @media print, screen and (min-width: 46.875em) {
      .section-testimonial-cards .testimonial-card-column {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 46.875em) and (min-width: 40em) {
    .section-testimonial-cards .testimonial-card-column {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }
  .section-testimonial-cards .testimonial-card {
    border: solid 1px #ededed;
    background: #ffffff;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px; }
    .section-testimonial-cards .testimonial-card .pic {
      padding: .8rem 0; }
    .section-testimonial-cards .testimonial-card .name, .section-testimonial-cards .testimonial-card .quote {
      background: #ffffff; }
    .section-testimonial-cards .testimonial-card .quote {
      color: #ffffff;
      color: #007dff;
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.4;
      padding: 1rem 1.5rem 0;
      letter-spacing: -.01em; }
    .section-testimonial-cards .testimonial-card .name {
      padding: 1rem 0; }
      .section-testimonial-cards .testimonial-card .name h5 {
        font-size: .7rem;
        font-weight: 500;
        margin-bottom: 0; }
      .section-testimonial-cards .testimonial-card .name .person-details {
        font-size: .5rem;
        color: #7d7d7d;
        margin: 0; }
    .section-testimonial-cards .testimonial-card .morelink div a {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 1em 1.4em;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 3px;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 0.9rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 1px solid #007dff;
      color: #007dff;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; }
      [data-whatinput='mouse'] .section-testimonial-cards .testimonial-card .morelink div a {
        outline: 0; }
      .section-testimonial-cards .testimonial-card .morelink div a, .section-testimonial-cards .testimonial-card .morelink div a:hover, .section-testimonial-cards .testimonial-card .morelink div a:focus {
        background-color: transparent; }
      .section-testimonial-cards .testimonial-card .morelink div a.disabled, .section-testimonial-cards .testimonial-card .morelink div a.disabled:hover, .section-testimonial-cards .testimonial-card .morelink div a.disabled:focus, .section-testimonial-cards .testimonial-card .morelink div a[disabled], .section-testimonial-cards .testimonial-card .morelink div a[disabled]:hover, .section-testimonial-cards .testimonial-card .morelink div a[disabled]:focus {
        background-color: transparent; }
      .section-testimonial-cards .testimonial-card .morelink div a:hover, .section-testimonial-cards .testimonial-card .morelink div a:focus {
        border-color: #0051a6;
        color: #0051a6; }
        .section-testimonial-cards .testimonial-card .morelink div a:hover.disabled, .section-testimonial-cards .testimonial-card .morelink div a:hover[disabled], .section-testimonial-cards .testimonial-card .morelink div a:focus.disabled, .section-testimonial-cards .testimonial-card .morelink div a:focus[disabled] {
          border: 1px solid #007dff;
          color: #007dff; }

.testimonial-profile-pic {
  border-radius: 10rem;
  width: 6.5rem;
  height: 6.5rem;
  width: 7rem;
  height: 7rem;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  background: #898989;
  background-size: cover; }
  .testimonial-profile-pic img {
    width: 12rem;
    height: auto; }

.testimonial-slider-container {
  padding: 1rem 1rem; }
  .testimonial-slider-container .orbit-previous,
  .testimonial-slider-container .orbit-next {
    color: #0a0a0a; }
    .testimonial-slider-container .orbit-previous:hover, .testimonial-slider-container .orbit-previous:active, .testimonial-slider-container .orbit-previous:focus,
    .testimonial-slider-container .orbit-next:hover,
    .testimonial-slider-container .orbit-next:active,
    .testimonial-slider-container .orbit-next:focus {
      background-color: transparent; }
  .testimonial-slider-container .orbit-previous {
    left: -1rem; }
  .testimonial-slider-container .orbit-next {
    right: -1rem; }
  .testimonial-slider-container .testimonial-slide {
    display: flex;
    justify-content: center;
    padding-top: 1rem; }
  .testimonial-slider-container .testimonial-slide-content {
    padding: 1rem 1.5rem; }
    @media screen and (min-width: 40em) {
      .testimonial-slider-container .testimonial-slide-content {
        padding: 1rem 4rem; } }
  .testimonial-slider-container .profile-pict {
    max-width: 225px; }
    .testimonial-slider-container .profile-pict img {
      border-radius: 50%; }
  .testimonial-slider-container .testimonial-slide-text {
    padding-left: 3rem;
    background: #fff !important;
    padding: 2rem 1rem 0.5rem; }
  .testimonial-slider-container .testimonial-slide-quotation {
    font: 1.5rem/2rem "Open Sans", sans-serif !important;
    position: relative;
    font-weight: 300 !important; }
    .testimonial-slider-container .testimonial-slide-quotation:before {
      content: "“";
      font-size: 6rem;
      color: #d6d6d6;
      position: absolute;
      left: -3rem;
      color: #076acd;
      font-size: 85px;
      font-weight: 700;
      font-family: serif; }
  .testimonial-slider-container .testimonial-slide-author-container {
    display: flex; }
    @media screen and (max-width: 28.0625em) {
      .testimonial-slider-container .testimonial-slide-author-container .testimonial-slide-author-info {
        margin-left: 1rem; } }

.orbit-previous {
  cursor: pointer; }
  .orbit-previous:before {
    border-color: #3197d6;
    border-top-width: 2px;
    margin-top: -0.3rem;
    margin-left: 0.3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    border-right-style: solid;
    border-right-width: 2px;
    border-top-style: solid;
    content: "";
    height: 1.2rem;
    width: 1.2rem;
    transform: translateY(-50%) rotate(-135deg) !important;
    cursor: pointer; }

.orbit-next {
  cursor: pointer; }
  .orbit-next:before {
    border-color: #3197d6;
    border-top-width: 2px;
    margin-top: -0.3rem;
    margin-left: 0.3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    border-right-style: solid;
    border-right-width: 2px;
    border-top-style: solid;
    content: "";
    height: 1.2rem;
    width: 1.2rem;
    transform: translateY(-50%) rotate(45deg) !important;
    cursor: pointer;
    margin-left: -25px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJfZm9udHMuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191dGlsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL192YWx1ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19kaXJlY3Rpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fc2VsZWN0b3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9fbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX21pc3NpbmctZGVwZW5kZW5jaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3RydWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHVyZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZW1vdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZXBsYWNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdG8tbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191dGlsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL194eS1ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19tZXRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Byb3RvdHlwZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JlbGF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm90YXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2hhZG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYXJyb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItbm9uZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL21vdGlvbi11aS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FyZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fc2VyaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19mYWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fc3Bpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fem9vbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fc2hha2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX3NsaWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL193aWdnbGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiX3RzLW1peGlucy5zY3NzIiwiX3RzLXNldHRpbmdzLnNjc3MiLCJfdHMtbWFpbi1uYXZiYXIuc2NzcyIsIl90cy1sYXlvdXQtZ2VuZXJhbC5zY3NzIiwiX3RzLXBhcnRpYWxzLnNjc3MiLCJfdHMtY29udGFjdC1lbGVtZW50cy5zY3NzIiwiX3RzLXNwZWNpZmljLTAtaG9tZXBhZ2Uuc2NzcyIsIl90cy1zcGVjaWZpYy0xLXRheHByZXAuc2NzcyIsIl90cy1zcGVjaWZpYy0yLWJ1c2luZXNzLnNjc3MiLCJfdHMtc3BlY2lmaWMtMi0xLWJ1c3RheGZpbmFuY2lhbHMuc2NzcyIsIl90cy1zcGVjaWZpYy0zLXRheHByb2Iuc2NzcyIsIl90cy1zcGVjaWZpYy00LWNvbnRhY3RfdXMuc2NzcyIsIl90cy1mb290ZXIuc2NzcyIsIl90cy1ibG9nLnNjc3MiLCJfdHMtdGVzdGltb25pYWxzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgJ3V0Zi04JztcclxuXHJcbkBpbXBvcnQgJ2ZvbnRzJztcclxuXHJcbkBpbXBvcnQgJ3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcbkBpbXBvcnQgJ21vdGlvbi11aSc7XHJcblxyXG4vLyBHbG9iYWwgc3R5bGVzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG5cclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcblxyXG4vLyBCYXNpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuXHJcbi8vIENvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcblxyXG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG5cclxuLy8gTGF5b3V0IGNvbXBvbmVudHNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcblxyXG4vLyBIZWxwZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xyXG5cclxuXHJcbi8qXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuKi9cclxuXHJcblxyXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIEBpbXBvcnQgJ2hhbWJ1cmdlcnNfb3ZlcnJpZGVzLnNjc3MnO1xyXG4vLyBAaW1wb3J0ICdoYW1idXJnZXJzLnNjc3MnO1xyXG4vLyBAaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2Nzcyc7XHJcbi8vQGltcG9ydCAnLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jc3MtaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2Nzcyc7XHJcblxyXG5cclxuQGltcG9ydCAndHMtbWl4aW5zJztcclxuQGltcG9ydCAndHMtc2V0dGluZ3MnO1xyXG5cclxuQGltcG9ydCAndHMtbWFpbi1uYXZiYXInO1xyXG5AaW1wb3J0ICd0cy1sYXlvdXQtZ2VuZXJhbCc7XHJcbkBpbXBvcnQgJ3RzLXBhcnRpYWxzJztcclxuQGltcG9ydCAndHMtY29udGFjdC1lbGVtZW50cyc7XHJcblxyXG5cclxuQGltcG9ydCAndHMtc3BlY2lmaWMtMC1ob21lcGFnZSc7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTEtdGF4cHJlcCc7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTItYnVzaW5lc3MnO1xyXG5AaW1wb3J0ICd0cy1zcGVjaWZpYy0yLTEtYnVzdGF4ZmluYW5jaWFscyc7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTMtdGF4cHJvYic7XHJcbkBpbXBvcnQgJ3RzLXNwZWNpZmljLTQtY29udGFjdF91cyc7XHJcblxyXG5cclxuQGltcG9ydCAndHMtZm9vdGVyJztcclxuQGltcG9ydCAndHMtYmxvZyc7XHJcbkBpbXBvcnQgJ3RzLXRlc3RpbW9uaWFscyc7IiwiLyogVGhpcyBzdHlsZXNoZWV0IGdlbmVyYXRlZCBieSBUcmFuc2ZvbnRlciAoaHR0cDovL3RyYW5zZm9udGVyLm9yZykgb24gSmFudWFyeSAxOSwgMjAxNyAxOjM5IEFNICovXHJcblxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0NvcmUgU2FucyBBJztcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E1NU1lZGl1bS1JdGFsaWMuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNTVNZWRpdW0tSXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNTVNZWRpdW0tSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E1NU1lZGl1bS1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdGZvbnQtZmFtaWx5OidPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnQ29yZSBTYW5zIEEnO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTQ1UmVndWxhci5lb3QnKTtcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E0NVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E0NVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTQ1UmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC1mYW1pbHk6J09wZW4gU2Fucycsc2Fucy1zZXJpZjtcclxufVxyXG5cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnQ29yZSBTYW5zIEEnO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTM1TGlnaHQuZW90Jyk7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTM1TGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTM1TGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtZmFtaWx5OidPcGVuIFNhbnMnLHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnQ29yZSBTYW5zIEEnO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTM1TGlnaHQtSXRhbGljLmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTM1TGlnaHQtSXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBMzVMaWdodC1JdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTM1TGlnaHQtSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LWZhbWlseTonT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0NvcmUgU2FucyBBJztcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E1NU1lZGl1bS5lb3QnKTtcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E1NU1lZGl1bS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTU1TWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E1NU1lZGl1bS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC1mYW1pbHk6J09wZW4gU2Fucycsc2Fucy1zZXJpZjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdDb3JlIFNhbnMgQSc7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNjVCb2xkLmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTY1Qm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTY1Qm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNjVCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LWZhbWlseTonT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ0NvcmUgU2FucyBBJztcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E3NUV4dHJhQm9sZC5lb3QnKTtcclxuXHRzcmM6IHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E3NUV4dHJhQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTc1RXh0cmFCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL3Jlc291cmNlcy9mb250cy9Db3JlU2Fuc0E3NUV4dHJhQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC1mYW1pbHk6J09wZW4gU2Fucycsc2Fucy1zZXJpZjtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdDb3JlIFNhbnMgQSc7XHJcblx0c3JjOiB1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNzVFeHRyYUJvbGQtSXRhbGljLmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTc1RXh0cmFCb2xkLUl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG5cdFx0dXJsKCcvcmVzb3VyY2VzL2ZvbnRzL0NvcmVTYW5zQTc1RXh0cmFCb2xkLUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy9yZXNvdXJjZXMvZm9udHMvQ29yZVNhbnNBNzVFeHRyYUJvbGQtSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LWZhbWlseTonT3BlbiBTYW5zJyxzYW5zLXNlcmlmO1xyXG59XHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMCw4MDAnKTtcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1QVCtTYW5zOjQwMCw0MDBpLDcwMCw3MDBpJyk7XHJcbi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TWVycml3ZWF0aGVyOjQwMCw3MDAnKTsiLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgMjkuIFJldmVhbFxyXG4vLyAgMzAuIFNsaWRlclxyXG4vLyAgMzEuIFN3aXRjaFxyXG4vLyAgMzIuIFRhYmxlXHJcbi8vICAzMy4gVGFic1xyXG4vLyAgMzQuIFRodW1ibmFpbFxyXG4vLyAgMzUuIFRpdGxlIEJhclxyXG4vLyAgMzYuIFRvb2x0aXBcclxuLy8gIDM3LiBUb3AgQmFyXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNzc5YmEsXHJcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuICB3aGl0ZTogI2ZmZixcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjMGEwYTBhO1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcblxyXG4gIC8vIGN1c3RvbSBjb2xvciBwYWxldHRlOlxyXG4gIC8vJGJsdWUtcHJpbWFyeTogIzMyOTZmZTtcclxuICAkYmx1ZS1wcmltYXJ5OiAjMDA3ZGZmO1xyXG4gICRidXNpbmVzcy1ibHVlOiAjMDc2YWNkO1xyXG4gICRibHVlLWxpZ2h0LTE6ICMxOThhZmY7XHJcbiAgLy8gJGJsdWUtbGlnaHQtMjogIzMzOTdmZjtcclxuICAkYmx1ZS1saWdodC0yOiAjMDA5NWZmO1xyXG4gICRibHVlLW1pZC0xOiAjMDA1OGIzO1xyXG4gICRibHVlLWRhcmstMTogIzFmNGU4OTtcclxuICAkYmx1ZS1kYXJrLTI6ICMwMDY0Y2M7XHJcbiAgLy8gJGJsdWUtZGFyay0zOiAjMDAzZTdmO1xyXG4gICRibHVlLWRhcmstMzogIzExNDY4MztcclxuICAkYmx1ZS1ncmF5LWRhcms6ICMyMzNBNTI7XHJcbiAgJGJsdWUtY2FsbG91dDogI2ZhZmNmZjtcclxuICAkcmVkLXByaW1hcnk6ICNmNDRkNTI7XHJcbiAgJHJlZC1tZWRpdW06IGRhcmtlbigkcmVkLXByaW1hcnksMjUpO1xyXG4gICRncmVlbi1jb21tb246ICMxM2Q1OGE7XHJcbiAgJGJ1c2luZXNzLWdyZWVuOiAjMTU4NDNhO1xyXG4gICRncmF5LWxpZ2h0LTE6ICNmYWZhZmE7XHJcbiAgLy8gJGdyYXktbGlnaHQtMTogI2Y3ZjdmNztcclxuICAkZ3JheS1saWdodC0yOiAjZWRlZGVkO1xyXG4gICRncmF5LWxpZ2h0LTM6ICNlNmU2ZTY7XHJcbiAgJGdyYXktbWlkLTE6ICNiN2I3Yjc7XHJcbiAgJGdyYXktbWlkLTI6ICNjYWNhY2E7XHJcbiAgJGdyYXktZGFyay0wOiAjMzUzNTM1O1xyXG4gICRncmF5LWRhcmstMTogIzdkN2Q3ZDtcclxuICAkZ3JheS1kYXJrLTI6ICM4OTg5ODk7XHJcbiAgJGdyYXktZGFyay0zOiAjMzMzMzMzO1xyXG5cclxuXHJcbiAgLy8gY29sb3JzIGZvciBzcGVjaWZpYyBlbGVtZW50cyBzaXRlLXdpZGVcclxuICAkY29sb3ItYm9yZGVyLWdyYXk6ICNkNmRkZTM7XHJcblxyXG5cclxuICAkdHMtYnV0dG9uLXBhbGV0dGU6IChcclxuICAgIHByaW1hcnk6ICRibHVlLXByaW1hcnksXHJcbiAgICBzZWNvbmRhcnk6ICRyZWQtcHJpbWFyeSxcclxuICAgIHdoaXRlOiAkd2hpdGUsXHJcbiAgICBkYXJrLWJsdWU6ICRibHVlLWRhcmstMSxcclxuICAgIGJ1c2luZXNzLWJsdWU6ICRidXNpbmVzcy1ibHVlLFxyXG4gICAgYnVzaW5lc3MtZ3JlZW46ICRidXNpbmVzcy1ncmVlbixcclxuICAgIGNvbnRhY3Q6IGRhcmtlbigkcmVkLXByaW1hcnksIDE1KSxcclxuICAgIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gICAgYWxlcnQ6ICNjYzRiMzcsXHJcbiAgKTtcclxuXHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuLy8gJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmx1ZS1ncmF5LWRhcms7XHJcbi8vJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGJvZHktZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDNweDtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcblxyXG5cclxuXHJcbi8vIGN1c3RvbVxyXG4kYm9keS1iYWNrZ3JvdW5kLWFsdDogJGdyYXktbGlnaHQtMTtcclxuJGJvZHktYmFja2dyb3VuZC1hbHQtMjogJGdyYXktbGlnaHQtMjtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBzbWFsbC1wbHVzOiA0NTBweCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIG1lZGl1bS1wbHVzOiA3NTBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgc21hbGwtcGx1cyBtZWRpdW0gbWVkaXVtLXBsdXMgbGFyZ2UgeGxhcmdlKTtcclxuXHJcbi8vIGZvciBOYXZpZ2F0aW9uIEJyZWFrcG9pbnRzIHNlZSBfdHMtc2V0dGluZ3Muc2Nzc1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAzMHB4LFxyXG4gIG1lZGl1bTogNDBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vICRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAnUFQgU2FucycsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU6ICdDb3JlIFNhbnMgQScsIHNhbnMtc2VyaWY7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgIC8vICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgLy8gJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAvLyAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgIC8vICdoNCc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgLy8gJ2g1JzogKCdmb250LXNpemUnOiAxNCksXHJcbiAgICAvLyAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNCksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4gIG1lZGl1bTogKFxyXG4gICAgLy8gJ2gxJzogKCdmb250LXNpemUnOiA0OCksXHJcbiAgICAvLyAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQyKSxcclxuICAgIC8vICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgLy8gJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAvLyAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgIC8vICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgLy8gJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjYpLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNSksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuLy8gJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4vLyAkYnV0dG9uLXBhZGRpbmc6IDEuMGVtIDIuMmVtO1xyXG4kYnV0dG9uLXBhZGRpbmc6IDFlbSAxLjRlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogMTUlKTtcclxuLy8gJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IDEwJSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICR3aGl0ZTtcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkdHMtYnV0dG9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtMzUlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4vLyAkY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1yYWRpdXM6IDA7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gIHNtYWxsOiAwLjY2cmVtLFxyXG4gIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gIHNtYWxsOiAwLjMzZW0sXHJcbiAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDE5LiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIwLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRtZW51LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcblxyXG4vLyAyMy4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjQuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vICRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XHJcbi8vICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHg7XHJcbi8vICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMTAwJTtcclxuLy8gJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuLy8gJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4vLyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxO1xyXG4vLyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMDtcclxuLy8gJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxO1xyXG4vLyAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4vLyAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4vLyAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuLy8gJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuLy8gJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuLy8gJG9mZmNhbnZhcy1zaXplczogKFxyXG4vLyAgIHNtYWxsOiAyNTBweCxcclxuLy8gICBtZWRpdW06IDM1MHB4LFxyXG4vLyApO1xyXG4vLyAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbi8vICAgc21hbGw6IDI1MHB4LFxyXG4vLyAgIG1lZGl1bTogMzUwcHgsXHJcbi8vICAgZnVsbC1zY3JlZW46IDEwMCUsXHJcbi8vICk7XHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgc21hbGw6IDg1JSxcclxuICBtZWRpdW06IDUwMHB4LFxyXG4gIC8vIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjUuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNi4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuXHJcbi8vIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjguIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyAyOS4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDMwLiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzEuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDMyLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuXHJcbi8vIDMzLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1leHBhbmQtbWF4OiA2O1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDM0LiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDM1LiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMzYuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzcuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBub3QgZmFsc2V5LCBpbiBDU1MgdGVybXMuIEZhbHNleSB2YWx1ZXMgYXJlIGBudWxsYCwgYG5vbmVgLCBgMGAgd2l0aCBhbnkgdW5pdCwgb3IgYW4gZW1wdHkgbGlzdC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICR2YWwgLSBWYWx1ZSB0byBjaGVjay5cbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXG5AZnVuY3Rpb24gaGFzLXZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIGEgc2hvcnRoYW5kIGZvcm1hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxOdW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdpdmVuIGJvcmRlciAkdmFsLCBmaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBvZiB0aGUgYm9yZGVyLCB3aGljaCBpcyAkZWxlbS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgJGVsZW0gYXJlIHdpZHRoLCBzdHlsZSwgYW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIC0gQm9yZGVyIGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbkBmdW5jdGlvbiBnZXQtYm9yZGVyLXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIEZpbmQgdGhlIHdpZHRoLCBzdHlsZSwgb3IgY29sb3IgYW5kIHJldHVybiBpdFxuICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAkdHlwZTogdHlwZS1vZigkdik7XG4gICAgQGlmICRlbGVtID09IHdpZHRoIGFuZCAkdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gc3R5bGUgYW5kICR0eXBlID09ICdzdHJpbmcnIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBjb2xvciBhbmQgJHR5cGUgPT0gJ2NvbG9yJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHRzXG4gICRkZWZhdWx0czogKFxuICAgIHdpZHRoOiAwLFxuICAgIHN0eWxlOiBzb2xpZCxcbiAgICBjb2xvcjogIzAwMCxcbiAgKTtcblxuICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XG59XG5cbi8vLyBGaW5kcyBhIHZhbHVlIGluIGEgbmVzdGVkIG1hcC5cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRGVwZW5kaW5nIG9uIHRoZSBmbGFnLCByZXR1cm5zIGVpdGhlciAka2V5cyBvciAkdmFsdWVzIG9yIGJvdGguXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xuICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAka2V5czogKCk7XG4gICAgJHZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgfVxuXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICBAcmV0dXJuICRrZXlzO1xuICAgIH1cbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XG4gICAgICBAcmV0dXJuICR2YWx1ZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJG1hcCkgIT0gJ2xpc3QnLCAoJHZhbHVlLCksICRtYXApO1xuXG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFVzZWQgZGlyZWN0aW9uIGJldHdlZW4gXCJ0b3BcIiwgXCJyaWdodFwiLCBcImJvdHRvbVwiIGFuZCBcImxlZnRcIi5cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBPcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1vcHBvc2l0ZShcbiAgJGRpclxuKSB7XG4gICRkaXJzOiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTtcbiAgJHBsYWNlOiBpbmRleCgkZGlycywgJGRpcik7XG5cbiAgQGlmICRwbGFjZSA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ2RpcmVjdGlvbi1vcHBvc2l0ZTogSW52YWxpZCAkZGlyIHBhcmFtZXRlciwgZXhwZWN0ZWQgYSB2YWx1ZSBmcm9tIFwiI3skZGlyc31cIiwgZm91bmQgXCIjeyRkaXJ9XCIuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxjdWwgdGhlIG9wcG9zaXRlIHBsYWNlIGluIGEgY2lyY2xlLCB3aXRoIGEgc3RhcnRpbmcgaW5kZXggb2YgMVxuICAkbGVuZ3RoOiBsZW5ndGgoJGRpcnMpO1xuICAkZGVtaTogJGxlbmd0aCAvIDI7XG4gICRvcHBvc2l0ZS1wbGFjZTogKCgkcGxhY2UgKyAkZGVtaSAtIDEpICUgJGxlbmd0aCkgKyAxO1xuXG4gIEByZXR1cm4gbnRoKCRkaXJzLCAkb3Bwb3NpdGUtcGxhY2UpO1xufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBHZW5lcmF0ZXMgYSBzZWxlY3RvciB3aXRoIGV2ZXJ5IHRleHQgaW5wdXQgdHlwZS4gWW91IGNhbiBhbHNvIGZpbHRlciB0aGUgbGlzdCB0byBvbmx5IG91dHB1dCBhIHN1YnNldCBvZiB0aG9zZSBzZWxlY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8S2V5d29yZH0gJHR5cGVzIFsoKV0gLSBBIGxpc3Qgb2YgdGV4dCBpbnB1dCB0eXBlcyB0byB1c2UuIExlYXZlIGJsYW5rIHRvIHVzZSBhbGwgb2YgdGhlbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtb2RpZmllciBbJyddIC0gQSBtb2RpZmllciB0byBiZSBhcHBsaWVkIHRvIGVhY2ggdGV4dCBpbnB1dCB0eXBlIChlLmcuIGEgY2xhc3Mgb3IgYSBwc2V1ZG8tY2xhc3MpLiBMZWF2ZSBibGFuayB0byBpZ25vcmUuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoJHR5cGVzOiAoKSwgJG1vZGlmaWVyOiAnJykge1xuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3I7XG5cbiAgQGlmIG5vdCBoYXMtdmFsdWUoJHR5cGVzKSB7XG4gICAgJHR5cGVzOiAkYWxsLXR5cGVzO1xuICB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnW3R5cGU9XFwnI3skdHlwZX1cXCddI3skbW9kaWZpZXJ9JyksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kLXpmLWZvbnQtc3RhY2s6IChcbiAgJ2dlb3JnaWEnOiAoR2VvcmdpYSwgXCJVUlcgQm9va21hbiBMXCIsIHNlcmlmKSxcbiAgJ2hlbHZldGljYSc6IChIZWx2ZXRpY2EsIEFyaWFsLCBcIk5pbWJ1cyBTYW5zIExcIiwgc2Fucy1zZXJpZiksXG4gICdsdWNpZGEtZ3JhbmRlJzogKFwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgXCJCaXRzdHJlYW0gVmVyYSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuICAnbW9ub3NwYWNlJzogKFwiQ291cmllciBOZXdcIiwgQ291cmllciwgXCJOaW1idXMgU2FucyBMXCIsIG1vbm9zcGFjZSksXG4gICdzeXN0ZW0nOiAoLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKSxcbiAgJ3ZlcmRhbmEnOiAoVmVyZGFuYSwgR2VuZXZhLCBcIkRlamFWdSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuKTtcblxuLy8vIFJldHVybiBhIGZvbnQgc3RhY2sgbGlzdCBmcm9tIGEgbWFwLiBFcXVpdmFsZW50IHRvIGBtYXAtc2FmZS1nZXQoJG5hbWUsICQtemYtZm9udC1zdGFjaylgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayAtIE5hbWUgb2YgdGhlIGZvbnQgc3RhY2suXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgWyQtemYtZm9udC1zdGFja10gLSBNYXAgb2YgZm9udCBzdGFja3MgdG8gcmV0cmlldmUgYSBsaXN0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgZm9udCBzdGFjay5cbkBmdW5jdGlvbiBmb250LXN0YWNrKCRzdGFjaywgJG1hcDogJC16Zi1mb250LXN0YWNrKSB7XG4gIEByZXR1cm4gbWFwLXNhZmUtZ2V0KCRtYXAsICRzdGFjayk7XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjQtcmMxXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCJAaW1wb3J0ICdub3JtYWxpemUvdmFyaWFibGVzJztcbkBpbXBvcnQgJ25vcm1hbGl6ZS92ZXJ0aWNhbC1yaHl0aG0nO1xuQGltcG9ydCAnbm9ybWFsaXplL25vcm1hbGl6ZS1taXhpbic7XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLy9cbi8vLyBDaGVja3Mgd2hldGhlciBgJGZ1bmN0aW9uc2AgZXhpc3QgaW4gZ2xvYmFsIHNjb3BlLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ0xpc3R9ICRmdW5jdGlvbnMgLSBsaXN0IG9mIGZ1bmN0aW9ucyB0byBjaGVjayBmb3Jcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9IFdoZXRoZXIgb3Igbm90IHRoZXJlIGFyZSBtaXNzaW5nIGRlcGVuZGVuY2llc1xuLy8vXG4gXG5AZnVuY3Rpb24gc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJGZ1bmN0aW9ucy4uLikge1xuICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6ICgpO1xuICBcbiAgQGVhY2ggJGZ1bmN0aW9uIGluICRmdW5jdGlvbnMge1xuICAgIEBpZiBub3QgZnVuY3Rpb24tZXhpc3RzKCRmdW5jdGlvbikge1xuICAgICAgJG1pc3NpbmctZGVwZW5kZW5jaWVzOiBhcHBlbmQoJG1pc3NpbmctZGVwZW5kZW5jaWVzLCAkZnVuY3Rpb24sIGNvbW1hKTtcbiAgICB9XG4gIH1cbiAgXG4gIEBpZiBsZW5ndGgoJG1pc3NpbmctZGVwZW5kZW5jaWVzKSA+IDAge1xuICAgIEBlcnJvciAnVW5tZXQgZGVwZW5kZW5jaWVzISBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgcmVxdWlyZWQ6ICN7JG1pc3NpbmctZGVwZW5kZW5jaWVzfS4nO1xuICB9XG5cbiAgQHJldHVybiBsZW5ndGgoJG1pc3NpbmctZGVwZW5kZW5jaWVzKSA+IDA7XG59XG4iLCIvLy9cbi8vLyBSZXR1cm5zIHRydXRoaW5lc3Mgb2YgYCR2YWx1ZWAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gdmFsdWUgdG8gY2hlY2tcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1pcy10cnVlKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlmKCR2YWx1ZSA9PSBudWxsLCBmYWxzZSwgJHZhbHVlIGFuZCAkdmFsdWUgIT0gbnVsbCBhbmQgJHZhbHVlICE9ICcnIGFuZCAkdmFsdWUgIT0gKCkpO1xufVxuIiwiLy8vXG4vLy8gUmV0dXJucyB3aGV0aGVyIGAkbGlzdGAgY29udGFpbnMgYCR2YWx1ZWAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtY29udGFpblxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgLSBsaXN0IHRvIGNoZWNrXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgLSB2YWx1ZSB0byBsb29rIGZvclxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1jb250YWluKGEgYiBjLCBhKVxuLy8vIC8vIHRydWVcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtY29udGFpbihhIGIgYywgeilcbi8vLyAvLyBmYWxzZVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtY29udGFpbigkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gbm90IG5vdCBpbmRleCgkbGlzdCwgJHZhbHVlKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWNvbnRhaW5cbi8vLyBAYWxpYXMgc2wtY29udGFpblxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtaW5jbHVkZSgkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtY29udGFpbigkbGlzdCwgJHZhbHVlKTtcbn1cbiIsIi8vLyBSZW1vdmVzIGFsbCBmYWxzZSBhbmQgbnVsbCB2YWx1ZXMgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXB1cmdlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtaXMtdHJ1ZVxuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gbGlzdCB0byBwdXJnZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1wdXJnZShudWxsIGEgZmFsc2UgYilcbi8vLyAvLyBhIGJcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXB1cmdlKCRsaXN0KSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC10by1saXN0Jyk7XG4gIFxuICAkcmVzdWx0OiAoKTtcblxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIHNsLWlzLXRydWUoJGl0ZW0pIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkaXRlbSwgbGlzdC1zZXBhcmF0b3IoJGxpc3QpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1wdXJnZVxuLy8vIEBhbGlhcyBzbC1wdXJnZVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtY2xlYW4oJGxpc3QpIHtcbiAgQHJldHVybiBzbC1wdXJnZSgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBSZW1vdmVzIHZhbHVlKHMpIGAkdmFsdWVgIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1yZW1vdmVcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1yZXBsYWNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAgICAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlICAgICAtIHZhbHVlIHRvIHJlbW92ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZW1vdmUoYSBiIGMsIGEpXG4vLy8gLy8gYiBjXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLXJlcGxhY2UnKTtcblxuICBAcmV0dXJuIHNsLXJlcGxhY2UoJGxpc3QsICR2YWx1ZSwgbnVsbCk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1yZW1vdmVcbi8vLyBAYWxpYXMgc2wtcmVtb3ZlXG4vLy9cblxuQGZ1bmN0aW9uIHNsLXdpdGhvdXQoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKTtcbn1cbiIsIi8vL1xuLy8vIFJlcGxhY2VzIGAkb2xkYCBieSBgJG5ld2AgaW4gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1yZXBsYWNlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtaXMtdHJ1ZVxuLy8vIEByZXF1aXJlcyBzbC1wdXJnZVxuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkb2xkICAgLSB2YWx1ZSB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgLSBuZXcgdmFsdWUgZm9yICRvbGRcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgYiwgeilcbi8vLyAvLyBhIHogY1xuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCB5LCB6KVxuLy8vIC8vIGEgYiBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLXJlcGxhY2UoJGxpc3QsICRvbGQsICR2YWx1ZSkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtcHVyZ2UnLCAnc2wtdG8tbGlzdCcpO1xuXG4gICRydW5uaW5nOiB0cnVlO1xuXG4gIEB3aGlsZSAkcnVubmluZyB7XG4gICAgJGluZGV4OiBpbmRleCgkbGlzdCwgJG9sZCk7XG5cbiAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAkcnVubmluZzogZmFsc2U7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJGxpc3Q6IHNldC1udGgoJGxpc3QsICRpbmRleCwgJHZhbHVlKTtcbiAgICB9XG5cbiAgfVxuXG4gICRsaXN0OiBpZihzbC1pcy10cnVlKCR2YWx1ZSksICRsaXN0LCBzbC1wdXJnZSgkbGlzdCkpO1xuICBcbiAgQHJldHVybiBzbC10by1saXN0KCRsaXN0KTtcbn1cbiIsIi8vL1xuLy8vIENhc3RzIGAkdmFsdWVgIGludG8gYSBsaXN0LlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gdmFsdWUgdG8gY2FzdCB0byBsaXN0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZXBhcmF0b3IgW3NwYWNlXSAtIHNlcGFyYXRvciB0byB1c2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtdG8tbGlzdChhIGIgYywgY29tbWEpXG4vLy8gLy8gYSwgYiwgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXRvLWxpc3QoJHZhbHVlLCAkc2VwYXJhdG9yOiBsaXN0LXNlcGFyYXRvcigkdmFsdWUpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vLyBAYWxpYXMgc2wtdG8tbGlzdFxuLy8vXG5cbkBmdW5jdGlvbiBzbC1saXN0aWZ5KCR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLXRvLWxpc3QoJHZhbHVlKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgcm93LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgY29sdW1uIGNvdW50IG9mIGEgZ3JpZC4gQ2hhbmdpbmcgdGhpcyB2YWx1ZSBhZmZlY3RzIHRoZSBsb2dpYyBvZiB0aGUgZ3JpZCBtaXhpbnMsIGFuZCB0aGUgbnVtYmVyIG9mIENTUyBjbGFzc2VzIG91dHB1dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbHVtbi1jb3VudDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gY29sdW1ucyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuLy8vIEBzaW5jZSA2LjEuMFxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IHdpbGwgYWxpZ24gdG8gdGhlIG9wcG9zaXRlIGVkZ2Ugb2YgdGhlIHJvdy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIHVzZWQgZm9yIGFuIGFsaWFzIG9mIGNvbHVtbiAod2l0aCBAZXh0ZW5kKS4gSWYgYGZhbHNlYCwgbm8gYWxpYXMgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhpZ2hlc3QgbnVtYmVyIG9mIGAueC11cGAgY2xhc3NlcyBhdmFpbGFibGUgd2hlbiB1c2luZyB0aGUgYmxvY2sgZ3JpZCBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmxvY2stZ3JpZC1tYXg6IDggIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhbHVlIHRvIHN0b3JlIHRoZSBlbmQgY29sdW1uIGZsb2F0IGRpcmVjdGlvblxuJC16Zi1lbmQtZmxvYXQ6IGlmKCRncmlkLWNvbHVtbi1hbGlnbi1lZGdlLCAkZ2xvYmFsLXJpZ2h0LCAkZ2xvYmFsLWxlZnQpO1xuXG5AaW1wb3J0ICdyb3cnO1xuQGltcG9ydCAnY29sdW1uJztcbkBpbXBvcnQgJ3NpemUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnZ3V0dGVyJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuQGltcG9ydCAnbGF5b3V0JztcblxuQGltcG9ydCAnZmxleC1ncmlkJztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sdW1uLWd1dHRlcigpLiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2wtZ3V0dGVyKCkuIGdyaWQtY29sLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgJy4jeyRjb2x1bW59Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wLFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICB9XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLiN7JGNvbHVtbn0tI3skYmxvY2t9IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyBhbmQgaGFzLXZhbHVlKCRncmlkLWNvbHVtbi1hbGlhcykge1xuICAgIC4jeyRncmlkLWNvbHVtbi1hbGlhc30ge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIGhhdmUgcm93IHdyYXBwaW5nIGJlaGF2aW9yIHNldCB0byBub3dyYXBcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBFbmFibGVzIHRoZSBYWSBncmlkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR4eS1ncmlkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgYSBncmlkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkLlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIG1hcmdpbiBiZXR3ZWVuIGNlbGxzIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMgd2hlbiB1c2luZyB0aGUgbWFyZ2luIGdyaWQuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBwYWRkaW5nIGluIGNlbGxzIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMgd2hlbiB1c2luZyB0aGUgcGFkZGluZyBncmlkLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgcGFkZGluZyB0byB1c2Ugd2hlbiBwYWRkaW5nIHRoZSBncmlkLWNvbnRhaW5lci5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCB0byBhcHBseSB0byBhIGdyaWQgY29udGFpbmVyXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGNlbGxzIGluIGFuIFhZIGJsb2NrIGdyaWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4keHktYmxvY2stZ3JpZC1tYXg6IDggIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ2d1dHRlcnMnO1xuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdjZWxsJztcbkBpbXBvcnQgJ2ZyYW1lJztcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcbkBpbXBvcnQgJ2xheW91dCc7XG5AaW1wb3J0ICdjb2xsYXBzZSc7XG5AaW1wb3J0ICdjbGFzc2VzJztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMiBvciAxLzMuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZWlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBgZ3Jvd2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuLy8vL1xuXG4vLyBCYXNlIHR5cG9ncmFwaHkgc3R5bGVzICh0YWdzIG9ubHkpXG5AaW1wb3J0ICdiYXNlJztcblxuLy8gVHlwb2dyYXBoeSBoZWxwZXIgY2xhc3NlcyAoY2xhc3NlcyBvbmx5KVxuQGltcG9ydCAnaGVscGVycyc7XG5cbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzZXNcbkBpbXBvcnQgJ2FsaWdubWVudCc7XG5cbi8vIFByaW50IHN0eWxlc1xuQGltcG9ydCAncHJpbnQnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5IHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByaW50LXN0eWxlcztcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gR2xvYmFsIHNwYWNpbmcgZm9yIGZvcm0gZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ3RleHQnO1xuQGltcG9ydCAnY2hlY2tib3gnO1xuQGltcG9ydCAnbGFiZWwnO1xuQGltcG9ydCAnaGVscC10ZXh0JztcbkBpbXBvcnQgJ2lucHV0LWdyb3VwJztcbkBpbXBvcnQgJ2ZpZWxkc2V0JztcbkBpbXBvcnQgJ3NlbGVjdCc7XG5AaW1wb3J0ICdyYW5nZSc7XG5AaW1wb3J0ICdwcm9ncmVzcyc7XG5AaW1wb3J0ICdtZXRlcic7XG5AaW1wb3J0ICdlcnJvcic7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm1zIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1lcnJvcjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTs7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1yYW5nZS1pbnB1dCB7XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhcblxuICAgIC8vIENocm9tZS9TYWZhcmlcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgc2V0cyB0aGUgZmlsbCB3aXRoIGNvbG9yXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvciBJRSBhbmQgRWRnZVxuICAgICY6Oi1tcy1maWxsIHtcbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1ldGVyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIG9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBhdmVyYWdlIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhIHN1Ym9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQge1xuICBtZXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAvLyBEaXNhYmxlIGAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVgIGZyb20gZ2V0dGluZyBwcmVmaXhlZCxcbiAgICAvLyBXZSBoYXZlIGRpc2FibGVkIGF1dG9wcmVmaXhlciBmaXJzdCBhbmQgYXJlIGp1c3Qgb25seSB1c2luZyBcbiAgICAvLyBgLW1vei1hcHBlYXJhbmNlOiBub25lYCBhcyBhIHByZWZpeCBhbmQgbmVnbGVjdGluZyB0aGUgd2Via2l0LlxuICAgIFxuICAgIC8qISBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpL0VkZ2VcbiAgICAmOjotd2Via2l0LW1ldGVyLWJhciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1pbm5lci1lbGVtZW50IHtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1nb29kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLXN1Ym9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWV2ZW4tbGVzcy1nb29kLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGVcbi8vLy9cblxuLy8gUmVsYXRpb25hbCBNaXhpbnNcbkBpbXBvcnQgJ3JlbGF0aW9uJztcblxuLy8gQm94IE1peGluXG5AaW1wb3J0ICdib3gnO1xuXG4vLyBSb3RhdGUgTWl4aW5cbkBpbXBvcnQgJ3JvdGF0ZSc7XG5cbi8vIFRleHQgdXRpbGl0aWVzXG5AaW1wb3J0ICd0ZXh0LXV0aWxpdGllcyc7XG5cbi8vIFRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xuQGltcG9ydCAndGV4dC10cmFuc2Zvcm1hdGlvbic7XG5cbi8vIFRleHQgRGVjb3JhdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LWRlY29yYXRpb24nO1xuXG4vLyBGb250IFN0eWxpbmdcbkBpbXBvcnQgJ2ZvbnQtc3R5bGluZyc7XG5cbi8vIExpc3QgU3R5bGUgdHlwZVxuQGltcG9ydCAnbGlzdC1zdHlsZS10eXBlJztcblxuLy8gUm91bmRlZCBVdGlsaXR5XG5AaW1wb3J0ICdyb3VuZGVkJztcblxuLy8gQm9yZGVyZWQgVXRpbGl0eVxuQGltcG9ydCAnYm9yZGVyZWQnO1xuXG4vLyBTaGFkb3cgVXRpbGl0eVxuQGltcG9ydCAnc2hhZG93JztcblxuLy8gQXJyb3cgVXRpbGl0eVxuQGltcG9ydCAnYXJyb3cnO1xuXG4vLyBTZXBhcmF0b3IgVXRpbGl0eVxuQGltcG9ydCAnc2VwYXJhdG9yJztcblxuLy8gT3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbkBpbXBvcnQgJ292ZXJmbG93JztcblxuLy8gRGlzcGxheSBjbGFzc2VzXG5AaW1wb3J0ICdkaXNwbGF5JztcblxuLy8gUG9zaXRpb24gSGVscGVyc1xuQGltcG9ydCAncG9zaXRpb24nO1xuXG4vLyBCb3JkZXIgYm94XG5AaW1wb3J0ICdib3JkZXItYm94JztcblxuLy8gQm9yZGVyIG5vbmUgVXRpbHR5XG5AaW1wb3J0ICdib3JkZXItbm9uZSc7XG5cbi8vIFNpemluZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NpemluZyc7XG5cbi8vIFNwYWNpbmcgVXRpbGl0aWVzXG5AaW1wb3J0ICdzcGFjaW5nJztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nO1xufVxuIiwiLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gZnJvbSB0aGUgZmlyc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRmlyc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gZmlyc3QoJG51bSkge1xuICBAaWYgJG51bSA9PSAxIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpudGgtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgZmlyc3QgZXhhY3QgY2hpbGRcbkBtaXhpbiBmaXJzdC1jaGlsZCB7XG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gZnJvbSB0aGUgbGFzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBMYXN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGxhc3QgZXhhY3QgY2hpbGRcbkBtaXhpbiBsYXN0LWNoaWxkIHtcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgY2hpbGRyZW4gZXZlcnkgYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRXZlcnkgYG5gIG51bWJlciBvZiBhbGwgY2hpbGRyZW5cbkBtaXhpbiBldmVyeSgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBvbmx5IHRoZSBmaXJzdCBhbmQgbGFzdCBjaGlsZC5cbkBtaXhpbiBmaXJzdC1sYXN0IHtcbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBhZnRlciB0aGUgZmlyc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gQWZ0ZXIgRmlyc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gYWZ0ZXItZmlyc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZWZvcmUgYCRudW1gIGZyb20gdGhlIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGcm9tIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gZnJvbS1sYXN0KCRudW0pIHtcbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgYCRudW1gIGNoaWxkIGZyb20gdGhlIGZpcnN0IGFuZCB0aGUgYCRudW1gIGNoaWxkIGZyb20gdGhlIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGNhbGxlZCBmcm9tIGZpcnN0IGFuZCBsYXN0IFxuQG1peGluIGZyb20tZmlyc3QtbGFzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX0pLFxuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBidXQgYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciB0aGF0IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIGFsbCBvdGhlciBjaGlsZHJlbiBcbkBtaXhpbiBhbGwtYnV0KCRudW0pIHtcbiAgJjpub3QoOm50aC1jaGlsZCgjeyRudW19KSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJldHdlZW4gdGhlIGAkbnVtYCBmaXJzdCBhbmQgdGhlIGAkbnVtYCBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciBleGNsdWRlZCBmcm9tIGZpcnN0IGFuZCBsYXN0IGZyb20gYWxsIG90aGVyIGNoaWxkcmVuXG5AbWl4aW4gYWxsLWJ1dC1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQobiArICN7JG51bX0pOm50aC1sYXN0LWNoaWxkKG4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgdGhlIGNoaWxkIGlmIGl0J3MgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIG5vdCBiZSBhcHBsaWVkLlxuQG1peGluIHVuaXF1ZSB7XG4gICY6b25seS1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgY2hpbGRyZW4gaWYgdGhleSBhcmUgbm90IHVuaXF1ZS4gVGhhdCBtZWFucyB0aGF0IGlmIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGNoaWxkcmVuLCB0aGUgc3R5bGUgd2lsbCBiZSBhcHBsaWVkLlxuQG1peGluIG5vdC11bmlxdWUoKSB7XG4gICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuLlxuQG1peGluIGV2ZW4ge1xuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgZXZlbiBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGV2ZW4tYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbi5cbkBtaXhpbiBvZGQge1xuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBvZGQgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBvZGQtYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKG9kZCk6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgYCRudW1gIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBuYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBuYCBudW1iZXJcbkBtaXhpbiBudW1iZXItYmV0d2VlbigkbnVtLCAkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm90YXRlXG4vLy8vXG5cbi8vLyBSb3RhdGUgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWdcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGUoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVYIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFgtQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWCgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVYKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWSBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBZLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVkoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWSgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVogTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWi1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVaKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVooJGRlZyArIGRlZyk7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXG4gICAgfVxuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlcmVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXJlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci10eXBlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1jb2xvcmAgZGVmYXVsdGVkIHRvIGBtZWRpdW0tZ3JheWBcbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtYm9yZGVyLXdpZHRoXSBXaWR0aCBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIFskcHJvdG90eXBlLWJvcmRlci10eXBlXSBUeXBlIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXG5AbWl4aW4gYm9yZGVyZWQoXG4gICR3aWR0aDogJHByb3RvdHlwZS1ib3JkZXItd2lkdGgsXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxuICAkY29sb3I6ICRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXG4pIHtcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xuICAuYm9yZGVyZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XG4vLy8vXG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG5cbi8vLyBDb2xvciBvZiB0aGUgQXJyb3csIGAkYmxhY2tgIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93IHtcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcbiAgICAuYXJyb3ctI3skcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWNvbG9yLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhbGlnbm1lbnQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRvcCBNYXJnaW4gb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYWxpZ24gWyRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduXSAtIHNlcGFyYXRvciBBbGlnbm1lbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0XSAtIFdpZHRoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFskcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXSAtIE1hcmdpbiBUb3BcbkBtaXhpbiBzZXBhcmF0b3IgKFxuICAkYWxpZ246ICRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduLFxuICAkaGVpZ2h0OiAkcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQsXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXG4gICRiYWNrZ3JvdW5kOiAkcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kLFxuICAkdG9wOiAkcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXG4pIHtcbiAgdGV4dC1hbGlnbjogJGFsaWduICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSk7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogJHRvcCBhdXRvIDA7XG5cbiAgICBAaWYgJGFsaWduID09IGxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yIHtcblx0LnNlcGFyYXRvci1jZW50ZXIge1xuXHRcdEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuXHR9XG5cbiAgLnNlcGFyYXRvci1sZWZ0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gIH1cblxuICAuc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICB9XG5cblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1jZW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgcG9zaXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgZml4ZWQgcG9zaXRpb25pbmdcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb24gY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1wb3NpdGlvbmAsIHdoZXJlYXMgYWxsIHRoZSBvZmZzZXQgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBvc2l0aW9uYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHRvcDogJHRvcCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBsZWZ0OiAkbGVmdCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLXRvcGBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC10b3AoXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLWJvdHRvbWBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC1ib3R0b20oXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xuICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgfVxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ub25lXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgbm9uZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBub25lIHV0aWxpdHlcbkBtaXhpbiBib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmUge1xuICAuYm9yZGVyLW5vbmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLW5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzaXppbmdgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vLy8gTWF4IEhlaWdodCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XG4gIC8vIEVsZW1lbnQgU2l6aW5nXG4gIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgLiN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTWF4IHdpZHRoICYgaGVpZ2h0XG4gIC5tYXgtd2lkdGgtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xuICB9XG4gIC5tYXgtaGVpZ2h0LTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgICAgICAgICAuI3skc2l6ZX0tI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAuI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0ge1xuICAgICAgICAgICAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XG4gICAgICAgICAgICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAgICAgICAgICAgJi0jeyRwcm9wfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTW90aW9uIFVJIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb20vbW90aW9uLXVpXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuXG5AaW1wb3J0ICd1dGlsL2FuaW1hdGlvbic7XG5AaW1wb3J0ICd1dGlsL2FyZ3MnO1xuQGltcG9ydCAndXRpbC9rZXlmcmFtZSc7XG5AaW1wb3J0ICd1dGlsL3NlbGVjdG9yJztcbkBpbXBvcnQgJ3V0aWwvc2VyaWVzJztcbkBpbXBvcnQgJ3V0aWwvdHJhbnNpdGlvbic7XG5AaW1wb3J0ICd1dGlsL3VuaXQnO1xuXG5AaW1wb3J0ICdlZmZlY3RzL2ZhZGUnO1xuQGltcG9ydCAnZWZmZWN0cy9oaW5nZSc7XG5AaW1wb3J0ICdlZmZlY3RzL3NwaW4nO1xuQGltcG9ydCAnZWZmZWN0cy96b29tJztcbkBpbXBvcnQgJ2VmZmVjdHMvc2hha2UnO1xuQGltcG9ydCAnZWZmZWN0cy9zbGlkZSc7XG5AaW1wb3J0ICdlZmZlY3RzL3dpZ2dsZSc7XG5cbkBpbXBvcnQgJ3RyYW5zaXRpb25zL2ZhZGUnO1xuQGltcG9ydCAndHJhbnNpdGlvbnMvaGluZ2UnO1xuQGltcG9ydCAndHJhbnNpdGlvbnMvem9vbSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy9zbGlkZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy9zcGluJztcblxuQGltcG9ydCAnY2xhc3Nlcyc7XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvLy8gUHJvY2Vzc2VzIGEgc2VyaWVzIG9mIGtleWZyYW1lIGZ1bmN0aW9uIGFyZ3VtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLikge1xuICBAaWYgbGVuZ3RoKCRhcmdzKSA9PSAxIHtcbiAgICAkYXJnOiBudGgoJGFyZ3MsIDEpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGFyZykgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiBjYWxsKCRhcmcpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkYXJnKSA9PSAnbWFwJyB7XG4gICAgICBAcmV0dXJuICRhcmc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJGFyZ3MuLi4pO1xufVxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIEJ1aWxkcyBhIHNlbGVjdG9yIGZvciBhIG1vdGlvbiBjbGFzcywgdXNpbmcgdGhlIHNldHRpbmdzIGRlZmluZWQgaW4gdGhlIGAkbW90aW9uLXVpLWNsYXNzZXNgIGFuZCBgJG1vdGlvbi11aS1zdGF0ZXNgIG1hcHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHN0YXRlcyAtIE9uZSBvciBtb3JlIHN0cmluZ3MgdGhhdCBjb3JyZWxhdGUgdG8gYSBzdGF0ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhY3RpdmUgLSBEZWZpbmVzIGlmIHRoZSBzZWxlY3RvciBpcyBmb3IgdGhlIHNldHVwIG9yIGFjdGl2ZSBjbGFzcy5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2VsZWN0b3IgdGhhdCBjYW4gYmUgaW50ZXJwb2xhdGVkIGludG8geW91ciBTYXNzIGNvZGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1idWlsZC1zZWxlY3Rvcigkc3RhdGVzLCAkYWN0aXZlOiBmYWxzZSkge1xuICAkcmV0dXJuOiAnJztcbiAgJGNoYWluOiBtYXAtZ2V0KCRtb3Rpb24tdWktY2xhc3NlcywgY2hhaW4pO1xuICAkcHJlZml4OiBtYXAtZ2V0KCRtb3Rpb24tdWktY2xhc3NlcywgcHJlZml4KTtcbiAgJHN1ZmZpeDogbWFwLWdldCgkbW90aW9uLXVpLWNsYXNzZXMsIGFjdGl2ZSk7XG5cbiAgQGVhY2ggJHNlbCBpbiAkc3RhdGVzIHtcbiAgICAkcmV0dXJuOiAkcmV0dXJuICsgaWYoJGNoYWluLCAnJi4nLCAnI3smfS0nKSArICRwcmVmaXggKyAkc2VsO1xuXG4gICAgQGlmICRhY3RpdmUge1xuICAgICAgJHJldHVybjogJHJldHVybiArIGlmKCRjaGFpbiwgJy4nLCAnI3smfS0nKSArICRwcmVmaXggKyAkc2VsICsgJHN1ZmZpeDtcbiAgICB9XG5cbiAgICAkcmV0dXJuOiAkcmV0dXJuICsgJywgJztcbiAgfVxuXG4gIEByZXR1cm4gc3RyLXNsaWNlKCRyZXR1cm4sIDEsIC0zKTtcbn1cbiIsIiQtbXVpLXF1ZXVlOiAoKTtcblxuLy8vIFBhdXNlcyB0aGUgYW5pbWF0aW9uIG9uIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIHRoZW4gcGxheXMgaXQgd2hlbiBhbiBhY3RpdmUgY2xhc3MgaXMgYWRkZWQgdG8gYSBwYXJlbnQuIEFsc28gc2V0cyB0aGUgZmlsbCBtb2RlIG9mIHRoZSBhbmltYXRpb24gdG8gYGJvdGhgLiBUaGlzIHBhdXNlcyB0aGUgZWxlbWVudCBhdCB0aGUgZmlyc3QgZnJhbWUgb2YgdGhlIGFuaW1hdGlvbiwgYW5kIGhvbGRzIGl0IGluIHBsYWNlIGF0IHRoZSBlbmQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4lYW5pbWF0ZWQtZWxlbWVudCB7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cbiAgLiN7bWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBhY3RpdmF0ZS1xdWV1ZS1jbGFzcyl9ICYge1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbmV3IGFuaW1hdGlvbiBxdWV1ZS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgWzBzXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIHBsYWNlIGF0IHRoZSBmcm9udCBvZiB0aGUgYW5pbWF0aW9uIHF1ZXVlLlxuQG1peGluIG11aS1zZXJpZXMoJGRlbGF5OiAwcykge1xuICAkLW11aS1xdWV1ZTogKCkgIWdsb2JhbDtcblxuICBAaWYgJGRlbGF5ID4gMCB7XG4gICAgJGl0ZW06ICgkZGVsYXksIDBzKTtcbiAgICAkLW11aS1xdWV1ZTogYXBwZW5kKCQtbXVpLXF1ZXVlLCAkaXRlbSkgIWdsb2JhbDtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vLy8gQWRkcyBhbiBhbmltYXRpb24gdG8gYW4gYW5pbWF0aW9uIHF1ZXVlLiBPbmx5IHVzZSB0aGlzIG1peGluIGluc2lkZSBvZiBgbXVpLXNlcmllcygpYC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gWzFzXSAtIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRnYXAgWzBzXSAtIEFtb3VudCBvZiB0aW1lIHRvIHBhdXNlIGJlZm9yZSBwbGF5aW5nIHRoZSBhbmltYXRpb24gYWZ0ZXIgdGhpcyBvbmUuIFVzZSBhIG5lZ2F0aXZlIHZhbHVlIHRvIG1ha2UgdGhlIG5leHQgZWZmZWN0IG92ZXJsYXAgd2l0aCB0aGUgY3VycmVudCBvbmUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGtleWZyYW1lcy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLXF1ZXVlKFxuICAkZHVyYXRpb246IDFzLFxuICAkZ2FwOiAwcyxcbiAgJGtleWZyYW1lcy4uLlxuKSB7XG4gIC8vIEJ1aWxkIHRoZSBhbmltYXRpb25cbiAgJGtmOiAtbXVpLXByb2Nlc3MtYXJncygka2V5ZnJhbWVzLi4uKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGRlbGF5IGZvciB0aGlzIGFuaW1hdGlvbiBiYXNlZCBvbiBob3cgbG9uZyB0aGUgcHJldmlvdXMgb25lcyB0YWtlXG4gICRhY3R1YWwtZGVsYXk6IDBzO1xuICBAZWFjaCAkYW5pbSBpbiAkLW11aS1xdWV1ZSB7XG4gICAgJGFjdHVhbC1kZWxheTogJGFjdHVhbC1kZWxheSArIG50aCgkYW5pbSwgMSkgKyBudGgoJGFuaW0sIDIpO1xuICB9XG5cbiAgLy8gQXBwZW5kIHRoaXMgYW5pbWF0aW9uJ3MgbGVuZ3RoIGFuZCBnYXAgdG8gdGhlIGVuZCBvZiB0aGUgcXVldWVcbiAgJGl0ZW06ICgkZHVyYXRpb24sICRnYXApO1xuICAkLW11aS1xdWV1ZTogYXBwZW5kKCQtbXVpLXF1ZXVlLCAkaXRlbSkgIWdsb2JhbDtcblxuICAvLyBDU1Mgb3V0cHV0XG4gIEBleHRlbmQgJWFuaW1hdGVkLWVsZW1lbnQ7XG4gIEBpbmNsdWRlIG11aS1hbmltYXRpb24oJGtmKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIGFuaW1hdGlvbi1kZWxheTogJGFjdHVhbC1kZWxheTtcbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkaW5nIGFuaW1hdGlvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIGF0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBmYWRlKFxuICAkZnJvbTogMCxcbiAgJHRvOiAxXG4pIHtcbiAgJHR5cGU6IHR5cGUtb2YoJGZyb20pO1xuICAka2V5ZnJhbWVzOiAoKTtcblxuICBAaWYgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgIEBpZiAkZnJvbSA9PSBpbiB7XG4gICAgICAkZnJvbTogMDtcbiAgICAgICR0bzogMTtcbiAgICB9IEBlbHNlIGlmICRmcm9tID09IG91dCB7XG4gICAgICAkZnJvbTogMTtcbiAgICAgICR0bzogMDtcbiAgICB9XG4gIH1cblxuICAkZnJvbU5hbWU6ICRmcm9tICogMTAwO1xuICAkdG9OYW1lOiAgICR0byAgICogMTAwO1xuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnZmFkZS0jeyRmcm9tTmFtZX0tdG8tI3skdG9OYW1lfScsXG4gICAgMDogKG9wYWNpdHk6ICRmcm9tKSxcbiAgICAxMDA6IChvcGFjaXR5OiAkdG8pLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIGFuaW1hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzM2MGRlZ10gLSBBbW91bnQgdG8gc3Bpbi4gQ2FuIGJlIGFueSBDU1MgYW5nbGUgdW5pdC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEga2V5ZnJhbWVzIG1hcCB0aGF0IGNhbiBiZSB1c2VkIHdpdGggdGhlIGBnZW5lcmF0ZS1rZXlmcmFtZXMoKWAgbWl4aW4uXG5AZnVuY3Rpb24gc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDF0dXJuXG4pIHtcbiAgJHN0YXJ0OiAwO1xuICAkZW5kOiAwO1xuXG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogaWYoJGRpcmVjdGlvbiA9PSBjY3csICRhbW91bnQsICRhbW91bnQgKiAtMSk7XG4gICAgJGVuZDogMDtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiAwO1xuICAgICRlbmQ6IGlmKCRkaXJlY3Rpb24gPT0gY2N3LCAkYW1vdW50ICogLTEsICRhbW91bnQpO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdzcGluLSN7JGRpcmVjdGlvbn0tI3skYW1vdW50fScsXG4gICAgMDogKHRyYW5zZm9ybTogcm90YXRlKCRzdGFydCkpLFxuICAgIDEwMDogKHRyYW5zZm9ybTogcm90YXRlKCRlbmQpKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbkBmdW5jdGlvbiB6b29tKFxuICAkZnJvbTogMCxcbiAgJHRvOiAxXG4pIHtcbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdzY2FsZS0jeyR0b30tdG8tI3skZnJvbX0nLFxuICAgIDA6ICh0cmFuc2Zvcm06IHNjYWxlKCRmcm9tKSksXG4gICAgMTAwOiAodHJhbnNmb3JtOiBzY2FsZSgkdG8pKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNoYWtpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJGludGVuc2l0eSBbNyVdIC0gSW50ZW5zaXR5IG9mIHRoZSBzaGFrZSwgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzaGFrZSgkaW50ZW5zaXR5OiA3JSkge1xuICAkcmlnaHQ6ICgwLCAxMCwgMjAsIDMwLCA0MCwgNTAsIDYwLCA3MCwgODAsIDkwKTtcbiAgJGxlZnQ6ICg1LCAxNSwgMjUsIDM1LCA0NSwgNTUsIDY1LCA3NSwgODUsIDk1KTtcblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NoYWtlLSN7KCRpbnRlbnNpdHkgLyAxJSl9JyxcbiAgICAkcmlnaHQ6ICh0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGludGVuc2l0eSkpLFxuICAgICRsZWZ0OiAodHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kaW50ZW5zaXR5KSksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIGFuaW1hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gV2hldGhlciB0byBtb3ZlIHRvIChgaW5gKSBvciBmcm9tIChgb3V0YCkgdGhlIGVsZW1lbnQncyBkZWZhdWx0IHBvc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbdXBdIC0gRGlyZWN0aW9uIHRvIG1vdmUuIENhbiBiZSBgdXBgLCBgZG93bmAsIGBsZWZ0YCwgb3IgYHJpZ2h0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMTAwJV0gLSBEaXN0YW5jZSB0byBtb3ZlLiBDYW4gYmUgYW55IENTUyBsZW5ndGggdW5pdC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEga2V5ZnJhbWVzIG1hcCB0aGF0IGNhbiBiZSB1c2VkIHdpdGggdGhlIGBnZW5lcmF0ZS1rZXlmcmFtZXMoKWAgbWl4aW4uXG5AZnVuY3Rpb24gc2xpZGUoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IHVwLFxuICAkYW1vdW50OiAxMDAlXG4pIHtcbiAgJGZyb206ICRhbW91bnQ7XG4gICR0bzogMDtcbiAgJGZ1bmM6ICd0cmFuc2xhdGVZJztcblxuICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IG9yICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICRmdW5jOiAndHJhbnNsYXRlWCc7XG4gIH1cblxuICBAaWYgJHN0YXRlID09IG91dCB7XG4gICAgJGZyb206IDA7XG4gICAgJHRvOiAkYW1vdW50O1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gZG93biBvciAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAgICRmcm9tOiAtJGZyb207XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHN0YXRlID09IG91dCB7XG4gICAgICAkdG86IC0kdG87XG4gICAgfVxuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdzbGlkZS0jeyRzdGF0ZX0tI3skZGlyZWN0aW9ufS0je3N0cmlwLXVuaXQoJGFtb3VudCl9JyxcbiAgICAwOiAodHJhbnNmb3JtOiAnI3skZnVuY30oI3skZnJvbX0pJyksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAnI3skZnVuY30oI3skdG99KScpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgd2lnZ2xpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaW50ZW5zaXR5IFs3ZGVnXSAtIEludGVuc2l0eSBvZiB0aGUgd2lnZ2xlLiBDYW4gYmUgYW55IENTUyBhbmdsZSB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiB3aWdnbGUoJGludGVuc2l0eTogN2RlZykge1xuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3dpZ2dsZS0jeyRpbnRlbnNpdHl9JyxcbiAgICAoNDAsIDUwLCA2MCk6ICh0cmFuc2Zvcm06IHJvdGF0ZSgkaW50ZW5zaXR5KSksXG4gICAgKDM1LCA0NSwgNTUsIDY1KTogKHRyYW5zZm9ybTogcm90YXRlKC0kaW50ZW5zaXR5KSksXG4gICAgKDAsIDMwLCA3MCwgMTAwKTogKHRyYW5zZm9ybTogcm90YXRlKDApKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkdG9wLCAkbGVmdCwgJGJsdXIsICRjb2xvciwgJGluc2V0OiBmYWxzZSkge1xyXG4gIEBpZiAkaW5zZXQge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gICAgLW1vei1ib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzppbnNldCAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcclxuICB9IEBlbHNlIHtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyogQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsMnMsZWFzZS1vdXQpOyAqL1xyXG5AbWl4aW4gdHJhbnNpdGlvbigkd2hhdDogYWxsLCAkdGltZTogMC4ycywgJGhvdzogZWFzZS1pbi1vdXQpIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdoYXQgJHRpbWUgJGhvdztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogICAgJHdoYXQgJHRpbWUgJGhvdztcclxuICAgIC1tcy10cmFuc2l0aW9uOiAgICAgJHdoYXQgJHRpbWUgJGhvdztcclxuICAgIC1vLXRyYW5zaXRpb246ICAgICAgJHdoYXQgJHRpbWUgJGhvdztcclxuICAgIHRyYW5zaXRpb246ICAgICAgICAgJHdoYXQgJHRpbWUgJGhvdztcclxufVxyXG5cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcclxuICBib3JkZXItcmFkaXVzOiAjeyRyYWRpdXN9O1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogI3skcmFkaXVzfTtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6ICN7JHJhZGl1c307XHJcbiAgLW1zLWJvcmRlci1yYWRpdXM6ICN7JHJhZGl1c307XHJcbiAgLW8tYm9yZGVyLXJhZGl1czogI3skcmFkaXVzfTtcclxufVxyXG4iLCIvLyAgQ3VzdG9tIHNldHRpbmdzIGZvciBUYXhTb2x1dGlvblNcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcblxyXG5cclxuXHJcbi8vIE5BVkJBUiBWQVJJQUJMRVNcclxuJG5hdi1tb2JpbGUtYnJlYWtwb2ludDogNzcwcHg7XHJcbi8vICRuYXYtbW9iaWxlLWJyZWFrcG9pbnQ6ICRtZWRpdW0tcGx1cztcclxuJG5hdi1zbWFsbHRleHQtYnJlYWtwb2ludDogOTUwcHg7XHJcblxyXG5cclxuXHJcbiRuYXZiYXItaGVpZ2h0LWRlc2t0b3A6IDQ5cHg7XHJcbiRuYXZiYXItaGVpZ2h0LW1vYmlsZTogNTJweDtcclxuXHJcblxyXG4kbmF2LWZvbnRzaXplLW1lZGl1bTogICAuOHJlbTtcclxuJG5hdi1mb250c2l6ZS1zbWFsbDogIC43cmVtO1xyXG5cclxuJGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wOiBcdDEycHg7XHJcbiRsYW5ndWFnZWJhci1wYWRkaW5nLXRvcDogXHRcdFx0XHQzcHg7XHJcbiRsYW5ndWFnZWJhci1wYWRkaW5nLWJvdHRvbTpcdFx0XHQwcHg7XHJcbiRsYW5ndWFnZWJhci1oZWlnaHQtZGVza3RvcDogXHQkbGFuZ3VhZ2ViYXItaW50ZXJpb3ItaGVpZ2h0LWRlc2t0b3AgKyAkbGFuZ3VhZ2ViYXItcGFkZGluZy10b3AgKyAkbGFuZ3VhZ2ViYXItcGFkZGluZy1ib3R0b20gKyAxcHg7XHJcbiIsIi8vIE5BVklHQVRJT04gQkFSUyBGT1IgU0lURVxyXG5cclxuLy8gTUFJTiBOQVZJR0FUSU9OIEJBUlxyXG5cclxuXHJcblxyXG4ubGFuZ3VhZ2UtYmFyIHtcclxuXHR6LWluZGV4OiA5OTkwO1xyXG5cdC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdC8vIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHQvLyBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGNvbG9yLWJvcmRlci1ncmF5O1xyXG5cdC8vIGJhY2tncm91bmQ6IGRhcmtlbigkd2hpdGUsNCk7XHJcblx0Ly8gYmFja2dyb3VuZDogJGJsdWUtcHJpbWFyeTtcclxuXHQvLyBib3JkZXItYlxyXG5cdC8vIGJhY2tncm91bmQ6IHllbGxvdztcclxuXHRwYWRkaW5nOiAkbGFuZ3VhZ2ViYXItcGFkZGluZy10b3AgMCAkbGFuZ3VhZ2ViYXItcGFkZGluZy1ib3R0b207XHJcblxyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCl7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cclxuXHQubWVudSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XHJcblx0XHQvLyBmb250LXNpemU6IC44ZW07XHJcblx0XHQvLyBsaW5lLWhlaWdodDogJGxhbmd1YWdlYmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDA7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRoZWlnaHQ6ICRsYW5ndWFnZWJhci1pbnRlcmlvci1oZWlnaHQtZGVza3RvcDtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0Ly8gbGluZS1oZWlnaHQ6ICRsYW5ndWFnZWJhci1oZWlnaHQtZGVza3RvcDtcclxuXHRcdH1cclxuXHJcblx0XHRsaS5sYW5ndWFnZS1pdGVtIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xyXG5cclxuXHRcdFx0Jjpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRcdGJvcmRlci1yaWdodDogc29saWQgMXB4IGRhcmtlbigkd2hpdGUsIDgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0cGFkZGluZy10b3A6ICRsYW5ndWFnZWJhci1pbnRlcmlvci1oZWlnaHQtZGVza3RvcCAqLjI7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wICogMTtcclxuXHRcdFx0Zm9udC1zaXplOiAkbGFuZ3VhZ2ViYXItaW50ZXJpb3ItaGVpZ2h0LWRlc2t0b3AgKiAuODtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdH1cclxuXHJcblx0XHQub3B0aW9uLXBob25lIHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0Ly8gd2lkdGg6IDEwcmVtO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0XHQucGhvbmUtaWNvbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcvcmVzb3VyY2VzL2ltZy9waG9uZS1pY29uX3NvbGlkLnN2ZycpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgMHB4O1xyXG5cclxuXHRcdFx0XHRoZWlnaHQ6IGNhbGMoICN7JGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wfSAqIC42NSApO1xyXG5cdFx0XHRcdHdpZHRoOiAgY2FsYyggI3skbGFuZ3VhZ2ViYXItaW50ZXJpb3ItaGVpZ2h0LWRlc2t0b3B9ICogLjY1ICk7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogIGNhbGMoICN7JGxhbmd1YWdlYmFyLWludGVyaW9yLWhlaWdodC1kZXNrdG9wfSAqIC4yICk7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAgY2FsYyggI3skbGFuZ3VhZ2ViYXItaW50ZXJpb3ItaGVpZ2h0LWRlc2t0b3B9ICogLjE1ICk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5waG9uZS1pY29uLXN2ZyB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQub3B0aW9uLWxhbmd1YWdlIHtcclxuXHRcdFx0Ly8gbWFyZ2luLWxlZnQ6IC4yNXJlbTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdC8vIHBhZGRpbmctbGVmdDogLjI1cmVtO1xyXG5cdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XHJcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiAwcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHJcblx0XHQuYWN0aXZlLWxhbmd1YWdlIHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4ubmF2LWJhcl9zdGlja3kge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG5cdFx0dG9wOiAwO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5uYXYtYmFyICB7XHJcblx0LmlzLXN0dWNrLmNvbnRhaW5lciB7XHJcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93KDFweCwgMCwgMTBweCwgbGlnaHRlbigkYmxhY2ssNDApKTtcclxuXHRcdC8vIEBtaXhpbiBib3gtc2hhZG93KCR0b3AsICRsZWZ0LCAkYmx1ciwgJGNvbG9yLCAkaW5zZXQ6IGZhbHNlKSB7XHJcblx0fVxyXG5cclxuXHQubWVudSBsaSB1bC5zdWJtZW51LWRyb3Bkb3duIHtcclxuXHRcdC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdC8vIHRvcDogJG5hdmJhci1oZWlnaHQtZGVza3RvcDtcclxuXHR9XHJcblx0XHJcbn1cclxuXHJcbiNuYXYtYmFyIC5pcy1hbmNob3JlZCB7XHJcblx0Lm1lbnUgbGkgdWwuc3VibWVudS1kcm9wZG93biB7XHJcblx0XHQvLyBwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHQvLyB0b3A6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3A7XHJcblx0fVxyXG5cdFxyXG59XHJcblxyXG4ubmF2LWJhciB7XHJcblx0Ly8gZGlzcGxheTpub25lO1xyXG5cdHotaW5kZXg6IDk5OTA7XHJcblx0XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LW1vYmlsZS1icmVha3BvaW50KSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6ICRsYW5ndWFnZWJhci1oZWlnaHQtZGVza3RvcDtcclxuXHR9XHJcblxyXG5cdC8vIHRvcDogNjBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHJcblx0YmFja2dyb3VuZDogcHVycGxlO1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcblxyXG5cclxuXHJcblx0LnByaW1hcnktbGlua3Mge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdC8vIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cclxuXHJcblx0XHQubmF2YmFyLWxlZnQge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAjMGYwO1xyXG5cclxuXHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tb2JpbGU7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3A7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rLDApO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblxyXG5cdFx0XHQubG9nbyB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC50c2xvZ28ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZSAqIC41O1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogJG5hdmJhci1oZWlnaHQtbW9iaWxlICogLjM7XHJcblxyXG5cdFx0XHRcdFx0Ly8gdmVydGljYWxseSBjZW50ZXJcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRcdFx0XHQvLyBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AgKiAuMzU7XHJcblx0XHRcdFx0XHRcdC8vIGhlaWdodDogJG5hdmJhci1oZWlnaHQtZGVza3RvcCAqIC41NTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wICogLjU7XHJcblx0XHRcdFx0XHRcdC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjAlKTtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NiUpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LXNtYWxsdGV4dC1icmVha3BvaW50KSB7XHJcblx0XHRcdFx0XHRcdC8vIGhlaWdodDogJG5hdmJhci1oZWlnaHQtZGVza3RvcCAqIC40O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AgKiAuNjtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01OCUpO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU2JSk7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5uYXZiYXItcmlnaHQge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAjMGYwO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbihzaHJpbmssMCk7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0XHQuYnRuLW1vYmlsZS1tZW51IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYnRuLW1vYmlsZS1tZW51IHtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gdmVydGljYWxseSBjZW50ZXJcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5oYW1idXJnZXIge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgaGFtYnVyZ2VyKCRibHVlLXByaW1hcnksICRibHVlLWRhcmstMSwgMjRweCwgMTZweCwgMnB4LCAzKTtcclxuXHRcdFx0XHRcdC8vIGJvcmRlcjogMXB4IHNvbGlkICMwM2M7IFxyXG5cdFx0XHRcdFx0Ly9ib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYnRuLWNvbnRhY3Qge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbihmYWxzZSwgJHJlZC1wcmltYXJ5LCBkYXJrZW4oJHJlZC1wcmltYXJ5LDEwKSwgJHdoaXRlLCBzb2xpZCApO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHQvLyBwYWRkaW5nOiAuNTVyZW0gMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nOiAuNDVyZW0gMXJlbTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdFx0XHQvLyB2ZXJ0aWNhbGx5IGNlbnRlclxyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUyJSk7XHJcblxyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtc21hbGx0ZXh0LWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogLjRyZW0gLjc1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvLyBvbmx5IGZvciBkZXNrdG9wXHJcblx0XHQubmF2YmFyLWNlbnRlciB7XHRcdFxyXG5cdFx0XHRkaXNwbGF5Om5vbmU7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKGV4cGFuZCwwKTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dWwubWVudSB7XHJcblx0XHRcdFx0ICY+bGkge1xyXG5cclxuXHRcdFx0XHQgXHQmOmhvdmVyLCAmOmZvY3VzLXdpdGhpbiB7XHJcblx0XHRcdCBcdFx0XHRcclxuXHRcdFx0IFx0XHRcdD5hIHtcclxuXHRcdFx0IFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdCBcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHQgXHRcdH1cclxuXHRcdFx0IFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHQgXHQmPmEge1xyXG5cdFx0XHRcdFx0IFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0IFx0cGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0LWRlc2t0b3AqLjM0O1xyXG5cdFx0XHQgXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHQgXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHQgXHRcdHBhZGRpbmctbGVmdDogIC42NXJlbTtcclxuXHRcdFx0XHQgXHRcdHBhZGRpbmctcmlnaHQ6IC42NXJlbTtcclxuXHRcdFx0XHQgXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdFx0XHRcdCBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LXNtYWxsdGV4dC1icmVha3BvaW50KSB7XHJcblx0XHRcdFx0XHQgXHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRcdCBcdFx0cGFkZGluZy1sZWZ0OiAgMXJlbTtcclxuXHRcdFx0XHRcdCBcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcclxuXHRcdFx0XHQgXHRcdH1cclxuXHJcblx0XHRcdFx0IFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHQgXHRcdHBhZGRpbmctbGVmdDogIDEuNXJlbTtcclxuXHRcdFx0XHRcdCBcdFx0cGFkZGluZy1yaWdodDogMS41cmVtO1xyXG5cdFx0XHRcdCBcdFx0fVxyXG5cclxuXHRcdFx0XHQgXHR9XHJcblx0XHRcdCBcdFx0XHJcblx0XHRcdFx0IH1cclxuXHJcblxyXG5cdFx0XHRcdC8vIHNob3cgc3VibWVudSBvbiBob3ZlclxyXG5cdFx0XHRcdCYgbGk6aG92ZXIgPiB1bC5zdWJtZW51LWRyb3Bkb3duLFxyXG5cdFx0XHRcdCYgbGk6Zm9jdXMtd2l0aGluID4gdWwuc3VibWVudS1kcm9wZG93bixcclxuXHRcdFx0XHQmIGxpIHVsLnN1Ym1lbnUtZHJvcGRvd246aG92ZXIge1xyXG5cdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdFxyXG5cdFx0XHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoJGdsb2JhbC13aWR0aCl7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsYyggKDEwMHZ3IC0gI3skZ2xvYmFsLXdpZHRofSkgLyAyICk7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNhbGMoICgxMDB2dyAtICN7JGdsb2JhbC13aWR0aH0pIC8gMiApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdHVsLnN1Ym1lbnUtZHJvcGRvd24ge1xyXG5cdFx0XHRcdFx0Ly8gXHJcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpub25lO1xyXG5cclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0XHRcdC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0Ly8gdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wICsgJGxhbmd1YWdlYmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0Ly8gdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0Ly8gdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJveC1zaGFkb3coMCwgNnB4LCA1cHgsIGxpZ2h0ZW4oJGJsYWNrLDUwKSApO1xyXG5cdFx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdFx0bGkuc3VibWVudS1pdGVtIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpe1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICR3aGl0ZTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogLjZyZW07XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKHNocmluaywwKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBsaWdodGVuKCRibHVlLXByaW1hcnksMTApO1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzcmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDNyZW07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oZXhwYW5kKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHktYWx0ZXJuYXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjNweDtcclxuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGdyYXktZGFyay0xLDEwKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMtd2l0aGluIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLDIpO1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHJcblx0XHRcdFx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0LmlzLXN0aWNreSB7XHJcblx0XHQucHJpbWFyeS1saW5rcyB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0cGFkZGluZzogLjVyZW0gMDtcclxuXHRcdFx0QGluY2x1ZGUgYm94LXNoYWRvdygwcHgsIDAsIDEwcHgsIHJnYmEoMCwgMCwgMCwgMC4zOSkpO1xyXG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAwICNlNWU1ZTU7XHJcblx0XHRcdC50b3AtYmFyLWNlbnRlciAjbmF2aWdhdGlvbiBsaT5hIHtcclxuXHRcdFx0XHQvLyBjb2xvcjogJGJsdWUtZGFyay0zO1xyXG5cdFx0XHRcdC5jYXJldDpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGJsdWUtZGFyay0zO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQudG9wLWJhci1yaWdodCB7XHJcblx0XHRcdFx0Lmxhbmd1YWdlLXNlbGVjdCxcclxuXHRcdFx0XHQuYnRuLWxhbmd1YWdlIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JheS1kYXJrLTI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuLy8gPT09PSBNT0JJTEUgTkFWID09PT09PT09PT09XHJcblxyXG4vLyBVc2VkIGZvciBOYXZiYXIgamF2YXNjcmlwdFxyXG4uYm9keV9kb19ub3Rfc2Nyb2xsIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuLm1vYmlsZS1uYXYge1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JG5hdmJhci1oZWlnaHQtbW9iaWxlfSApO1xyXG5cdG1hcmdpbi10b3A6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZTtcclxuXHQvLyBmb3Igd2lkdGggc2VlIHNldHRpbmdzLnNjc3MsIG9mZiBjYW52YXMgc2VjdGlvblxyXG5cdFxyXG5cclxuXHR1bCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG5cdFx0PiBsaSB7XHJcblx0XHRcdGJvcmRlcjogc29saWQgMHB4ICRncmF5LWxpZ2h0LTI7XHJcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHJcblx0XHRcdCYgPiBhICB7XHJcblx0XHRcdFx0cGFkZGluZzogMnJlbSAycmVtO1xyXG5cdFx0XHRcdGNvbG9yOiAkYmx1ZS1kYXJrLTM7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR1bCB7XHJcblxyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkd2hpdGUsMS41KTtcclxuXHRcdFx0XHRcdC8vIGJhY2tncm91bmQ6IGRhcmtlbigkd2hpdGUsMik7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbigkZ3JheS1saWdodC0yLDMpO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogLjVyZW0gMDtcclxuXHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0LndyYXBwZXIge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcclxuXHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZmlsbDogY3VycmVudGNvbG9yO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGJsdWUtcHJpbWFyeSwxMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDNyZW07XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogM3JlbTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbihleHBhbmQpO1xyXG5cdFx0XHRcdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5LWFsdGVybmF0ZTtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45cmVtOyBcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDByZW07XHJcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwcmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogZGFya2VuKCRncmF5LWRhcmstMSwxMCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLXRleHRfbm9pY29uIHtcclxuXHRcdFx0XHRcdFx0XHRoNCwgcCB7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0XHJcblx0XHRcdC5jb250YWN0LWJ0biB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uKGZhbHNlLCAkcmVkLXByaW1hcnksIGF1dG8sICR3aGl0ZSwgc29saWQpO1xyXG5cdFx0XHRcdG1hcmdpbjogLjVyZW0gYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHR9XHJcblxyXG5cclxuXHRcdD4gbGk6Zmlyc3Qtb2YtdHlwZXtcclxuXHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdFxyXG5cdFx0PiBsaTpsYXN0LW9mLXR5cGV7XHJcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDBweDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0XHJcblx0XHRsaS5tZW51aXRlbS1waG9uZSB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0cGFkZGluZzogMXJlbSAwO1xyXG5cclxuXHRcdFx0Lm51bWJlciB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdC8vIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcclxuXHRcdFx0XHQvLyBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU7XHJcblxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQucGhvbmUtaWNvbi1zdmcge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRoZWlnaHQ6IDEuOGVtO1xyXG5cdFx0XHRcdHdpZHRoOiAxLjhlbTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC41ZW07XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcbn0iLCIvKlxyXG5cdFxyXG5cdCsrKysrKysrKysrIEJBU0lDIFNUUlVDVFVSRSBNQVAgKysrKysrKysrKysrK1xyXG5cdFNlZSB0aGlzIG1hcCBmb3IgYSBnZW5lcmFsIHN1bW1hcnkgb2YgaG93IHRoZSBzZWN0aW9uIGJsb2NrcyB3b3JrLlxyXG5cclxuXHR8IHNlY3Rpb25cclxuXHRcdHwgY29udGFpbmVyXHJcblx0XHRcdHwgY29udGVudCAoUk9XKVx0XHQtLS0tLU9SLS0tLSAgXHR8IGljb24tZ3JvdXAgKFJPVylcclxuXHRcdFx0XHR8IGNvbnRlbnQtYmxvY2s6XHRcdFx0XHRcdHwgaWNvbi1ibG9ja1xyXG5cdFx0XHRcdFx0fDxoMixwLHVsIHN0eWxpbmc+XHRcdFx0XHRcdHw8aDIscCx1bCBzdHlsaW5nPlxyXG4qL1xyXG5cclxuXHJcblxyXG5cclxuLyotLS0tLS0gIFNUQVJUIFRPQyAgLS0tLS0tXHJcbjEuIEJhc2UgRWxlbWVudHNcclxuXHRhLiBDb250YWluZXJzICYgU3BhY2luZ1xyXG5cdGIuIENvbG9yc1xyXG5cdGMuIFRleHRzICYgSGVhZGVyc1xyXG5cdGQuIExpbmtzXHJcblx0ZS4gQnV0dG9uc1xyXG5cdGYuIEljb25zIC8gU1ZHXHJcblx0Zy4gQm9yZGVycyAmIERpdmlkZXJzXHJcblxyXG4yLiBTZWN0aW9uIExheW91dFxyXG5cdGEuIFNlY3Rpb24gQmFzZVxyXG5cdGIuIEFsdGVybmF0ZSBTZWN0aW9uIFN0eWxlc1xyXG5cclxuMy4gQ29udGVudCBMYXlvdXRzXHJcblx0YS4gQ29tbW9uIExheW91dHNcclxuXHRiLiBDb250ZW50IFN0eWxlc1xyXG5cclxuXHJcbjQuIENvbnRlbnQtQmxvY2tzIFxyXG5cdGEuIENvbnRlbnQtQmxvY2sgTGF5b3V0cyAoaW5zaWRlKVxyXG5cdGIuIENvbnRlbnQgQmxvY2sgVHlwZXMgKGRlc2NyaXB0aW9uLCBpbWFnZSlcclxuXHRjLiBPdGhlciBCbG9jayBUeXBlcyAoY2FyZHMsIGV0YylcclxuXHJcblxyXG41LiBJY29uLUdyb3VwIExheW91dHNcclxuXHRhLiBCYXNlXHJcblx0Yi4gQ29tbW9uIExheW91dHNcclxuXHRjLiBJY29uLUJsb2NrIExheW91dHNcclxuXHRkLiBJY29uLUJsb2NrIFN0eWxlc1xyXG5cclxuNi4gUHJlZGVmaW5lZCBTZWN0aW9uc1xyXG5cdFxyXG43LiBQYWdlLVNwZWNpZmljIFNlY3Rpb24gQ2xhc3NlcyAmIE1vZGlmaWNhdGlvblxyXG5cclxuXHJcbi0tLS0tLSAgRU5EIFRPQyAgLS0tLS0tICovXHJcblxyXG5cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gMS4gQmFzZSBFbGVtZW50c1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5cclxuXHJcblx0Ly8gYS4gQ29udGFpbmVycyAmIFNwYWNpbmdcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFx0Ym9keSB7XHJcblx0XHRcdC8vZW5hYmxlIGZvbnQgc21vb3RoaW5nXHJcblx0XHRcdC8vLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0XHRcdC8vLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG5cclxuXHRcdFx0bWFyZ2luLXRvcDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbmF2LW1vYmlsZS1icmVha3BvaW50KSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogJG5hdmJhci1oZWlnaHQtZGVza3RvcDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vICRjb250YWluZXItd2lkdGg6IHJlbS1jYWxjKDk5MCk7XHJcblx0XHQvLyAkY29udGFpbmVyLXdpZHRoOiByZW0tY2FsYygxMDgwKTtcclxuXHRcdCRjb250YWluZXItd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xyXG5cdFx0XHJcblx0XHQuc2VjdGlvbi1wYWRkaW5nLXN0YW5kYXJkIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDVyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA1cmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDRyZW07XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cclxuXHRcdEBtaXhpbiBjb250YWluZXItdGVtcGxhdGUge1xyXG5cdFx0XHRtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XHJcblx0XHRcdG1hcmdpbjogYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHQuY29udGFpbmVyLXRlbXBsYXRlIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xyXG5cdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRhaW5lci1wYWRkaW5nLXN0YW5kYXJkIHtcclxuXHRcdFx0cGFkZGluZzogMCAycmVtO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0Ly8gYi4gQ29sb3JzXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblx0Ly8gQmFja2dyb3VuZCBncmFkaWVudHNcclxuXHRcdEBtaXhpbiBibHVlLWJsdWVncmVlbi1ncmFkaWVudCgpIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDUwZGVnLCByZ2JhKDI1LCAxMzYsIDI1NSwgMSksIHJnYmEoMzcsIDE3MiwgMjAyLCAxKSApO1xyXG5cclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogcmdiYSgyNSwgMTM2LCAyNTUsIDEpO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjUsIDEzNiwgMjU1LCAxKSAwJSwgcmdiYSg5OCwgMjAzLCAyMjcsIDEpIDEwMCUpO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjUsIDEzNiwgMjU1LCAxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSg5OCwgMjAzLCAyMjcsIDEpKSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNSwgMTM2LCAyNTUsIDEpIDAlLCByZ2JhKDk4LCAyMDMsIDIyNywgMSkgMTAwJSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjUsIDEzNiwgMjU1LCAxKSAwJSwgcmdiYSg5OCwgMjAzLCAyMjcsIDEpIDEwMCUpO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNSwgMTM2LCAyNTUsIDEpIDAlLCByZ2JhKDk4LCAyMDMsIDIyNywgMSkgMTAwJSk7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjUsIDEzNiwgMjU1LCAxKSAwJSwgcmdiYSg5OCwgMjAzLCAyMjcsIDEpIDEwMCUpO1xyXG5cdFx0XHQvLyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzE5ODhmZicsIGVuZENvbG9yc3RyPScjNjJjYmUzJywgR3JhZGllbnRUeXBlPTEpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBtaXhpbiBibHVlLWJsdWVncmVlbi1saW5lYXItZ3JhZGllbnQoKSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgZGFya2VuKHJnYmEoMjUsIDEzNiwgMjU1LCAxKSw2KSwgbGlnaHRlbihyZ2JhKDM3LCAxNzIsIDIwMiwgMSksMCkgKTtcclxuXHRcdH1cclxuXHRcdFxyXG5cclxuXHRcdEBtaXhpbiBoZXJvLWJsdWUtZ3JhZGllbnQoKSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwgOTUsIDE5MSwgMC44NSkgMCUsIHJnYmEoMCwgMTI1LCAyNTUsIDAuODUpIDM2JSwgcmdiYSgwLCAxMjUsIDI1NSwgMC44NSkgNjMlLCByZ2JhKDAsIDc2LCAxODMsIDAuODUpIDEwMCUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBtaXhpbiBoZXJvLWJsdWUtZ3JhZGllbnQtdHJhbnNwYXJlbnQoKSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwgOTUsIDE5MSwgMC43NSkgMCUsIHJnYmEoMCwgMTI1LCAyNTUsIDAuNzUpIDM2JSwgcmdiYSgwLCAxMjUsIDI1NSwgMC43NSkgNjMlLCByZ2JhKDAsIDc2LCAxODMsIDAuNzUpIDEwMCUpO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHRAbWl4aW4gZ3JheS1ncmFkaWVudCgpIHtcclxuXHRcdFx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2VlZWVlZSswLGZhZmFmYSs1NCAqL1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2IoMjM4LCAyMzgsIDIzOCk7XHJcblx0XHRcdC8qIE9sZCBicm93c2VycyAqL1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjM4LCAyMzgsIDIzOCwgMSkgMCUsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMSkgNTQlKTtcclxuXHRcdFx0LyogRkYzLjYtMTUgKi9cclxuXHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDIzOCwgMjM4LCAyMzgsIDEpIDAlLCByZ2JhKDI1MCwgMjUwLCAyNTAsIDEpIDU0JSk7XHJcblx0XHRcdC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjM4LCAyMzgsIDIzOCwgMSkgMCUsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMSkgNTQlKTtcclxuXHRcdFx0LyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcblx0XHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZWVlZWVlJywgZW5kQ29sb3JzdHI9JyNmYWZhZmEnLCBHcmFkaWVudFR5cGU9MSk7XHJcblx0XHRcdC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi9cclxuXHRcdH1cclxuXHJcblx0XHRAbWl4aW4gbGlnaHQtYmx1ZS1ncmFkaWVudCB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjMxLCAyMzgsIDI0NSwgMSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyMzEsIDIzOCwgMjQ1LCAxKSAwJSwgcmdiYSgxODAsIDIxNCwgMjQ3LCAxKSAxMDAlKTtcclxuXHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDIzMSwgMjM4LCAyNDUsIDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDE4MCwgMjE0LCAyNDcsIDEpKSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyMzEsIDIzOCwgMjQ1LCAxKSAwJSwgcmdiYSgxODAsIDIxNCwgMjQ3LCAxKSAxMDAlKTtcclxuXHRcdFx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyMzEsIDIzOCwgMjQ1LCAxKSAwJSwgcmdiYSgxODAsIDIxNCwgMjQ3LCAxKSAxMDAlKTtcclxuXHRcdFx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjMxLCAyMzgsIDI0NSwgMSkgMCUsIHJnYmEoMTgwLCAyMTQsIDI0NywgMSkgMTAwJSk7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjMxLCAyMzgsIDI0NSwgMSkgMCUsIHJnYmEoMTgwLCAyMTQsIDI0NywgMSkgMTAwJSk7XHJcblx0XHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZTdlZWY1JywgZW5kQ29sb3JzdHI9JyNiNGQ2ZjcnLCBHcmFkaWVudFR5cGU9MSk7XHJcblx0XHR9IFxyXG5cclxuXHRcdEBtaXhpbiBibHVlLWdyYXktZ3JhZGllbnQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjOGU5ZWFiICFpbXBvcnRhbnQ7XHJcblx0XHRcdC8qIGZhbGxiYWNrIGZvciBvbGQgYnJvd3NlcnMgKi9cclxuXHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmN2Y5ZjksICNlOWY0ZmQpICFpbXBvcnRhbnQ7XHJcblx0XHRcdC8qIENocm9tZSAxMC0yNSwgU2FmYXJpIDUuMS02ICovXHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y3ZjlmOSwgI2U5ZjRmZCkgIWltcG9ydGFudDtcclxuXHRcdFx0LyogVzNDLCBJRSAxMCsvIEVkZ2UsIEZpcmVmb3ggMTYrLCBDaHJvbWUgMjYrLCBPcGVyYSAxMissIFNhZmFyaSA3KyAqL1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHRcclxuXHQvLyBjLiBUZXh0ICYgSGVhZGVycyBcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFx0XHJcblx0XHQuZm9udC1hbHRlcm5hdGUtMSB7XHJcblx0XHRcdC8vIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHktYWx0ZXJuYXRlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGgxIHtcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAyLjRyZW07XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogMS44cmVtO1xyXG5cdFx0XHQvLyBmb250LXNpemU6IDEuNnJlbTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjRyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHR9XHJcblxyXG5cdFx0aDIge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IDEuNXJlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdH1cclxuXHJcblx0XHRoMyB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHQvLyBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU7XHJcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHR9XHJcblxyXG5cdFx0aDQge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IDEuMXJlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0Ly8gZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHktYWx0ZXJuYXRlO1xyXG5cdFx0XHQvLyBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHAge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IDFyZW07XHJcblx0XHRcdC8vIGZvbnQ6IDE2cHgvMjNweCAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0Ly8gZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdFx0XHQvLyBmb250LXdlaWdodDogNDAwO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0Ly8gcmV1c2FibGUgdGV4dCBlbGVtZW50c1xyXG5cdFx0LmdlbmVyaWMtaDIge1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5nZW5lcmljLWgzIHtcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAxLjVyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtLjAyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAuNXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuZ2VuZXJpYy1oNCB7XHJcblx0XHRcdC8vIGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LmdlbmVyaWMtaDUge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IC44cmVtO1xyXG5cdFx0XHQvLyBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwOyAvLyBsZXR0ZXItc3BhY2luZzogOzogLS4wMmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVyZW07XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5nZW5lcmljLXAge1xyXG5cdFx0XHRAZXh0ZW5kIHA7XHJcblx0XHR9XHJcblxyXG5cdFxyXG5cdC8vIGFsdGVybmF0ZSBoZWFkZXIgc3R5bGluZ3NcclxuXHRcdC5oMy1hbHQge1xyXG5cdFx0XHQvLyBAZXh0ZW5kIC5nZW5lcmljLWgzO1xyXG5cdFx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmg0LWFsdCB7XHJcblx0XHRcdC8vIEBleHRlbmQgLmdlbmVyaWMtaDQ7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5LWFsdGVybmF0ZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdH1cclxuXHJcblx0XHQuaDUtYWx0IHtcclxuXHRcdFx0Ly8gQGV4dGVuZCAuZ2VuZXJpYy1oNDtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHktYWx0ZXJuYXRlO1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5oNi1hbHQge1xyXG5cdFx0XHQvLyBAZXh0ZW5kIC5nZW5lcmljLWg0O1xyXG5cdFx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseS1hbHRlcm5hdGU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHR9XHJcblxyXG5cclxuXHQvLyB0ZXh0IGFsaWdubWVudHNcclxuXHRcdC50ZXh0LWxlZnQge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC50ZXh0LXNpemUtc21hbGwge1xyXG5cdFx0XHRmb250LXNpemU6IC45cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC50ZXh0LXNpemUtc21hbGxlciB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHR9IFxyXG5cclxuXHJcblxyXG5cclxuXHQvLyBkLiBMaW5rcyBcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFx0JGxpbmstY29sb3ItZGVmYXVsdDogJGJsdWUtZGFyay0xOyBcclxuXHRcdC8vICRsaW5rLWNvbG9yLWRlZmF1bHQ6ICRibHVlLWRhcmstMztcclxuXHRcdCRsaW5rLWNvbG9yLWRlZmF1bHQtaG92ZXI6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogJGxpbmstY29sb3ItZGVmYXVsdDtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6ICRsaW5rLWNvbG9yLWRlZmF1bHQtaG92ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAbWl4aW4gbGluay1jb2xvcigkbGluay1jb2xvcjpcIlwiLCAkbGluay1jb2xvci1ob3ZlcjpcIlwiKSB7XHJcblx0XHRcdC8vIENPTE9SXHJcblx0XHRcdEBpZiAkbGluay1jb2xvciAhPSBcIlwiIHtcclxuXHRcdFx0XHRjb2xvcjogJGxpbmstY29sb3I7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gSE9WRVJcclxuXHRcdFx0XHRAaWYgJGxpbmstY29sb3ItaG92ZXIgIT1cIlwie1xyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkbGluay1jb2xvci1kZWZhdWx0LWhvdmVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdGNvbG9yOiAkbGluay1jb2xvci1kZWZhdWx0O1xyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRsaW5rLWNvbG9yLWRlZmF1bHQtaG92ZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdH1cclxuXHJcblx0XHQvL2xpbmstZG90dGVkLWNvbG9yIGlzIG9wdGlvbmFsXHJcblx0XHRAbWl4aW4gbGluay1kb3R0ZWQtdW5kZXJsaW5lKCRsaW5rLWRvdHRlZC1ib3JkZXItY29sb3I6XCJcIiwgJGxpbmstZG90dGVkLWJvcmRlci1jb2xvci1ob3ZlcjpcIlwiKSB7XHJcblxyXG5cdFx0XHRAaWYgJGxpbmstZG90dGVkLWJvcmRlci1jb2xvciAhPSBcIlwiIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRsaW5rLWRvdHRlZC1ib3JkZXItY29sb3I7XHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpZiAkbGluay1kb3R0ZWQtYm9yZGVyLWNvbG9yLWhvdmVyICE9IFwiXCIge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkbGluay1kb3R0ZWQtYm9yZGVyLWNvbG9yLWhvdmVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogbGlnaHRlbigkbGluay1kb3R0ZWQtYm9yZGVyLWNvbG9yLDE1KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVx0XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIGlmIG5vIGxpbmsgY29sb3IgZGVmaW5lZCwgdXNlIGRlZmF1bHRcclxuXHRcdFx0QGVsc2Uge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGxpbmstY29sb3ItZGVmYXVsdDtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRsaW5rLWNvbG9yLWRlZmF1bHQtaG92ZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9IFxyXG5cclxuXHJcblx0XHRhLndoaXRlbGluayB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAbWl4aW4gbGluay1kb3R0ZWQtdW5kZXJsaW5lX3doaXRlIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkd2hpdGU7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdFx0fSBcclxuXHJcblxyXG5cdFx0LmxpbmstY2FyZXQtcmlnaHQ6OmFmdGVyIHtcclxuXHRcdFx0aGVpZ2h0OiA5cHg7XHJcblx0XHRcdHdpZHRoOiA5cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmxpbmstY2FyZXQtcmlnaHQ6OmFmdGVyIHtcclxuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0XHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdFx0XHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdFx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuXHRcdH1cclxuXHJcblx0XHQubGluay1jYXJldC1sZWZ0OjphZnRlcixcclxuXHRcdC5saW5rLWNhcmV0LXJpZ2h0OjphZnRlcixcclxuXHRcdC5saW5rLWNhcmV0LXVwOjphZnRlcixcclxuXHRcdC5saW5rLWNhcmV0LWJlbG93OjphZnRlciB7XHJcblx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDJweDtcclxuXHRcdFx0Ym9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcblx0XHRcdGJvcmRlci1yaWdodC13aWR0aDogMnB4O1xyXG5cdFx0XHRib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAuM3JlbTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdFx0d2lkdGg6IDlweDtcclxuXHRcdFx0aGVpZ2h0OiA5cHg7XHJcblx0XHR9XHJcblxyXG5cclxuXHJcblxyXG5cdC8vIGUuIEJ1dHRvbnNcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFx0LmJ1dHRvbiB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAnUFQgU2FucycsIHNhbnMtc2VyaWY7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcclxuXHRcdFx0bWluLWhlaWdodDogMy4zcmVtO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTdweDtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjFyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQuYnV0dG9uLWhvdmVyLXNvbGlkX2JsdWV7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkYmx1ZS1wcmltYXJ5LDE1KTtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbigkYmx1ZS1wcmltYXJ5LDE1KTtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ1dHRvbi1ob3Zlci1zb2xpZF9yZWR7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkcmVkLXByaW1hcnksMTUpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZW4oJHJlZC1wcmltYXJ5LDE1KSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cclxuXHQvLyBmLiBTVkcgLyBJY29uc1xyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblxyXG5cdFx0Lmljb24tc3ZnLW1heCB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQuaWNvbi1zdmctaGVpZ2h0LXN0ZCwgLmljb24tc3ZnLWhlaWdodC1tZWRpdW0ge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDdyZW07XHJcblxyXG5cdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdC8vIFx0aGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHQvLyB9XHJcblx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHJcblx0XHQuaWNvbi1zdmctaGVpZ2h0LXhzbWFsbCB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogM3JlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuaWNvbi1zdmctaGVpZ2h0LXNtYWxsIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiA1cmVtO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQuaWNvbi1zdmctaGVpZ2h0LWxhcmdle1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDlyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMnJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5pY29uLXN2Zy1oZWlnaHQteGxhcmdle1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEycmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdGhlaWdodDogMTVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuaWNvbi1zdmctaGVpZ2h0LTJ4bGFyZ2V7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTVyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0aGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cdC8vIGcuIEJvcmRlcnMgJiBEaXZpZGVyc1xyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cdFx0LnQtYmRyLWJvdHRvbSB7XHJcblx0XHRcdGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDFweDtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHR9XHJcblxyXG5cdFx0LnQtYmRyLXRvcCB7XHJcblx0XHRcdGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDFweDtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNtbi1kaXZpZGVyIHtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggbGlnaHRlbigkY29sb3ItYm9yZGVyLWdyYXksNSk7XHJcblx0XHRcdGJvcmRlci13aWR0aDogMXB4IDAgMDtcclxuXHRcdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAuNXJlbTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHRcdGhlaWdodDogMDtcclxuXHRcdH1cclxuXHJcblxyXG5cdC8vIDIuIFNlY3Rpb24gTGF5b3V0XHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLVx0XHJcblx0XHJcblx0Ly8gU2VjdGlvbiBCYXNlXHJcblx0LnNlY3Rpb24ge1xyXG5cdFx0QGV4dGVuZCAuc2VjdGlvbi1wYWRkaW5nLXN0YW5kYXJkO1xyXG5cdFx0XHJcblxyXG5cdFx0Ly8gTGV0IENPTlRBSU5FUiBoYW5kbGUgSE9SSVpPTlRBTCBQQURESU5HLFxyXG5cdFx0Ly8gTGV0IENPTlRFTlQgaGFuZGxlIFZFUlRJQ0FMIFBBRERJTkchXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0QGV4dGVuZCAuY29udGFpbmVyLXRlbXBsYXRlO1xyXG5cdFx0XHRAZXh0ZW5kIC5jb250YWluZXItcGFkZGluZy1zdGFuZGFyZDtcclxuXHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBjb250ZW50OiBwYWRkaW5nXHJcblx0XHQuY29udGVudHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDIuNXJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQ6Zmlyc3Qtb2YtdHlwZSwgLmNvbnRlbnQtbm9fcGFkZGluZyB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250ZW50LXNtYWxsX3BhZGRpbmcge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuY29udGFpbmVyLW5vcGFkZGluZyB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHQuY29udGFpbmVyLW5vcGFkZGluZy1zbWFsbCB7XHJcblx0XHRcdC5zbWFsbC0xMiwgLnNtYWxsLTExLCAuc21hbGwtMTB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvLyBjb250ZW50OiBpbnRlcmlvciBzdHlsaW5nXHJcblx0XHQuY29udGVudCB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblx0XHRcdFxyXG5cdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6MnJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0aDEsIGgyLCBoMyB7IFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoMiB7XHJcblx0XHRcdFx0QGV4dGVuZCAuZ2VuZXJpYy1oMjtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG5cdFx0XHRcdCYrcC5pbnRybyB7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuM2VtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdEBleHRlbmQgLmdlbmVyaWMtaDM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdFxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5nZW5lcmljLXA7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0cCB7XHR0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0YTpub3QoLmJ1dHRvbiwgLmNhcmQtbGluaywgLmljb24tYmxvY2spICB7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRibHVlLWRhcmstMTtcclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblxyXG5cclxuXHRcdFx0Ly9kb3R0ZWQgYm9yZGVyIHVuZGVyIHJlZ3VsYXIgbGlua3MsIGFzIGxvbmcgYXMgdGhleSdyZSBub3QgYnV0dG9uc1xyXG5cdFx0XHRhOm5vdCguYnV0dG9uLCAuY2FyZC1saW5rLCAuaWNvbi1ibG9jaykge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pY29uLWJsb2NrID4gYSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRmb250LXNpemU6IC43NXJlbTtcclxuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wZW07XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHQvLyBTZWN0aW9uIEFkanVzdG1lbnQgQ2xhc3Nlc1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0LnQtbXItdG17XHJcblx0XHRcdG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdC50LW1yLXRtLTJ7XHJcblx0XHRcdG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQucGRuZ3Rwbm9uZXtcclxuXHRcdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdC5wZG5nYnRtbm9uZXtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0XHJcblx0XHR9XHJcblx0XHQucmV2ZWFsLW92ZXJsYXl7XHJcblx0XHRcdHotaW5kZXg6IDk5OTk7XHJcblx0XHR9XHJcblx0XHRcclxuXHJcblx0XHQvLyAucGFkZGluZy1ub25le1xyXG5cdFx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC8vIFx0XHRwYWRkaW5nOiAwcmVtICFpbXBvcnRhbnQ7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHJcblx0XHRzZWN0aW9uIHA6bGFzdC1jaGlsZCwgYXJ0aWNsZSBwOmxhc3QtY2hpbGR7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcmVtO1xyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cdC8vIEFsdGVybmF0ZSBTZWN0aW9uIFN0eWxlc1xyXG5cdC8vIFNlY3Rpb24gQmFja2dyb3VuZHMgJiBCb3JkZXJzXHJcblx0LnNlY3Rpb24td2hpdGUge1xyXG5cdFx0YmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb24tZ3JheSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kLWFsdDtcclxuXHR9XHJcblxyXG5cdC5zZWN0aW9uLWdyYXktMiB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kLWFsdC0yO1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb24tYmx1ZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZS1saWdodC0yO1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblxyXG5cdC5zZWN0aW9uLW5vYmcge1xyXG5cdFx0YmFja2dyb3VuZDpub25lO1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb24tYmctZ3JhZGllbnQtZ3JheSB7XHJcblx0XHRAaW5jbHVkZSBncmF5LWdyYWRpZW50OyBcclxuXHR9XHJcblxyXG5cdC5zZWN0aW9uLWJnLWdyYWRpZW50LWJsdWUtZ3JheSB7XHJcblx0XHRAaW5jbHVkZSBibHVlLWdyYXktZ3JhZGllbnQ7XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbi1ib3JkZXItZ3JheSB7XHJcblx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggJGdyYXktbGlnaHQtMTtcclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQvLyAzLiBDb250ZW50IExheW91dHNcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHRcclxuXHQuc2VjdGlvbiB7XHJcblxyXG5cclxuXHRcdC8vIEJhc2UgQ29udGVudCBjbGFzc2VzXHJcblx0XHRcclxuXHJcblx0XHQuY29udGVudC1jZW50ZXJlZCB7XHRcdFx0XHJcblx0XHQvLyBzdGFuZGFyZCBiZWhhdmlvcjogbGVmdC1hbGlnbiBvbiBtb2JpbGUsIGNlbnRlciBhdCB3aWRlciB3aWR0aHNcclxuXHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGgxLFxyXG5cdFx0XHRoMixcclxuXHRcdFx0aDMsXHJcblx0XHRcdGg0IHtcclxuXHRcdFx0XHQvLyBtYXgtd2lkdGg6IDQycmVtO1xyXG5cdFx0XHRcdC8vIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdC8vIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdC8vIFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH0gXHJcblxyXG5cdFx0LmNvbnRlbnQtY2VudGVyZWRfYWxsIHtcclxuXHRcdC8vIGNlbnRlciBhdCBBTEwgdmlld3BvcnQgd2lkdGhzXHJcblxyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gQ29tbW9uIENvbnRlbnQgTGF5b3V0c1xyXG5cdFx0LmNvbnRlbnQtbGF5b3V0LXNvbG8tcmlnaHR7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTsgXHJcblx0XHRcdH1cdFxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250ZW50LWxheW91dC1zb2xvLWxlZnQsXHJcblx0XHQuY29udGVudC1sYXlvdXQtc29sby1yaWdodCxcclxuXHRcdFx0e1xyXG5cdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7IC8vIG1hcmdpbi1sZWZ0OiA1JTtcclxuXHRcdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1JTtcclxuXHRcdFx0LmdyYXBoaWMsXHJcblx0XHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAuYWxpZ24tc2VsZi1taWRkbGU7XHJcblx0XHRcdH1cclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdEBleHRlbmQgLm1lZGl1bS01OyAvLyBAZXh0ZW5kIC5tZWRpdW0tb2Zmc2V0LTE7XHJcblx0XHRcdFx0Ly8gbWFyZ2luOiAwO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgLy8gcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdC8vYmFja2dyb3VuZDogcmdiYSgxNTAsMSwxNDUsLjUpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDIwcmVtO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDIwcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdC8vYmFja2dyb3VuZDogcmdiYSgxLDE1MCwxNDUsLjUpO1xyXG5cdFx0XHRcdEBleHRlbmQgLm1lZGl1bS01O1xyXG5cdFx0XHRcdC50ZXh0LWlubmVyIHtcclxuXHRcdFx0XHRcdEBleHRlbmQgLnRleHQtbGVmdDtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogMzkwcHg7XHJcblx0XHRcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQtbGF5b3V0LXNvbG8tbGVmdCB7XHJcblx0XHRcdC5ncmFwaGljIHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0xO1xyXG5cdFx0XHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMjtcclxuXHRcdFx0XHRAZXh0ZW5kIC5tZWRpdW0tb3JkZXItMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250ZW50LWxheW91dC1zb2xvLXJpZ2h0IHtcclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTE7XHJcblx0XHRcdFx0QGV4dGVuZCAubWVkaXVtLW9yZGVyLTI7XHJcblx0XHRcdH1cclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0yO1xyXG5cdFx0XHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQtbGF5b3V0LXNvbG8tY2VudGVyIHtcclxuXHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHQuY29udGVudC1ibG9jayB7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tc2VsZi1taWRkbGU7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFx0LnRleHQtaW5uZXIge1xyXG5cdFx0XHRcdFx0aDIge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNjAwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDcwMHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29udGVudC1sYXlvdXQtMi0xIHtcclxuXHRcdFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9IFxyXG5cclxuXHRcdC8vIFNwZWNpYWwgTGF5b3V0c1xyXG5cdFx0LmNvbnRlbnQtbGF5b3V0LWxlZnQtaGVhZGVyIHtcclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHJcblx0Ly8gYi4gQ29udGVudCBTdHlsZXNcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC8vIENhbGxvdXRzXHJcblx0XHJcblx0LmNhbGxvdXQge1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdH1cclxuXHJcblx0LnNlY3Rpb24tY2FsbG91dCB7XHJcblx0XHRAZXh0ZW5kIC5jYWxsb3V0O1xyXG5cdH0gXHJcblxyXG5cdC8vIEhpZ2hsaWdodCBDb250YWluZXIgTGF5b3V0c1xyXG5cdC8vIE5PVEU6IHVzZSAuY29udGFpbmVyLW5vcGFkZGluZyBvbiBwYXJlbnQgY29udGFpbmVyIVxyXG5cdEBtaXhpbiBjb250ZW50LWhpZ2hsaWdodC1ib3gge1xyXG5cdFx0Ly8gbWFyZ2luLWxlZnQ6IDNyZW07XHJcblx0XHQvLyBtYXJnaW4tcmlnaHQ6IDNyZW07XHJcblx0fVxyXG5cclxuXHQuY29udGVudC1oaWdobGlnaHQtYm94LWJsdWUge1xyXG5cdFx0QGluY2x1ZGUgY29udGVudC1oaWdobGlnaHQtYm94O1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGJsdWUtbGlnaHQtMiwgLjk1KTtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICRibHVlLWxpZ2h0LTI7XHJcblx0fVxyXG5cclxuXHQuY29udGVudC1oaWdobGlnaHQtYm94LWdyZWVuIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRlbnQtaGlnaGxpZ2h0LWJveDtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRncmVlbi1jb21tb24sIC45NSk7XHJcblx0XHRib3JkZXI6IHNvbGlkIDFweCAkZ3JlZW4tY29tbW9uO1xyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQtaGlnaGxpZ2h0LW91dGxpbmUtZ3JheSB7XHJcblx0XHRAaW5jbHVkZSBjb250ZW50LWhpZ2hsaWdodC1ib3g7XHJcblx0XHRib3JkZXI6IHNvbGlkIDFweCAkZ3JheS1taWQtMTtcclxuXHRcdGJvcmRlci13aWR0aDogMCAxcHg7XHJcblx0fSBcclxuXHJcblx0Ly9DYWxsb3V0IFN0eWxpbmdcclxuXHQuY29udGVudC1oaWdobGlnaHQtdG9wLWJvdHRvbS1ncmF5IHtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICRncmF5LWxpZ2h0LTI7XHJcblx0XHRib3JkZXItd2lkdGg6IDFweCAwO1xyXG5cdH0gXHJcblxyXG5cdC8vIDQuIENvbnRlbnQtQmxvY2tzXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRcclxuXHQvLyBhLiBDb250ZW50LUJsb2NrIExheW91dHMgKGluc2lkZSlcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5jb250ZW50LWJsb2NrIHtcclxuXHRcdHVsLmZlYXR1cmVsaXN0IHtcclxuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTsgLy9wYWRkaW5nLXRvcDoxcmVtO1xyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0Ly9tYXJnaW4tdG9wOiAxLjVlbTtcclxuXHRcdFx0XHQvL21hcmdpbi1ib3R0b206IDFlbTtcclxuXHRcdFx0XHQvL2xpbmUtaGVpZ2h0OiAxLjI1ZW07XHJcblx0XHRcdFx0LmxpLWNoZWNrbWFyayB7XHJcblx0XHRcdFx0XHQvL2JhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3BsYWNlaG9sZC5pdC8zMHgzMD90ZXh0PeKckycpO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvcmVzb3VyY2VzL2ltZy9jaGVja21hcmsuc3ZnJyk7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDMuNzVlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7fVxyXG5cdFx0XHRcdGg0IHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjhlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHVsLmZlYXR1cmVsaXN0LTItMSB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHAuY2VudGVyLWZsb2F0IHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQvLyBiLiBDb250ZW50IEJsb2NrIFR5cGVzIChkZXNjcmlwdGlvbiwgaW1hZ2UpXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGluZyB7XHJcblx0XHRwIHtcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAuODVyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRpbmctY2VudGVyZWQge1xyXG5cdFx0cCB7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLTEyO1xyXG5cdFx0XHRAZXh0ZW5kIC5tZWRpdW0tMTE7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0cGFkZGluZzogMXJlbSAxcmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdFx0XHRwYWRkaW5nOiAycmVtIDFyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc3ViLWJsb2NrIHtcclxuXHRcdGg1IHtcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAuOHJlbTtcclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IC43cmVtOyBcclxuXHRcdFx0Ly8gZm9udC1zaXplOiAuOHJlbTsgXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZ3JhcGhpYyB7XHJcblx0XHRwYWRkaW5nOiAxLjVyZW07XHJcblx0fSBcclxuXHJcblx0LmdyYXBoaWNfc21hbGwge1xyXG5cdFx0cGFkZGluZzogMXJlbTtcclxuXHR9IFxyXG5cclxuXHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0Ly8gXHQvLyAuY29udGFpbmVyIHtcclxuXHQvLyBcdC8vIFx0cGFkZGluZzogMHJlbSAwLjlyZW0gIWltcG9ydGFudDtcclxuXHQvLyBcdC8vIH1cclxuXHQvLyBcdC5kZXNjcmlwdGlvbiB7XHJcblx0Ly8gXHRcdHBhZGRpbmc6IDByZW0gMXJlbTtcclxuXHQvLyBcdFx0Ly8gbWFyZ2luLXRvcDogMHJlbTtcclxuXHQvLyBcdH1cclxuXHQvLyBcdC5ncmFwaGljIHtcclxuXHQvLyBcdFx0cGFkZGluZzogMnJlbSAwcmVtIDByZW07XHJcblx0Ly8gXHR9XHJcblx0Ly8gfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0Ly8gYy4gQ2FyZCBCbG9jayBUeXBlcyAoY2FyZHMsIGV0YylcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFxyXG5cdC5jYXJkLXdyYXBwZXIge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHR9XHJcblxyXG5cdC5jYXJkIHsgIFx0XHRcdFx0XHQvLyBiYXNlIHN0eWxpbmcgZm9yIGNhcmRcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHRib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0Ly8gcGFkZGluZzogMXJlbSAxLjVyZW07XHJcblx0XHRwYWRkaW5nOiAxcmVtIDJyZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmc6IDFyZW0gMS41cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdHAgeyBmb250LXNpemU6IC45cmVtOyB9XHJcblx0XHR9XHJcblx0fSBcclxuXHJcblxyXG5cdC8vIGFkZC1vbnMgZm9yIGNhcmRcclxuXHJcblx0XHQuY2FyZC1ob3Zlci1oaWdobGlnaHQge1x0XHRcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLWJvcmRlci1ncmF5LCAyMCk7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAxOHB4IDQwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAuMTgpO1xyXG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcclxuXHRcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdC8vIGxheW91dCBoZWxwZXJzIGZvciBjYXJkc1xyXG5cclxuXHRcdC5jYXJkLW1lZGl1bS1zaWRld2F5cyB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBvbmx5KSB7XHJcblxyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cclxuXHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMHJlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cclxuXHQvLyBkLiBOYXZzIGFuZCBQaWNrZXJzXHJcblx0Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuYmFzZS1zZXJ2aWNlcy1waWNrZXIge1xyXG5cdFx0XHJcblx0XHQuc2VydmljZXMtZ3JvdXAge1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtIDAgMDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LnNlcnZpY2UtY2FyZCB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogI0Y0RjlGRjtcclxuXHRcdFx0XHQvLyBib3JkZXItY29sb3I6ICM5RUFFQkM7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRoNSB7IFxyXG5cdFx0XHRcdFx0Ly8gZm9udC1mYW1pbHk6ICdQVCBTYW5zJywgc2Fucy1zZXJpZjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY2FyZC1saW5rIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQvLyA1LiBJY29uLUdyb3VwIExheW91dHNcclxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cdFxyXG5cdC8vIGdlbmVyaWMgaWNvbi1ncm91cCBmb3IgaWNvbiBsYXlvdXRzIGluIHNlY3Rpb25zXHJcblx0Lmljb24tZ3JvdXAtMSB7XHJcblxyXG5cdFx0Lmljb24tYmxvY2sge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGg1IHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAuMjVyZW07XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lO1xyXG5cclxuXHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMGVtO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjY1ZW07XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDZyZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdGhlaWdodDogN3JlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0Ly8gaGVpZ2h0OiA4cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHQvL2hlaWdodDogOXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gXHJcblxyXG5cdFx0XHQuaWNvbi1ibG9jay1jb250ZW50cm93IHtcclxuXHRcdFx0XHQudGV4dC1pbm5lciB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdC5pY29uLWdyb3VwIHtcclxuXHRcdC8vIFNldCB0aGUgd2lkdGggb2Ygcm93c1xyXG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdzsgLy9wYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0Ly8gcGFkZGluZy1sZWZ0OiBcdDEwJTtcclxuXHRcdFx0Ly8gcGFkZGluZy1yaWdodDogXHQxMCU7XHJcblx0XHR9IC8vRml4IGZvciBJRTExXHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0Lmljb24tYmxvY2sge1xyXG5cdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdGg1IHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAuMjVyZW07XHJcblx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBsaW5rLWRvdHRlZC11bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHQvL3BhZGRpbmc6IDAgMWVtO1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwZW07XHJcblx0XHRcdFx0Zm9udC1zaXplOiAuNjVlbTtcclxuXHRcdFx0XHRjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDdyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogOHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0Ly9oZWlnaHQ6IDlyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IC8vXHJcblx0XHRcdC5pY29uLWJsb2NrLWNvbnRlbnRyb3cge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblx0XHRcdFx0LnRleHQtaW5uZXIge1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ncm91cC13aWRlIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lmdyb3VwLWluc2V0IHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAxMCU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwJTtcclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHJcblx0Ly8gaWNvbi1ncm91cCBjb21tb24gbGF5b3V0c1xyXG5cdFxyXG5cdC8vIDQtYWNyb3NzIGZvciBtZWRpdW0tdXAsIDItYWNyb3NzIGZvciBzbWFsbFxyXG5cdC5pY29uLWdyb3VwLTQtMiB7XHJcblx0XHQuaWNvbi1ibG9jayB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cdC8vIDQtYWNyb3NzIGZvciBtZWRpdW0tdXAsIDItYWNyb3NzIGZvciBzbWFsbFxyXG5cdC5pY29uLWdyb3VwLTQtMSB7XHJcblx0XHQuaWNvbi1ibG9jayB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHQvLyAzLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAzLWFjcm9zcyBmb3Igc21hbGxcclxuXHQuaWNvbi1ncm91cC0zIHtcclxuXHRcdC5pY29uLWJsb2NrIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHQvLyAzLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAyLWFjcm9zcyBmb3Igc21hbGxcclxuXHQuaWNvbi1ncm91cC0zLTIge1xyXG5cdFx0Lmljb24tYmxvY2sge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHQvLyAzLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAxLWFjcm9zcyBmb3Igc21hbGxcclxuXHQuaWNvbi1ncm91cC0zLTEge1xyXG5cdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0Lmljb24tYmxvY2sge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHQvLyAyLWFjcm9zcyBmb3IgbWVkaXVtLXVwLCAxLWFjcm9zcyBmb3Igc21hbGxcclxuXHQuaWNvbi1ncm91cC0yLTEge1xyXG5cdFx0Lmljb24tYmxvY2sge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaWNvbi1ncm91cC0yY2xvc2UtMSB7XHJcblx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHQuaWNvbi1ibG9jayB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lmljb24tZ3JvdXAtaW5zZXQge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMCU7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcblx0fSBcclxuXHJcblx0Ly8gaWNvbiBibG9jayBsYXlvdXRzICggdXNlIHdpdGggLmljb24tYmxvY2stY29udGVudHJvdyApXHJcblx0Lmljb24tYmxvY2stbGF5b3V0LXNpZGV0ZXh0IHtcclxuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCk7IC8vIEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHRcdC5pY29uIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdH1cclxuXHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdEBleHRlbmQgLmdlbmVyaWMtcDtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0OyAvL2ZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHJcblxyXG5cdC8vIGQuIEljb24tQmxvY2sgU3R5bGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5pY29uLWJsb2NrLTIge1xyXG5cdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0aDUge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBsaW5rLWRvdHRlZC11bmRlcmxpbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHQvL3BhZGRpbmc6IDAgMWVtO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMGVtO1xyXG5cdFx0XHRmb250LXNpemU6IC42NWVtO1xyXG5cdFx0XHRjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cdFx0fVxyXG5cdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGhlaWdodDogN3JlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0Ly8gaGVpZ2h0OiA4cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHQvL2hlaWdodDogOXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fSAvL1xyXG5cdFx0Lmljb24tYmxvY2stY29udGVudHJvdyB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblx0XHRcdC50ZXh0LWlubmVyIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSBcclxuXHJcblxyXG5cclxuXHRcclxuXHJcblx0Ly8gNi4gUHJlZGVmaW5lZCBTZWN0aW9uc1xyXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC8vLmJpbGxib2FyZCB7IGJhY2tncm91bmQ6IHVybChcImh0dHA6Ly9wbGFjZWhvbGQuaXQvMzUweDE1MFwiKTsgfVxyXG5cdCNiaWxsYm9hcmQge1xyXG5cdFx0Y29sb3I6ICNmMzA7XHJcblx0fSAvLy5tYWluIHsgbWF4LXdpZHRoOjEwMDBweDt9XHJcblx0Ly8gY29tbW9ubHktdXNlZCBzZWN0aW9uIHR5cGVzXHJcblxyXG5cclxuIFxyXG5cclxuXHQvLyBnZW5lcmljIHNlY3Rpb24gc3R5bGVzXHJcblx0c2VjdGlvbi5zdWJoZXJvIHtcclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRAZXh0ZW5kIC5jb250YWluZXItcGFkZGluZy1zdGFuZGFyZDtcclxuXHRcdFx0Ly8gcGFkZGluZzogM3JlbSAycmVtO1xyXG5cdFx0fVxyXG5cdFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uICgxMik7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Ly8gZm9udC1zaXplOiAxLjE1cmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC4yNXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG4iLCIuY3RhIHtcclxuXHRAZXh0ZW5kIC5zZWN0aW9uOyAvLyBncmFkaWVudCBiYWNrZ3JvdW5kXHJcblx0QGluY2x1ZGUgYmx1ZS1ibHVlZ3JlZW4tZ3JhZGllbnQ7XHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHQuY29udGVudCB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XHJcblx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0LmNvbnRlbnQtYmxvY2sge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuaW5mby1saW5rIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogLjVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcmlkZS1iYXIge1xyXG5cdGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTE7XHJcblx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMjtcclxuXHRjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0cGFkZGluZzogLjVyZW0gMDtcclxuXHRwYWRkaW5nLXRvcDogMC41cmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07IC8vIHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG5cdFxyXG5cdC5jb250YWluZXIge1xyXG5cdFxyXG5cdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDAuOHJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KGNvbGxhcHNlKTtcclxuXHRcdFx0XHJcblx0XHRcdC8vIEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0Ly8gQGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cdFx0XHRcclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0XHRcdC8vIHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuXHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0XHRcdFx0XHQvLyBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDByZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IFxyXG5cclxuXHRcdFx0Ly8gc3BlY2lmaWMgaWNvbnNcclxuXHRcdFx0Lm1lZGFsLWljb24ge1xyXG5cdFx0XHRcdC8vcGFkZGluZy1yaWdodDogMXJlbTsgXHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGhlaWdodDogM3JlbTtcclxuXHRcdFx0XHRcdHdpZHRoOiAzcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmNvbnRlbnQtc3RhY2tlZCB7XHJcblx0XHRcdC5kZXNjcmlwdGlvbixcclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRlc3RpbW9uaWFscy10ZXh0IHtcclxuXHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHRiYWNrZ3JvdW5kOiAjZmFmYWZhO1xyXG5cdEBleHRlbmQgLnNlY3Rpb247IC8vIEBpbmNsdWRlIGdyYXktZ3JhZGllbnQ7XHJcblx0Ly8gQGluY2x1ZGUgYmx1ZS1ibHVlZ3JlZW4tZ3JhZGllbnQoKTtcclxuXHQvL0BpbmNsdWRlIGxpZ2h0LWJsdWUtZ3JhZGllbnQoKTtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmctdG9wOiAzcmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHQuY29udGVudCB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coKTtcclxuXHRcdFx0LnF1b3RlIHtcclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0Ly8gY29sb3I6ICNGRkY7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMnJlbTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDFlbSAxZW0gLjVlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnByb2ZpbGUge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0XHRcdC5waWMge1xyXG5cdFx0XHRcdFx0LnBlcnNvbi1waWMge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDVyZW07XHJcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmluZm8ge1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdCYubmFtZSB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5oZXJvIHtcclxuXHJcblx0YmFja2dyb3VuZDogdXJsKCcvcmVzb3VyY2VzL2ltZy9wNF9AMlgucG5nJyk7IC8vIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdG1heC13aWR0aDogbm9uZTsgLy8gYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGJsdWUtcHJpbWFyeSwgMC4xNSk7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDAsIDk1LCAxOTEsIDAuODUpIDAlLCByZ2JhKDAsIDEyNSwgMjU1LCAwLjg1KSAzNiUsIHJnYmEoMCwgMTI1LCAyNTUsIDAuODUpIDYzJSwgcmdiYSgwLCA3NiwgMTgzLCAwLjg1KSAxMDAlKTtcclxuXHRcdFxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29udGVudCB7XHJcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xyXG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIpOyAvLyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDYyLCAxMjcsIDAuNTIpO1xyXG5cdH1cclxuXHQuaGVyby1jb250ZW50IHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpOyBcclxuXHRcdC8vIHBhZGRpbmctdG9wOiA4cmVtO1xyXG5cdFx0Ly8gcGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdHBhZGRpbmctdG9wOiA0cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNXJlbTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0cCB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC8vIFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHQvLyBcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cdFx0Ly8gXHRwYWRkaW5nLWxlZnQ6IDByZW07XHJcblx0XHQvLyBcdHBhZGRpbmctcmlnaHQ6IDByZW07XHJcblx0XHQvLyBcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdC8vIFx0ZmxleDogMCAwIDEwMCU7XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0LnBhZ2VuYW1lIHtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42MCk7IC8vIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMCk7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjZyZW07XHJcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCk7XHJcblx0XHRcdGJvcmRlci13aWR0aDogMHB4O1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDFweCAwcHg7XHJcblx0XHRcdHBhZGRpbmc6IC4zcmVtIC41cmVtO1xyXG5cdFx0fVxyXG5cdFx0LnBhZ2VpY29uIHtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdGhlaWdodDogNXJlbTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHR9XHJcblx0XHRoMSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdC8qIGZvbnQtc2l6ZTogMnJlbTsgKi9cclxuXHRcdFx0Ly8gZm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIwKTtcclxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHggMHB4O1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDBweDtcclxuXHRcdFx0cGFkZGluZzogLjNyZW0gLjVyZW07IFxyXG5cdFx0XHQvLyBmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMXJlbTtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0Ly8gcGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0Ly8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0XHQvLyBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xyXG5cdFx0fVxyXG5cdFx0cCB7XHJcblx0XHRcdGNvbG9yOiAkZ3JheS1saWdodC0xO1xyXG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0XHQvLyBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDEwJTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vIFwic2VhbWxlc3NseSBpbnRlZ3JhdGVkXCIgYnVzaW5lc3MgY2FyZHNcclxuLnNlYW1sZXNzbHktaW50ZWdyYXRlZC1idXNpbmVzcy1zZXJ2aWNlcyB7XHJcblxyXG5cdGJhY2tncm91bmQ6ICM4ZTllYWIgIWltcG9ydGFudDtcclxuXHQvKiBmYWxsYmFjayBmb3Igb2xkIGJyb3dzZXJzICovXHJcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmN2Y5ZjksICNlOWY0ZmQpICFpbXBvcnRhbnQ7XHJcblx0LyogQ2hyb21lIDEwLTI1LCBTYWZhcmkgNS4xLTYgKi9cclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmN2Y5ZjksICNlOWY0ZmQpICFpbXBvcnRhbnQ7XHJcblx0LyogVzNDLCBJRSAxMCsvIEVkZ2UsIEZpcmVmb3ggMTYrLCBDaHJvbWUgMjYrLCBPcGVyYSAxMissIFNhZmFyaSA3KyAqL1xyXG5cdFxyXG5cdC5idXMtYWRkbC1zZXJ2aWNlcy1waWNrZXIge1xyXG5cdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuXHRcdFxyXG5cclxuXHRcdFx0LnNlcnZpY2VfY2FyZF93cmFwcGVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnNlcnZpY2VfY2FyZCB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAxNXB4IDM1cHggcmdiYSg1MCw1MCw5MywuMSksMCA1cHggMTVweCByZ2JhKDAsMCwwLC4wNyk7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtIDA7XHJcblxyXG5cdFx0XHRcdFx0LnJvdyB7IFxyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi10b3A7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDkpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5oMy1hbHQ7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG4iLCIvLyBDb250YWN0IFVzIFBhcnRpYWxzIGFuZCBGb3JtIEVsZW1lbnRzXHJcblxyXG4vLyByZXVzYWJsZSBjb250YWN0IGZvcm0gY29kZVxyXG5cdC5jb250YWN0LWZvcm0tY29udGFpbmVyIHtcclxuXHR9XHJcblxyXG5cdC8vIHRoZSBhY3R1YWwgZm9ybVxyXG5cdGZvcm0uZm9ybS1jb250YWN0IHtcclxuXHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblxyXG5cdFx0aW5wdXQge1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDAgMCAxcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG5cdFx0XHQmOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oYmxhY2ssIDgwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRleHRhcmVhIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHR0ZXh0YXJlYSNkZXNjcmlwdGlvbiB7XHJcblx0XHRcdG1hcmdpbi10b3A6IC4ycmVtO1xyXG5cdFx0XHRib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuXHJcblx0XHRcdCY6YWN0aXZlLCAmOmZvY3VzLCAmOnZhbGlkIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6OnBsYWNlaG9sZGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHRib3R0b206IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBob25leXBvdCBmaWVsZCBmb3Igc3BhbW1lcnNcclxuXHRcdGlucHV0I2RvbnRGaWxsVGhpc091dCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHR9XHJcblxyXG5cclxuXHJcbi8vIENvbnRhY3QgRm9ybSBQYXJ0aWFsXHJcblx0LmNvbnRhY3Qtc3RyaXBlIHtcclxuXHRcdC8vIHBhZGRpbmctdG9wOiA0cmVtO1xyXG5cdFx0Ly8gcGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRAZXh0ZW5kIC5zZWN0aW9uLXBhZGRpbmctc3RhbmRhcmQ7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGRhcmtlbihyZ2JhKDI1LCAxMzYsIDI1NSwgMSksNiksIGxpZ2h0ZW4ocmdiYSgzNywgMTcyLCAyMDIsIDEpLDgpICk7XHJcblxyXG5cdFx0LmNvbnRhaW5lciB7XHJcblx0XHRcdC5jb250ZW50IHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmhlYWRlciB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblxyXG5cdFx0XHRcdGgyIHsgXHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5nZW5lcmljLWgyO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cCB7IFxyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0XHRcdFx0XHQvLyB3aGl0ZS1zcGFjZTogcHJlO1xyXG5cclxuXHRcdFx0XHRcdC50cy1waG9uZSB7XHJcblx0XHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC50cy1waG9uZS1zdGFyIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IC43ZW07XHJcblx0XHRcdFx0XHRcdHRvcDogLS43ZW07XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0YXtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkYnVzaW5lc3MtYmx1ZSwyMCk7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBjb2xvcjogbGlnaHRlbigkYnVzaW5lc3MtYmx1ZSw0MCk7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQtbWVkaXVtO1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRyZWQtbWVkaXVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRoMiwgcCB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnRzLWhvdXJzIHtcclxuXHRcdFx0XHQvLyBmb250LXNpemU6IDFlbTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQudHMtZGlyZWN0aW9ucyB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZm9ybS13cmFwcGVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAxOHB4IDQwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAuMTgpO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG5cclxuXHRcdFx0XHQuc2lkZWJhciwgLmNvbnRhY3QtZm9ybS1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuc2lkZWJhciB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAkYmx1ZS1kYXJrLTEsICRidXNpbmVzcy1ibHVlICk7XHJcblx0XHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IC41cmVtO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0aHIge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBmb3IgdGhlIGFjdHVhbCBmb3JtLCBsb29rIGF0IHRoZSBjbGFzcyAuY29udGFjdC1mb3JtLWNvbnRhaW5lciBiZWxvd1xyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuY29udGFjdC1jb250ZW50IHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdzsgLy9AZXh0ZW5kIC5jb2xsYXBzZTtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0LmNvbnRhY3QtY29udGVudC1ibG9jayB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCxcclxuXHRcdFx0XHRcdDApOyAvL3BhZGRpbmctbGVmdDogNHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxMHB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIiBcIjtcclxuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgLTFweDtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Jj4uY29udGVudC1pbm5lciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7IC8vYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMyk7XHJcblx0XHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkZ3JheS1saWdodC0yO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMnJlbSAycmVtO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHRcdGNvbG9yOiAjMGEwYTBhO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTVyZW07XHJcblx0XHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAuMDA2ZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5waG9uZSB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG4iLCIvKiAgXHJcblx0XHJcblx0LS0tLS0gSE9NRSBQQUdFIC0tLS0tLS1cclxuXHRcclxuXHJcblx0KysrKysrKysrKysgQkFTSUMgU1RSVUNUVVJFIE1BUCArKysrKysrKysrKysrXHJcblx0U2VlIHRoaXMgbWFwIGZvciBhIGdlbmVyYWwgc3VtbWFyeSBvZiBob3cgdGhlIHNlY3Rpb24gYmxvY2tzIHdvcmsuXHJcblxyXG5cdHwgc2VjdGlvblxyXG5cdFx0fCBjb250YWluZXJcclxuXHRcdFx0fCBjb250ZW50IChST1cpXHRcdC0tLS0tT1ItLS0tICBcdHwgaWNvbi1ncm91cCAoUk9XKVxyXG5cdFx0XHRcdHwgY29udGVudC1ibG9jazpcdFx0XHRcdFx0fCBpY29uLWJsb2NrXHJcblx0XHRcdFx0XHR8PGgyLHAsdWwgc3R5bGluZz5cdFx0XHRcdFx0fDxoMixwLHVsIHN0eWxpbmc+XHJcbiovXHJcblxyXG5cclxuXHJcblx0Lmhlcm8taG9tZSB7XHJcblx0XHRAZXh0ZW5kIC5zZWN0aW9uO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHQvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvcmVzb3VyY2VzL2ltZy9zcHJpdGVzLnN2ZycpO1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcvcmVzb3VyY2VzL2ltZy9wNF9AMlgucG5nJyk7IC8vIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0LmZ1bGxzY3JlZW4tYmdfX3ZpZGVvIHtcclxuXHRcdFx0ei1pbmRleDogLTE7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0Ly90b3A6IC0zcmVtO1xyXG5cdFx0XHQvLyB3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQuYnV0dG9uLnByaW1hcnkuYnVzaW5lc3MtYmx1ZS5sYXJnZSB7XHJcblx0XHRcdGJvcmRlcjogMXB0IHNvbGlkICM4ZWMxZjM7XHJcblx0XHR9XHJcblx0XHRcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0ei1pbmRleDogMjtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAyNTBweDtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRAaW5jbHVkZSBoZXJvLWJsdWUtZ3JhZGllbnQ7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRibHVlLXByaW1hcnksIDAuNSk7IFxyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiByZ2JhKDAsMTI1LDI1NSwwLjUpO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkYmx1ZS1wcmltYXJ5OyBcclxuXHRcdFx0Ly8gQGluY2x1ZGUgaGVyby1ibHVlLWdyYWRpZW50LXRyYW5zcGFyZW50O1xyXG5cdFx0XHRcclxuXHRcdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAyNHJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogNi41cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzLjVyZW07XHJcblx0XHRcdH0gXHJcblxyXG5cdFx0XHRcclxuXHRcdFx0LmNvbnRlbnQge1xyXG5cclxuXHRcdFx0XHQuY29udGVudC1ibG9jayB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdGgxIHtcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0YS53aGl0ZWxpbmt7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZV93aGl0ZSgpO1xyXG5cclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRcdFx0XHRcdC8vIGZvbnQtc2l6ZTogLjlyZW07XHJcblx0XHRcdFx0XHRcdC8vIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI2ZmZjtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LypcclxuXHQuaG9tZS1zdWJoZXJvLXNlcnZpY2VzIHtcclxuXHRcdC5pY29uLWdyb3VwIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogOCU7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogOCU7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTIlO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEyJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Lmljb24tYmxvY2sge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHRcdH0gLy9iYWNrZ3JvdW5kOiByZ2JhKDkwLDkwLDkwLC4zKTtcclxuXHRcdFx0LmJ1dHRvbi13cmFwcGVyIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4ICNlYWVhZWE7XHJcblx0XHRcdH1cclxuXHRcdFx0aDUge1xyXG5cdFx0XHRcdEBleHRlbmQgLmdlbmVyaWMtaDU7IC8vIGZvbnQtc2l6ZTogLjlyZW07XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMzVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg4NTBweCkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuYnRuIHtcclxuXHRcdFx0XHQvL2Rpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0Ly9AZXh0ZW5kIC5ob2xsb3c7XHJcblx0XHRcdFx0QGV4dGVuZCAuYnV0dG9uO1xyXG5cdFx0XHRcdEBleHRlbmQgLnByaW1hcnk7XHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwcmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7IC8vIHBhZGRpbmc6IC43NXJlbTtcclxuXHRcdFx0XHRmb250LXNpemU6IC43NXJlbTsgLy8gbWluLXdpZHRoOiA3cmVtO1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ki9cclxuXHJcblx0LmhvbWUtdGF4cHJlcC1zZWN0aW9uIHtcclxuXHRcdHBhZGRpbmctdG9wOiAzLjVyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMy41cmVtO1xyXG5cdFx0Ly8gQGV4dGVuZCAuc2VjdGlvbi1wYWRkaW5nLXN0YW5kYXJkO1xyXG5cclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHQvL3BhZGRpbmc6IDFyZW0gYXV0bztcclxuXHRcdFx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3Jlc291cmNlcy9pbWcvdGF4cHJlcF9sYWR5X2NoZWNrbWFya19maWxsZWQuc3ZnXCIpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcmVtO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzcmVtIDFyZW07XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRwYWRkaW5nOiAwcmVtIDJyZW07XHJcblx0XHRcdGgyIHtcclxuXHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAzcmVtO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogMHJlbSFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Ly8gcGFkZGluZzogMHJlbSAycmVtO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdC8vIG1hcmdpbjogMnJlbSAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vXHRiYWNrZ3JvdW5kOiByZ2JhKDI1LCAxMzYsIDI1NSwgMC4wNik7XHJcblx0XHRcdC8vICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDAsIDEyNSwgMjU1LCAwLjE4KTtcclxuXHRcdFx0Ly8gYm9yZGVyLXdpZHRoOiAxcHggMDtcclxuXHRcdFx0Ly9cdH1cclxuXHRcdFx0LmNpcmNsZSB7XHJcblx0XHRcdFx0Ly8gd2lkdGg6IDE4cmVtO1xyXG5cdFx0XHRcdC8vIGhlaWdodDogMThyZW07XHJcblx0XHRcdFx0Ly8gYm9yZGVyOiBzb2xpZCAxcHggI0NDQztcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwMHJlbSk7XHJcblx0XHRcdFx0Ly8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6IHJnYmEoMCwgMTQ4LCAyNTUsIDAuMjg2Mjc0NTA5ODAzOTIxNTUpO1xyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHQvLyBtYXJnaW4tbGVmdDogMnJlbTtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxM3JlbTtcclxuXHRcdFx0XHRcdC8vIG1hcmdpbi10b3A6IC0ycmVtO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMThyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMjdyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaG9tZS1idXNpbmVzcyB7XHJcblxyXG5cdFx0LmNvbnRhaW5lci1jYXJkcyB7XHJcblx0XHRcdHBhZGRpbmc6IDFyZW0gMXJlbSAwcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwcmVtIDFyZW0gM3JlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNhcmQge1xyXG5cclxuXHRcdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHQuaWNvbi1zdmcgeyBoZWlnaHQ6IDdyZW07IH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdC5pY29uLXBheXJvbGwgeyBoZWlnaHQ6IDlyZW07fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRibHVlLXByaW1hcnksMTUpO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbigkYmx1ZS1wcmltYXJ5LDE1KTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0fSBcclxuXHJcblx0LmhvbWUtYnVzaW5lc3Mtc2VydmljZXMge1xyXG5cclxuXHJcblxyXG5cdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0Ly8gXHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuXHRcdFx0XHJcblx0XHRcdC5idXNpbmVzcy1pY29ucyB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IC41cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jb250ZW50LWNlbnRlcmVkIHtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQuZ3JvdXAtd2lkZSB7XHJcblx0XHRcdFx0XHQvLyBtaW4taGVpZ2h0OiAxNHJlbTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Lmljb24tYmxvY2sge1xyXG5cdFx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHQvLyAmOmhvdmVyIHN2ZyB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHRoZWlnaHQ6IDhyZW07XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHQtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAxcztcclxuXHRcdFx0XHRcdFx0XHQvLyBcdC8qIFNhZmFyaSAqL1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dHJhbnNpdGlvbjogaGVpZ2h0IDFzO1xyXG5cdFx0XHRcdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQuaG9tZS10YXhwcm9ibGVtcy1idXMtcGVyc29uYWwge1xyXG5cdFx0cGFkZGluZy10b3A6IDMuNXJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzLjVyZW07IC8vIEBleHRlbmQgLnNlY3Rpb247XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9yZXNvdXJjZXMvaW1nL3A0LnBuZycpOyAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodC0yO1xyXG5cclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHQvL3BhZGRpbmc6MDtcclxuXHRcdFx0Ly8gcGFkZGluZy10b3A6IFx0LjVyZW07XHJcblx0XHRcdC8vIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDA2NGNjKzAsMDA2NGNjKzEwMCYxKzAsMCsyOSwwKzY1LDErMTAwICovXHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgwLDEwMCwyMDQsMSkgMCUsIHJnYmEoMCwxMDAsMjA0LDApIDI5JSwgcmdiYSgwLDEwMCwyMDQsMCkgNjUlLCByZ2JhKDAsMTAwLDIwNCwxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDAsMTAwLDIwNCwxKSAwJSxyZ2JhKDAsMTAwLDIwNCwwKSAyOSUscmdiYSgwLDEwMCwyMDQsMCkgNjUlLHJnYmEoMCwxMDAsMjA0LDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDAsMTAwLDIwNCwxKSAwJSxyZ2JhKDAsMTAwLDIwNCwwKSAyOSUscmdiYSgwLDEwMCwyMDQsMCkgNjUlLHJnYmEoMCwxMDAsMjA0LDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cclxuXHRcdFx0Ly8gZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDY0Y2MnLCBlbmRDb2xvcnN0cj0nIzAwNjRjYycsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqL1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0ZGl2LmNvbnRlbnQtaGlnaGxpZ2h0LWJveC1yZWQge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMyMzNBNTI7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHQgc29saWQgI0Y0NEQ1MjtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmZmOyAvLyY6aG92ZXJ7XHJcblx0XHRcdFx0XHQvL1x0YmFja2dyb3VuZDogI2Y5ZmFmYTtcclxuXHRcdFx0XHRcdC8vIGJveC1zaGFkb3c6IDAgMThweCA0MHB4IC0xMHB4IHJnYmEoMCwwLDAsLjE4KTtcclxuXHRcdFx0XHRcdC8vYm9yZGVyLWNvbG9yOiAjMDc2YWNkO1xyXG5cdFx0XHRcdFx0Ly9iYWNrZ3JvdW5kOiByZ2JhKDI0NCw3Nyw4MiwwLjA1KTtcclxuXHRcdFx0XHRcdC8vfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGggLSA0cmVtOyAvLyBwYWRkaW5nOiA0cmVtIDIlO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9yZXNvdXJjZXMvaW1nL3RheGlzc3Vlc19sYWR5X2JnLnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTByZW0gYm90dG9tO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE1MCUgMTAwJTsgLy9iYWNrZ3JvdW5kLXNpemU6IDEwMCUgO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDg1MHB4KSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuY29udGVudC1ibG9jayB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFx0Ly8gY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRwYWRkaW5nOiAycmVtO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDNyZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzcmVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHQucGljIHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxM3JlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC0xLjVyZW07XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcblx0XHRcdFx0XHRcdC8vbWFyZ2luLXRvcDoycmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI1cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE4cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuc3ZnLWljb24ge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cclxuXHJcbi8vID09PT0gVU5LTk9XTiBDT0RFICA9PT09PT09PT09PT09PT09PT09PT09XHJcblx0XHJcblxyXG5cdC8vIE5hdmJhclxyXG5cdFx0Lmxhbmd1YWdlLXNlbGVjdCB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDAuNzVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcclxuXHRcdFx0I2V4YW1wbGVNb2RhbDExIHtcclxuXHRcdFx0XHR0b3A6IDMuNXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5sYW5ndWFnZS1zZWxlY3Qge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMC43NXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuaWNvbi1jb250YWN0IHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwLjJyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cclxuXHQvLyBCYWQgd29yayBieSBBcnVuXHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XHJcblx0XHQjbW9iaWxlLW5hdiB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5tYXJnaW50b3Bub25lU3tcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwIWltcG9ydGFudDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHQvLyA/PyBDbGVhbiB0aGlzIHVwIC0tIEJhZCB3b3JrIGJ5IEFydW5cclxuXHQjZmlyc3RNb2RhbFRpdGxlIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWNvbnRhY3QtZm9ybSB7XHJcblx0XHQuc21hbGwtMTIuY29sdW1ucyB7XHJcblx0XHRcdHBhZGRpbmc6IDByZW07XHJcblx0XHR9XHJcblx0XHQudGV4dGFyZSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblx0XHRcdHBhZGRpbmc6IDByZW07XHJcblx0XHR9XHJcblx0XHRoMyB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAwLjlyZW07XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDByZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdC5hbGlnbi1jZW50ZXIge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblx0XHRwIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuOXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwcHg7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwcHg7XHJcblx0XHR9XHJcblx0XHRsYWJlbD5bdHlwZT0nY2hlY2tib3gnXSB7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdH1cclxuXHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdGhlaWdodDogNXJlbTtcclxuXHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHR9XHJcblx0XHQuaWNvbi1jb250YWN0IHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAxMHJlbTtcclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdGhlaWdodDogOC41cmVtO1xyXG5cdFx0XHRcdGJvcmRlcjogMXB0IHNvbGlkICNjMGRjZjc7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMC4zcmVtO1xyXG5cdFx0XHRcdCY6aG92ZXIgc3ZnIHtcclxuXHRcdFx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjojYzBkY2Y3O1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZy10b3A6IDByZW07XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gVG8gREVMRVRFXHJcblxyXG5cdC8vIHN0YW5kYXJkIG1hcmdpbnNcclxuXHRcdC8vIC50LW1yLXQxIHtcclxuXHRcdC8vIFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAudC1tci10MTUge1xyXG5cdFx0Ly8gXHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLnQtbXItdDMge1xyXG5cdFx0Ly8gXHRtYXJnaW4tdG9wOiAzcmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC50LW1yLXQge1xyXG5cdFx0Ly8gXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC50LW1yLXQtYnRuIHtcclxuXHRcdC8vIFx0cGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHRcdC8vIFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLnQtbXItdC01IHtcclxuXHRcdC8vIFx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC50LXBkLXQtNiB7XHJcblx0XHQvLyBcdG1hcmdpbi10b3A6IDZyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLnQtbXItdDQge1xyXG5cdFx0Ly8gXHRtYXJnaW4tdG9wOiA0cmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHJcblx0XHQvLyAuYmdmYWZhIHtcclxuXHRcdC8vIFx0YmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAuc2VjdGlvbi1ncmF5LWRhcmsge1xyXG5cdFx0Ly8gXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7XHJcblx0XHQvLyBcdGJhY2tncm91bmQ6ICNmZGZkZmQgIWltcG9ydGFudDtcclxuXHRcdC8vIH1cclxuXHJcblx0XHQvLyAuZ3JhcGhwMTlyZW0ge1xyXG5cdFx0Ly8gXHRoZWlnaHQ6IDE5cmVtO1xyXG5cdFx0Ly8gfVxyXG5cclxuXHRcdC8vIC5ncmFwaHAxN3JlbSB7XHJcblx0XHQvLyBcdGhlaWdodDogMTdyZW07XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Ly8gLnBkbmdidG0ge1xyXG5cdFx0Ly8gXHRwYWRkaW5nLWJvdHRvbTogMHJlbTtcclxuXHRcdC8vIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQvLyAubGluay1jYXJldC1iZWxvdzo6YWZ0ZXIge1xyXG5cdC8vIFx0aGVpZ2h0OiA5cHg7XHJcblx0Ly8gXHR3aWR0aDogOXB4O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gLmxpbmstY2FyZXQtYmVsb3c6OmFmdGVyIHtcclxuXHQvLyBcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdC8vIFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblx0Ly8gXHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdC8vIFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdC8vIFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdC8vIFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuXHQvLyB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0Ly8gLmNtbi1kaXZpZGVyLW5leHQge1xyXG5cdC8vIFx0Ym9yZGVyOiBzb2xpZCAjZGRkZGRkO1xyXG5cdC8vIFx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwO1xyXG5cdC8vIFx0Y2xlYXI6IGJvdGg7XHJcblx0Ly8gXHRoZWlnaHQ6IDA7XHJcblx0Ly8gfVxyXG5cclxuXHRcclxuXHJcblxyXG5cclxuXHJcblx0Ly8gc2VjdGlvbi5zZWN0aW9uLnNlYW1sZXNzbHktaW50ZWdyYXRlZC1idXNpbmVzcy1zZXJ2aWNlcy5zZWFtbGVzc2x5LWludGVncmF0ZWQgLmNvbnRhaW5lciB7XHJcblx0Ly8gXHRwYWRkaW5nOiAwcmVtO1xyXG5cdC8vIH1cclxuXHJcblxyXG5cdCIsIlxyXG5cclxuXHJcblx0Ly8gVGF4IFByZXA6IE1haW4gUGFnZVxyXG5cclxuXHQudGF4cHJlcC1oZXJvIHtcclxuXHRcdC5oZXJvLWNvbnRlbnQge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwgOTUsIDE5MSwgMC4xMCkgMCUsIHJnYmEoMCwgMTI1LCAyNTUsIDAuMTApIDM2JSwgcmdiYSgwLCAxMjUsIDI1NSwgMC4xMCkgNjMlLCByZ2JhKDAsIDc2LCAxODMsIDAuMTApIDEwMCUpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDAsIDk1LCAxOTEsIDEuMDApIDAlLCByZ2JhKDAsIDEyNSwgMjU1LCAxLjAwKSAzNiUsIHJnYmEoMCwgMTI1LCAyNTUsIDEuMDApIDYzJSwgcmdiYSgwLCA3NiwgMTgzLCAxLjAwKSAxMDAlKTtcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3Jlc291cmNlcy9pbWcvdGF4cHJlcF9iZ19wYXR0ZXJuX2Rhcmsuc3ZnXCIpO1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE2MHB4IGF1dG87XHJcblxyXG5cdFx0XHRoMSxwIHtcclxuXHRcdFx0XHQvLyBjb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdFx0aDEge1xyXG5cdFx0XHRcdC8vIGZvbnQtc2l6ZTogMi44cmVtO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHJcblx0LnRheHByZXAtc2VydmljZXMtcGlja2VyIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNHJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0XHJcblx0XHQuZmVhdHVyZXMtc2VjdGlvbiB7XHJcblxyXG5cdFx0XHQvLyBwYWRkaW5nLXRvcDogMDtcclxuXHJcblx0XHRcdC5ncmFwaGljIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHRcdHotaW5kZXg6MTAgIWltcG9ydGFudDtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMjFyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzb3VyY2VzL2ltZy90YXgtYmctcGF0dGVybl8yLnBuZ1wiKTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHdoaXRlLDIpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRlc2F0dXJhdGUobGlnaHRlbigkYmx1ZS1wcmltYXJ5LDQ5KSwyNSk7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3Jlc291cmNlcy9pbWcvdGF4cHJlcF9iZ19wYXR0ZXJuLnN2Z1wiKTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTIwcHggYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmFsbC1mZWF0dXJlc3tcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSwwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCwwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mZWF0dXJlcy1yb3cge1xyXG5cdFx0XHRcdC8vIEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHJcblx0XHRcdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5jYXJkIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzIGRvd24pe1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAuNXJlbTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGNEY5RkY7XHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM5RUFFQkM7XHJcblx0XHRcdFx0XHRcdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDEuMHJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuY2FyZC1saW5rIHtcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQucm93IHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gY29sdW1uIGFsaWdubWVudHMgRklSU1QsIGlubmVyIGNvbnRlbnQgc2VwYXJhdGUgYmVsb3dcclxuXHRcdFx0XHRcdFx0LmNvbHVtbi1pY29ue1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMywwKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4tdGV4dHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gaW5uZXIgY29udGVudFxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNHJlbTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIC5zZXJ2aWNlcy1ncm91cCB7XHJcblx0XHQvLyBcdC8vIGJhY2tncm91bmQ6IGhzbGEoMjExLCA5OSUsIDk3JSwgMSk7XHJcblx0XHQvLyBcdHBhZGRpbmc6IDFyZW0gMDsgLy8gYm9yZGVyOiBzb2xpZCAxcHggI2E0ZDBmZjtcclxuXHRcdC8vIFx0Ly8gYm9yZGVyLXdpZHRoOiAxcHggMDtcclxuXHRcdC8vIH1cclxuXHRcdC8vIC5zZXJ2aWNlLWNhcmQge1xyXG5cdFx0Ly8gXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQvLyBcdGhlaWdodDogMTAwJTtcclxuXHRcdC8vIFx0bWluLWhlaWdodDogMTByZW07XHJcblx0XHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gXHRcdG1pbi1oZWlnaHQ6IDlyZW07XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0Jjpob3ZlciB7XHJcblx0XHQvLyBcdFx0YmFja2dyb3VuZDogI0Y0RjlGRjtcclxuXHRcdC8vIFx0XHRib3JkZXItY29sb3I6ICM5RUFFQkM7XHJcblx0XHQvLyBcdFx0LmNhcmQtc2VjdGlvbiB7XHJcblx0XHQvLyBcdFx0XHRwYWRkaW5nLXRvcDogMS4wcmVtO1xyXG5cdFx0Ly8gXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHRcdHN2ZyB7XHJcblx0XHQvLyBcdFx0XHRoZWlnaHQ6IDUuNXJlbTtcclxuXHRcdC8vIFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0Ly8gXHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0Ly8gXHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHRzdmcge1xyXG5cdFx0Ly8gXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ly8gXHRcdGhlaWdodDogNXJlbTtcclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC8vIFx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdC8vIFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gXHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdFx0YSB7XHJcblx0XHQvLyBcdFx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdC8vIFx0XHRcdEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZTtcclxuXHRcdC8vIFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHQvLyBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC8vIFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdC8vIFx0XHRcdH1cclxuXHRcdC8vIFx0XHRcdGNvbG9yOiAjMWY0ZTg5O1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdH1cclxuXHJcblxyXG5cdC50YXhwcmVwLXRha2UtY2FyZS1vZi10YXhlcyB7XHJcblx0XHRwYWRkaW5nLXRvcDogMHJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cdFx0Ly8gcGFkZGluZzogNXJlbSAwO1xyXG5cdFx0Ly8gcGFkZGluZzogMDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9yZXNvdXJjZXMvaW1nL3RheHByZXBfYmdfcGF0dGVybl9kYXJrLnN2Z1wiKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMTYwcHggYXV0bztcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDVyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA1cmVtO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlYXR1cmVzLXNlY3Rpb24ge1xyXG5cdFx0XHQvLyBwYWRkaW5nLXRvcDogMHJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0Ly8gcGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5ncmFwaGljIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMHJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1LDApO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDByZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMgb25seSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHRcdFx0LnRheHByZXBfbGFkeSB7XHJcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcdGhlaWdodDogMTVyZW07XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyMXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyM3JlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5hbGwtZmVhdHVyZXMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNiwwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LmZlYXR1cmUge1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDByZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAzcmVtO1xyXG5cclxuXHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0LyogQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0fSAqL1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMik7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdEBleHRlbmQgLmljb24tc3ZnLWhlaWdodC1sYXJnZTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdGhlaWdodDogOXJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDlyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaWNvbi1kb2xsYXIge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC0xcmVtO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LnRheHByZXAtZXhwZXJ0LXRlYW0ge1xyXG5cdFx0Ly8gLmNtbi1kaXZpZGVyIHtcclxuXHRcdC8vIFx0d2lkdGg6IGF1dG87XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0LmZlYXR1cmVzLXNlY3Rpb24ge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMHJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBhbGwtZmVhdHVyZXMgPiByb3cgPiBmZWF0dXJlID4gcm93ID4gW2NvbHVtbi1pY29uICYgY29sdW1uLXRleHRdXHJcblx0XHQuYWxsLWZlYXR1cmVzIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblxyXG5cdFx0XHQucm93IHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblxyXG5cdFx0XHQucm93IHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyOyBcclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuaWNvbi1zdmctaGVpZ2h0LXhzbWFsbDtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDRyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDksMCk7XHRcdFx0Ly8gY29sdW1ucyBmaXJzdFxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCwwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGV4dGVuZCAudC1iZHItdG9wO1x0XHQvLyBzdHlsaW5nIHNlY29uZFxyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IC41cmVtO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IC41cmVtIDFyZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0XHQvLyBAZXh0ZW5kIC5oNC1hbHQ7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjk1ZW07XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjk1ZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LnRheHByZXAtYnVzaW5lc3Mtc2VjdGlvbiB7XHJcblx0XHRwYWRkaW5nLXRvcDogNnJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA2cmVtO1xyXG5cdFx0XHJcblx0XHQuYWxsLWZlYXR1cmVzIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiA0cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDNyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAZXh0ZW5kIC5tZWRpdW0tb3JkZXItMjtcclxuXHRcdFx0XHRAZXh0ZW5kIC5tZWRpdW0tcGx1cy1vcmRlci0xO1xyXG5cclxuXHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA3cmVtO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gd2lkdGg6IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcblx0XHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGV4dGVuZCAubWVkaXVtLW9yZGVyLTE7XHJcblx0XHRcdFx0QGV4dGVuZCAubWVkaXVtLXBsdXMtb3JkZXItMjtcclxuXHJcblx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cclxuXHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRAZXh0ZW5kIC5oNC1hbHQ7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMDVlbTtcclxuXHRcdFx0XHRcdC8vIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5idXNpbmVzcy10ZWFzZXItcm93IHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDRyZW07XHJcblxyXG5cdFx0XHQud3JhcHBlciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAuc2VjdGlvbi1ncmF5O1xyXG5cdFx0XHRcdC8vIEBleHRlbmQgLnNlY3Rpb24tYmctZ3JhZGllbnQtYmx1ZS1ncmF5O1xyXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGhlcm8tYmx1ZS1ncmFkaWVudDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaWdodGVuKCRibHVlLXByaW1hcnksNDguNSk7XHJcblx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWJvcmRlci1ncmF5O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uLWNvbnRlbnQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblxyXG5cdCBcdCBcdFx0Ly8gY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMGVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRwLGEge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbHVtbi1ncmFwaGljIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMsMCk7XHJcblxyXG5cdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDdyZW07XHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubGluay1jYXJldC1yaWdodDo6YWZ0ZXIge1xyXG5cdFx0XHRcdGhlaWdodDogN3B4O1xyXG5cdFx0XHRcdHdpZHRoOiA3cHg7XHJcblx0XHRcdFx0Ly8gcG9zaXRpb246IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAtNXB4O1xyXG5cdFx0XHRcdGJvdHRvbTogMnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFxyXG5cdFx0XHRoMyB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYm94IHtcclxuXHRcdFx0XHRib3JkZXI6IDFwdCBzb2xpZCAjOUVBRUJDO1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMHB4IDBweCAxcHg7XHJcblx0XHRcdFx0bWFyZ2luOiAxLjJyZW0gMHJlbSAxcmVtO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGREZERkQ7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDdyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0LmRvdHRlZC1yaWdodCB7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAycHQgZG90dGVkICNlYWVhZWE7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLTAuNXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZGVzY3JpcHRpb24uY2FyZCB7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDI3LjVyZW07XHJcblx0XHR9XHJcblx0XHQuaW50cm8tYmxvY2sge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiBkb3R0ZWQgMHB4ICRncmF5LW1pZC0xO1xyXG5cdFx0fVxyXG5cdFx0LnNlcnZpY2UtYmxvY2sge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDByZW07XHJcblx0XHRcdH1cclxuXHRcdFx0LmNhcmQge1xyXG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuZGVzY3JpcHRpb24uc21hbGwtY2VudGVyZWQge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblxyXG5cdFx0Lm1hbnRlbmdhLXN1LW5lZ29jaW8ge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuY2FyZCB7XHJcblx0XHRcdFx0cGFkZGluZzogMXJlbSAwcmVtIDAuNXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMXJlbSFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5idXR0b24tYm9yZGVyIHtcclxuXHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICMxNDY3OWU7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0XHRcdFx0XHR1c2VyLXNlbGVjdDogbm9uZTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDByZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwLjhlbSAxLjVyZW07XHJcblx0XHRcdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdH1cclxuXHJcblx0LnRheHByZXAtdGF4LXByb2JsZW1zIHtcclxuXHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDByZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5ncmFwaGljIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0cGFkZGluZy10b3A6IDByZW07XHJcblx0XHRcdC8vIHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6MDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmltZy1zaXplLXdyYXBwZXIge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRoZWlnaHQ6IDE0cmVtO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxN3JlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAyNHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pbWctc2l6ZS13cmFwcGVyIGltZyB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblxyXG5cclxuXHQiLCJcdFxyXG4vLyBCdXNpbmVzcyBNYWluXHRcclxuXHJcblx0LmJ1c2luZXNzLW92ZXJ2aWV3IHtcclxuXHJcblx0XHQuY29udGFpbmVyOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29udGFpbmVyLWNhcmRzIHtcclxuXHRcdFx0cGFkZGluZzogMHJlbSAxcmVtIDByZW07XHJcblxyXG5cdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cclxuXHRcdC5jYXJkLXdyYXBwZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExLDApO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdFx0LmNhcmQge1xyXG5cclxuXHRcdFx0XHRcdC8vY29sdW1uIHNpemVzIGZvciBkaWZmZXJlbnQgbGF5b3V0c1xyXG5cdFx0XHRcdFx0LnJvdyAuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgxMik7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSg0KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5yb3cgLmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXNpemUoMTIpO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXNpemUoOCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuaG9sbG93IHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuYnV0dG9uLWhvdmVyLXNvbGlkX2JsdWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHJcblx0XHQubGFyZ2UtY2FyZHMge1xyXG5cdFx0XHQuY2FyZCB7XHJcblx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdGhlaWdodDogOXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuc21hbGwtY2FyZHMge1xyXG5cdFx0XHQuY2FyZCB7XHJcblx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdGhlaWdodDogNi41cmVtO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblxyXG5cclxuLy8gQnVzaW5lc3M6IFRheCAmIEZpbmFuY2lhbHNcclxuLy8gLS0tIHNlZSBzZXBhcmF0ZSBwYXJ0aWFsIGZpbGUgLS0tLS1cclxuXHJcblxyXG5cclxuLy8gQnVzaW5lc3M6IFBheXJvbGwgTWFpblxyXG5cclxuXHJcblx0LmJ1c2luZXNzLXBheXJvbGwge1xyXG5cdFx0cGFkZGluZy10b3A6My41cmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206My41cmVtO1xyXG5cdH1cclxuXHJcblxyXG5cdC5idXNwci1mZWF0dXJlcy1waWNrZXIge1xyXG5cdFx0QGV4dGVuZCAuYmFzZS1zZXJ2aWNlcy1waWNrZXI7XHJcblxyXG5cdFx0LnNlcnZpY2VzLWdyb3VwIHtcclxuXHJcblx0XHRcdC5jYXJkLXdyYXBwZXJ7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBvbmx5KXtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKDEwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zZXJ2aWNlLWNhcmQge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMXJlbTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDFyZW0gMS41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRcdC8vIGNvbHVtbiBzaXppbmcsIGFsaWdubWVudCBhbmQgcGFkZGluZyBPTkxZIC0tIHRvIG1ha2UgdGhpcyBlYXNpZXIgdG8gdW5kZXJzdGFuZC4gU3R5bGluZyBpcyBiZWxvdy5cclxuXHRcdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3coY29sbGFwc2UpO1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cclxuXHJcblx0XHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQsMCk7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMgb25seSkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNSk7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAuNXJlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig3KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBjb2x1bW4gc3R5bGluZyBoZXJlXHJcblx0XHRcdFx0LmNhcmQtc2VjdGlvbiB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMgb25seSkge1xyXG5cdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0aDUge1xyXG5cdFx0XHRcdFx0XHRcdC8vIHBhZGRpbmctbGVmdDowO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHBhZGRpbmctcmlnaHQ6MDtcclxuXHJcblx0XHRcdFx0XHRcdFx0Jj4gc3BhbiB7XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBsaW5rLWRvdHRlZC11bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHJcblx0LmJ1c3ByLXllYXItZW5kLXBheXJvbGwge1xyXG5cdFx0Ly8gcGFkZGluZy10b3A6IDRyZW07XHJcblxyXG5cdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTI7XHJcblx0XHRcdC8vIEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDcpO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig3KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdC8vIFx0cGFkZGluZzogMHJlbTtcclxuXHRcdFx0Ly8gfVxyXG5cdFx0fVxyXG5cclxuXHRcdC5ncmFwaGljIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTE7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9XHJcblxyXG5cdFx0Ll9pY29uLXJlcHRjaGttYXJrIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0LmJ1c3ByLXBheXJvbGwtdGF4LXByb2JsZW1zIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cclxuXHRcdC53cmFwcGluZy1ib3gge1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtIDA7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDJyZW0gMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4taWNvbiB7XHJcblxyXG5cdFx0XHQuaWNvbi1zdmctbWF4IHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEycmVtO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxNnJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHQvLyBwYWRkaW5nOiAwcmVtIGF1dG8gIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJ1c3ByLXBheS1mZWF0dXJlcyB7XHJcblx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogM3JlbTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0XHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdC8vIEBleHRlbmQgLmNvbGxhcHNlO1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbGVmdDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0Ly8gQGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZzogLjdyZW07XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuaWNvbi1zdmctaGVpZ2h0LXN0ZDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQuZmVlLWRldGFpbCB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjODc4Nzg3O1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdFxyXG5cclxuXHQuYnVzcHItZ3VpZGFuY2UtYXNzaXN0YW5jZSB7XHJcblx0XHJcblx0XHQvLyBjb2x1bW4gYWxpZ25tZW50cyBhbmQgcGFkZGluZ3MgRklSU1QsIHN0eWxpbmdzIHNlcGFyYXRlXHJcblx0XHQuZmVhdHVyZS1yb3cge1xyXG5cclxuXHRcdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuaWNvbi1yb3cge1xyXG5cdFx0XHRcdFx0IEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0XHRcdCBAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblxyXG5cdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMywwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Lmljb24td3JhcHBlciB7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA2cmVtO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDFyZW07XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAxcmVtIGF1dG87XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAgNy42cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDcuNnJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDFyZW07XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA1cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyBjb250ZW50IHN0eWxpbmcgZm9yIHN0dWZmIGluc2lkZSBjb2x1bW5zXHJcblx0XHQuY29sdW1uLWljb257XHJcblxyXG5cdFx0XHQuaWNvbi13cmFwcGVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHQgc29saWQgbGlnaHRlbigkY29sb3ItYm9yZGVyLWdyYXksNSk7XHJcblxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoNCB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gQnVzaW5lc3M6IE1vdmUgdG8gdGhlIFVTXHJcblx0LmJ1c21vdmV1c2EtZXN0YWJsaXNoIHtcclxuXHJcblx0XHQuZmVhdHVyZXMtcm93IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cclxuXHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBvbmx5KSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogM3JlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0Lmljb24tcm93IHtcclxuXHJcblxyXG5cdFx0XHRcdC5jb2x1bW4taWNvbntcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDkpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQuYnVzbW92ZXVzYS1jb3VudHJpZXMtYXNzaXN0ZWQge1xyXG5cdFx0LmNvbnRlbnQge1xyXG5cclxuXHRcdFx0LmNvbHVtbi1nbG9iZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHJcblx0XHRcdFx0LmNvbW1lbnQge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmxhZ3Mge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDNyZW07XHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTsgXHJcblxyXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0IGNvbGxhcHNlKTtcclxuXHRcdFx0XHRcdEBleHRlbmQgLnJvdztcclxuXHRcdFx0XHRcdEBleHRlbmQgLmNvbGxhcHNlO1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuc21hbGwtdXAtMztcclxuXHRcdFx0XHRcdEBleHRlbmQgLmxhcmdlLXVwLTU7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuY29sdW1uO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAzcmVtO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAzLjVyZW07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmJ1c21vdmV1c2EtY292ZXItYmFzaWNzIHtcclxuXHRcdC5ldmFsdWFtb3MtbGFzLW1lam9yZXMge1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDAuOXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdGNvbG9yOiAjNTM2NDc1O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuaWNvbi1zdmctY3VzdG9tIHtcclxuXHRcdFx0aGVpZ2h0OiAxMnJlbTtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHR9XHJcblx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdC8vIHBhZGRpbmc6IDEuNXJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHQvLyBwYWRkaW5nOiAwcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYnVzbW92ZXVzYS1hZGRpdGlvbmFsLXNlcnZpY2VzIHtcclxuXHRcdGJhY2tncm91bmQ6ICM4ZTllYWIgIWltcG9ydGFudDtcclxuXHRcdC8qIGZhbGxiYWNrIGZvciBvbGQgYnJvd3NlcnMgKi9cclxuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjdmOWY5LCAjZTlmNGZkKSAhaW1wb3J0YW50O1xyXG5cdFx0LyogQ2hyb21lIDEwLTI1LCBTYWZhcmkgNS4xLTYgKi9cclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y3ZjlmOSwgI2U5ZjRmZCkgIWltcG9ydGFudDtcclxuXHRcdC8qIFczQywgSUUgMTArLyBFZGdlLCBGaXJlZm94IDE2KywgQ2hyb21lIDI2KywgT3BlcmEgMTIrLCBTYWZhcmkgNysgKi9cclxuXHRcdEBleHRlbmQgLmJhc2Utc2VydmljZXMtcGlja2VyO1xyXG5cdFx0LnNlcnZpY2UtY2FyZDpob3ZlciBzdmcge1xyXG5cdFx0XHRoZWlnaHQ6IDVyZW07XHJcblx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdH1cclxuXHRcdC5zZXJ2aWNlLWNhcmQ6aG92ZXIgLmNhcmQtc2VjdGlvbiB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHR9XHJcblx0XHQuc2VydmljZS1jYXJkIHtcclxuXHRcdFx0bWluLWhlaWdodDogMTByZW07XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblx0XHRcdFx0aDUge1xyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBsaW5rLWRvdHRlZC11bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjMWY0ZTg5O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gQnVzaW5lc3M6IEdldC1SZWdpc3RlcmVkIFBhZ2VcclxuXHQuYnVzcmVnaXN0ZXItcGxhbi1vcmdhbml6ZSB7XHJcblx0XHRcclxuXHRcdC5oZWFkZXItc2VjdGlvbiB7XHJcblxyXG5cdFx0XHQvLyBAZXh0ZW5kIC5jb250ZW50LWNlbnRlcmVkO1xyXG5cdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdFxyXG5cdFx0XHQuY29sdW1uLWhlYWRlciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gY29sdW1uIHNpemVzLCBwYWRkaW5ncywgYW5kIGFsaWdubWVudHMgc2VwYXJhdGUgZnJvbSBjb250ZW50IHN0eWxpbmdcclxuXHRcdC5mZWF0dXJlcy1yb3cge1xyXG5cdFx0XHQvLyBAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdEBleHRlbmQgLmFsaWduLXNwYWNlZDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgeyBcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cclxuXHRcdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDkpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0Ly8gcGFkZGluZzoxcmVtO1xyXG5cdFx0XHRAZXh0ZW5kIC5ncmFwaGljX3NtYWxsO1xyXG5cdFx0XHRcclxuXHRcdFx0Lmljb24ge1xyXG5cdFx0XHRcdC8vIEBleHRlbmQgLmljb24tc3ZnLWZlYXR1cmUtc2l6ZV9tZWRpdW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJ1c3JlZ2lzdGVyLXJlZ2lzdGVyLXlvdXItYnVzaW5lc3Mge1xyXG5cclxuXHRcdC5oZWFkZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtcGx1cy1vcmRlci0yO1xyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC1wbHVzLW9yZGVyLTE7XHJcblxyXG5cdFx0XHQvLyBAZXh0ZW5kIC5tZWRpdW0tcGx1cy1vZmZzZXQtMjtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQsMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC1wbHVzLW9yZGVyLTE7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLXBsdXMtb3JkZXItMjtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLWljb24gLmljb24ge1xyXG5cdFx0XHRAZXh0ZW5kIC5pY29uLXN2Zy1oZWlnaHQtMnhsYXJnZTtcclxuXHJcblx0XHRcdGhlaWdodDogOXJlbTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdGhlaWdodDoxMnJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJ1c3JlZ2lzdGVyLXJldmlldy1pc3N1ZXMge1xyXG5cdFx0XHJcblx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0xO1xyXG5cdFx0XHRAZXh0ZW5kIC5tZWRpdW0tb3JkZXItMjtcclxuXHJcblx0XHRcdG1hcmdpbi10b3A6IC0xcmVtO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdC5pY29uIHtcclxuXHRcdFx0XHRAZXh0ZW5kIC5pY29uLXN2Zy1oZWlnaHQtMnhsYXJnZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC1vcmRlci0yO1xyXG5cdFx0XHRAZXh0ZW5kIC5tZWRpdW0tb3JkZXItMTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDcpO1xyXG5cdFx0XHR9XHRcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LmNvbnRhaW5lcntcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0Ly8gcGFkZGluZy10b3A6IDFyZW0haW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuY2FsbG91dCB7XHJcblxyXG5cdFx0XHQvLyBwYWRkaW5nOiAwcmVtO1xyXG5cdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0Ly8gXHRwYWRkaW5nOiAwcmVtIDByZW0gIWltcG9ydGFudDtcclxuXHRcdFx0Ly8gXHRtYXJnaW46IDAhaW1wb3J0YW50O1xyXG5cdFx0XHQvLyBcdGgye1xyXG5cdFx0XHQvLyBcdFx0bWFyZ2luLXRvcDogMXJlbSFpbXBvcnRhbnQ7XHJcblx0XHRcdC8vIFx0fVxyXG5cdFx0XHQvLyB9XHJcblx0XHR9XHJcblx0XHRzdmcge1xyXG5cdFx0XHQvLyBoZWlnaHQ6IDIxcmVtO1xyXG5cdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0Ly8gXHRoZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHQvLyB9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYnVzcmVnaXN0ZXItbWFuYWdlLWdyb3cteW91ci1idXNpbmVzcyB7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiAjOGU5ZWFiICFpbXBvcnRhbnQ7XHJcblx0XHQvLyAvKiBmYWxsYmFjayBmb3Igb2xkIGJyb3dzZXJzICovXHJcblx0XHQvLyBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y3ZjlmOSwgI2U5ZjRmZCkgIWltcG9ydGFudDtcclxuXHRcdC8vIENocm9tZSAxMC0yNSwgU2FmYXJpIDUuMS02XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmN2Y5ZjksICNlOWY0ZmQpICFpbXBvcnRhbnQ7XHJcblx0XHQvLyAvLyBXM0MsIElFIDEwKy8gRWRnZSwgRmlyZWZveCAxNissIENocm9tZSAyNissIE9wZXJhIDEyKywgU2FmYXJpIDcrXHJcblx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC8vIFx0aDN7XHJcblx0XHQvLyBcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC5jb2x1bW4uc21hbGwtMTIubWVkaXVtLTYubWVkaXVtLXBsdXMtNntcclxuXHRcdC8vIFx0XHRwYWRkaW5nLWxlZnQ6IDByZW07XHJcblx0XHQvLyBcdFx0cGFkZGluZy1yaWdodDogMHJlbTtcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdFx0Ly8gaDN7XHJcblx0XHQvLyBcdGNvbG9yOiAjMWY0ZTg5O1xyXG5cdFx0Ly8gfVxyXG5cdFx0Ly8gLmNhcmQtd3JhcHBlciB7XHJcblx0XHQvLyBcdC5jYXJkIHtcclxuXHRcdC8vIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0Ly8gXHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0Ly8gXHRcdFx0cGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHRcdC8vIFx0XHRcdGg1IHtcclxuXHRcdC8vIFx0XHRcdFx0YSB7XHJcblx0XHQvLyBcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0XHQvLyBcdFx0XHRcdFx0QGluY2x1ZGUgbGluay1kb3R0ZWQtdW5kZXJsaW5lO1xyXG5cdFx0Ly8gXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHQvLyBcdFx0XHRcdFx0Y29sb3I6ICMxZjRlODk7XHJcblx0XHQvLyBcdFx0XHRcdH1cclxuXHRcdC8vIFx0XHRcdH1cclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LnNlcnZpY2UtY2FyZDpob3ZlciB7XHJcblx0XHQvLyBcdFx0YmFja2dyb3VuZDogI0Y0RjlGRjtcclxuXHRcdC8vIFx0XHRib3JkZXItY29sb3I6ICM5RUFFQkM7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LnNlcnZpY2UtY2FyZCB7XHJcblx0XHQvLyBcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Ly8gXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdC8vIFx0XHRtaW4taGVpZ2h0OiAxMHJlbTtcclxuXHRcdC8vIFx0XHRzdmcge1xyXG5cdFx0Ly8gXHRcdFx0aGVpZ2h0OiA1cmVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHQuc2VydmljZS1jYXJkOmhvdmVyIC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0Ly8gXHRcdHBhZGRpbmctdG9wOiAxLjByZW07XHJcblx0XHQvLyBcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC5zZXJ2aWNlLWNhcmQ6aG92ZXIgc3ZnIHtcclxuXHRcdC8vIFx0XHRoZWlnaHQ6IDUuNXJlbTtcclxuXHRcdC8vIFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdC8vIFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHQvLyBcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblx0XHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0Ly8gaDJ7XHJcblx0XHRcdFx0XHJcblx0XHQvLyBcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gXHRwe1xyXG5cdFx0Ly8gXHRcdHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50O1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyB9XHJcblx0fVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblx0IiwiLy8gQnVzaW5lc3MgVGF4IGFuZCBGaW5hbmNpYWxzOiBNYWluICYgU3VicGFnZXNcclxuXHRcclxuXHJcbi8vIFN1Yi1uYXYgZm9yIGVudGlyZSBzZWN0aW9uXHJcblxyXG5cdC5zdWItbmF2IHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHQvLyBmb250LXNpemU6IDFlbTtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLWdyYXk7IFxyXG5cdFx0Ly9tYXJnaW46IDAgMnJlbTtcclxuXHRcdC8vIGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Ly8gd2lkdGg6IDEwMCU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogZGFya2VuKCR3aGl0ZSw3KTtcclxuXHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0Ly8gQGV4dGVuZCAubWVudS1jZW50ZXJlZDtcclxuXHRcdFx0Ly8gb3ZlcmZsb3cteDogc2Nyb2xsO1xyXG5cdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAtMTdweDtcclxuXHRcdFx0Ly8gcGFkZGluZzogMCAxcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tZW51IHtcclxuXHRcdFx0bGkge1xyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRcdC8vIHBhZGRpbmc6IDFyZW0gMXJlbTtcclxuXHRcdFx0XHRcdGhlaWdodDogJG5hdmJhci1oZWlnaHQtZGVza3RvcDtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wICogLjQ7XHJcblx0XHRcdFx0XHQvLyBjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cclxuXHRcdFx0XHRcdCY6aG92ZXJ7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuXHRcdFx0XHRcdC8vIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGkuaXMtYWN0aXZlIHtcclxuXHJcblx0XHRcdFx0aGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1kZXNrdG9wICsgMXB4O1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAtMTBweDtcclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0XHRcdC8vIGJhY2tncm91bmQ6IHllbGxvdztcclxuXHRcdFx0XHRcdC8vIG1hcmdpbi1ib3R0b206IC0xMHB4O1xyXG5cdFx0XHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRyZWQtcHJpbWFyeTtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICR3aGl0ZTtcclxuXHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGJsdWUtZGFyay0xLDUpO1xyXG5cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGJsdWUtZGFyay0xLDUpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdC5idXNpbmVzcy1zdWJuYXYge1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogJGdyYXktbGlnaHQtMTtcclxuXHRcdC8vIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkZ3JheS1saWdodC0yO1xyXG5cdFx0XHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0Ly8gQGV4dGVuZCAubmF2LWNvbnRhaW5lci10ZW1wbGF0ZTtcclxuXHRcdH1cclxuXHJcblx0XHQuZC1ub25lLWJsb2NrIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR6LWluZGV4OiA5OTk7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5sb2dvIHtcclxuXHRcdFx0Ly8gbWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cclxuXHRcdFx0YSBpbWcge1xyXG5cdFx0XHRcdC8vIGhlaWdodDogMjZweDtcclxuXHRcdFx0XHRoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZSAqIC41O1xyXG5cdFx0XHRcdC8vIHZlcnRpY2FsbHkgY2VudGVyXHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQudG9wLWJhci1jZW50ZXItbSB7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5idG4tYmxvY2sge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcblx0XHRcdC5idG4tY29udGFjdCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uKGZhbHNlLCAkcmVkLXByaW1hcnksIGF1dG8sICR3aGl0ZSwgc29saWQpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hdi1tb2JpbGUtYnJlYWtwb2ludCBkb3duKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRuYXYtbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTowLjdyZW07XHJcblx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogLjhyZW07XHJcblx0XHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG5cclxuXHRcdFx0XHQvLyB2ZXJ0aWNhbGx5IGNlbnRlclxyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LnN0aWNreS5pcy1zdHVjayB7XHJcblx0XHRcdHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZC1ub25lLWJsb2NrIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnRvcC1iYXItY2VudGVyLW0ge1xyXG5cdFx0XHRcdC8vIHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0LnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKiBcdFx0XHJcblx0XHRuYXYuc3ViLW5hdiB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdHRvcDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQqL1xyXG5cclxuXHJcblx0XHR1bCB7XHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHQvLyBwYWRkaW5nOiAwcmVtIDFyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZzogMS4xcmVtIDByZW0gIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHQvLyBmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0XHQvLyBjb2xvcjogIzFmNGU4OSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0Ly8gZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdFx0Ly8gcGFkZGluZzogMXJlbSAwLjVyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdGxpLmFjdGl2ZSB7XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHQvLyBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2Y0NGQ1MjtcclxuXHRcdFx0XHRcdC8vIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBQQUdFOiBCdXNpbmVzcyBUYXggYW5kIEZpbmFuY2lhbHMgLSBNYWluXHJcblxyXG5cdC5idXNmaW4taW50cm8ge1xyXG5cdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcblx0XHQuaGVhZGVyIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHR9XHJcblxyXG5cdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRoZWlnaHQ6IDEycmVtO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdGhlaWdodDogMThyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmJ1c2Zpbi1wbGFucyB7XHJcblxyXG5cdFx0LmhlYWRlciB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY2FyZHMtcm93IHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMHJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbHVtbi1jYXJkIHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQsMCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0QGV4dGVuZCAuaWNvbi1zdmctaGVpZ2h0LW1lZGl1bTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuaWNvbi1wYXlyb2xsIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogLjVyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQvLyBmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbmNsdXNpb24tc2VjdGlvbiB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0XHJcblx0LmJ1c2Zpbi1mZWF0dXJlcy1tYWluIHtcclxuXHRcdC5oZWFkZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyAuZ3JvdXAtd3JhcHBlciBcclxuXHRcdC5mZWF0dXJlcy1zZWN0aW9uIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdC8vIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cclxuXHRcdFx0LmFsbC1mZWF0dXJlcyB7XHJcblx0XHRcdFx0Ly9ib3JkZXI6IGRvdHRlZCAxcHggI2VhZWFlYTtcclxuXHRcdFx0XHQvL2JhY2tncm91bmQ6ICRibHVlLWNhbGxvdXQ7XHJcblx0XHRcdFx0Ly8gcGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDJyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExLDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZSB7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdFx0XHRcdC8vIEBleHRlbmQgLnNtYWxsLXBsdXMtb2Zmc2V0LTE7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogM3JlbTtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigpO1xyXG5cclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHRcdFx0XHRoNSB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmg1LWFsdDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5jbW4tZGl2aWRlciB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQud3JhcHBlciB7XHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nOiAuNXJlbTtcclxuXHRcdFx0XHRcdC8vIC5pbnNpZGUtd3JhcHBlciB7XHJcblx0XHRcdFx0XHQvLyBcdC8vIGJvcmRlcjogc29saWQgMXB4ICNlYWVhZWE7XHJcblx0XHRcdFx0XHQvLyBcdEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCBjb2xsYXBzZSk7XHJcblx0XHRcdFx0XHQvLyBcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0XHRcdC8vIFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cdFx0XHRcdFx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7fVxyXG5cdFx0XHRcdFx0Ly8gXHQuaWNvbiB7XHJcblx0XHRcdFx0XHQvLyBcdFx0YmFja2dyb3VuZDogI2ZmZjsgLy8gYm9yZGVyLXJhZGl1czogMTAwJTtcclxuXHRcdFx0XHRcdC8vIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHQvLyBcdFx0bWFyZ2luOiAwLjVyZW0gMHJlbTsgLy9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKXtcclxuXHRcdFx0XHRcdC8vIFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHQvLyBcdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdFx0XHQvLyBcdFx0XHRoZWlnaHQ6IDRyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdC8vIFx0XHRcdG1heC1oZWlnaHQ6IDRyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdC8vIFx0XHR9XHJcblx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdC8vIFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRcdC8vIFx0XHRwYWRkaW5nLXRvcDogMC41cmVtIDtcclxuXHRcdFx0XHRcdC8vIFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcblx0XHRcdFx0XHQvLyBcdFx0aDUge1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0QGV4dGVuZCAuaDUtYWx0O1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdC8vIFx0XHRcdGNvbG9yOiAjMTQzMzUzO1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0Ly8gXHRcdFx0Ly8gZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG5cdFx0XHRcdFx0Ly8gXHRcdH1cclxuXHRcdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb25jbHVzaW9uLXNlY3Rpb24ge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHJcblxyXG5cclxuLy8gUEFHRTogQnVzaW5lc3MgVGF4IGFuZCBGaW5hbmNpYWxzIC0gRmVhdHVyZXMgLyBCZW5lZml0c1xyXG5cclxuXHQuYnVzZmluLWJlbmVmaXRzLWludHJvIHtcclxuXHRcdHBhZGRpbmctdG9wOiAzcmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblxyXG5cclxuXHRcdC5mZWF0dXJlcy1zZWN0aW9uIHtcclxuXHRcdFxyXG5cdFx0LmFsbC1mZWF0dXJlcyB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZlYXR1cmVzLXJvdyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0LmZlYXR1cmUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY2FyZCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAuNXJlbSAxcmVtO1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZy1yaWdodDogMXJlbTtcclxuXHRcdFx0XHRcdFxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0Ly8gcGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdFx0XHRcdC8vIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cclxuXHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGNEY5RkY7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjOUVBRUJDO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdC5jYXJkLXNlY3Rpb24ge1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDEuMHJlbTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5jYXJkLWxpbmsge1xyXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdC5jb2x1bW4taWNvbntcclxuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dHtcclxuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgsMCk7XHJcblx0XHRcdFx0XHQvLyBwYWRkaW5nOiAwIC41cmVtIDAgMDtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0aDUge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5oNS1hbHQ7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjhlbTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmJ1c2Zpbi1mZWF0dXJlcy1waWNrZXIge1xyXG5cdFx0QGV4dGVuZCAuYmFzZS1zZXJ2aWNlcy1waWNrZXI7XHJcblx0XHQuc2VydmljZXMtZ3JvdXAge1xyXG5cdFx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTsgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdC8vIFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuYnVzZmluLXRheGVzLXNvbHV0aW9uIHtcclxuXHJcblx0XHQuc2VjdGlvbi1oZWFkZXIge1xyXG5cdFx0XHQuaGVhZGVyIHtcclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuc2VjdGlvbi1ncmFwaGljIHtcclxuXHJcblx0XHRcdHBhZGRpbmctdG9wOiAuNXJlbTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHQuZ3JhcGhpYyB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSwwKTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMCwwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogbGlnaHRlbigkYmx1ZS1wcmltYXJ5LDQ1KTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzb3VyY2VzL2ltZy9idXNfYmdfcGF0dGVybi5zdmdcIik7XHJcblxyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTEwcHggYXV0bztcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxNjBweCBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGxpZ2h0ZW4oJGJsdWUtcHJpbWFyeSwxNSk7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4IHRyYW5zcGFyZW50aXplKGxpZ2h0ZW4oJGJsdWUtcHJpbWFyeSwxNSksLjgpO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgMXB4IGxpZ2h0ZW4oJGNvbG9yLWJvcmRlci1ncmF5LDA5KTtcclxuXHRcdFx0XHQvLyBib3JkZXItd2lkdGg6IDBweCAwO1xyXG5cclxuXHRcdFx0XHQuYmctb3ZlcmxheSB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogMTByZW07XHJcblx0XHRcdFx0XHQvLyBoZWlnaHQ6IDEycmVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogLjVyZW0gMCAuMjVyZW07XHJcblx0XHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZShkYXJrZW4oJHdoaXRlLDEpLC41KTtcclxuXHRcdFx0XHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsLjM1KSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwuNjUpIDI4JSwgcmdiYSgyNTUsMjU1LDI1NSwuNjUpIDcyJSwgcmdiYSgyNTUsMjU1LDI1NSwuMzUpIDEwMCUpO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUobGlnaHRlbigkYmx1ZS1wcmltYXJ5LDQ3KSwuNSk7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jaXJjbGUtd3JhcHBlcntcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDhyZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMnJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3JlbSk7XHJcblx0XHRcdFx0XHQvLyB3aWR0aDogMjByZW07XHJcblx0XHRcdFx0XHQvLyB3aWR0aDogODAlO1xyXG5cdFx0XHRcdFx0Ly8gcGFkZGluZzogLjVyZW0gLjhyZW0gLjdyZW07XHJcblx0XHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiAjRkZGO1xyXG5cdFx0XHRcdFx0Ly8gYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWJvcmRlci1ncmF5O1xyXG5cdFx0XHRcdFx0Ly8gYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6MTAwJTtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zZWN0aW9uLWZlYXR1cmVzIHtcclxuXHRcdFx0Ly8gcGFkZGluZy10b3A6IDByZW07XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG5cdFx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHJcblx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyBkb3duKSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tdG9wO1xyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEsMCk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxLDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdC8vIGhlaWdodDogMnJlbTtcclxuXHRcdFx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRoZWlnaHQ6IDJyZW07XHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdFx0XHRcdC8vIGhlaWdodDogNHJlbTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxLjVyZW07XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIGhlaWdodDogNXJlbTtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEuNXJlbTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHN2Zy5jaGVja21hcmsge1xyXG5cdFx0XHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAtLjVyZW07XHJcblx0XHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGJsdWUtcHJpbWFyeSwxNSk7XHJcblx0XHRcdFx0XHRcdC8vIGZpbGw6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMSk7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC44NWVtO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEsMCk7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGg1IHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmg1LWFsdDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIC5pY29uIHtcclxuXHRcdC8vIFx0Lmljb24tc3ZnIHtcclxuXHRcdC8vIFx0XHRoZWlnaHQ6IDZyZW07XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHRcdC8vIC5ncmFwaGljIHtcclxuXHRcdC8vIFx0cGFkZGluZzogMDsgLy9iYWNrZ3JvdW5kOiBoc2xhKDIxMSwgMTAwJSwgOTklLCAxKTtcclxuXHRcdC8vIFx0Ly9ib3JkZXI6IHNvbGlkIDFweCAjZDBlNmZmO1xyXG5cdFx0Ly8gXHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdC8vIFx0cGFkZGluZy1ib3R0b206IDFyZW07IC8vYm9yZGVyLXdpZHRoOiAxcHggMDtcclxuXHRcdC8vIFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdC8vIFx0fVxyXG5cdFx0Ly8gfVxyXG5cdFx0Ly8gLmRlc2NyaXB0aW9uIHtcclxuXHRcdC8vIFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcblx0XHQvLyBcdFx0XHRwYWRkaW5nOiAwcmVtO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHQvLyBcdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIFx0LmZlYXR1cmVsaXN0IHtcclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QgY29sbGFwc2UpOyAvLyBAZXh0ZW5kIC5jb2xsYXBzZTtcclxuXHRcdC8vIFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHQvLyBcdFx0Lmljb24tcm93IHtcclxuXHRcdC8vIFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdC8vIFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRcdC8vIFx0XHRcdFx0cGFkZGluZzogMXJlbSAxLjVyZW0gMS41cmVtO1xyXG5cdFx0Ly8gXHRcdFx0fVxyXG5cdFx0Ly8gXHRcdFx0LmZlYXR1cmUtaWNvbiB7XHJcblx0XHQvLyBcdFx0XHRcdGJvcmRlcjogMXB0IHNvbGlkICM5RUFFQkM7XHJcblx0XHQvLyBcdFx0XHRcdG1hcmdpbjogMS4ycmVtIDByZW0gMXJlbTtcclxuXHRcdC8vIFx0XHRcdFx0YmFja2dyb3VuZDogI0ZERkRGRDtcclxuXHRcdC8vIFx0XHRcdFx0cGFkZGluZzogMXJlbSAwcmVtO1xyXG5cdFx0Ly8gXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHQvLyBcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Ly8gXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHQvLyBcdFx0XHRcdFx0d2lkdGg6IDI4MHB4O1xyXG5cdFx0Ly8gXHRcdFx0XHR9XHJcblx0XHQvLyBcdFx0XHR9XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHRcdC5mZWF0dXJlIHtcclxuXHRcdC8vIFx0XHRcdC50ZXh0IHtcclxuXHRcdC8vIFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Ly8gXHRcdFx0fVxyXG5cdFx0Ly8gXHRcdFx0aDQge1xyXG5cdFx0Ly8gXHRcdFx0XHRmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XHJcblx0XHQvLyBcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdC8vIFx0XHRcdH1cclxuXHRcdC8vIFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0Ly8gXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdC8vIFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdC8vIFx0XHRcdH1cclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHR9XHJcblxyXG5cclxuXHQuYnVzZmluLW1hbmFnZSB7XHJcblxyXG5cdFx0LmhlYWRlci1zZWN0aW9uIHtcclxuXHRcdFx0LmhlYWRlciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5mZWF0dXJlcy1zZWN0aW9uIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5hbGwtZmVhdHVyZXMge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0LnJvdyB7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0XHJcblx0XHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDEuNXJlbTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHQuY29sdW1uLWljb24ge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tc2VsZi10b3A7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDVyZW07XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogN3JlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjg1ZW07XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHRoNSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmJ1c2Zpbi1mdXR1cmUge1xyXG5cclxuXHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTE7XHJcblx0XHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0yO1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0LDApO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0LDApO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4tdGV4dCB7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTI7XHJcblx0XHRcdEBleHRlbmQgLm1lZGl1bS1vcmRlci0xO1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRcclxuXHRcdFx0LnQtYmRyLXRvcCB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDZyZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMHJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDByZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5idXNmaW4tdGF4ZXhwZW5zZSB7XHJcblx0XHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cclxuXHQuYnVzZmluLXRlYW0ge1xyXG5cdFx0XHJcblx0XHQuZmVhdHVyZXMtc2VjdGlvbiB7XHJcblxyXG5cdFx0XHQuYWxsLWZlYXR1cmVzIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tY2VudGVyO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHJcblx0XHRcdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSl7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQucm93IHtcclxuXHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMyk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdFx0Ly8gRGVmaW5lIGhlaWdodCBmb3IgaWNvblxyXG5cdFx0XHRcdFx0JF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtc21hbGw6IDNyZW07XHJcblx0XHRcdFx0XHQkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbC1wbHVzOiAzLjVyZW07XHJcblx0XHRcdFx0XHQkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1tZWRpdW06IDRyZW07XHJcblx0XHRcdFx0XHQkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1tZWRpdW0tcGx1czogNXJlbTtcclxuXHJcblx0XHRcdFx0XHQuY2lyY2xlLXdyYXBwZXIge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmF5LWxpZ2h0LTEsIDElKTtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggbGlnaHRlbigkYmx1ZS1wcmltYXJ5LCA0MiUpO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwcmVtKTtcclxuXHRcdFx0XHRcdFx0Ly8gaGVpZ2h0OiA3cmVtO1xyXG5cdFx0XHRcdFx0XHQvLyB3aWR0aDogN3JlbTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcblx0XHRcdFx0XHRcdGhlaWdodDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtc21hbGwgKiAxLjI1O1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtc21hbGwgKiAxLjI1O1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtc21hbGwgLyA4O1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LXNtYWxsLXBsdXMgKiAxLjI1O1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbC1wbHVzICogMS4yNTtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtc21hbGwtcGx1cyAvIDg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bSAqIDEuMjU7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bSAqIDEuMjU7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bSAvIDg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtbWVkaXVtLXBsdXMgKiAxLjI1O1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1tZWRpdW0tcGx1cyAqIDEuMjU7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6ICRfX2J1c2Zpbi10ZWFtX2ljb24taGVpZ2h0LW1lZGl1bS1wbHVzIC8gODtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtc21hbGw7XHJcblx0XHRcdFx0XHRcdC8vIHdpZHRoOiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbDtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1zbWFsbC1wbHVzO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAkX19idXNmaW4tdGVhbV9pY29uLWhlaWdodC1tZWRpdW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpe1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogJF9fYnVzZmluLXRlYW1faWNvbi1oZWlnaHQtbWVkaXVtLXBsdXM7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig4KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDExKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHJcblxyXG4vLyBQQUdFOiBCdXNpbmVzcyBUYXggYW5kIEZpbmFuY2lhbHMgLSBQcmljaW5nXHJcblxyXG5cdC5wcmljaW5nLXRhYiB7XHJcblx0XHQucHJpY2luZy10YWJsZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggJG1lZGl1bS1ncmF5O1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0fVx0XHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRtZWRpdW0tZ3JheTtcclxuXHRcdFx0XHRwYWRkaW5nOiAwLjg3NXJlbSAxLjEyNXJlbTtcclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRpdGxlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5wcmljZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcclxuXHRcdFx0XHRmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcblx0XHRcdH1cclxuXHRcdFx0Omxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdFxyXG5cclxuIiwiXHQvLyBUYXggUHJvYmxlbXM6IE1haW4gUGFnZVxyXG5cdC5oZXJvLXRheHByb2JsZW1zIHtcclxuXHRcdC5oZXJvLWNvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50YXhwcm9ibGVtcy1zdWJoZXJvIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblxyXG5cclxuXHRcdC5oZWFkZXJ7XHJcblx0XHRcdEBleHRlbmQgLnNocmluaztcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHRcdC8vIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTApO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoNCB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0Y29sb3I6IGRhcmtlbigkd2hpdGUsNSk7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdC8vIGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdGhlaWdodDoxcHg7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zZXJ2aWNlcy1waWNrZXIge1xyXG5cdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdFxyXG5cdFx0XHQuc2VydmljZSB7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTEpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig1KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpe1xyXG5cdFx0XHRcdFx0XHQvLyBAZXh0ZW5kIC5sYXJnZS1vZmZzZXQtMTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ly8gY29sdW1uIHNpemVzLCBhbGlnbm1lbnRzLCBhbmQgc3BhY2luZ3MgRklSU1QsIGNvbnRlbnRzIHNlcGFyYXRlIGJlbG93XHJcblx0XHRcdFx0LmNhcmQge1xyXG5cclxuXHRcdFx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHJcblx0XHRcdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1wbHVzKXtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuY29sdW1uLXRleHQge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdC8vIGNvbnRlbnRzIGhlcmVcclxuXHRcdFx0XHQuY2FyZCB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA3cHg7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblxyXG5cdFx0XHRcdFx0LnJvdyAuY29sdW1uLXRleHQgaDUgYSB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmZvbnQtYWx0ZXJuYXRlLTE7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZW4oJGJsdWUtcHJpbWFyeSwxMCk7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJveC1zaGFkb3cgKDBweCwgMHB4LCAyNXB4LCByZ2JhKDAsMCwwLC4xNSkpO1xyXG5cclxuXHRcdFx0XHRcdFx0LnJvdyAuY29sdW1uLXRleHQgYSB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkYmx1ZS1kYXJrLTEsNSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gY29sb3I6IGRhcmtlbigkcmVkLXByaW1hcnksMzApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyAucm93IC5jb2x1bW4taWNvbiBzdmcge1xyXG5cdFx0XHRcdFx0XHQvLyBcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRcdFx0aGVpZ2h0OiA3cmVtO1xyXG5cdFx0XHRcdFx0XHQvLyBcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0XHRcdGhlaWdodDogOHJlbTtcclxuXHRcdFx0XHRcdFx0Ly8gXHRcdH1cclxuXHRcdFx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC5yb3cge1xyXG5cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi1pY29uIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA1cmVtO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNnJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LmNvbHVtbi10ZXh0IHtcclxuXHJcblx0XHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZTtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGJsdWUtZGFyay0xO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC5zZXJ2aWNlcy1ncm91cCB7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogaHNsYSgyMTEsIDk5JSwgOTclLCAxKTtcclxuXHRcdFx0XHRwYWRkaW5nOiAwcmVtOyAvLyBib3JkZXI6IHNvbGlkIDFweCAjYTRkMGZmO1xyXG5cdFx0XHRcdC8vIGJvcmRlci13aWR0aDogMXB4IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0LnNlcnZpY2UtY2FyZCB7XHJcblx0XHRcdFx0Ly8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdC8vIGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHQvLyBtaW4taGVpZ2h0OiAxMHJlbTtcclxuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdC8vIG1pbi1oZWlnaHQ6IDlyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGNEY5RkY7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM5RUFFQkM7XHJcblx0XHRcdFx0XHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDEuMHJlbTtcclxuXHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjtcclxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGhlaWdodDogNS41cmVtO1xyXG5cdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHQvLyB3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogNXJlbTtcclxuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0Ly8gXHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmNhcmQtc2VjdGlvbiB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDByZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0Ly8gZm9udC1zaXplOiAwLjhyZW07XHJcblx0XHRcdFx0XHRcdC8vIEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZTtcclxuXHRcdFx0XHRcdFx0Ly8gZm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0Ly8gY29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNhcmQtbGluayB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRheHByb2JsZW1zLXByb21pc2Uge1xyXG5cdFx0cGFkZGluZy10b3A6IDRyZW07XHJcblxyXG5cdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRwYWRkaW5nOiAwcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nOiBpbmhlcml0O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdC8vIHBhZGRpbmc6IDByZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYm9yZGVyLXJlZCB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFwdCBzb2xpZCAjRjVDNUM2O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5ncmFwaGljIGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdG1heC1oZWlnaHQ6IDEzcmVtO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiAyN3JlbSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdC8vIGhlaWdodDogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IG5vbmU7XHJcblx0XHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogLTEuNXJlbTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudGF4cHJvYmxlbXMtYnVzaW5lc3MtaXNzdWVzLFxyXG5cdC50YXhwcm9ibGVtcy1wZXJzb25hbC1pc3N1ZXMge1xyXG5cdFx0LmJveC1zdmcge1xyXG5cdFx0XHQvLyBib3JkZXI6IDFwdCBzb2xpZCAjOUVBRUJDO1xyXG5cdFx0XHRtYXJnaW46IDEuMnJlbSAwcmVtIDFyZW07XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICNGRkY7XHJcblx0XHR9XHJcblx0XHQuYm94LXN2ZzEge1xyXG5cdFx0XHQvLyBib3JkZXI6IDFwdCBzb2xpZCAjOUVBRUJDO1xyXG5cdFx0XHRtYXJnaW46IDEuMnJlbSAwcmVtIDFyZW07XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICNGREZERkQ7XHJcblx0XHR9XHJcblx0XHQuaWNvbi1ibG9jayB7XHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xyXG5cdFx0XHRcdG1hcmdpbjogMXJlbSAwcmVtIDByZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHR3aWR0aDogNnJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0aDQge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcclxuXHRcdFx0XHRmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0XHRtYXJnaW46IDByZW0gMHJlbSAxLjVyZW07XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNiU7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRheHByb2JsZW1zLWtub3dsZWRnZS1leHBlcmllbmNlIHtcclxuXHJcblx0XHQuZmVhdHVyZSB7XHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHRcdFx0XHRAZXh0ZW5kIC5hbGlnbi1jZW50ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LmNvbHVtbi1ncmFwaGljIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lmljb24ge1xyXG5cdFx0XHRcdEBleHRlbmQgLmljb24tc3ZnLWhlaWdodC1zbWFsbDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQvLyBtYXgtd2lkdGg6IDVyZW07XHJcblxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi10ZXh0IHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIC5jb250YWluZXIge1xyXG5cdFx0Ly8gXHQuZmVhdHVyZS1pY29uIHtcclxuXHRcdC8vIFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0Ly8gXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHQvLyBcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Ly8gXHRcdGhlaWdodDogMTEwcHg7XHJcblx0XHQvLyBcdFx0cGFkZGluZzogMjRweDtcclxuXHRcdC8vIFx0XHR3aWR0aDogMTEwcHg7XHJcblx0XHQvLyBcdFx0bWFyZ2luOiAxcmVtIDByZW07XHJcblx0XHQvLyBcdFx0Ym9yZGVyOiAxcHQgc29saWQgI2RiZTVmMDtcclxuXHRcdC8vIFx0XHRzdmcge1xyXG5cdFx0Ly8gXHRcdFx0aGVpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdEBleHRlbmQgLnNtYWxsLTEyO1xyXG5cdFx0Ly8gXHRAZXh0ZW5kIC5tZWRpdW0tNDtcclxuXHRcdC8vIFx0LnRleHQge1xyXG5cdFx0Ly8gXHRcdEBleHRlbmQgLnN1Yi1ibG9jaztcclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBwbHVzKSB7XHJcblx0XHQvLyBcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDUpO1xyXG5cdFx0Ly8gXHRcdH1cclxuXHRcdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0Ly8gXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHQvLyBcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHRcdGg1IHtcclxuXHRcdC8vIFx0XHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC50ZXh0IHtcclxuXHRcdC8vIFx0XHRoNCB7XHJcblx0XHQvLyBcdFx0XHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcblx0XHQvLyBcdFx0fVxyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC5pY29uIHtcclxuXHRcdC8vIFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0Ly8gXHRcdFx0QGV4dGVuZCAuaWNvbi1zdmctaGVpZ2h0LXN0ZDtcclxuXHRcdC8vIFx0XHR9XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHR9XHJcblxyXG5cdC50YXhwcm9ibGVtcy1wZXJzb25hbC1pc3N1ZXMge1xyXG5cdFx0LmZlYXR1cmVzLXJvdyB7XHJcblx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBjb2x1bW4gc2l6ZXMgYW5kIGFsaWdubWVudHMgRklSU1QsIG90aGVyIHN0eWxlcyBhZnRlclxyXG5cdFx0LmZlYXR1cmV7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yb3d7XHJcblx0XHRcdFx0QGV4dGVuZCAuYWxpZ24tbWlkZGxlO1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcclxuXHJcblx0XHRcdFx0LmNvbHVtbi1pY29ue1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0LDApO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMywwKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCwwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4tdGV4dHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNyk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvLyBvdGhlciBzdHlsZXNcclxuXHRcdC5mZWF0dXJle1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHQmOmZpcnN0LW9mLXR5cGV7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMHJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblxyXG5cdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZXtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucm93e1xyXG5cdFx0XHRcdC5jb2x1bW4taWNvbiB7XHJcblxyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiA1cmVtO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKXtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDdyZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuY29sdW1uLXRleHR7XHJcblx0XHRcdFx0XHQvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmg0LWFsdDtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblxyXG5cdFx0LnRpdGxlLWJsb2NrIHtcclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMCU7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTAlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgcGx1cykge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHQudGF4cHJvYmxlbXMtYnVzaW5lc3MtaXNzdWVzIHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cdFx0cC5lbmdsaXNoLXRlcm1zIHtcclxuXHRcdFx0Zm9udC1zaXplOiAuN2VtO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlYXR1cmVzLWxpc3Rze1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuXHRcdFx0LmdyYXBoaWMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHQvLyBoZWlnaHQ6IDM1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVx0XHJcblxyXG5cdFx0XHQuYWxsLWxpc3RzIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLDApO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMiwwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yb3cge1xyXG5cdFx0XHRcdEBleHRlbmQgLmFsaWduLW1pZGRsZTtcclxuXHJcblx0XHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFxyXG5cdFx0XHRcdC5jYXRlZ29yeS1pY29uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMywwKTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmljb24tc3ZnLWhlaWdodC1tZWRpdW07XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA5cmVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuY2F0ZWdvcnktbGlzdCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig5KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig3KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5yb3c7XHJcblx0XHRcdFx0XHRcdEBleHRlbmQgLmNvbGxhcHNlO1xyXG5cdFx0XHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuXHRcdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNik7XHJcblxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IC44NXJlbTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IC45cmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGxpLmNhdGVnb3J5IHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvci1ib3JkZXItZ3JheTtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuXHJcblx0XHRcdFx0XHRcdFx0aDN7XHJcblx0XHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5oMy1hbHQ7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6MS4wNWVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gZm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAuNXJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC5jYXRlZ29yaWVzLXJvdyB7XHJcblxyXG5cdFx0XHQuY2F0ZWdvcnkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0LmhlYWRlcntcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC5mZWF0dXJlIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0iLCIvLyBDb250YWN0IFVzIFBhZ2VcclxuXHJcbi5oZXJvLWNvbnRhY3R7XHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHQvLyBAaW5jbHVkZSBibHVlLWJsdWVncmVlbi1ncmFkaWVudCgpO1xyXG5cdFx0QGluY2x1ZGUgYmx1ZS1ibHVlZ3JlZW4tbGluZWFyLWdyYWRpZW50KCk7XHJcblx0XHRcclxuXHRcdHBhZGRpbmctYm90dG9tOiA2cmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA4cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuXHR9XHJcblxyXG5cclxufVxyXG5cdC5oZWFkZXJfaG93LWNhbi13ZS1oZWxwIHtcclxuXHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cclxuXHRcdGgxIHsgXHJcblx0XHRcdC8vIEBleHRlbmQgLmdlbmVyaWMtaDE7XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdGgyIHsgXHJcblx0XHRcdEBleHRlbmQgLmdlbmVyaWMtaDI7XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdHAgeyBcclxuXHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdFx0Ly8gd2hpdGUtc3BhY2U6IHByZTtcclxuXHJcblx0XHRcdC50cy1waG9uZSB7XHJcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0XHRmb250LXNpemU6IDEuNWVtO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA0cHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50cy1waG9uZS1zdGFyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAuN2VtO1xyXG5cdFx0XHRcdHRvcDogLS43ZW07XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDA7XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRjb2xvcjogZGFya2VuKCRidXNpbmVzcy1ibHVlLDIwKTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4IGRhcmtlbigkYnVzaW5lc3MtYmx1ZSwyMCk7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Ly8gY29sb3I6IGxpZ2h0ZW4oJGJ1c2luZXNzLWJsdWUsNDApO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRyZWQtbWVkaXVtO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHJlZC1tZWRpdW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0aDIsIHAge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0YS5tb3JlLWluZm9ybWF0aW9uLWJlbG93IHtcclxuXHRcdFx0QGluY2x1ZGUgbGluay1jb2xvciggZGFya2VuKCR3aGl0ZSwxNSksIGxpZ2h0ZW4oJGJsdWUtcHJpbWFyeSwgMjUpICk7XHJcblx0XHRcdEBpbmNsdWRlIGxpbmstZG90dGVkLXVuZGVybGluZSggZGFya2VuKCR3aGl0ZSwxNSksIGxpZ2h0ZW4oJGJsdWUtcHJpbWFyeSwgMjUpICk7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHRcdFxyXG5cclxuXHJcblxyXG4uaW5mby1hbmQtY29udGFjdCB7XHJcblx0LmNvbnRlbnQge1xyXG5cclxuXHRcdC8vIG1hcmdpbi10b3A6IC04cmVtO1xyXG5cdFx0bWFyZ2luLXRvcDogLTEwcmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cyl7XHJcblx0XHRcdG1hcmdpbi10b3A6IC0xMnJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcblx0XHRcdG1hcmdpbi10b3A6IC0xNHJlbTtcclxuXHRcdH1cclxuXHJcblxyXG5cclxuXHRcdC5jb2x1bW4taW5mb3tcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBkYXJrZW4ocmdiYSgyNSwgMTM2LCAyNTUsIDEpLDYpLCBsaWdodGVuKHJnYmEoMzcsIDE3MiwgMjAyLCAxKSw4KSApO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAkYmx1ZS1kYXJrLTEsICRidXNpbmVzcy1ibHVlICk7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHJcblx0XHRcdC5jb2x1bW4tcGhvbmUsIC5jb2x1bW4tdmlzaXQsIC5jb2x1bW4tc29jaWFsIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uLXNvY2lhbCB7XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAuc21hbGwtb2Zmc2V0LTY7XHJcblx0XHRcdFx0Ly8gQGV4dGVuZCAubWVkaXVtLW9mZnNldC0wO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLXBsdXMgZG93bikge1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aDQge1xyXG5cdFx0XHRcdEBleHRlbmQgLmg0LWFsdDtcclxuXHRcdFx0XHRmb250LXNpemU6IC44ZW07XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdFx0XHRjb2xvcjogZGFya2VuKCR3aGl0ZSw4KTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAuMjVlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cclxuXHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRhLnNvY2lhbGxpbmsge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IC41cmVtO1xyXG5cclxuXHRcdFx0XHQuaWNvbi1zdmcge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxLjVyZW07XHJcblx0XHRcdFx0XHR3aWR0aDogMS41cmVtO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdFx0XHRcdFx0ZmlsbDogY3VycmVudENvbG9yO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0Ly8gY29sb3I6ICRyZWQtcHJpbWFyeTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGJsdWUtcHJpbWFyeSwxMCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuaWNvbi15b3V0dWJlIHtcclxuXHRcdFx0XHRcdGhlaWdodDogMS44cmVtO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEuOHJlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0uMDVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi1mb3JtIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oOCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0LmZvcm0td3JhcHBlciB7XHJcblxyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IHllbGxvdztcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDE4cHggNDBweCAtMTBweCByZ2JhKDAsIDAsIDAsIC4xOCk7XHJcblx0XHRcdC8vIG1hcmdpbi10b3A6IDFyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucGhvbmVuYnItbGFiZWwge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogNHJlbTtcclxuXHRmb250LXNpemU6IC44ZW07XHJcblx0dmVydGljYWwtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuXHJcbi5hbGwtY29udGFjdC1pbmZvIHtcclxuXHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcblx0LmNvbnRlbnQge1xyXG5cdFx0aDUscCB7XHJcblx0XHRcdC8vIG1hcmdpbi1sZWZ0OiAuNXJlbTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0cCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IC4yNXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRhLnNvY2lhbGxpbmsge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAuNXJlbTtcclxuXHRcdFx0XHJcblx0XHRcdC5pY29uLXN2ZyB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxLjZyZW07XHJcblx0XHRcdFx0d2lkdGg6IDEuNnJlbTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQuaW5mb3JtYXRpb24tcm93IHtcclxuXHRcdC5jb2x1bW4tcGhvbmUsIFxyXG5cdFx0LmNvbHVtbi1sb2NhdGlvbiwgXHJcblx0XHQuY29sdW1uLWhvdXJzLCBcclxuXHRcdC5jb2x1bW4tc3VwcG9ydCwgXHJcblx0XHQuY29sdW1uLXNvY2lhbCB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4taG91cnMge1xyXG5cclxuXHRcdFx0QGV4dGVuZCAuc21hbGwtb3JkZXItMztcclxuXHRcdFx0QGV4dGVuZCAubWVkaXVtLXBsdXMtb3JkZXItMjtcclxuXHJcblxyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHQucmVndWxhci1ob3VycywgLmV4dGVuZGVkLWhvdXJzIHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigxMik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHRcdFx0cGFkZGluZzogMXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmV4dGVuZGVkLWhvdXJzIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbHVtbi1zb2NpYWwsIC5jb2x1bW4tc3VwcG9ydCB7XHJcblx0XHRcdEBleHRlbmQgLnNtYWxsLW9yZGVyLTI7XHJcblx0XHRcdEBleHRlbmQgLm1lZGl1bS1wbHVzLW9yZGVyLTM7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0KTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMTRyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5idXR0b24ge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC41cmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb2x1bW4taG91cnMge1xyXG5cclxuXHRcdC5yZWd1bGFyLWhvdXJzLCAuZXh0ZW5kZWQtaG91cnMge1xyXG5cdFx0XHQvLyBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLWdyYXk7XHJcblx0XHRcdC8vIHBhZGRpbmc6IDFyZW07XHJcblxyXG5cdFx0XHRcclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmhvdXJzLWRheXMtbGFiZWwge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWluLXdpZHRoOiA4cmVtO1xyXG5cdFx0XHQvLyBtaW4td2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC5ob3Vycy1kYXlzIHtcclxuXHRcdFx0Ly8gcGFkZGluZy1sZWZ0OiAuNWVtO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5hcHBvaW50bWVudHMge1xyXG5cdFx0XHQvLyBmb250LXNpemU6IC44ZW07XHJcblx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdH1cclxuXHJcblxyXG5cclxuXHRcdGg1IHtcclxuXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjZlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuZXh0ZW5kZWQtaG91cnMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0xO1xyXG5cclxuXHRcdFx0aDUge1xyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IDNlbTtcclxuXHRcdFx0XHQvLyBtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0XHQuaG91cnMtZGF5cy1sYWJlbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjhlbTtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHQuaG91cnMtZGF5c3tcclxuXHRcdH1cclxuXHJcblx0XHQuZXh0ZW5kZWQtaG91cnMtZGlzY2xhaW1lciB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjc1ZW07XHJcblx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTE7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY29sdW1uLWxvY2F0aW9uIHtcclxuXHJcblx0XHQuZGlyZWN0aW9ucy1saW5rIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbi5tYXAtc2VjdGlvbiB7XHJcblx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0cGFkZGluZy1ib3R0b206IDVyZW07XHJcblxyXG5cdCNtYXAge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDI1cmVtO1xyXG5cdH1cclxuXHJcblx0Lm1hcC1pbmZvd2luZG93LWNvbnRlbnQge1xyXG5cdFx0aW1nIHtcclxuXHRcdFx0aGVpZ2h0OiAxLjZyZW07XHJcblx0XHRcdC8vIG1hcmdpbjogLjhyZW0gMCAuM3JlbTtcclxuXHRcdFx0bWFyZ2luOiAwcmVtIDAgLjNyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLmZvb3Rlci1zZWN0aW9uIHtcclxuXHRiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0xO1xyXG5cdC8vIGJhY2tncm91bmQ6IGRhcmtlbigkYmx1ZS1wcmltYXJ5LDIwKTtcclxuXHQvLyBmb250LXNpemU6IC43ZW07XHJcblx0Ly8gZm9udC13ZWlnaHQ6IDMwMDtcclxuXHQvLyBwYWRkaW5nLXRvcDogMi41cmVtO1xyXG5cdHBhZGRpbmc6IDRyZW0gMXJlbSAycmVtO1xyXG5cdFxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0QGV4dGVuZCAuY29udGFpbmVyLXRlbXBsYXRlO1xyXG5cdFx0Ly8gQGV4dGVuZCAuY29udGFpbmVyLXBhZGRpbmctc3RhbmRhcmQ7XHJcblxyXG5cdFx0LnNpdGUtbGlua3MgeyAgLy8gXCIuY29udGVudFwiXHJcblxyXG5cdFx0XHQvLyBjcmVhdGUgNS1jb2x1bW4gZ3JpZCBpbnN0ZWFkIG9mIGRlZmF1bHQgMTJcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdyhudWxsLGV4cGFuZCwxMCk7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoMixcIi5saW5rcy1ibG9ja1wiKTtcclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCg0LFwiLmxpbmtzLWJsb2NrXCIpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubGlua3MtYmxvY2sgeyAgLy8gXCIuY29udGVudC1ibG9ja1wiXHJcblxyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjc1cmVtOyBcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcblx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB1bCB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR1bCB7XHJcblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMS4yNXJlbTtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAuNWVtO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHJcblxyXG5cdFx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBjb2xvcjogJGJsdWUtZGFyay0yO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1kYXJrLTE7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHJcblxyXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzFmNGU4OTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1kYXJrLTI7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMjtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0XHRcdC8vcGFkZGluZy1ib3R0b206IC43ZW07XHJcblxyXG5cdFx0XHRcdFx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSl7XHJcblx0XHRcdFx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC50aXRsZSB7XHJcblx0XHRcdFx0XHRcdC8vIGNvbG9yOiAkYmx1ZS1kYXJrLTI7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTI7XHJcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRcdFx0XHQvL3BhZGRpbmctYm90dG9tOiAuN2VtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0fVxyXG59XHJcblxyXG4uc3ViZm9vdGVyIHtcclxuXHRiYWNrZ3JvdW5kOiAkZ3JheS1saWdodC0yO1xyXG5cdHBhZGRpbmc6IDFyZW0gMXJlbSAycmVtO1xyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmctdG9wOiAuNXJlbTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0XHRcdC51dGlsaXR5LWxpbmtzIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLXJvdztcclxuXHRcdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHJcblx0XHRcdC5saW5rcy1sZWZ0LCAubGlua3MtcmlnaHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0XHRcdFx0cGFkZGluZzogLjVyZW0gMCAwO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2LDApO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0XHRcdFx0bWFyZ2luOjA7XHJcblxyXG5cdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubGlua3MtbGVmdCB7XHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5saW5rcy1yaWdodCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6MWVtO1xyXG5cclxuXHRcdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubGFuZ3VhZ2Utc29jaWFsIHtcclxuXHRcdFx0QGV4dGVuZCAudXRpbGl0eS1saW5rcztcclxuXHJcblx0XHRcdC5saW5rcy1sZWZ0IHVsIGxpIHsgXHJcblx0XHRcdFx0Ly8gbWFyZ2luLXRvcDogLjJyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zb2NpYWwtcm93IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0KTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5sYWJlbC1ibG9jaywgLmljb25zLWJsb2NrIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5sYWJlbC1ibG9jayB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuaWNvbnMtYmxvY2sge1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLS4yNXJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0XHRcdCRzdWJmb290ZXItc29jaWFsLWljb24taGVpZ2h0OiAxLjVyZW07XHJcblxyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IFx0YmxvY2s7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogXHQkc3ViZm9vdGVyLXNvY2lhbC1pY29uLWhlaWdodDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Lmljb24tc3ZnIHtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAkc3ViZm9vdGVyLXNvY2lhbC1pY29uLWhlaWdodDtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IFx0JHN1YmZvb3Rlci1zb2NpYWwtaWNvbi1oZWlnaHQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvcHlyaWdodC10ZXJtcyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjZyZW07IFxyXG5cdFx0XHRcclxuXHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggJGdyYXktbWlkLTE7XHJcblx0XHRcdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAuMjVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiIsIi8vIEJMT0cgU1RZTEVTSEVFVFxyXG5cclxuXHJcbi5ibG9nLW5hdiB7XHJcblx0Ly8gaGVpZ2h0OiAzcmVtO1xyXG5cdHBhZGRpbmc6IC43NXJlbSAwO1xyXG5cdC8vIGhlaWdodDogMXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiAkYmx1ZS1wcmltYXJ5O1xyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRhaW5lci10ZW1wbGF0ZTtcclxuXHR9XHJcblxyXG5cdC50aXRsZSB7XHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYmxvZy1uYXYtY2F0ZWdvcnkge1xyXG5cdGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTI7XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyLXRlbXBsYXRlO1xyXG5cdFx0cGFkZGluZzogMCAycmVtO1xyXG5cdH1cclxuXHJcblx0Lm1lbnUge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG5cdFx0bGkgeyBcclxuXHRcdFx0Zm9udC1zaXplOiAuOXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRsaSA+IGEge1xyXG5cdFx0XHRjb2xvcjogJGdyYXktbWlkLTE7XHJcblx0XHRcdHBhZGRpbmctdG9wOjEuNHJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206MS40cmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cyl7XHJcblx0XHRcdFx0cGFkZGluZzogMS40cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGxpLmFjdGl2ZSA+IGEge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhlcm8tYmxvZy1pbmRleCB7XHJcblx0Lmhlcm8tY29udGVudCB7XHJcblx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmhlcm8tYmxvZy1hcnRpY2xlIHtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRibHVlLXByaW1hcnksIC42NSk7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gcm91bmQtcHJvZmlsZS1waWMoJHdpZHRoKSB7XHJcblx0Ym9yZGVyLXJhZGl1czogMTByZW07XHJcblx0d2lkdGg6ICR3aWR0aDtcclxuXHRoZWlnaHQ6ICR3aWR0aDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHQvLyBiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrLTI7XHJcblx0Ly8gYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcblx0aW1nIHtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLnByb2ZpbGUtcGljIHtcclxuXHRib3JkZXItcmFkaXVzOiAxMHJlbTtcclxuXHR3aWR0aDogNi41cmVtO1xyXG5cdGhlaWdodDogNi41cmVtO1xyXG5cdHdpZHRoOiA3cmVtO1xyXG5cdGhlaWdodDogN3JlbTtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrLTI7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHQvL2JvcmRlcjogc29saWQgMXB4ICRncmF5LW1pZC0xO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6MTJyZW07XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gYmxvZ19hcnRpY2xlIHtcclxuXHJcblx0YXJ0aWNsZSB7XHJcblx0XHQucG9zdC1pbWFnZSB7XHJcblx0XHRcdGltZyB7IFxyXG5cdFx0XHRcdGhlaWdodDo0cmVtO1xyXG5cdFx0XHRcdHdpZHRoOmF1dG87XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLnNlY3Rpb24tYmxvZy1pbmRleC1saXN0aW5nIHtcclxuXHJcblx0LmJsb2ctYXJ0aWNsZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cclxuXHJcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdFxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0QGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2KTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wbHVzKSB7XHJcblx0XHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNCk7XHJcblx0XHR9XHJcblxyXG5cdFx0YXJ0aWNsZSB7XHJcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGdyYXktbGlnaHQtMjtcclxuXHRcdFx0YmFja2dyb3VuZDogJGdyYXktbGlnaHQtMTtcclxuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRoZWFkZXIge1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAuOTtcclxuXHJcblx0XHRcdFx0LnBvc3QtaW1hZ2Uge1xyXG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHRcdGhlaWdodDogOHJlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdFx0aW1nIHsgXHJcblx0XHRcdFx0XHRcdGhlaWdodDoxMDAlO1xyXG5cdFx0XHRcdFx0XHRtaW4td2lkdGg6MTAwJTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNhdGVnb3J5LCAuc2VwYXJhdG9yIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTouNmVtO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRncmF5LW1pZC0xO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRhLmNhdGVnb3J5IHtcclxuXHRcdFx0XHQgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHQgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHQgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHJcblx0XHRcdFx0ICAgICY6aG92ZXIge1xyXG5cdFx0XHRcdCAgICBcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5zZXBhcmF0b3Ige1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIC40NWVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aDIge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcclxuXHRcdFx0XHQgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHQgICAgY29sb3I6ICRibGFjaztcclxuXHRcdFx0XHQgICAgY29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHQgICAgbWFyZ2luLXRvcDogLjc1ZW07XHJcblx0XHRcdFx0ICAgIG1hcmdpbi1ib3R0b206IC45cmVtO1xyXG5cdFx0XHRcdCAgICBwYWRkaW5nOiAwIDFyZW1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zdW1tYXJ5IHtcclxuXHRcdFx0XHRmb250LXNpemU6IC43NWVtO1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrLTM7XHJcblx0XHRcdFx0cGFkZGluZzogMCAxcmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhLnJlYWQtbW9yZSB7XHJcblx0XHRcdFx0Ly8gQGluY2x1ZGUgYnV0dG9uKGZhbHNlLCAjQ0FDQUNBLCAkYmx1ZS1wcmltYXJ5LCBhdXRvLCBob2xsb3cpO1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI0NBQ0FDQTtcclxuXHRcdFx0XHRjb2xvcjogI0FBQTtcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHRcclxufVxyXG5cclxuLnNlY3Rpb24tYmxvZy1hcnRpY2xlIHtcclxuXHJcblx0LmNvbnRhaW5lciB7IHBhZGRpbmctdG9wOiAwOyB9XHJcblxyXG5cdC5mZWF0dXJlZC1pbWFnZSB7XHJcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cclxuXHJcblx0LmJsb2ctYXJ0aWNsZXtcclxuXHRcdEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMTIpO1xyXG5cdFx0cGFkZGluZzowIDJyZW07XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBsdXMpIHtcclxuXHRcdFx0cGFkZGluZzowO1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDgpO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHRhcnRpY2xlIHtcclxuXHRcdFx0Ly8gbWFyZ2luLXRvcDogLTNyZW07XHJcblxyXG5cdFx0XHRoZWFkZXIge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDNlbTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRoMSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDJlbTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHQvLyBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgc2VyaWY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5hcnRpY2xlLXN1bW1hcnkge1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IGF1dG87XHJcblx0XHRcdFx0XHRmb250LXNpemU6IC44ZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQucHJvZmlsZS1waWMge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgcm91bmQtcHJvZmlsZS1waWMoM3JlbSk7XHJcblx0XHRcdFx0XHRtYXJnaW46MCAxZW0gMCAwO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmF1dGhvciwgLmRhdGUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOi45ZW07XHJcblx0XHRcdFx0XHRjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cclxuXHRcdFx0XHQuY2F0ZWdvcnksIC5zZXBhcmF0b3Ige1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOi43ZW07XHJcblx0XHRcdFx0XHRjb2xvcjogJGdyYXktbWlkLTE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGEuY2F0ZWdvcnkge1xyXG5cdFx0XHRcdCAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdCAgICBmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdCAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG5cclxuXHRcdFx0XHQgICAgJjpob3ZlciB7XHJcblx0XHRcdFx0ICAgIFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnNlcGFyYXRvciB7XHJcblx0XHRcdFx0XHRtYXJnaW46IDAgLjQ1ZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYXJ0aWNsZS1ib2R5IHtcclxuXHRcdFx0XHRoMSxoMixoMyxoNCxoNSxoNiB7XHJcblx0XHRcdFx0XHQvLyBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgc2VyaWY7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdC8vIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcclxuXHRcdFx0XHRcdC8vIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ0dlb3JnaWEnLCBzZXJpZjtcclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVsLCBvbCB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDozZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGgxIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS44ZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGgyIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS42ZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBBcnRpY2xlIEltYWdlc1xyXG5cclxuXHRcdFx0XHQvLyBTcGVjaWZpYyBNYXRyaXggQmxvY2tzXHJcblx0XHRcdFx0LmFydGljbGVJbWFnZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxZW07XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XHJcblxyXG5cdFx0XHRcdFx0LmltYWdlQ2FwdGlvbiB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHRcdFx0XHRcdGNvbG9yOiRncmF5LWRhcmstMTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5hcnRpY2xlSW1hZ2UtZnVsbCB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5hcnRpY2xlSW1hZ2UtcmlnaHQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDUwJSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5hcnRpY2xlSW1hZ2UtY2VudGVyIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA3NSUgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmZlYXR1cmVkUXVvdGUge1xyXG5cdFx0XHRcdFx0YmxvY2txdW90ZSB7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiBzb2xpZCAzcHggJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAuNWVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNhbGxvdXQsIC5yZWxhdGVkQXJ0aWNsZSwgLmZlYXR1cmVkU25pcHBldCB7XHJcblx0XHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jYWxsb3V0IHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDNlbTtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTE7XHJcblx0XHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkZ3JheS1saWdodC0yO1xyXG5cdFxyXG5cdFx0XHRcdFx0cCwgdWwsIG9sLCBhLCB7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQucmVsYXRlZEFydGljbGUge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDFlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5mZWF0dXJlZFNuaXBwZXQge1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAycHggJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHRcdGJvcmRlci13aWR0aDogMXB4IDA7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmstMjtcclxuXHRcdFx0XHRcdFx0Ly8gY29sb3I6ICRibHVlLWRhcmstMTtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjE1ZW07XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDJlbSAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8vIFRlc3RpbW9uaWFscyBQYWdlcyAtLSBJbmRleCBhbmQgRW50cnlcclxuLmhlcm8tdGVzdGltb25pYWxzIHtcclxuXHJcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuXHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuMTUpO1xyXG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogJGdyYXktbGlnaHQtMTtcclxuXHJcblx0XHQuaGVyby1jb250ZW50IHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwcmVtO1xyXG5cclxuXHRcdFx0XHJcblxyXG5cdFx0XHRoMSB7XHJcblx0XHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGJsdWUtZGFyay0xO1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi5zZWN0aW9uLXRlc3RpbW9uaWFsLXBlcnNvbmluZm8ge1xyXG5cdC8vIG1hcmdpbi10b3A6IC03cmVtO1xyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdC8vIHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblxyXG5cdFx0aDUge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDouNXJlbTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHRwLnBlcnNvbi1kZXRhaWxzIHtcclxuXHRcdFx0Y29sb3I6ICRncmF5LW1pZC0xO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5zZWN0aW9uLXRlc3RpbW9uaWFsIHtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdC8vIHBhZGRpbmctdG9wOiAyLjVyZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OjE1JTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDoxNSU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwLnN1bW1hcnkge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAxLjRyZW07XHJcblx0XHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHR9XHJcblxyXG5cdC50ZXN0aW1vbmlhbC1jb250ZW50IHtcclxuXHRcdGgyIHsgXHJcblx0XHRcdGZvbnQtc2l6ZTogMS42NXJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDEuNXJlbTtcclxuXHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZS1kYXJrLTE7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblxyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xyXG5cdFx0XHQvLyBsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uLXRlc3RpbW9uaWFsLWZlYXR1cmVxdW90ZSB7XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEyJTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMiU7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHQvLyBtYXgtd2lkdGg6IDkwMHB4O1xyXG5cdFx0XHQvLyBtYXJnaW46IDAgYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHQuY29udGVudCB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRibHVlLXByaW1hcnk7XHJcblxyXG5cdFx0XHRoMyB7XHJcblx0XHRcdFx0cGFkZGluZzogMS41cmVtIDFyZW0gMS41cmVtO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRmb250LXNpemU6MS45cmVtO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRcdFx0Ly8gZm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdGNvbG9yOiAkYmx1ZS1wcmltYXJ5O1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0Ly8gYm9yZGVyOiBzb2xpZCAxcHggJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0XHQvLyBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuXHRcdFx0XHQvLyBmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRlc3RpbW9uaWFsLXZpZGVvIHtcclxuXHQvLyBoZWlnaHQ6MTByZW07XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiA0MHJlbTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHR9XHJcblx0XHJcblx0LnRlc3RpbW9uaWFsLWluZGV4LXZpZGVvIHtcclxuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCAgICB3aWR0aDogMTAwJTtcclxuXHQgICAgaGVpZ2h0OiAwO1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xyXG5cclxuXHRcdC52aWRlbyB7XHJcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ICAgIHRvcDogMDtcclxuXHRcdCAgICBsZWZ0OiAwO1xyXG5cdFx0ICAgIHdpZHRoOiAxMDAlO1xyXG5cdFx0ICAgIGhlaWdodDogMTAwJTtcclxuXHRcdH1cdFxyXG5cdH1cclxufVxyXG5cclxuLnNlY3Rpb24tdGVzdGltb25pYWwtY2FyZHMge1xyXG5cdGJhY2tncm91bmQ6ICNGQ0ZDRkM7XHJcblxyXG5cdC50ZXN0aW1vbmlhbC1jYXJkLWNvbHVtbiB7XHJcblx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyKTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYpO1x0XHRcdFxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcGx1cykge1xyXG5cdFx0XHRAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDQpO1x0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRlc3RpbW9uaWFsLWNhcmQge1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggJGdyYXktbGlnaHQtMjtcclxuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRcdC8vIHBhZGRpbmc6IC43NXJlbTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XHJcblxyXG5cdFx0LnBpYyB7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdHBhZGRpbmc6IC44cmVtIDA7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTI7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTE7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRibHVlLXByaW1hcnksLjc1KTtcclxuXHRcdH1cclxuXHJcblx0XHQubmFtZSwgLnF1b3RlIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5xdW90ZSB7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRibHVlLXByaW1hcnksLjc1KTtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogJGJsdWUtcHJpbWFyeTtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0Y29sb3I6ICRibHVlLXByaW1hcnk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdFx0cGFkZGluZzogMXJlbSAxLjVyZW0gMDtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcclxuXHRcdH1cclxuXHJcblx0XHQubmFtZSB7XHJcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0LTE7XHJcblx0XHRcdHBhZGRpbmc6IDFyZW0gMDtcclxuXHRcdFx0aDUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5wZXJzb24tZGV0YWlscyB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAuNXJlbTtcclxuXHRcdFx0XHRjb2xvcjogJGdyYXktZGFyay0xO1xyXG5cdFx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1vcmVsaW5rIHtcclxuXHRcdFx0Ly8gYmFja2dyb3VuZDogJGJsdWUtcHJpbWFyeTtcclxuXHJcblx0XHRcdGRpdiBhIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBidXR0b24odHJ1ZSwgJGJsdWUtcHJpbWFyeSwgJGJsdWUtZGFyay0xLCBhdXRvLCBob2xsb3cpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gYSB7XHJcblx0XHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdC8vIFx0dG9wOiAwO1xyXG5cdFx0Ly8gXHRib3R0b206IDA7XHJcblx0XHQvLyBcdGxlZnQ6IDA7XHJcblx0XHQvLyBcdHJpZ2h0OiAwO1xyXG5cdFx0Ly8gfVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4udGVzdGltb25pYWwtcHJvZmlsZS1waWMge1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcmVtO1xyXG5cdHdpZHRoOiA2LjVyZW07XHJcblx0aGVpZ2h0OiA2LjVyZW07XHJcblx0d2lkdGg6IDdyZW07XHJcblx0aGVpZ2h0OiA3cmVtO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQ6ICRncmF5LWRhcmstMjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdC8vYm9yZGVyOiBzb2xpZCAxcHggJGdyYXktbWlkLTE7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDoxMnJlbTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLnRlc3RpbW9uaWFsLXNsaWRlci1jb250YWluZXIge1xyXG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcclxuXHJcbiAgLm9yYml0LXByZXZpb3VzLFxyXG4gIC5vcmJpdC1uZXh0IHtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLm9yYml0LXByZXZpb3VzIHtcclxuICAgIGxlZnQ6IC0xcmVtO1xyXG4gIH1cclxuICBcclxuICAub3JiaXQtbmV4dCB7XHJcbiAgICByaWdodDogLTFyZW07XHJcbiAgfVxyXG5cclxuICAudGVzdGltb25pYWwtc2xpZGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgfVxyXG5cclxuICAudGVzdGltb25pYWwtc2xpZGUtY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XHJcbiAgICAgIHBhZGRpbmc6IDFyZW0gNHJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9maWxlLXBpY3Qge1xyXG4gICAgbWF4LXdpZHRoOiAyMjVweDtcclxuICAgIGltZ3tcclxuICAgIFx0Ym9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGVzdGltb25pYWwtc2xpZGUtdGV4dCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmYhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzoycmVtIDFyZW0gMC41cmVtO1xyXG4gIH1cclxuXHJcbiAgLnRlc3RpbW9uaWFsLXNsaWRlLXF1b3RhdGlvbiB7XHJcbiAgICBmb250OiAxLjVyZW0vMnJlbSBcIk9wZW4gU2Fuc1wiLHNhbnMtc2VyaWYhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMCFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIuKAnFwiO1xyXG4gICAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICAgIGNvbG9yOiBsaWdodGVuKCRibGFjaywgODAlKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAtM3JlbTtcclxuICAgICAgY29sb3I6ICMwNzZhY2Q7XHJcblx0Zm9udC1zaXplOiA4NXB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Zm9udC1mYW1pbHk6IHNlcmlmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRlc3RpbW9uaWFsLXNsaWRlLWF1dGhvci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlLWF1dGhvci1pbmZvIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ub3JiaXQtcHJldmlvdXN7XHJcbmN1cnNvcjpwb2ludGVyOyBcclxuXHQmOmJlZm9yZXtcclxuYm9yZGVyLWNvbG9yOiAjMzE5N2Q2O1xyXG5ib3JkZXItdG9wLXdpZHRoOiAycHg7XHJcbm1hcmdpbi10b3A6IC0wLjNyZW07XHJcbm1hcmdpbi1sZWZ0OiAwLjNyZW07XHJcbnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxudG9wOiA1MCU7XHJcbmxlZnQ6IDUwJTtcclxuYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcclxuYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XHJcbmJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG5jb250ZW50OiBcIlwiO1xyXG5oZWlnaHQ6IDEuMnJlbTtcclxud2lkdGg6IDEuMnJlbTtcclxudHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKSAhaW1wb3J0YW50O1xyXG5jdXJzb3I6cG9pbnRlcjtcclxufVxyXG59XHJcbi5vcmJpdC1uZXh0e1xyXG5jdXJzb3I6cG9pbnRlcjsgXHJcblx0JjpiZWZvcmV7XHJcbmJvcmRlci1jb2xvcjogIzMxOTdkNjtcclxuYm9yZGVyLXRvcC13aWR0aDogMnB4O1xyXG5tYXJnaW4tdG9wOiAtMC4zcmVtO1xyXG5tYXJnaW4tbGVmdDogMC4zcmVtO1xyXG5wb3NpdGlvbjogYWJzb2x1dGU7XHJcbnRvcDogNTAlO1xyXG5sZWZ0OiA1MCU7XHJcbmJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XHJcbmJvcmRlci1yaWdodC13aWR0aDogMnB4O1xyXG5ib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuY29udGVudDogXCJcIjtcclxuaGVpZ2h0OiAxLjJyZW07XHJcbndpZHRoOiAxLjJyZW07XHJcbnRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpICFpbXBvcnRhbnQ7XHJcbmN1cnNvcjpwb2ludGVyO1xyXG5tYXJnaW4tbGVmdDogLTI1cHg7XHJcbn1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQ0FBLG1HQUFtRztBQTBGbkcsT0FBTyxDQUFDLDRFQUFJO0FBQ1osT0FBTyxDQUFDLHdFQUFJO0FBekZaLFVBQVU7RUFDVCxXQUFXLEVBQUUsYUFBYTtFQUMxQixHQUFHLEVBQUUsb0RBQW9EO0VBQ3pELEdBQUcsRUFBRSwyREFBMkQsQ0FBQywyQkFBMkIsRUFDM0YscURBQXFELENBQUMsY0FBYyxFQUNwRSxvREFBb0QsQ0FBQyxrQkFBa0I7RUFDeEUsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFDLHNCQUFzQjs7QUFHbkMsVUFBVTtFQUNULFdBQVcsRUFBRSxhQUFhO0VBQzFCLEdBQUcsRUFBRSw4Q0FBOEM7RUFDbkQsR0FBRyxFQUFFLHFEQUFxRCxDQUFDLDJCQUEyQixFQUNyRiwrQ0FBK0MsQ0FBQyxjQUFjLEVBQzlELDhDQUE4QyxDQUFDLGtCQUFrQjtFQUNsRSxXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUMsc0JBQXNCOztBQUluQyxVQUFVO0VBQ1QsV0FBVyxFQUFFLGFBQWE7RUFDMUIsR0FBRyxFQUFFLDRDQUE0QztFQUNqRCxHQUFHLEVBQUUsbURBQW1ELENBQUMsMkJBQTJCLEVBQ25GLDZDQUE2QyxDQUFDLGNBQWMsRUFDNUQsNENBQTRDLENBQUMsa0JBQWtCO0VBQ2hFLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBQyxzQkFBc0I7O0FBR25DLFVBQVU7RUFDVCxXQUFXLEVBQUUsYUFBYTtFQUMxQixHQUFHLEVBQUUsbURBQW1EO0VBQ3hELEdBQUcsRUFBRSwwREFBMEQsQ0FBQywyQkFBMkIsRUFDMUYsb0RBQW9ELENBQUMsY0FBYyxFQUNuRSxt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Q2xxQlQsUUFBUSxFZ0QvQjFCLEFoRGdFRSxrQmdEaEVnQixDaERnRWhCLFFBQVEsQUF4Q1IsTUFBTyxBK0N5cUJQLHlCQUF5QixBL0NscUJULFFBQVEsRWtEMUd6QixBbEQySUMsVWtEM0lTLENsRDJJVCxRQUFRLEFBeENSLE1BQU8sQStDeXFCUCx5QkFBeUIsQS9DbHFCVCxRQUFRO0UrQzZtQnpCLEEvQzVrQkMsUStDNGtCTyxDL0M1a0JQLFFBQVEsQUF4Q1IsTUFBTyxBK0MwcUJQLDBCQUEwQixBL0NucUJWLFFBQVEsRWdEM0gxQixBaEQ0SkUsSWdENUpFLENoRDRKRixRQUFRLEFBeENSLE1BQU8sQStDMHFCUCwwQkFBMEIsQS9DbnFCVixRQUFRLEVnRC9CMUIsQWhEZ0VFLGtCZ0RoRWdCLENoRGdFaEIsUUFBUSxBQXhDUixNQUFPLEErQzBxQlAsMEJBQTBCLEEvQ25xQlYsUUFBUSxFa0QxR3pCLEFsRDJJQyxVa0QzSVMsQ2xEMklULFFBQVEsQUF4Q1IsTUFBTyxBK0MwcUJQLDBCQUEwQixBL0NucUJWLFFBQVEsRStDNm1CekIsQS9DNWtCQyxRK0M0a0JPLEMvQzVrQlAsUUFBUSxBQXhDUixNQUFPLEErQ2l1QlAsMkJBQTJCLEEvQzF0QlgsUUFBUSxFZ0QzSDFCLEFoRDRKRSxJZ0Q1SkUsQ2hENEpGLFFBQVEsQUF4Q1IsTUFBTyxBK0NpdUJQLDJCQUEyQixBL0MxdEJYLFFBQVEsRWdEL0IxQixBaERnRUUsa0JnRGhFZ0IsQ2hEZ0VoQixRQUFRLEFBeENSLE1BQU8sQStDaXVCUCwyQkFBMkIsQS9DMXRCWCxRQUFRLEVrRDFHekIsQWxEMklDLFVrRDNJUyxDbEQySVQsUUFBUSxBQXhDUixNQUFPLEErQ2l1QlAsMkJBQTJCLEEvQzF0QlgsUUFBUSxFQWlDeEIsQUFBQSxRQUFRLEFBeENSLE1BQU8sQStDdXFDUixlQUFlLEEvQ2hxQ0UsUUFBUSxFQWlDeEIsQUFBQSxRQUFRLEFBeENSLE1BQU8sQStDMnJDUixvQkFBb0IsQS9DcHJDSCxRQUFRLEVnRDNIMUIsQWhENEpFLElnRDVKRSxDQUdILFVBQVUs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Q0FHWCxPQUFPLENBQUM7TUF6T1YsWUFBdUIsRXREbklDLElBQUk7TXNEb0k1QixXQUFzQixFQUFTLENBQUMsR0EwTzdCO0VBekdMLEFBNkdFLEtBN0dHLEFBNkdILGFBQWMsRThEbVJqQixBOURoWUMsUThEZ1lPLEM5RGhZUCxLQUFLLEE4RHFiTCx5QkFBeUIsRUM3eEIzQixBL0R3V0UsSStEeFdFLEMvRHdXRixLQUFLLEE4RHFiTCx5QkFBeUIsRUNqc0IzQixBL0Q0UUUsa0IrRDVRZ0IsQy9ENFFoQixLQUFLLEE4RHFiTCx5QkFBeUIsRUc1d0IxQixBakV1VkMsVWlFdlZTLENqRXVWVCxLQUFLLEE4RHFiTCx5QkFBeUI7RUFyRDFCLEE5RGhZQyxROERnWU8sQzlEaFlQLEtBQUssQThEc2JMLDBCQUEwQixFQzl4QjVCLEEvRHdXRSxJK0R4V0UsQy9Ed1dGLEtBQUssQThEc2JMLDBCQUEwQixFQ2xzQjVCLEEvRDRRRSxrQitENVFnQixDL0Q0UWhCLEtBQUssQThEc2JMLDBCQUEwQixFRzd3QjNCLEFqRXVWQyxVaUV2VlMsQ2pFdVZULEtBQUssQThEc2JMLDBCQUEwQixFQXREM0IsQTlEaFlDLFE4RGdZTyxDOURoWVAsS0FBSyxBOEQ2ZUwsMkJBQTJCLEVDcjFCN0IsQS9Ed1dFLEkrRHhXRSxDL0R3V0YsS0FBSyxBOEQ2ZUwsMkJBQTJCLEVDenZCN0IsQS9ENFFFLGtCK0Q1UWdCLEMvRDRRaEIsS0FBSyxBOEQ2ZUwsMkJBQTJCLEVHcDBCNUIsQWpFdVZDLFVpRXZWUyxDakV1VlQsS0FBSyxBOEQ2ZUwsMkJBQTJCLEU5RDdlM0IsQUFBQSxLQUFLLEE4RG03Qk4sZUFBZSxFOURuN0JkLEFBQUEsS0FBSyxBOER1OEJOLG9CQUFvQixFQy95Q3JCLEEvRHdXRSxJK0R4V0UsQ0FHSCxVQUFVLEMvRHFXVCxLQUFLLEErRHBXTCxRQUFRLEVHNkJULEFsRXVVQyx3QmtFdlV1QixDQU92QixpQkFBaUIsQ0FtRGhCLGFBQWEsQ0FHWixRQUFRLENsRTBRVixLQUFLLEFrRW5PRixJQUFJLEVBcEdSLEFsRXVVQyx3QmtF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RTVuQkssUWtFNG5CRyxDQXVGUCx5QkFBeUIsQ0FDeEIsUUFBUSxFQ2gwQlgsQW5FNEdNLEltRTVHRixDRCt6QkYseUJBQXlCLENBQ3hCLFFBQVEsRUNwdUJYLEFuRWdCTSxrQm1FaEJZLENEbXVCaEIseUJBQXlCLENBQ3hCLFFBQVEsRUcveUJWLEFyRTJGSyxVcUUzRkssQ0g4eUJULHlCQUF5QixDQUN4QixRQUFRLEVBeEZWLEFsRTVuQkssUWtFNG5CRyxDQWtHUCwwQkFBMEIsQ0FDekIsUUFBUSxFQzMwQlgsQW5FNEdNLEltRTVHRixDRDAwQkYsMEJBQTBCLENBQ3pCLFFBQVEsRUMvdUJYLEFuRWdCTSxrQm1FaEJZLENEOHVCaEIsMEJBQTBCLENBQ3pCLFFBQVEsRUcxekJWLEFyRTJGSyxVcUUzRkssQ0h5ekJULDBCQUEwQixDQUN6QixRQUFRLEVLbHBCVixBdkU3RUssdUJ1RTZFa0IsQ0F5QnRCLFFBQVEsRUFnakJULEF2RXRwQkssMEJ1RXNwQnFCLENBRXpCLFlBQVksRUN1SGIsQXhFL3dCSyxjd0Urd0JTLENBRWIsWUFBWSxDeEVqeEJrQjtFbkU5QjlCLEtBQUssRW1FNkJVLENBQUMsR0FHWDs7QUFGRCxBQUFBLGNBQWMsRWtFNG5CbkIsQWxFNW5CSyxRa0U0bkJHLENBdUZQLHlCQUF5QixDQUt4QixZQUFZLEVDcDBCZixBbkU0R00sSW1FNUdGLENEK3pCRix5QkFBeUIsQ0FLeEIsWUFBWSxFQ3h1QmYsQW5FZ0JNLGtCbUVoQlksQ0RtdUJoQix5QkFBeUIsQ0FLeEIsWUFBWSxFR256QmQsQXJFMkZLLFVxRTNGSyxDSDh5QlQseUJBQXlCLENBS3hCLFlBQVksRUE1RmQsQWxFNW5CSyxRa0U0bkJHLENBa0dQLDBCQUEwQixDQUt6QixZQUFZLEVDLzBCZixBbkU0R00sSW1FNUdGLENEMDBCRiwwQkFBMEIsQ0FLekIsWUFBWSxFQ252QmYsQW5FZ0JNLGtCbUVoQlksQ0Q4dUJoQiwwQkFBMEIsQ0FLekIsWUFBWSxFRzl6QmQsQXJFMkZLLFVxRTNGSyxDSHl6QlQsMEJBQTBCLENBS3pCLFlBQVksRUt0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QUFJLEVBQUUsS0FBSztNQUNYLEtBQUssRUFBRSxPQUFPO01BQ25CLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLEtBQUssR0FDZDtFQTlETCxBQWlFRSw2QkFqRTJCLENBaUUzQixtQ0FBbUMsQ0FBQztJQUNsQyxPQUFPLEVBQUUsSUFBSSxHQU9kO0kvSTdKRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxTQUFTO00rSW9GN0MsQUFxRU0sNkJBckV1QixDQWlFM0IsbUNBQW1DLENBSS9CLDhCQUE4QixDQUFDO1FBQzdCLFdBQVcsRUFBRSxJQUFJLEdBQ2xCOztBQUlQLEFBQUEsZUFBZSxDQUFBO0VBQ2YsTUFBTSxFQUFDLE9BQU8sR0FrQmI7RUFuQkQsQUFFQyxlQUZjLEFBRWQsT0FBUSxDQUFBO0lBQ1QsWUFBWSxFQUFFLE9BQU87SUFDckIsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixVQUFVLEVBQUUsT0FBTztJQUNuQixXQUFXLEVBQUUsTUFBTTtJQUNuQixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLElBQUksRUFBRSxHQUFHO0lBQ1Qsa0JBQWtCLEVBQUUsS0FBSztJQUN6QixrQkFBa0IsRUFBRSxHQUFHO0lBQ3ZCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsT0FBTyxFQUFFLEVBQUU7SUFDWCxNQUFNLEVBQUUsTUFBTTtJQUNkLEtBQUssRUFBRSxNQUFNO0lBQ2IsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxVQUFVO0lBQ3RELE1BQU0sRUFBQyxPQUFPLEdBQ2I7O0FBRUQsQUFBQSxXQUFXLENBQUE7RUFDWCxNQUFNLEVBQUMsT0FBTyxHQW1CYjtFQXBCRCxBQUVDLFdBRlUsQUFFVixPQUFRLENBQUE7SUFDVCxZQUFZLEVBQUUsT0FBTztJQUNyQixnQkFBZ0IsRUFBRSxHQUFHO0lBQ3JCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLEdBQUc7SUFDVCxrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLGtCQUFrQixFQUFFLEdBQUc7SUFDdkIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixPQUFPLEVBQUUsRUFBRTtJQUNYLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLE1BQU07SUFDYixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFVBQVU7SUFDcEQsTUFBTSxFQUFDLE9BQU87SUFDZCxXQUFXLEVBQUUsS0FBSyxHQUNqQiIsInNvdXJjZVJvb3QiOiIuLi8uLi9zb3VyY2Uvc2NzcyJ9 */
