/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Line.vue?vue&type=style&index=0&id=d9e91122&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.line[data-v-d9e91122] {
    display:flex;
    width: 100%;
}
td {
&.pr-40-pc[data-v-d9e91122] {
        padding-right: 6%;
}
&.price[data-v-d9e91122] {
        text-align: right;
}
}
.name[data-v-d9e91122] {
    width: 60%;
}
input {
&[data-v-d9e91122] {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    }
&.name[data-v-d9e91122] {
}
&.number[data-v-d9e91122] {
}
}
div {
&.total[data-v-d9e91122] {
        display: flex;
        align-items: end;
        align-content: end;
        justify-content: end;
        font-weight: bold;
        text-align: right;
        flex-grow: 1;
}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Customer.vue?vue&type=style&index=0&id=3d1418d9&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.customer-form {
&[data-v-3d1418d9] {

    margin: 0 auto;
}
div[data-v-3d1418d9] {
        display: flex;
        flex-direction: column;
        margin-bottom: 10px;
}
}


/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Quotation.vue?vue&type=style&index=0&id=ab5f6dbe&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.quill-container[data-v-ab5f6dbe] {
    display: flex;
    flex-direction: column;
}
table {
&[data-v-ab5f6dbe] {
        width: 100%;
    }
tr {
td {
&.price[data-v-ab5f6dbe] {
                    text-align: right;
}
}
th[data-v-ab5f6dbe] {
}
}
}
button {
&[data-v-ab5f6dbe]:hover {
            cursor: pointer;
}
}


/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Invoice.vue?vue&type=style&index=0&id=ea8a4cfc&scoped=true&lang=css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.quill-container[data-v-ea8a4cfc] {
    display: flex;
    flex-direction: column;
}
.quill-container .ql-editor[data-v-ea8a4cfc] {
    min-height: 100px; /* Une hauteur minimale pour le départ */
    width: 100%;
}
table {
&[data-v-ea8a4cfc] {
        width: 100%;
    }
tr {
td {
&.price[data-v-ea8a4cfc] {
                    text-align: right;
}
}
th[data-v-ea8a4cfc] {
}
}
}
button {
&[data-v-ea8a4cfc]:hover {
            cursor: pointer;
}
}


/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/ProductUpdate.vue?vue&type=style&index=0&id=64eec9ad&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.modal-update {
&[data-v-64eec9ad] {
        background: white;
        width: -moz-max-content;
        width: max-content;
        padding:15px;
        border-radius: 0 8px 8px 8px;
        transform: translateY(-50%);
        box-shadow: 0 0 8px rgba(0,0,0,0.5);
        z-index: 999;
        margin-top: 35px;
}
&[data-v-64eec9ad]:before {
            position: absolute;
            bottom: 100%;
            height: 35px;
            line-height: 35px;
            left:0;
            border-radius: 8px 8px 0 0;
            background: black;
            color: white;
            content: attr(data-text);
            padding: 0 12px;
            font-size: 16px;
            font-weight: bold;
}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/ProductsTable.vue?vue&type=style&index=0&id=84ac5242&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.add-product-form-container[data-v-84ac5242] {
        position: relative;
}
.add-product-form[data-v-84ac5242] {
        position: absolute;
        top:100%;
        left:0;
        z-index: 999;
        background: white;
        padding:20px;
        border-radius: 5px;
        box-shadow: 5px 5px 7px rgba(0,0,0,0.5);
        width: 250px;
        margin-top:10px;
        max-height: 80vh;
        overflow: auto;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/Settings.vue?vue&type=style&index=0&id=2743aa9e&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.quill-container[data-v-2743aa9e] {
      display: flex;
      flex-direction: column;
}



/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/CustomerUpdate.vue?vue&type=style&index=0&id=5a6b2c82&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.modal-update {
&[data-v-5a6b2c82] {
        background: white;
        width: -moz-max-content;
        width: max-content;
        padding:15px;
        border-radius: 0 8px 8px 8px;
        transform: translateY(-10%);
        box-shadow: 0 0 8px rgba(0,0,0,0.5);
        z-index: 999;
}
&[data-v-5a6b2c82]:before {
            position: absolute;
            bottom: 100%;
            height: 35px;
            line-height: 35px;
            left:0;
            border-radius: 8px 8px 0 0;
            background: black;
            color: white;
            content: attr(data-text);
            padding: 0 12px;
            font-size: 16px;
            font-weight: bold;
}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/components/CustomersTable.vue?vue&type=style&index=0&id=99b38c98&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.add-customer-form-container[data-v-99b38c98] {
        position: relative;
}
.add-customer-form[data-v-99b38c98] {
        position: absolute;
        top:100%;
        left:0;
        z-index: 999;
        background: white;
        padding:20px;
        border-radius: 5px;
        box-shadow: 5px 5px 7px rgba(0,0,0,0.5);
        width: 500px;
        margin-top:10px;
        max-height: 75vh;
        overflow: auto;
}

/*!************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./assets/styles/tailwind.css ***!
  \************************************************************************************************************************************************************************/
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

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

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

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

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

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

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

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

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

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

progress {
  vertical-align: baseline;
}

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

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

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

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

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

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

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.visible {
  visibility: visible;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.right-2 {
  right: 0.5rem;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-\[100\%\] {
  top: 100%;
}
.z-10 {
  z-index: 10;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.m-0 {
  margin: 0px;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.me-1 {
  margin-inline-end: 0.25rem;
}
.me-2 {
  margin-inline-end: 0.5rem;
}
.me-5 {
  margin-inline-end: 1.25rem;
}
.ml-64 {
  margin-left: 16rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.ms-1 {
  margin-inline-start: 0.25rem;
}
.ms-2 {
  margin-inline-start: 0.5rem;
}
.ms-3 {
  margin-inline-start: 0.75rem;
}
.ms-64 {
  margin-inline-start: 16rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-\[50px\] {
  margin-top: 50px;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}
.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}
.size-8 {
  width: 2rem;
  height: 2rem;
}
.h-6 {
  height: 1.5rem;
}
.h-full {
  height: 100%;
}
.h-max {
  height: -moz-max-content;
  height: max-content;
}
.h-screen {
  height: 100vh;
}
.max-h-40 {
  max-height: 10rem;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.w-1\/2 {
  width: 50%;
}
.w-11 {
  width: 2.75rem;
}
.w-64 {
  width: 16rem;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[450px\] {
  width: 450px;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-screen-minus-64 {
  width: calc(100vw - 16rem);
}
.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-grow {
  flex-grow: 1;
}
.table-auto {
  table-layout: auto;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/4 {
  --tw-translate-y: -25%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-pointer {
  cursor: pointer;
}
.resize {
  resize: both;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.content-center {
  align-content: center;
}
.items-center {
  align-items: center;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.overflow-y-auto {
  overflow-y: auto;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-pink-900 {
  --tw-border-opacity: 1;
  border-color: rgb(131 24 67 / var(--tw-border-opacity, 1));
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(165 243 252 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-cyan-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.bg-cyan-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-gray-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-pink-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}
.bg-pink-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(157 23 77 / var(--tw-bg-opacity, 1));
}
.bg-red-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.bg-red-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.bg-red-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}
.bg-sky-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(186 230 253 / var(--tw-bg-opacity, 1));
}
.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[20px\] {
  padding: 20px;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pe-6 {
  padding-inline-end: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.ps-20 {
  padding-inline-start: 5rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-start {
  text-align: start;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[1\.3rem\] {
  font-size: 1.3rem;
}
.text-\[1\.5rem\] {
  font-size: 1.5rem;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[35px\] {
  font-size: 35px;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.italic {
  font-style: italic;
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-cyan-950 {
  --tw-text-opacity: 1;
  color: rgb(8 51 68 / var(--tw-text-opacity, 1));
}
.text-gray-100 {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-pink-900 {
  --tw-text-opacity: 1;
  color: rgb(131 24 67 / var(--tw-text-opacity, 1));
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.before-dash::before {
        content: '-';
        margin-right: 0.25rem;
        position: absolute;
        right: 100%;
        top: 0;
        margin-top: -2px;
    }
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:start-\[6px\]::after {
  content: var(--tw-content);
  inset-inline-start: 6px;
}
.after\:top-1::after {
  content: var(--tw-content);
  top: 0.25rem;
}
.after\:h-4::after {
  content: var(--tw-content);
  height: 1rem;
}
.after\:w-4::after {
  content: var(--tw-content);
  width: 1rem;
}
.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}
.after\:border::after {
  content: var(--tw-content);
  border-width: 1px;
}
.after\:border-gray-300::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.after\:bg-white::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.after\:transition-all::after {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}
.hover\:cursor-pointer:hover {
  cursor: pointer;
}
.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 78 99 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-950:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(80 7 36 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}
.hover\:text-cyan-400:hover {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-green-400:hover {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.hover\:text-orange-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-600:hover {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-blue-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}
.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-teal-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-teal-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:after\:translate-x-full::after {
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.peer:checked ~ .peer-checked\:after\:border-white::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
@media (min-width: 768px) {

  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.peer:checked ~ .rtl\:peer-checked\:after\:-translate-x-full:where([dir="rtl"], [dir="rtl"] *)::after {
  content: var(--tw-content);
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (prefers-color-scheme: dark) {

  .dark\:border-gray-600 {
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  }

  .dark\:border-slate-700 {
    --tw-border-opacity: 1;
    border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
  }

  .dark\:bg-gray-700 {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  }

  .dark\:text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
  }

  .dark\:text-slate-400 {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
  }
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./assets/styles/app.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container {
  box-sizing: border-box;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  height: 100%;
  margin: 0;
  position: relative;
}

.ql-container.ql-disabled .ql-tooltip {
  visibility: hidden;
}

.ql-container:not(.ql-disabled) li[data-list=checked] > .ql-ui, .ql-container:not(.ql-disabled) li[data-list=unchecked] > .ql-ui {
  cursor: pointer;
}

.ql-clipboard {
  left: -100000px;
  height: 1px;
  overflow-y: hidden;
  position: absolute;
  top: 50%;
}

.ql-clipboard p {
  margin: 0;
  padding: 0;
}

.ql-editor {
  box-sizing: border-box;
  counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  line-height: 1.42;
  height: 100%;
  outline: none;
  overflow-y: auto;
  padding: 12px 15px;
  -o-tab-size: 4;
     tab-size: 4;
  -moz-tab-size: 4;
  text-align: left;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.ql-editor > * {
  cursor: text;
}

.ql-editor p, .ql-editor ol, .ql-editor pre, .ql-editor blockquote, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
  margin: 0;
  padding: 0;
}

@supports (counter-set: none) {
  .ql-editor p, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
    counter-set: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor p, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
    counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor table {
  border-collapse: collapse;
}

.ql-editor td {
  border: 1px solid #000;
  padding: 2px 5px;
}

.ql-editor ol {
  padding-left: 1.5em;
}

.ql-editor li {
  list-style-type: none;
  padding-left: 1.5em;
  position: relative;
}

.ql-editor li > .ql-ui:before {
  display: inline-block;
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
  white-space: nowrap;
  width: 1.2em;
}

.ql-editor li[data-list=checked] > .ql-ui, .ql-editor li[data-list=unchecked] > .ql-ui {
  color: #777;
}

.ql-editor li[data-list=bullet] > .ql-ui:before {
  content: "•";
}

.ql-editor li[data-list=checked] > .ql-ui:before {
  content: "☑";
}

.ql-editor li[data-list=unchecked] > .ql-ui:before {
  content: "☐";
}

@supports (counter-set: none) {
  .ql-editor li[data-list] {
    counter-set: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list] {
    counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered] {
  counter-increment: list-0;
}

.ql-editor li[data-list=ordered] > .ql-ui:before {
  content: counter(list-0, decimal) ". ";
}

.ql-editor li[data-list=ordered].ql-indent-1 {
  counter-increment: list-1;
}

.ql-editor li[data-list=ordered].ql-indent-1 > .ql-ui:before {
  content: counter(list-1, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-1 {
    counter-set: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-1 {
    counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-2 {
  counter-increment: list-2;
}

.ql-editor li[data-list=ordered].ql-indent-2 > .ql-ui:before {
  content: counter(list-2, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-2 {
    counter-set: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-2 {
    counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-3 {
  counter-increment: list-3;
}

.ql-editor li[data-list=ordered].ql-indent-3 > .ql-ui:before {
  content: counter(list-3, decimal) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-3 {
    counter-set: list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-3 {
    counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-4 {
  counter-increment: list-4;
}

.ql-editor li[data-list=ordered].ql-indent-4 > .ql-ui:before {
  content: counter(list-4, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-4 {
    counter-set: list-5 list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-4 {
    counter-reset: list-5 list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-5 {
  counter-increment: list-5;
}

.ql-editor li[data-list=ordered].ql-indent-5 > .ql-ui:before {
  content: counter(list-5, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-5 {
    counter-set: list-6 list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-5 {
    counter-reset: list-6 list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-6 {
  counter-increment: list-6;
}

.ql-editor li[data-list=ordered].ql-indent-6 > .ql-ui:before {
  content: counter(list-6, decimal) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-6 {
    counter-set: list-7 list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-6 {
    counter-reset: list-7 list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-7 {
  counter-increment: list-7;
}

.ql-editor li[data-list=ordered].ql-indent-7 > .ql-ui:before {
  content: counter(list-7, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-7 {
    counter-set: list-8 list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-7 {
    counter-reset: list-8 list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-8 {
  counter-increment: list-8;
}

.ql-editor li[data-list=ordered].ql-indent-8 > .ql-ui:before {
  content: counter(list-8, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-8 {
    counter-set: list-9;
  }
}
@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-8 {
    counter-reset: list-9;
  }
}
.ql-editor li[data-list=ordered].ql-indent-9 {
  counter-increment: list-9;
}

.ql-editor li[data-list=ordered].ql-indent-9 > .ql-ui:before {
  content: counter(list-9, decimal) ". ";
}

.ql-editor .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}

.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}

.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}

.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}

.ql-editor .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}

.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}

.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}

.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}

.ql-editor .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}

.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}

.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}

.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}

.ql-editor .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}

.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}

.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}

.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}

.ql-editor .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}

.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}

.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}

.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}

.ql-editor .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}

.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}

.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}

.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}

.ql-editor .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}

.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}

.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}

.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}

.ql-editor .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}

.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}

.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}

.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}

.ql-editor .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}

.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}

.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}

.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}

.ql-editor li.ql-direction-rtl {
  padding-right: 1.5em;
}

.ql-editor li.ql-direction-rtl > .ql-ui:before {
  margin-left: 0.3em;
  margin-right: -1.5em;
  text-align: left;
}

.ql-editor table {
  table-layout: fixed;
  width: 100%;
}

.ql-editor table td {
  outline: none;
}

.ql-editor .ql-code-block-container {
  font-family: monospace;
}

.ql-editor .ql-video {
  display: block;
  max-width: 100%;
}

.ql-editor .ql-video.ql-align-center {
  margin: 0 auto;
}

.ql-editor .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}

.ql-editor .ql-bg-black {
  background-color: #000;
}

.ql-editor .ql-bg-red {
  background-color: #e60000;
}

.ql-editor .ql-bg-orange {
  background-color: #f90;
}

.ql-editor .ql-bg-yellow {
  background-color: #ff0;
}

.ql-editor .ql-bg-green {
  background-color: #008a00;
}

.ql-editor .ql-bg-blue {
  background-color: #06c;
}

.ql-editor .ql-bg-purple {
  background-color: #93f;
}

.ql-editor .ql-color-white {
  color: #fff;
}

.ql-editor .ql-color-red {
  color: #e60000;
}

.ql-editor .ql-color-orange {
  color: #f90;
}

.ql-editor .ql-color-yellow {
  color: #ff0;
}

.ql-editor .ql-color-green {
  color: #008a00;
}

.ql-editor .ql-color-blue {
  color: #06c;
}

.ql-editor .ql-color-purple {
  color: #93f;
}

.ql-editor .ql-font-serif {
  font-family: Georgia, Times New Roman, serif;
}

.ql-editor .ql-font-monospace {
  font-family: Monaco, Courier New, monospace;
}

.ql-editor .ql-size-small {
  font-size: 0.75em;
}

.ql-editor .ql-size-large {
  font-size: 1.5em;
}

.ql-editor .ql-size-huge {
  font-size: 2.5em;
}

.ql-editor .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}

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

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

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

.ql-editor .ql-ui {
  position: absolute;
}

.ql-editor.ql-blank::before {
  color: rgba(0, 0, 0, 0.6);
  content: attr(data-placeholder);
  font-style: italic;
  left: 15px;
  pointer-events: none;
  position: absolute;
  right: 15px;
}

.ql-snow.ql-toolbar:after, .ql-snow .ql-toolbar:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow.ql-toolbar button, .ql-snow .ql-toolbar button {
  background: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  float: left;
  height: 24px;
  padding: 3px 5px;
  width: 28px;
}

.ql-snow.ql-toolbar button svg, .ql-snow .ql-toolbar button svg {
  float: left;
  height: 100%;
}

.ql-snow.ql-toolbar button:active:hover, .ql-snow .ql-toolbar button:active:hover {
  outline: none;
}

.ql-snow.ql-toolbar input.ql-image[type=file], .ql-snow .ql-toolbar input.ql-image[type=file] {
  display: none;
}

.ql-snow.ql-toolbar button:hover, .ql-snow .ql-toolbar button:hover, .ql-snow.ql-toolbar button:focus, .ql-snow .ql-toolbar button:focus, .ql-snow.ql-toolbar button.ql-active, .ql-snow .ql-toolbar button.ql-active, .ql-snow.ql-toolbar .ql-picker-label:hover, .ql-snow .ql-toolbar .ql-picker-label:hover, .ql-snow.ql-toolbar .ql-picker-label.ql-active, .ql-snow .ql-toolbar .ql-picker-label.ql-active, .ql-snow.ql-toolbar .ql-picker-item:hover, .ql-snow .ql-toolbar .ql-picker-item:hover, .ql-snow.ql-toolbar .ql-picker-item.ql-selected, .ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #06c;
}

.ql-snow.ql-toolbar button:hover .ql-fill, .ql-snow .ql-toolbar button:hover .ql-fill, .ql-snow.ql-toolbar button:focus .ql-fill, .ql-snow .ql-toolbar button:focus .ql-fill, .ql-snow.ql-toolbar button.ql-active .ql-fill, .ql-snow .ql-toolbar button.ql-active .ql-fill, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill, .ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill, .ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill, .ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #06c;
}

.ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow .ql-toolbar button:hover .ql-stroke, .ql-snow.ql-toolbar button:focus .ql-stroke, .ql-snow .ql-toolbar button:focus .ql-stroke, .ql-snow.ql-toolbar button.ql-active .ql-stroke, .ql-snow .ql-toolbar button.ql-active .ql-stroke, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke, .ql-snow.ql-toolbar button:hover .ql-stroke-miter, .ql-snow .ql-toolbar button:hover .ql-stroke-miter, .ql-snow.ql-toolbar button:focus .ql-stroke-miter, .ql-snow .ql-toolbar button:focus .ql-stroke-miter, .ql-snow.ql-toolbar button.ql-active .ql-stroke-miter, .ql-snow .ql-toolbar button.ql-active .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #06c;
}

@media (pointer: coarse) {
  .ql-snow.ql-toolbar button:hover:not(.ql-active), .ql-snow .ql-toolbar button:hover:not(.ql-active) {
    color: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill, .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
    fill: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke, .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
    stroke: #444;
  }
}
.ql-snow {
  box-sizing: border-box;
}

.ql-snow * {
  box-sizing: border-box;
}

.ql-snow .ql-hidden {
  display: none;
}

.ql-snow .ql-out-bottom, .ql-snow .ql-out-top {
  visibility: hidden;
}

.ql-snow .ql-tooltip {
  position: absolute;
  transform: translateY(10px);
}

.ql-snow .ql-tooltip a {
  cursor: pointer;
  text-decoration: none;
}

.ql-snow .ql-tooltip.ql-flip {
  transform: translateY(-10px);
}

.ql-snow .ql-formats {
  display: inline-block;
  vertical-align: middle;
}

.ql-snow .ql-formats:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow .ql-stroke {
  fill: none;
  stroke: #444;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.ql-snow .ql-stroke-miter {
  fill: none;
  stroke: #444;
  stroke-miterlimit: 10;
  stroke-width: 2;
}

.ql-snow .ql-fill, .ql-snow .ql-stroke.ql-fill {
  fill: #444;
}

.ql-snow .ql-empty {
  fill: none;
}

.ql-snow .ql-even {
  fill-rule: evenodd;
}

.ql-snow .ql-thin, .ql-snow .ql-stroke.ql-thin {
  stroke-width: 1;
}

.ql-snow .ql-transparent {
  opacity: 0.4;
}

.ql-snow .ql-direction svg:last-child {
  display: none;
}

.ql-snow .ql-direction.ql-active svg:last-child {
  display: inline;
}

.ql-snow .ql-direction.ql-active svg:first-child {
  display: none;
}

.ql-snow .ql-editor h1 {
  font-size: 2em;
}

.ql-snow .ql-editor h2 {
  font-size: 1.5em;
}

.ql-snow .ql-editor h3 {
  font-size: 1.17em;
}

.ql-snow .ql-editor h4 {
  font-size: 1em;
}

.ql-snow .ql-editor h5 {
  font-size: 0.83em;
}

.ql-snow .ql-editor h6 {
  font-size: 0.67em;
}

.ql-snow .ql-editor a {
  text-decoration: underline;
}

.ql-snow .ql-editor blockquote {
  border-left: 4px solid #ccc;
  margin-bottom: 5px;
  margin-top: 5px;
  padding-left: 16px;
}

.ql-snow .ql-editor code, .ql-snow .ql-editor .ql-code-block-container {
  background-color: #f0f0f0;
  border-radius: 3px;
}

.ql-snow .ql-editor .ql-code-block-container {
  margin-bottom: 5px;
  margin-top: 5px;
  padding: 5px 10px;
}

.ql-snow .ql-editor code {
  font-size: 85%;
  padding: 2px 4px;
}

.ql-snow .ql-editor .ql-code-block-container {
  background-color: #23241f;
  color: #f8f8f2;
  overflow: visible;
}

.ql-snow .ql-editor img {
  max-width: 100%;
}

.ql-snow .ql-picker {
  color: #444;
  display: inline-block;
  float: left;
  font-size: 14px;
  font-weight: 500;
  height: 24px;
  position: relative;
  vertical-align: middle;
}

.ql-snow .ql-picker-label {
  cursor: pointer;
  display: inline-block;
  height: 100%;
  padding-left: 8px;
  padding-right: 2px;
  position: relative;
  width: 100%;
}

.ql-snow .ql-picker-label::before {
  display: inline-block;
  line-height: 22px;
}

.ql-snow .ql-picker-options {
  background-color: #fff;
  display: none;
  min-width: 100%;
  padding: 4px 8px;
  position: absolute;
  white-space: nowrap;
}

.ql-snow .ql-picker-options .ql-picker-item {
  cursor: pointer;
  display: block;
  padding-bottom: 5px;
  padding-top: 5px;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #ccc;
  z-index: 2;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  display: block;
  margin-top: -1px;
  top: 100%;
  z-index: 1;
}

.ql-snow .ql-color-picker, .ql-snow .ql-icon-picker {
  width: 28px;
}

.ql-snow .ql-color-picker .ql-picker-label, .ql-snow .ql-icon-picker .ql-picker-label {
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-label svg, .ql-snow .ql-icon-picker .ql-picker-label svg {
  right: 4px;
}

.ql-snow .ql-icon-picker .ql-picker-options {
  padding: 4px 0;
}

.ql-snow .ql-icon-picker .ql-picker-item {
  height: 24px;
  width: 24px;
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-options {
  padding: 3px 5px;
  width: 152px;
}

.ql-snow .ql-color-picker .ql-picker-item {
  border: 1px solid transparent;
  float: left;
  height: 16px;
  margin: 2px;
  padding: 0;
  width: 16px;
}

.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  position: absolute;
  margin-top: -9px;
  right: 0;
  top: 50%;
  width: 18px;
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""])::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""])::before {
  content: attr(data-label);
}

.ql-snow .ql-picker.ql-header {
  width: 98px;
}

.ql-snow .ql-picker.ql-header .ql-picker-label::before, .ql-snow .ql-picker.ql-header .ql-picker-item::before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  content: "Heading 1";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  content: "Heading 2";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  content: "Heading 3";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  content: "Heading 4";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  content: "Heading 5";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  content: "Heading 6";
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  font-size: 2em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  font-size: 1.5em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  font-size: 1.17em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  font-size: 1em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  font-size: 0.83em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  font-size: 0.67em;
}

.ql-snow .ql-picker.ql-font {
  width: 108px;
}

.ql-snow .ql-picker.ql-font .ql-picker-label::before, .ql-snow .ql-picker.ql-font .ql-picker-item::before {
  content: "Sans Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  content: "Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  content: "Monospace";
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  font-family: Georgia, Times New Roman, serif;
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  font-family: Monaco, Courier New, monospace;
}

.ql-snow .ql-picker.ql-size {
  width: 98px;
}

.ql-snow .ql-picker.ql-size .ql-picker-label::before, .ql-snow .ql-picker.ql-size .ql-picker-item::before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  content: "Small";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  content: "Large";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  content: "Huge";
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  font-size: 10px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  font-size: 18px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  font-size: 32px;
}

.ql-snow .ql-color-picker.ql-background .ql-picker-item {
  background-color: #fff;
}

.ql-snow .ql-color-picker.ql-color .ql-picker-item {
  background-color: #000;
}

.ql-code-block-container {
  position: relative;
}

.ql-code-block-container .ql-ui {
  right: 5px;
  top: 5px;
}

.ql-toolbar.ql-snow {
  border: 1px solid #ccc;
  box-sizing: border-box;
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  padding: 8px;
}

.ql-toolbar.ql-snow .ql-formats {
  margin-right: 15px;
}

.ql-toolbar.ql-snow .ql-picker-label {
  border: 1px solid transparent;
}

.ql-toolbar.ql-snow .ql-picker-options {
  border: 1px solid transparent;
  box-shadow: rgba(0, 0, 0, 0.2) 0 2px 8px;
}

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  border-color: #ccc;
}

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  border-color: #ccc;
}

.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected, .ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
  border-color: #000;
}

.ql-toolbar.ql-snow + .ql-container.ql-snow {
  border-top: 0;
}

.ql-snow .ql-tooltip {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 0 5px #ddd;
  color: #444;
  padding: 5px 12px;
  white-space: nowrap;
}

.ql-snow .ql-tooltip::before {
  content: "Visit URL:";
  line-height: 26px;
  margin-right: 8px;
}

.ql-snow .ql-tooltip input[type=text] {
  display: none;
  border: 1px solid #ccc;
  font-size: 13px;
  height: 26px;
  margin: 0;
  padding: 3px 5px;
  width: 170px;
}

.ql-snow .ql-tooltip a.ql-preview {
  display: inline-block;
  max-width: 200px;
  overflow-x: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.ql-snow .ql-tooltip a.ql-action::after {
  border-right: 1px solid #ccc;
  content: "Edit";
  margin-left: 16px;
  padding-right: 8px;
}

.ql-snow .ql-tooltip a.ql-remove::before {
  content: "Remove";
  margin-left: 8px;
}

.ql-snow .ql-tooltip a {
  line-height: 26px;
}

.ql-snow .ql-tooltip.ql-editing a.ql-preview, .ql-snow .ql-tooltip.ql-editing a.ql-remove {
  display: none;
}

.ql-snow .ql-tooltip.ql-editing input[type=text] {
  display: inline-block;
}

.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
  border-right: 0;
  content: "Save";
  padding-right: 0;
}

.ql-snow .ql-tooltip[data-mode=link]::before {
  content: "Enter link:";
}

.ql-snow .ql-tooltip[data-mode=formula]::before {
  content: "Enter formula:";
}

.ql-snow .ql-tooltip[data-mode=video]::before {
  content: "Enter video:";
}

.ql-snow a {
  color: #06c;
}

.ql-container.ql-snow {
  border: 1px solid #ccc;
}
@keyframes notyf-fadeinup {
  0% {
    opacity: 0;
    transform: translateY(25%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes notyf-fadeinleft {
  0% {
    opacity: 0;
    transform: translateX(25%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes notyf-fadeoutright {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(25%);
  }
}
@keyframes notyf-fadeoutdown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(25%);
  }
}
@keyframes ripple {
  0% {
    transform: scale(0) translateY(-45%) translateX(13%);
  }
  to {
    transform: scale(1) translateY(-45%) translateX(13%);
  }
}
.notyf {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  color: #fff;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  pointer-events: none;
  box-sizing: border-box;
  padding: 20px;
}

.notyf__icon--error, .notyf__icon--success {
  height: 21px;
  width: 21px;
  background: #fff;
  border-radius: 50%;
  display: block;
  margin: 0 auto;
  position: relative;
}

.notyf__icon--error:after, .notyf__icon--error:before {
  content: "";
  background: currentColor;
  display: block;
  position: absolute;
  width: 3px;
  border-radius: 3px;
  left: 9px;
  height: 12px;
  top: 5px;
}

.notyf__icon--error:after {
  transform: rotate(-45deg);
}

.notyf__icon--error:before {
  transform: rotate(45deg);
}

.notyf__icon--success:after, .notyf__icon--success:before {
  content: "";
  background: currentColor;
  display: block;
  position: absolute;
  width: 3px;
  border-radius: 3px;
}

.notyf__icon--success:after {
  height: 6px;
  transform: rotate(-45deg);
  top: 9px;
  left: 6px;
}

.notyf__icon--success:before {
  height: 11px;
  transform: rotate(45deg);
  top: 5px;
  left: 10px;
}

.notyf__toast {
  display: block;
  overflow: hidden;
  pointer-events: auto;
  animation: notyf-fadeinup 0.3s ease-in forwards;
  box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.25);
  position: relative;
  padding: 0 15px;
  border-radius: 2px;
  max-width: 300px;
  transform: translateY(25%);
  box-sizing: border-box;
  flex-shrink: 0;
}

.notyf__toast--disappear {
  transform: translateY(0);
  animation: notyf-fadeoutdown 0.3s forwards;
  animation-delay: 0.25s;
}

.notyf__toast--disappear .notyf__icon, .notyf__toast--disappear .notyf__message {
  animation: notyf-fadeoutdown 0.3s forwards;
  opacity: 1;
  transform: translateY(0);
}

.notyf__toast--disappear .notyf__dismiss {
  animation: notyf-fadeoutright 0.3s forwards;
  opacity: 1;
  transform: translateX(0);
}

.notyf__toast--disappear .notyf__message {
  animation-delay: 0.05s;
}

.notyf__toast--upper {
  margin-bottom: 20px;
}

.notyf__toast--lower {
  margin-top: 20px;
}

.notyf__toast--dismissible .notyf__wrapper {
  padding-right: 30px;
}

.notyf__ripple {
  height: 400px;
  width: 400px;
  position: absolute;
  transform-origin: bottom right;
  right: 0;
  top: 0;
  border-radius: 50%;
  transform: scale(0) translateY(-51%) translateX(13%);
  z-index: 5;
  animation: ripple 0.4s ease-out forwards;
}

.notyf__wrapper {
  display: flex;
  align-items: center;
  padding-top: 17px;
  padding-bottom: 17px;
  padding-right: 15px;
  border-radius: 3px;
  position: relative;
  z-index: 10;
}

.notyf__icon {
  width: 22px;
  text-align: center;
  font-size: 1.3em;
  opacity: 0;
  animation: notyf-fadeinup 0.3s forwards;
  animation-delay: 0.3s;
  margin-right: 13px;
}

.notyf__dismiss {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 26px;
  margin-right: -15px;
  animation: notyf-fadeinleft 0.3s forwards;
  animation-delay: 0.35s;
  opacity: 0;
}

.notyf__dismiss-btn {
  background-color: rgba(0, 0, 0, 0.25);
  border: none;
  cursor: pointer;
  transition: opacity 0.2s ease, background-color 0.2s ease;
  outline: none;
  opacity: 0.35;
  height: 100%;
  width: 100%;
}

.notyf__dismiss-btn:after, .notyf__dismiss-btn:before {
  content: "";
  background: #fff;
  height: 12px;
  width: 2px;
  border-radius: 3px;
  position: absolute;
  left: calc(50% - 1px);
  top: calc(50% - 5px);
}

.notyf__dismiss-btn:after {
  transform: rotate(-45deg);
}

.notyf__dismiss-btn:before {
  transform: rotate(45deg);
}

.notyf__dismiss-btn:hover {
  opacity: 0.7;
  background-color: rgba(0, 0, 0, 0.15);
}

.notyf__dismiss-btn:active {
  opacity: 0.8;
}

.notyf__message {
  vertical-align: middle;
  position: relative;
  opacity: 0;
  animation: notyf-fadeinup 0.3s forwards;
  animation-delay: 0.25s;
  line-height: 1.5em;
}

@media only screen and (max-width: 480px) {
  .notyf {
    padding: 0;
  }
  .notyf__ripple {
    height: 600px;
    width: 600px;
    animation-duration: 0.5s;
  }
  .notyf__toast {
    max-width: none;
    border-radius: 0;
    box-shadow: 0 -2px 7px 0 rgba(0, 0, 0, 0.13);
    width: 100%;
  }
  .notyf__dismiss {
    width: 56px;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(359deg);
  }
}
.spin {
  transform-origin: center center;
  animation: spin 2s linear infinite;
  color: #29884a;
}

html {
  font-size: 16px;
  font-family: "Quicksand", "sans-serif";
}

body.login {
  background: url(/build/images/cercle.40d252d6.svg) no-repeat center center rgb(30, 41, 59);
  background-size: cover;
}

button.swal2-confirm {
  background: #0f6674;
}
button.swal2-confirm.bg-cyan-600 {
  background: #0891b2;
}

.swal2-html-container label {
  font-weight: bold;
  color: #242424;
  margin-top: 15px;
  margin-bottom: 5px;
  display: block;
}
.swal2-html-container input, .swal2-html-container select {
  background: #F5F5F5;
  padding: 5px 10px;
  border-radius: 6px;
  color: black;
  margin: 0;
  width: 150px;
}
.swal2-html-container input:focus, .swal2-html-container input:active, .swal2-html-container select:focus, .swal2-html-container select:active {
  border: 1px solid black;
  box-shadow: none;
  outline: none;
}

form div {
  display: flex;
}
form div:not(.no-m) {
  margin-bottom: 6px;
}
form div:not(.row) {
  flex-direction: column;
}
form div.adjust div {
  width: 50%;
}
form div label {
  color: #ccc;
}
form div .help-text {
  color: #ccc;
}
form div input {
  background: #f3f3f3;
  padding: 8px 6px;
  border-radius: 5px;
  color: #242424;
}

.document input {
  background: #f3f3f3;
  padding: 8px 6px;
  border-radius: 5px;
  border: none;
  color: #242424;
}
.document textarea {
  background: #f3f3f3;
  padding: 8px 6px;
  border-radius: 5px;
  border: 1px solid #ccc;
}

.document-table.invoice table thead tr th{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.document-table.invoice nav button[data-p-active=true] {
  background: #BBF7D0 !important;
}
.document-table.quotation table thead tr th {
  background: #EA580C;
}
.document-table.quotation nav button[data-p-active=true] {
  background: #efb597 !important;
}
.document-table.products table thead tr th{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.document-table.products nav button[data-p-active=true] {
  background: #adeaec !important;
}
.document-table.customers table thead tr th{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.document-table.customers nav button[data-p-active=true] {
  background: #ffefa6 !important;
}
.document-table table {
  border-radius: 8px 8px 0 0;
  width: 100%;
}
.document-table table tr {
  height: 45px;
  border-bottom: 1px solid #ccc;
}
.document-table table tr th {
  padding: 10px 5px;
}
.document-table table tr td {
  padding: 8px 5px;
  height: 45px;
}
.document-table table thead {
  border-radius: 8px 8px 0 0;
}
.document-table table thead tr {
  border-radius: 8px 8px 0 0;
}
.document-table table thead tr th {
  color: white;
  text-align: left;
  background: #242424;
}
.document-table table thead tr th:first-child {
  border-radius: 8px 0 0 0;
}
.document-table table thead tr th:last-child {
  border-radius: 0 8px 0 0;
}
.document-table table thead tr th div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.document-table table tbody tr:nth-child(even) {
  background: rgb(241, 245, 249);
}
.document-table table tbody tr td:first-child {
  border-left: 1px solid #CCC;
}
.document-table table tbody tr td:last-child {
  border-right: 1px solid #CCC;
}
.document-table table tbody tr:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.document-table nav [data-pc-name=pcpaginator] {
  width: 100%;
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] {
  width: 100%;
  display: flex;
  gap: 5px;
  align-items: center;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] button[disabled] {
  opacity: 0.2;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-group-section=pagedropdown] {
  display: flex;
  align-items: center;
  padding: 1px 5px;
  background: #e2e8f0;
  border-radius: 4px;
  gap: 8px;
  justify-content: space-between;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-section=pages] {
  display: flex;
  gap: 3px;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-section=pages] button {
  background: none;
  border-radius: 4px;
  height: 30px;
  width: 30px;
}
.document-table nav [data-pc-name=pcpaginator] [data-pc-section=content] [data-pc-section=pages] button[data-p-active=true] {
  border-radius: 50%;
  background: #6BBBB2;
}

ul[data-pc-section=list] {
  background: #e2e8f0;
  border-radius: 5px;
  padding: 3px;
}
ul[data-pc-section=list] li {
  text-align: center;
}

.dfa-button{
  display: flex;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dfa-button.large{
  display: flex;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  border-radius: 0.375rem;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dfa-button.circle {
  padding: 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.dfa-button:hover {
  cursor: pointer;
}

table.dfa-table {
  width: 100%;
}
table.dfa-table thead tr th{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
  padding: 1rem;
  padding-left: 2rem;
  text-align: left;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
@media (prefers-color-scheme: dark){
  table.dfa-table thead tr th{
    --tw-border-opacity: 1;
    border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
  }
}
table.dfa-table tbody tr:last-of-type td{
  border-width: 0px;
  padding: 1rem;
  padding-left: 2rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
table.dfa-table tbody tr td{
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
  padding: 1rem;
  padding-left: 2rem;
}
@media (prefers-color-scheme: dark){
  table.dfa-table tbody tr td{
    --tw-border-opacity: 1;
    border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
  }
}
table.dfa-table tbody tr td:not(.text-white){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.chip{
  display: flex;
  align-items: center;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.chip.draft{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.chip.issued{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.chip.sent{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.chip.clicked{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.chip.read{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.chip.canceled{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
table.dfa-table tbody tr td:not(.chip.canceled){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.chip.locked{
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
table.dfa-table tbody tr td:not(.chip.locked){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.chip.paid{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
table.dfa-table tbody tr td:not(.chip.paid){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.chip.invoiced{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.chip.quotation-ref{
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
  color: white;
}
.chip.invoice-ref{
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
  color: white;
}

.swal2-confirm.warning {
  background: #ff8800;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background: rgba(0, 0, 0, 0.5);
  animation: fade-in 0.3s linear;
  z-index: 995;
}

.slider {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 40vw;
  transform: translateX(101%);
  transition: transform 0.5s ease-in-out;
  background: white;
  padding: 50px;
  overflow: auto;
  z-index: 999;
}
.slider.visible {
  transform: translateX(0);
  box-shadow: 0 -30px 30px rgba(0, 0, 0, 0.5), 0 -60px 50px rgba(0, 0, 0, 0.4);
}
.slider embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ql-toolbar.ql-snow {
  display: flex;
  flex-direction: row;
  margin: 0;
}

.ql-container.ql-snow {
  min-height: 150px !important;
}

.context-menu {
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  background: rgba(0, 0, 0, 0.9);
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6), 8px 8px 20px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  padding: 15px;
  z-index: 9999;
  animation: fade-in 0.2s linear;
}
.context-menu hr {
  margin: 7px 0;
}
.context-menu li {
  transition: 0.25s;
  white-space: nowrap;
  padding: 3px 10px;
}
.context-menu li.title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.context-menu li.no-p {
  padding: 3px 5px;
  border-radius: 4px;
  margin-bottom: 7px;
}
.context-menu li a {
  transition: 0.25s;
  color: #d0d0d0;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.9);
  white-space: nowrap;
}
.context-menu li a:hover {
  cursor: pointer;
}

.payment-notif-container {
  min-height: 100vh;
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.payment-notif-container .logo {
  margin-top: 15px;
  margin-bottom: 20px;
}
.payment-notif-container .payment-info {
  background: white;
  border-radius: 12px;
  border: 1px;
  box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.6);
  width: 550px;
  max-width: 90vw;
}
.payment-notif-container .payment-info .head {
  border-radius: 12px 12px 0 0;
  font-size: 2rem;
  padding: 25px 0;
}
.payment-notif-container .payment-info .content {
  padding: 25px;
}
.payment-notif-container .payment-info .content p {
  font-size: 1.2rem;
}
.payment-notif-container .payment-info .content p.receipt {
  padding: 10px;
  background: #eeeeee;
  border-radius: 8px;
}
.payment-notif-container .payment-info .content p a {
  text-decoration: underline;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBbUxBO0lBQ0ksWUFBWTtJQUNaLFdBQVc7QUFDZjtBQUVBO0FBQ0k7UUFDSSxpQkFBaUI7QUFDckI7QUFDQTtRQUNJLGlCQUFpQjtBQUNyQjtBQUNKO0FBRUE7SUFDSSxVQUFVO0FBQ2Q7QUFDQTtBQ3BNQTtJRHFNSSxZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCO0lBbExBO0FBbUxBO0FBRUE7QUFDQTtBQUNBO0FBRUo7QUFFQTtBQUNJO1FBQ0ksYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsWUFBWTtBQUNoQjtBQUNKOzs7Ozs7QUUrQkE7QUR6UEE7O0lDMlBJO0FBdFBKO0FBd1BJO1FBQ0ksYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixtQkFBbUI7QUFDdkI7QUFFSjs7Ozs7OztBQ3NhQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFFSTtBRjlxQko7UUUrcUJRO0lBdnFCSjtBQXdxQkk7QUFDSTtBQUNJO29CQUNJLGlCQUFpQjtBQUNyQjtBQUNKO0FBQ0E7QUFFQTtBQUNKO0FBQ0o7QUFDQTtBQUNJO1lBQ0ksZUFBZTtBQUNuQjtBQUNKOzs7Ozs7O0FDNkdKO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtBQUMxQjtBQUVBO0lBQ0ksaUJBQWlCLEVBQUUsd0NBQXdDO0lBQzNELFdBQVc7QUFDZjtBQUdJO0FIdnpCSjtRR3d6QlE7SUE1eUJKO0FBNnlCSTtBQUNJO0FBQ0k7b0JBQ0ksaUJBQWlCO0FBQ3JCO0FBQ0o7QUFDQTtBQUVBO0FBQ0o7QUFDSjtBQUNBO0FBQ0k7WUFDSSxlQUFlO0FBQ25CO0FBQ0o7Ozs7Ozs7QUNsc0JBO0FKdElKO1FJdUlRLGlCQUFpQjtRQUNqQix1QkFBa0I7UUFBbEIsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLG1DQUFtQztRQUNuQyxZQUFZO1FBQ1o7QUFsSVI7QUFtSVE7WUFDSSxrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsTUFBTTtZQUNOLDBCQUEwQjtZQUMxQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2YsZUFBZTtZQUNmLGlCQUFpQjtBQUNyQjtBQUNKOzs7Ozs7QUMrT0E7UUFDSSxrQkFBa0I7QUFDdEI7QUFDQTtRQUNJLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1IsTUFBTTtRQUNOLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQix1Q0FBdUM7UUFDdkMsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsY0FBYztBQUNsQjs7Ozs7O0FDblRGO01BQ0ksYUFBYTtNQUNiLHNCQUFzQjtBQUMxQjs7Ozs7Ozs7QUNvR0U7QVBoTko7UU9pTlEsaUJBQWlCO1FBQ2pCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0IsbUNBQW1DO1FBQ25DO0FBNU1SO0FBNk1RO1lBQ0ksa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLE1BQU07WUFDTiwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWix3QkFBd0I7WUFDeEIsZUFBZTtZQUNmLGVBQWU7WUFDZixpQkFBaUI7QUFDckI7QUFDSjs7Ozs7O0FDcUtBO1FBQ0ksa0JBQWtCO0FBQ3RCO0FBQ0E7UUFDSSxrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLE1BQU07UUFDTixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsdUNBQXVDO1FBQ3ZDLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGNBQWM7QUFDbEI7Ozs7O0FDM1pKO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQsc0JBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQscUJBQWM7RUFBZDtBQUFjOztBQUFkO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxxQkFBYztFQUFkLDJCQUFjO0VBQWQseUJBQWM7RUFBZCwwQkFBYztFQUFkLDJCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLHlCQUFjO0VBQWQsc0JBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQscUJBQWM7RUFBZDtBQUFjLENBQWQ7O0NBQWMsQ0FBZDs7O0NBQWM7O0FBQWQ7OztFQUFBLHNCQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsbUJBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Ozs7Ozs7Q0FBYzs7QUFBZDs7RUFBQSxnQkFBYyxFQUFkLE1BQWM7RUFBZCw4QkFBYyxFQUFkLE1BQWM7RUFBZCxnQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjO0tBQWQsV0FBYyxFQUFkLE1BQWM7RUFBZCwrSEFBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7RUFBZCx3Q0FBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxTQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0VBQWQscUJBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7RUFBQSx5Q0FBYztVQUFkLGlDQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7Ozs7OztFQUFBLGtCQUFjO0VBQWQsb0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLGNBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLG1CQUFjO0FBQUE7O0FBQWQ7Ozs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCw2QkFBYyxFQUFkLE1BQWM7RUFBZCwrQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsOEJBQWMsRUFBZCxNQUFjO0VBQWQsZ0NBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCx1QkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQsTUFBYztFQUFkLG9CQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsd0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSwwQkFBYyxFQUFkLE1BQWM7RUFBZCxhQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsa0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7Ozs7Ozs7OztFQUFBLFNBQWM7QUFBQTs7QUFBZDtFQUFBLFNBQWM7RUFBZCxVQUFjO0FBQUE7O0FBQWQ7RUFBQSxVQUFjO0FBQUE7O0FBQWQ7OztFQUFBLGdCQUFjO0VBQWQsU0FBYztFQUFkLFVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsVUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7RUFBQSxVQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7O0VBQUEsVUFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGVBQWM7QUFBQTs7QUFBZDs7Q0FBYztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7Ozs7O0VBQUEsY0FBYyxFQUFkLE1BQWM7RUFBZCxzQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxlQUFjO0VBQWQsWUFBYztBQUFBOztBQUFkLHdFQUFjO0FBQWQ7RUFBQSxhQUFjO0FBQUE7QUFDZDtFQUFBO0FBQW9CO0FBQXBCOztFQUFBO0lBQUE7RUFBb0I7QUFBQTtBQUFwQjs7RUFBQTtJQUFBO0VBQW9CO0FBQUE7QUFBcEI7O0VBQUE7SUFBQTtFQUFvQjtBQUFBO0FBQXBCOztFQUFBO0lBQUE7RUFBb0I7QUFBQTtBQUFwQjs7RUFBQTtJQUFBO0VBQW9CO0FBQUE7QUFDcEI7RUFBQSxrQkFBbUI7RUFBbkIsVUFBbUI7RUFBbkIsV0FBbUI7RUFBbkIsVUFBbUI7RUFBbkIsWUFBbUI7RUFBbkIsZ0JBQW1CO0VBQW5CLHNCQUFtQjtFQUFuQixtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsYUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGNBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsYUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSx3QkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsMkJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsc0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7O0VBQUE7SUFBQTtFQUFtQjtBQUFBO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLHVCQUFtQjtFQUFuQiw0REFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHFCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG1CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGlCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLG9CQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsZUFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBLCtFQUFtQjtFQUFuQixtR0FBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSw2RUFBbUI7RUFBbkIsaUdBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxnS0FBbUI7RUFBbkIsd0pBQW1CO0VBQW5CLGlMQUFtQjtFQUFuQix3REFBbUI7RUFBbkI7QUFBbUI7QUFHZjtRQUNJLFlBQVk7UUFDWixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxNQUFNO1FBQ04sZ0JBQWdCO0lBQ3BCO0FBWko7RUFBQSwwQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLDBCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsMEJBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSwwQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLDBCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsMEJBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSwwQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLDBCQWFDO0VBYkQsc0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSwwQkFhQztFQWJELGtCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsMEJBYUM7RUFiRCx3QkFhQztFQWJELHdEQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsZ0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQTtBQWFDO0FBYkQ7RUFBQSxrQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLGtCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsa0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSxrQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLGtCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsa0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSxrQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLGtCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsa0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSxrQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLGtCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsb0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSxvQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLG9CQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsb0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSxvQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLG9CQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsb0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQTtBQWFDO0FBYkQ7RUFBQSw4QkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLDJHQWFDO0VBYkQseUdBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSwyR0FhQztFQWJELHlHQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsb0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSxvQkFhQztFQWJEO0FBYUM7QUFiRDtFQUFBLG9CQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsa0JBYUM7RUFiRDtBQWFDO0FBYkQ7RUFBQSwwQkFhQztFQWJELHNCQWFDO0VBYkQ7QUFhQztBQWJEO0VBQUEsMEJBYUM7RUFiRCxzQkFhQztFQWJEO0FBYUM7QUFiRDs7RUFBQTtJQUFBO0VBYUM7O0VBYkQ7SUFBQTtFQWFDOztFQWJEO0lBQUE7RUFhQzs7RUFiRDtJQUFBO0VBYUM7QUFBQTtBQWJEO0VBQUEsMEJBYUM7RUFiRCx1QkFhQztFQWJEO0FBYUM7QUFiRDs7RUFBQTtJQUFBLHNCQWFDO0lBYkQ7RUFhQzs7RUFiRDtJQUFBLHNCQWFDO0lBYkQ7RUFhQzs7RUFiRDtJQUFBLGtCQWFDO0lBYkQ7RUFhQzs7RUFiRDtJQUFBLG9CQWFDO0lBYkQ7RUFhQzs7RUFiRDtJQUFBLG9CQWFDO0lBYkQ7RUFhQztBQUFBLEM7Ozs7QUNiRCxnQkFBZ0I7QUNBaEI7Ozs7OztFQUFBO0FBT0E7RUFBYztFQUFzQjtFQUF1QztFQUFlO0VBQVk7RUFBUztBRFEvRzs7QUNSaUk7RUFBc0M7QURZdks7O0FDWnlMO0VBQWdJO0FEZ0J6VDs7QUNoQndVO0VBQWM7RUFBZTtFQUFXO0VBQWtCO0VBQWtCO0FEd0JwWjs7QUN4QjRaO0VBQWdCO0VBQVM7QUQ2QnJiOztBQzdCK2I7RUFBVztFQUFzQjtFQUFvRjtFQUFpQjtFQUFZO0VBQWE7RUFBZ0I7RUFBa0I7S0FBQTtFQUFXO0VBQWdCO0VBQWdCO0VBQXFCO0FENENoc0I7O0FDNUNxdEI7RUFBZTtBRGdEcHVCOztBQ2hEZ3ZCO0VBQW9KO0VBQVM7QURxRDc0Qjs7QUNyRHU1QjtFQUE2QjtJQUFpRztFRDBEbmhDO0FBQ0Y7QUMzRHdtQztFQUFpQztJQUFpRztFRCtEeHVDO0FBQ0Y7QUNoRSt6QztFQUFpQjtBRG1FaDFDOztBQ25FeTJDO0VBQWM7RUFBc0I7QUR3RTc0Qzs7QUN4RTY1QztFQUFjO0FENEUzNkM7O0FDNUU4N0M7RUFBYztFQUFxQjtFQUFtQjtBRGtGcC9DOztBQ2xGc2dEO0VBQThCO0VBQXFCO0VBQW1CO0VBQWtCO0VBQWlCO0VBQW1CO0FEMkZsb0Q7O0FDM0Y4b0Q7RUFBc0Y7QUQrRnB1RDs7QUMvRit1RDtFQUFnRDtBRG1HL3hEOztBQ25HK3lEO0VBQWlEO0FEdUdoMkQ7O0FDdkdnM0Q7RUFBbUQ7QUQyR242RDs7QUMzR203RDtFQUE2QjtJQUF5QjtFRGdIditEO0FBQ0Y7QUNqSHFqRTtFQUFpQztJQUF5QjtFRHFIN21FO0FBQ0Y7QUN0SDZyRTtFQUFpQztBRHlIOXRFOztBQ3pIdXZFO0VBQWlEO0FENkh4eUU7O0FDN0g4MEU7RUFBNkM7QURpSTMzRTs7QUNqSW81RTtFQUE2RDtBRHFJajlFOztBQ3JJMi9FO0VBQTZCO0lBQXFDO0VEMEkzakY7QUFDRjtBQzNJa29GO0VBQWlDO0lBQXFDO0VEK0l0c0Y7QUFDRjtBQ2hKK3dGO0VBQTZDO0FEbUo1ekY7O0FDbkpxMUY7RUFBNkQ7QUR1Smw1Rjs7QUN2SjQ3RjtFQUE2QjtJQUFxQztFRDRKNS9GO0FBQ0Y7QUM3SjRqRztFQUFpQztJQUFxQztFRGlLaG9HO0FBQ0Y7QUNsS2tzRztFQUE2QztBRHFLL3VHOztBQ3JLd3dHO0VBQTZEO0FEeUtyMEc7O0FDeksyMkc7RUFBNkI7SUFBcUM7RUQ4SzM2RztBQUNGO0FDL0tvK0c7RUFBaUM7SUFBcUM7RURtTHhpSDtBQUNGO0FDcExtbUg7RUFBNkM7QUR1TGhwSDs7QUN2THlxSDtFQUE2RDtBRDJMdHVIOztBQzNMZ3hIO0VBQTZCO0lBQXFDO0VEZ01oMUg7QUFDRjtBQ2pNazRIO0VBQWlDO0lBQXFDO0VEcU10OEg7QUFDRjtBQ3RNMC9IO0VBQTZDO0FEeU12aUk7O0FDek1na0k7RUFBNkQ7QUQ2TTduSTs7QUM3TXVxSTtFQUE2QjtJQUFxQztFRGtOdnVJO0FBQ0Y7QUNuTmt4STtFQUFpQztJQUFxQztFRHVOdDFJO0FBQ0Y7QUN4Tm00STtFQUE2QztBRDJOaDdJOztBQzNOeThJO0VBQTZEO0FEK050Z0o7O0FDL040aUo7RUFBNkI7SUFBcUM7RURvTzVtSjtBQUNGO0FDck9ncEo7RUFBaUM7SUFBcUM7RUR5T3B0SjtBQUNGO0FDMU8wdko7RUFBNkM7QUQ2T3Z5Sjs7QUM3T2cwSjtFQUE2RDtBRGlQNzNKOztBQ2pQdTZKO0VBQTZCO0lBQXFDO0VEc1B2K0o7QUFDRjtBQ3ZQb2dLO0VBQWlDO0lBQXFDO0VEMlB4a0s7QUFDRjtBQzVQdW1LO0VBQTZDO0FEK1BwcEs7O0FDL1A2cUs7RUFBNkQ7QURtUTF1Szs7QUNuUW94SztFQUE2QjtJQUFxQztFRHdRcDFLO0FBQ0Y7QUN6UTAySztFQUFpQztJQUFxQztFRDZROTZLO0FBQ0Y7QUM5UXM4SztFQUE2QztBRGlSbi9LOztBQ2pSNGdMO0VBQTZEO0FEcVJ6a0w7O0FDclIrbUw7RUFBK0M7QUR5UjlwTDs7QUN6UitxTDtFQUFpRDtBRDZSaHVMOztBQzdSbXZMO0VBQXdEO0FEaVMzeUw7O0FDalM2ekw7RUFBMEQ7QURxU3YzTDs7QUNyUzI0TDtFQUErQztBRHlTMTdMOztBQ3pTMjhMO0VBQWlEO0FENlM1L0w7O0FDN1MrZ007RUFBd0Q7QURpVHZrTTs7QUNqVHlsTTtFQUEwRDtBRHFUbnBNOztBQ3JUdXFNO0VBQStDO0FEeVR0dE07O0FDelR1dU07RUFBaUQ7QUQ2VHh4TTs7QUM3VDR5TTtFQUF3RDtBRGlVcDJNOztBQ2pVczNNO0VBQTBEO0FEcVVoN007O0FDclVxOE07RUFBK0M7QUR5VXAvTTs7QUN6VXNnTjtFQUFpRDtBRDZVdmpOOztBQzdVMmtOO0VBQXdEO0FEaVZub047O0FDalZzcE47RUFBMEQ7QURxVmh0Tjs7QUNyVnF1TjtFQUErQztBRHlWcHhOOztBQ3pWc3lOO0VBQWlEO0FENlZ2MU47O0FDN1YyMk47RUFBd0Q7QURpV242Tjs7QUNqV3M3TjtFQUEwRDtBRHFXaC9OOztBQ3JXcWdPO0VBQStDO0FEeVdwak87O0FDeldza087RUFBaUQ7QUQ2V3ZuTzs7QUM3VzJvTztFQUF3RDtBRGlYbnNPOztBQ2pYc3RPO0VBQTBEO0FEcVhoeE87O0FDclhxeU87RUFBK0M7QUR5WHAxTzs7QUN6WHMyTztFQUFpRDtBRDZYdjVPOztBQzdYMjZPO0VBQXdEO0FEaVluK087O0FDallzL087RUFBMEQ7QURxWWhqUDs7QUNyWXFrUDtFQUErQztBRHlZcG5QOztBQ3pZc29QO0VBQWlEO0FENll2clA7O0FDN1kyc1A7RUFBd0Q7QURpWm53UDs7QUNqWnN4UDtFQUEwRDtBRHFaaDFQOztBQ3JacTJQO0VBQStDO0FEeVpwNVA7O0FDelpzNlA7RUFBaUQ7QUQ2WnY5UDs7QUM3WjIrUDtFQUF3RDtBRGlhbmlROztBQ2phc2pRO0VBQTBEO0FEcWFoblE7O0FDcmFxb1E7RUFBK0I7QUR5YXBxUTs7QUN6YXdyUTtFQUErQztFQUFpQjtFQUFvQjtBRCthNXdROztBQy9hNHhRO0VBQWlCO0VBQW1CO0FEb2JoMFE7O0FDcGIyMFE7RUFBb0I7QUR3Yi8xUTs7QUN4YjQyUTtFQUFvQztBRDRiaDVROztBQzViczZRO0VBQXFCO0VBQWM7QURpY3o4UTs7QUNqY3c5UTtFQUFxQztBRHFjNy9ROztBQ3JjMmdSO0VBQW9DO0FEeWMvaVI7O0FDemNpa1I7RUFBd0I7QUQ2Y3psUjs7QUM3YyttUjtFQUFzQjtBRGlkcm9SOztBQ2pkOHBSO0VBQXlCO0FEcWR2clI7O0FDcmQ2c1I7RUFBeUI7QUR5ZHR1Ujs7QUN6ZDR2UjtFQUF3QjtBRDZkcHhSOztBQzdkNnlSO0VBQXVCO0FEaWVwMFI7O0FDamUwMVI7RUFBeUI7QURxZW4zUjs7QUNyZXk0UjtFQUEyQjtBRHllcDZSOztBQ3plKzZSO0VBQXlCO0FENmV4OFI7O0FDN2VzOVI7RUFBNEI7QURpZmwvUjs7QUNqZjYvUjtFQUE0QjtBRHFmemhTOztBQ3Jmb2lTO0VBQTJCO0FEeWYvalM7O0FDemY2a1M7RUFBMEI7QUQ2ZnZtUzs7QUM3ZmtuUztFQUE0QjtBRGlnQjlvUzs7QUNqZ0J5cFM7RUFBMEI7QURxZ0JuclM7O0FDcmdCNnRTO0VBQThCO0FEeWdCM3ZTOztBQ3pnQm95UztFQUEwQjtBRDZnQjl6Uzs7QUM3Z0I4MFM7RUFBMEI7QURpaEJ4MlM7O0FDamhCdzNTO0VBQXlCO0FEcWhCajVTOztBQ3JoQmk2UztFQUE2QjtFQUFjO0FEMGhCNThTOztBQzFoQis5UztFQUE0QjtBRDhoQjMvUzs7QUM5aEI2Z1Q7RUFBNkI7QURraUIxaVQ7O0FDbGlCNmpUO0VBQTJCO0FEc2lCeGxUOztBQ3RpQnltVDtFQUFrQjtBRDBpQjNuVDs7QUMxaUI2b1Q7RUFBNEI7RUFBc0I7RUFBK0I7RUFBa0I7RUFBVTtFQUFvQjtFQUFrQjtBRG9qQmh5VDs7QUNwakIyeVQ7RUFBcUQ7RUFBVztFQUFXO0FEMGpCdDNUOztBQzFqQm80VDtFQUF1RDtFQUFnQjtFQUFZO0VBQWU7RUFBcUI7RUFBVztFQUFZO0VBQWdCO0FEcWtCbGlVOztBQ3JrQjZpVTtFQUErRDtFQUFXO0FEMGtCdm5VOztBQzFrQm1vVTtFQUFpRjtBRDhrQnB0VTs7QUM5a0JpdVU7RUFBNkY7QURrbEI5elU7O0FDbGxCMjBVO0VBQTZqQjtBRHNsQng0Vjs7QUN0bEJtNVY7RUFBa2dEO0FEMGxCcjVZOztBQzFsQis1WTtFQUFrZ0Q7QUQ4bEJqNmI7O0FDOWxCNjZiO0VBQXdCO0lBQW1HO0VEbW1CdGljO0VDbm1CaWpjO0lBQThQO0VEc21CL3ljO0VDdG1CeXpjO0lBQThQO0VEeW1CdmpkO0FBQ0Y7QUMxbUJza2Q7RUFBUztBRDZtQi9rZDs7QUM3bUJxbWQ7RUFBVztBRGluQmhuZDs7QUNqbkJzb2Q7RUFBb0I7QURxbkIxcGQ7O0FDcm5CdXFkO0VBQTZDO0FEeW5CcHRkOztBQ3puQnN1ZDtFQUFxQjtFQUFrQjtBRDhuQjd3ZDs7QUM5bkJ3eWQ7RUFBdUI7RUFBZTtBRG1vQjkwZDs7QUNub0JtMmQ7RUFBNkI7QUR1b0JoNGQ7O0FDdm9CNDVkO0VBQXFCO0VBQXFCO0FENG9CdDhkOztBQzVvQjQ5ZDtFQUEyQjtFQUFXO0VBQVc7QURrcEI3Z2U7O0FDbHBCMmhlO0VBQW9CO0VBQVU7RUFBWTtFQUFxQjtFQUFzQjtBRDBwQmhuZTs7QUMxcEIrbmU7RUFBMEI7RUFBVTtFQUFZO0VBQXFCO0FEaXFCcHNlOztBQ2pxQm10ZTtFQUE4QztBRHFxQmp3ZTs7QUNycUIyd2U7RUFBbUI7QUR5cUI5eGU7O0FDenFCd3llO0VBQWtCO0FENnFCMXplOztBQzdxQjQwZTtFQUE4QztBRGlyQjEzZTs7QUNqckJ5NGU7RUFBeUI7QURxckJsNmU7O0FDcnJCNjZlO0VBQXNDO0FEeXJCbjllOztBQ3pyQmcrZTtFQUFnRDtBRDZyQmhoZjs7QUM3ckIraGY7RUFBaUQ7QURpc0JobGY7O0FDanNCNmxmO0VBQXVCO0FEcXNCcG5mOztBQ3JzQmtvZjtFQUF1QjtBRHlzQnpwZjs7QUN6c0J5cWY7RUFBdUI7QUQ2c0Joc2Y7O0FDN3NCaXRmO0VBQXVCO0FEaXRCeHVmOztBQ2p0QnN2ZjtFQUF1QjtBRHF0Qjd3Zjs7QUNydEI2eGY7RUFBdUI7QUR5dEJwemY7O0FDenRCbzBmO0VBQXNCO0FENnRCMTFmOztBQzd0Qm8zZjtFQUErQjtFQUEyQjtFQUFrQjtFQUFlO0FEb3VCLzhmOztBQ3B1QmkrZjtFQUFzRTtFQUF5QjtBRHl1QmhrZ0I7O0FDenVCa2xnQjtFQUE2QztFQUFrQjtFQUFlO0FEK3VCaHFnQjs7QUMvdUJpcmdCO0VBQXlCO0VBQWM7QURvdkJ4dGdCOztBQ3B2Qnd1Z0I7RUFBNkM7RUFBeUI7RUFBYztBRDB2QjV6Z0I7O0FDMXZCNjBnQjtFQUF3QjtBRDh2QnIyZ0I7O0FDOXZCbzNnQjtFQUFvQjtFQUFXO0VBQXFCO0VBQVc7RUFBZTtFQUFnQjtFQUFZO0VBQWtCO0FEeXdCaC9nQjs7QUN6d0JzZ2hCO0VBQTBCO0VBQWU7RUFBcUI7RUFBWTtFQUFpQjtFQUFrQjtFQUFrQjtBRG14QnJvaEI7O0FDbnhCZ3BoQjtFQUFrQztFQUFxQjtBRHd4QnZzaEI7O0FDeHhCd3RoQjtFQUE0QjtFQUFzQjtFQUFhO0VBQWU7RUFBZ0I7RUFBa0I7QURpeUJ4MGhCOztBQ2p5QjIxaEI7RUFBNEM7RUFBZTtFQUFjO0VBQW1CO0FEd3lCdjdoQjs7QUN4eUJ1OGhCO0VBQWlEO0VBQVc7QUQ2eUJuZ2lCOztBQzd5QjZnaUI7RUFBMEQ7QURpekJ2a2lCOztBQ2p6QmlsaUI7RUFBNEQ7QURxekI3b2lCOztBQ3J6QnlwaUI7RUFBbUQ7RUFBYztFQUFnQjtFQUFTO0FENHpCbnZpQjs7QUM1ekI2dmlCO0VBQW1EO0FEZzBCaHppQjs7QUNoMEIyemlCO0VBQXFGO0FEbzBCaDVpQjs7QUNwMEJnNmlCO0VBQTZGO0FEdzBCNy9pQjs7QUN4MEJ1Z2pCO0VBQTRDO0FENDBCbmpqQjs7QUM1MEJpa2pCO0VBQXlDO0VBQVk7RUFBVztBRGsxQmpvakI7O0FDbDFCaXBqQjtFQUE2QztFQUFnQjtBRHUxQjlzakI7O0FDdjFCMHRqQjtFQUEwQztFQUE2QjtFQUFXO0VBQVk7RUFBVztFQUFVO0FEZzJCNzBqQjs7QUNoMkJ3MWpCO0VBQW1FO0VBQWtCO0VBQWdCO0VBQVE7RUFBUTtBRHcyQjc4akI7O0FDeDJCdzlqQjtFQUFxZ0I7QUQ0MkI3OWtCOztBQzUyQnMva0I7RUFBOEI7QURnM0JwaGxCOztBQ2gzQitobEI7RUFBNkc7QURvM0I1b2xCOztBQ3AzQjZwbEI7RUFBNkk7QUR3M0IxeWxCOztBQ3gzQjh6bEI7RUFBNkk7QUQ0M0IzOGxCOztBQzUzQis5bEI7RUFBNkk7QURnNEI1bW1COztBQ2g0QmdvbUI7RUFBNkk7QURvNEI3d21COztBQ3A0Qml5bUI7RUFBNkk7QUR3NEI5Nm1COztBQ3g0Qms4bUI7RUFBNkk7QUQ0NEIva25COztBQzU0Qm1tbkI7RUFBc0U7QURnNUJ6cW5COztBQ2g1QnVybkI7RUFBc0U7QURvNUI3dm5COztBQ3A1QjZ3bkI7RUFBc0U7QUR3NUJuMW5COztBQ3g1Qm8ybkI7RUFBc0U7QUQ0NUIxNm5COztBQzU1Qnc3bkI7RUFBc0U7QURnNkI5L25COztBQ2g2Qjhnb0I7RUFBc0U7QURvNkJwbG9COztBQ3A2Qm9tb0I7RUFBNEI7QUR3NkJob29COztBQ3g2QjRvb0I7RUFBeUc7QUQ0NkJydm9COztBQzU2QjB3b0I7RUFBNkk7QURnN0J2NW9COztBQ2g3QnU2b0I7RUFBcUo7QURvN0I1anBCOztBQ3A3QmdscEI7RUFBc0U7QUR3N0J0cHBCOztBQ3g3QmdzcEI7RUFBMEU7QUQ0N0Ixd3BCOztBQzU3Qm16cEI7RUFBNEI7QURnOEIvMHBCOztBQ2g4QjAxcEI7RUFBeUc7QURvOEJuOHBCOztBQ3A4Qm85cEI7RUFBNkk7QUR3OEJqbXFCOztBQ3g4QmlucUI7RUFBNkk7QUQ0OEI5dnFCOztBQzU4Qjh3cUI7RUFBMkk7QURnOUJ6NXFCOztBQ2g5Qnc2cUI7RUFBc0U7QURvOUI5K3FCOztBQ3A5QjYvcUI7RUFBc0U7QUR3OUJua3JCOztBQ3g5QmtsckI7RUFBcUU7QUQ0OUJ2cHJCOztBQzU5QnNxckI7RUFBd0Q7QURnK0I5dHJCOztBQ2grQm92ckI7RUFBbUQ7QURvK0J2eXJCOztBQ3ArQjZ6ckI7RUFBeUI7QUR3K0J0MXJCOztBQ3grQncyckI7RUFBZ0M7RUFBVTtBRDYrQmw1ckI7O0FDNytCMDVyQjtFQUFvQjtFQUFzQjtFQUFzQjtFQUE0RDtBRG8vQnRoc0I7O0FDcC9Ca2lzQjtFQUFnQztBRHcvQmxrc0I7O0FDeC9Cb2xzQjtFQUFxQztBRDQvQnpuc0I7O0FDNS9Cc3BzQjtFQUF1QztFQUE2QjtBRGlnQzF0c0I7O0FDamdDK3ZzQjtFQUE0RDtBRHFnQzN6c0I7O0FDcmdDNjBzQjtFQUE4RDtBRHlnQzM0c0I7O0FDemdDNjVzQjtFQUE0SDtBRDZnQ3podEI7O0FDN2dDMml0QjtFQUE0QztBRGloQ3ZsdEI7O0FDamhDb210QjtFQUFxQjtFQUFzQjtFQUFzQjtFQUF3QjtFQUFXO0VBQWlCO0FEMGhDenR0Qjs7QUMxaEM0dXRCO0VBQTZCO0VBQXFCO0VBQWlCO0FEZ2lDL3l0Qjs7QUNoaUNnMHRCO0VBQXNDO0VBQWE7RUFBc0I7RUFBZTtFQUFZO0VBQVM7RUFBZ0I7QUQwaUM3N3RCOztBQzFpQ3k4dEI7RUFBa0M7RUFBcUI7RUFBZ0I7RUFBa0I7RUFBdUI7QURrakN6anVCOztBQ2xqQzRrdUI7RUFBd0M7RUFBNEI7RUFBZTtFQUFpQjtBRHlqQ2hydUI7O0FDempDa3N1QjtFQUF5QztFQUFpQjtBRDhqQzV2dUI7O0FDOWpDNHd1QjtFQUF1QjtBRGtrQ255dUI7O0FDbGtDb3p1QjtFQUF5RjtBRHNrQzc0dUI7O0FDdGtDMDV1QjtFQUFpRDtBRDBrQzM4dUI7O0FDMWtDZyt1QjtFQUFtRDtFQUFlO0VBQWU7QURnbENqanZCOztBQ2hsQ2lrdkI7RUFBNkM7QURvbEM5bXZCOztBQ3BsQ29vdkI7RUFBZ0Q7QUR3bENwcnZCOztBQ3hsQzZzdkI7RUFBOEM7QUQ0bEMzdnZCOztBQzVsQ2t4dkI7RUFBVztBRGdtQzd4dkI7O0FDaG1Dd3l2QjtFQUFzQjtBRG9tQzl6dkI7QUUzbUMrRztFQUEwQjtJQUFHO0lBQVU7RUY0bkNwSjtFRTVuQzhLO0lBQUc7SUFBVTtFRmdvQzNMO0FBQ0Y7QUVqb0N1VTtFQUE0QjtJQUFHO0lBQVU7RUZncEM5VztFRWhwQ3dZO0lBQUc7SUFBVTtFRm9wQ3JaO0FBQ0Y7QUVycENtaUI7RUFBOEI7SUFBRztJQUFVO0VGb3FDNWtCO0VFcHFDb21CO0lBQUc7SUFBVTtFRndxQ2puQjtBQUNGO0FFenFDZ3dCO0VBQTZCO0lBQUc7SUFBVTtFRndyQ3h5QjtFRXhyQ2cwQjtJQUFHO0lBQVU7RUY0ckM3MEI7QUFDRjtBRTdyQ20vQjtFQUFrQjtJQUFHO0VGeXNDdGdDO0VFenNDMGpDO0lBQUc7RUY0c0M3akM7QUFDRjtBRTdzQ29uQztFQUFPO0VBQWU7RUFBTTtFQUFPO0VBQVk7RUFBVztFQUFXO0VBQWE7RUFBYTtFQUFzQjtFQUFxQjtFQUF5QjtFQUFvQjtFQUFzQjtBRjZ0Q2owQzs7QUU3dEM4MEM7RUFBMEM7RUFBWTtFQUFXO0VBQWdCO0VBQWtCO0VBQWM7RUFBYztBRnV1Qzc4Qzs7QUV2dUMrOUM7RUFBcUQ7RUFBVztFQUF3QjtFQUFjO0VBQWtCO0VBQVU7RUFBa0I7RUFBUztFQUFZO0FGbXZDeG9EOztBRW52Q2dwRDtFQUEwQjtBRnV2QzFxRDs7QUV2dkNtc0Q7RUFBMkI7QUYydkM5dEQ7O0FFM3ZDc3ZEO0VBQXlEO0VBQVc7RUFBd0I7RUFBYztFQUFrQjtFQUFVO0FGb3dDNTNEOztBRXB3Qzg0RDtFQUE0QjtFQUFXO0VBQXlCO0VBQVE7QUYyd0N0OUQ7O0FFM3dDKzlEO0VBQTZCO0VBQVk7RUFBd0I7RUFBUTtBRmt4Q3hpRTs7QUVseENrakU7RUFBYztFQUFjO0VBQWdCO0VBQTBFO0VBQThDO0VBQXVDO0VBQWtCO0VBQWU7RUFBa0I7RUFBZ0I7RUFBMEI7RUFBc0I7QUZreUNoM0U7O0FFbHlDODNFO0VBQXlCO0VBQXlFO0VBQXNFO0FGMHlDdGlGOztBRTF5QzJqRjtFQUFnSTtFQUF5QztFQUFVO0FGaXpDOXVGOztBRWp6Q3N3RjtFQUEyRjtFQUEwQztFQUFVO0FGd3pDcjVGOztBRXh6QzY2RjtFQUFzRTtBRjZ6Q24vRjs7QUU3ekN3Z0c7RUFBcUI7QUZpMEM3aEc7O0FFajBDZ2pHO0VBQXFCO0FGcTBDcmtHOztBRXIwQ3FsRztFQUEyQztBRnkwQ2hvRzs7QUV6MENtcEc7RUFBZTtFQUFhO0VBQVk7RUFBa0I7RUFBOEI7RUFBUTtFQUFNO0VBQWtCO0VBQW9EO0VBQXlEO0FGdTFDeDNHOztBRXYxQys1RztFQUFnQjtFQUFhO0VBQW1CO0VBQWlCO0VBQW9CO0VBQW1CO0VBQWtCO0VBQWtCO0FGazJDM2lIOztBRWwyQ3NqSDtFQUFhO0VBQVc7RUFBa0I7RUFBZ0I7RUFBd0Q7RUFBa0U7RUFBb0I7QUY4MkM5dkg7O0FFOTJDZ3hIO0VBQWdCO0VBQWtCO0VBQU07RUFBUTtFQUFZO0VBQVc7RUFBbUU7RUFBcUU7RUFBcUI7QUY0M0NwL0g7O0FFNTNDOC9IO0VBQW9CO0VBQWlDO0VBQVk7RUFBZTtFQUFzRDtFQUFhO0VBQVk7RUFBWTtBRnU0Q3pxSTs7QUV2NENvckk7RUFBcUQ7RUFBVztFQUFnQjtFQUFZO0VBQVU7RUFBa0I7RUFBa0I7RUFBcUI7QUZrNUNuMUk7O0FFbDVDdTJJO0VBQTBCO0FGczVDajRJOztBRXQ1QzA1STtFQUEyQjtBRjA1Q3I3STs7QUUxNUM2OEk7RUFBMEI7RUFBVztBRis1Q2wvSTs7QUUvNUNtaEo7RUFBMkI7QUZtNkM5aUo7O0FFbjZDeWpKO0VBQWdCO0VBQXNCO0VBQWtCO0VBQXdEO0VBQW1FO0VBQXFCO0FGODZDandKOztBRTk2Q214SjtFQUF5QztJQUFPO0VGbTdDajBKO0VFbjdDMjBKO0lBQWU7SUFBYTtJQUEyQztFRnk3Q2w1SjtFRXo3Q3k2SjtJQUFjO0lBQWU7SUFBZ0I7SUFBd0M7RUYrN0M5L0o7RUUvN0N5Z0s7SUFBZ0I7RUZrOEN6aEs7QUFDRjtBR244Q0E7RUFDRTtJQUNFO0VIcThDRjtFR244Q0E7SUFDRTtFSHE4Q0Y7QUFDRjtBR2w4Q0E7RUFDRTtJQUNFO0VIbzhDRjtFR2w4Q0E7SUFDRTtFSG84Q0Y7QUFDRjtBR2o4Q0E7RUFDRTtFQUNBO0VBQ0E7QUhtOENGOztBSXg5Q0E7RUFDRTtFQUNBO0FKMjlDRjs7QUl2OUNFO0VBQ0U7RUFDQTtBSjA5Q0o7O0FLaitDRTtFQUNFO0FMbytDSjtBS24rQ0k7RUFDRTtBTHErQ047O0FLLzlDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxrK0NKO0FLaCtDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTGsrQ0o7QUtqK0NJO0VBQ0U7RUFDQTtFQUNBO0FMbStDTjs7QU03L0NFO0VBQ0U7QU5nZ0RKO0FNLy9DSTtFQUNFO0FOaWdETjtBTS8vQ0k7RUFDRTtBTmlnRE47QU03L0NNO0VBQ0U7QU4rL0NSO0FNNS9DSTtFQUNFO0FOOC9DTjtBTTMvQ0k7RUFDRTtBTjYvQ047QU0zL0NJO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QU40L0NOOztBTXQvQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOeS9DSjtBTXYvQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTnkvQ0o7O0FPL2hEWTtFQUFBO0VBQUE7QUFBQTtBQU9KO0VBQ0U7QVA4aERWO0FPcGhEVTtFQUNFO0FQc2hEWjtBTy9nRFE7RUFDRTtBUGloRFY7QU90Z0RZO0VBQUE7RUFBQTtBQUFBO0FBT0o7RUFDRTtBUG9nRFY7QU96L0NZO0VBQUE7RUFBQTtBQUFBO0FBT0o7RUFDRTtBUHUvQ1Y7QU9qL0NFO0VBQ0U7RUFDQTtBUG0vQ0o7QU9sL0NJO0VBQ0U7RUFTQTtBUDQrQ047QU9wL0NNO0VBQ0U7QVBzL0NSO0FPcC9DTTtFQUNFO0VBQ0E7QVBzL0NSO0FPaC9DSTtFQUNFO0FQay9DTjtBT2gvQ007RUFDRTtBUGsvQ1I7QU9oL0NRO0VBQ0U7RUFDQTtFQUNBO0FQay9DVjtBT2ovQ1U7RUFDRTtBUG0vQ1o7QU9qL0NVO0VBQ0U7QVBtL0NaO0FPai9DVTtFQUNFO0VBQ0E7RUFDQTtBUG0vQ1o7QU81K0NRO0VBQ0U7QVA4K0NWO0FPMytDVTtFQUNFO0FQNitDWjtBTzMrQ1U7RUFDRTtBUDYrQ1o7QU96K0NVO0VBQUE7RUFBQTtBQUFBO0FBT047RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUHUrQ047QU90K0NNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVB3K0NSO0FPcitDVTtFQUNFO0FQdStDWjtBT3ArQ1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHMrQ1Y7QU9wK0NRO0VBQ0U7RUFDQTtBUHMrQ1Y7QU9yK0NVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVB1K0NaO0FPdCtDWTtFQUNFO0VBQ0E7QVB3K0NkOztBTzk5Q0U7RUFDRTtFQUNBO0VBQ0E7QVBpK0NKO0FPLzlDSTtFQUNFO0FQaStDTjs7QVE3cERFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFFRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSa3FESjtBUWhxREU7RUFDRTtBUmtxREo7O0FTanJERTtFQUNFO0FUb3JESjtBUzlxRFU7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0lBQUE7SUFBQTtFQUFBO0FBQUE7QUFlRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtBQUtGO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtJQUFBO0lBQUE7RUFBQTtBQUFBO0FBRUU7RUFBQTtFQUFBO0FBQUE7O0FDN0JWO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBRUU7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBR0E7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBQUE7RUFBQTtFQUFBO0FBQUE7QUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7QUFBQTtFQUFBO0VBQUE7QUFBQTtBQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtBQUFBO0VBQUE7RUFBQTtBQUFBO0FBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0FBSUE7RUFBQTtFQUFBO0VBQ0E7QUFEQTtBQUtBO0VBQUE7RUFBQTtFQUNBO0FBREE7O0FDdENGO0VBQ0U7QVgydURKOztBWTN1REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaOHVERjs7QVkzdURBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQSxXQW5CTTtFQW9CTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo2dURGO0FZNXVERTtFQUNFO0VBQ0E7QVo4dURKO0FZM3VERTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo2dURKOztBYWh4REU7RUFDRTtFQUNBO0VBQ0E7QWJteERKOztBYTl3REU7RUFDRTtBYml4REo7O0FjM3hEQTtFQUNFO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDh4REY7QWM1eERFO0VBQ0U7QWQ4eERKO0FjNXhERTtFQUNFO0VBQ0E7RUFDQTtBZDh4REo7QWM3eERJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWQreEROO0FjN3hESTtFQUNFO0VBQ0E7RUFDQTtBZCt4RE47QWN4eERJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWQweEROO0FjeHhETTtFQUNFO0FkMHhEUjs7QWVsMERBO0VBQ0U7RUFDQTtFQUFBO0FmcTBERjtBZW4wREU7RUFDRTtFQUNBO0FmcTBESjtBZW4wREU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZxMERKO0FlcDBESTtFQUNFO0VBQ0E7RUFDQTtBZnMwRE47QWVwMERJO0VBQ0U7QWZzMEROO0FlcjBETTtFQUNFO0FmdTBEUjtBZXQwRFE7RUFDRTtFQUNBO0VBQ0E7QWZ3MERWO0FldDBEUTtFQUNFO0FmdzBEVixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvTGluZS52dWUiLCJ3ZWJwYWNrOi8vLzxubyBzb3VyY2U+Iiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL0N1c3RvbWVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY29tcG9uZW50cy9RdW90YXRpb24udnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL0ludm9pY2UudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL1Byb2R1Y3RVcGRhdGUudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL1Byb2R1Y3RzVGFibGUudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL1NldHRpbmdzLnZ1ZSIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY29tcG9uZW50cy9DdXN0b21lclVwZGF0ZS52dWUiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvQ3VzdG9tZXJzVGFibGUudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3F1aWxsL2Rpc3QvcXVpbGwuc25vdy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL25vdHlmL25vdHlmLm1pbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hbmltYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21tb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hbGVydHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9kYXRhdGFibGUvZGF0YXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2J1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy90YWJsZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9jaGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL3N3YWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL3F1aWxsX2VkaXRvci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9jb250ZXh0X21lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvcGF5bWVudF9ub3RpZi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIjxzY3JpcHQgc2V0dXA+XG5pbXBvcnQge3JlZiwgY29tcHV0ZWQsIGRlZmluZUVtaXRzLCBvbk1vdW50ZWQsIG9uQmVmb3JlVW5tb3VudCwgd2F0Y2h9IGZyb20gXCJ2dWVcIjtcbmltcG9ydCBheGlvcyBmcm9tIFwiYXhpb3NcIjtcblxuY29uc3QgcHJvcHMgPSBkZWZpbmVQcm9wcyh7XG4gICAgbGluZToge1xuICAgICAgICB0eXBlOiBPYmplY3QsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICB9LFxuICAgIGlzV29uOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGlzQ3JlZGl0TGluZToge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfVxufSk7XG5cbmNvbnN0IHF1YW50aXR5ID0gcmVmKHByb3BzLmxpbmUucXVhbnRpdHkgPz8gMSk7XG5jb25zdCBzaG93U3VnZ2VzdGlvbnMgPSByZWYoZmFsc2UpO1xuY29uc3Qgc3VnZ2VzdGlvbnMgPSByZWYoe30pXG5jb25zdCB1bml0UHJpY2UgPSByZWYocHJvcHMubGluZS51bml0UHJpY2UgPz8gMCk7XG5jb25zdCBuYW1lID0gcmVmKHByb3BzLmxpbmUubmFtZSA/PyAnJyk7XG5jb25zdCBpc1N0b3JlZCA9IHJlZihwcm9wcy5saW5lLmlzU3RvcmVkID8/IGZhbHNlKTtcbmNvbnN0IGlzVGl0bGUgPSByZWYocHJvcHMubGluZS5pc1RpdGxlID8/IGZhbHNlKTtcbmNvbnN0IHRvdGFsID0gY29tcHV0ZWQoKCkgPT4gcXVhbnRpdHkudmFsdWUgKiB1bml0UHJpY2UudmFsdWUpO1xuXG5jb25zdCBlbWl0ID0gZGVmaW5lRW1pdHMoW1widXBkYXRlLWxpbmVcIiwgXCJkZWxldGUtbGluZVwiXSk7XG5cbm9uTW91bnRlZCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG59KVxuXG5vbkJlZm9yZVVubW91bnQoKCkgPT4ge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVDbGlja091dHNpZGUpO1xufSk7XG5cbndhdGNoKFtxdWFudGl0eSwgdW5pdFByaWNlLCBuYW1lXSwgKFtxLCB1LCBuXSkgPT4ge1xuXG4gICAgZW1pdChcInVwZGF0ZS1saW5lXCIsIHtcbiAgICAgICAgaWQ6IHByb3BzLmxpbmUuaWQsXG4gICAgICAgIHF1YW50aXR5OiBxLFxuICAgICAgICBuYW1lOiBuLFxuICAgICAgICB1bml0UHJpY2U6IHUsXG4gICAgICAgIGlzU3RvcmVkOiBpc1N0b3JlZCxcbiAgICAgICAgaXNUaXRsZTogaXNUaXRsZSxcbiAgICB9KTtcbn0pO1xuXG5jb25zdCBub3RpZnlQYXJlbnQgPSAoKSA9PiB7XG4gICAgZW1pdChcInVwZGF0ZS1saW5lXCIsIHtpZDogcHJvcHMubGluZS5pZCwgcXVhbnRpdHk6IHF1YW50aXR5LCB1bml0UHJpY2U6IHVuaXRQcmljZSwgbmFtZTogbmFtZSwgaXNTdG9yZWQ6IGlzU3RvcmVkLCBpc1RpdGxlOiBpc1RpdGxlfSk7XG59O1xuXG5jb25zdCBub3RpZnlEZWxldGUgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGVtaXQoXCJkZWxldGUtbGluZVwiLCB7aWQ6IHByb3BzLmxpbmUuaWR9KTtcbn1cblxuY29uc3QgZ2V0UHJvZHVjdHMgPSBhc3luYyAoZSkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXRcbiAgICBpZihpbnB1dC52YWx1ZSkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9wcm9kdWN0cy9zZWFyY2gvJHtpbnB1dC52YWx1ZX1gKVxuICAgICAgICBzdWdnZXN0aW9ucy52YWx1ZSA9IHJlc3BvbnNlLmRhdGFcbiAgICAgICAgc2hvd1N1Z2dlc3Rpb25zLnZhbHVlID0gdHJ1ZVxuICAgIH1cbn1cblxuY29uc3Qgc2VsZWN0T3B0aW9uID0gKHN1Z2dlc3Rpb24pID0+IHtcbiAgICBpZihzdWdnZXN0aW9uKSB7XG4gICAgICAgIG5hbWUudmFsdWUgPSBzdWdnZXN0aW9uLm5hbWVcbiAgICAgICAgdW5pdFByaWNlLnZhbHVlID0gc3VnZ2VzdGlvbi51bml0UHJpY2VcbiAgICAgICAgc2hvd1N1Z2dlc3Rpb25zLnZhbHVlID0gZmFsc2U7XG4gICAgfVxufVxuXG5jb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQpID0+IHtcbiAgICAvLyBWw6lyaWZpZSBzaSBsZSBjbGljIHMnZXN0IHByb2R1aXQgZW4gZGVob3JzIGR1IGNoYW1wIG91IGRlIGxhIGxpc3RlXG4gICAgaWYgKCFldmVudC50YXJnZXQuY2xvc2VzdChcIi5hdXRvY29tcGxldGUtd3JhcHBlclwiKSkge1xuICAgICAgICBzaG93U3VnZ2VzdGlvbnMudmFsdWUgPSBmYWxzZTtcbiAgICB9XG59O1xuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICAgIDxkaXYgOmNsYXNzPVwieyAnanVzdGlmeS1iZXR3ZWVuJzogaXNUaXRsZSB9XCIgY2xhc3M9XCJsaW5lIGl0ZW1zLWNlbnRlciBnYXAtMiB3LWZ1bGxcIiB2LWlmPVwiIXByb3BzLmlzV29uXCI+XG4gICAgICAgIDwhLS0gQ2hhbXAgTm9tIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZSByZWxhdGl2ZSBhdXRvY29tcGxldGUtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIDpjbGFzcz1cImlzVGl0bGUgPyAnZm9udC1ib2xkIHRleHQtWzE4cHhdJyA6ICcnXCI+XG4gICAgICAgICAgICAgICAge3sgaXNUaXRsZSA/ICdUaXRyZScgOiAnT2JqZXQnIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgQGlucHV0PVwiZ2V0UHJvZHVjdHNcIlxuICAgICAgICAgICAgICAgIDpkaXNhYmxlZD1cInByb3BzLmlzV29uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgbmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cImlzVGl0bGUgPyAnVGl0cmUnIDogJ05vbSdcIlxuICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCAgcC0yIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS0zMDBcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgdi1pZj1cIiFpc1RpdGxlICYmIHNob3dTdWdnZXN0aW9ucyAmJiBzdWdnZXN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHctZnVsbCBiZy13aGl0ZSBib3JkZXIgcm91bmRlZC1sZyBzaGFkb3ctbWQgbWF4LWgtNDAgb3ZlcmZsb3cteS1hdXRvIHotMTAgdG9wLTEwMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIHYtZm9yPVwiKHN1Z2dlc3Rpb24sIGluZGV4KSBpbiBzdWdnZXN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIDprZXk9XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIEBjbGljaz1cInNlbGVjdE9wdGlvbihzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC0yIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLWJsdWUtMTAwXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24ubmFtZSB9fSAoIHt7IHN1Z2dlc3Rpb24udW5pdFByaWNlfX0g4oKsIClcbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gQ2hhbXAgUXVhbnRpdMOpIC0tPlxuICAgICAgICAgICAgPGRpdiB2LWlmPVwiIWlzVGl0bGVcIiBjbGFzcz1cImZsZXgtMSAgXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPlF1YW50aXTDqTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIDpkaXNhYmxlZD1cInByb3BzLmlzV29uXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJxdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUXVhbnRpdMOpXCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cInF1YW50aXR5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLTIgbnVtYmVyIHctZnVsbCBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgdGV4dC1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtMzAwXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBDaGFtcCBQcml4IFVuaXRhaXJlIC0tPlxuICAgICAgICAgICAgPGRpdiB2LWlmPVwiIWlzVGl0bGVcIiBjbGFzcz1cImZsZXgtMSAgXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPlByaXg8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwicHJpY2VcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlByaXggdW5pdGFpcmVcIlxuICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwidW5pdFByaWNlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJudW1iZXIgcC0yIHctZnVsbCBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgdGV4dC1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtMzAwXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBUb3RhbCAtLT5cbiAgICAgICAgICAgIDxkaXYgdi1pZj1cIiFpc1RpdGxlXCIgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1yaWdodCBmbGV4LTFcIj5cbiAgICAgICAgICAgICAgICB7eyB0b3RhbCB9fSDigqxcbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sc1wiPlxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBAY2xpY2s9XCJub3RpZnlEZWxldGVcIj5cbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJyZWRcIiBjbGFzcz1cInNpemUtNlwiPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwibTE0Ljc0IDktLjM0NiA5bS00Ljc4OCAwTDkuMjYgOW05Ljk2OC0zLjIxYy4zNDIuMDUyLjY4Mi4xMDcgMS4wMjIuMTY2bS0xLjAyMi0uMTY1TDE4LjE2IDE5LjY3M2EyLjI1IDIuMjUgMCAwIDEtMi4yNDQgMi4wNzdIOC4wODRhMi4yNSAyLjI1IDAgMCAxLTIuMjQ0LTIuMDc3TDQuNzcyIDUuNzltMTQuNDU2IDBhNDguMTA4IDQ4LjEwOCAwIDAgMC0zLjQ3OC0uMzk3bS0xMiAuNTYyYy4zNC0uMDU5LjY4LS4xMTQgMS4wMjItLjE2NW0wIDBhNDguMTEgNDguMTEgMCAwIDEgMy40NzgtLjM5N203LjUgMHYtLjkxNmMwLTEuMTgtLjkxLTIuMTY0LTIuMDktMi4yMDFhNTEuOTY0IDUxLjk2NCAwIDAgMC0zLjMyIDBjLTEuMTguMDM3LTIuMDkgMS4wMjItMi4wOSAyLjIwMXYuOTE2bTcuNSAwYTQ4LjY2NyA0OC42NjcgMCAwIDAtNy41IDBcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDx0ZCB2LWlmPVwicHJvcHMuaXNXb25cIiA6Y2xhc3M9XCJ7ICdmb250LWJvbGQgYmctZ3JheS0yMDAnOiBpc1RpdGxlIH1cIiBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04IHRleHQtYmxhY2tcIiA6Y29sc3Bhbj1cImlzVGl0bGUgPyAnNCcgOiAnJ1wiID5cbiAgICAgICAge3sgbmFtZSB9fVxuICAgIDwvdGQ+XG5cbiAgICA8dGQgdi1pZj1cIiFpc1RpdGxlICYmIHByb3BzLmlzV29uXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlciBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtOCB0ZXh0LWJsYWNrXCI+XG4gICAgICAgIHt7ICFwcm9wcy5pc0NyZWRpdExpbmUgPyBxdWFudGl0eSA6ICcnIH19XG4gICAgPC90ZD5cblxuICAgIDx0ZCB2LWlmPVwiIWlzVGl0bGUgJiYgcHJvcHMuaXNXb25cIiBjbGFzcz1cInRleHQtcmlnaHQgcHItNDAtcGMgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcHktNCBwbC04IHRleHQtYmxhY2tcIj5cbiAgICAgICAge3sgIXByb3BzLmlzQ3JlZGl0TGluZSA/IHVuaXRQcmljZSArICfigqwnIDogJycgfX1cbiAgICA8L3RkPlxuXG4gICAgPHRkIHYtaWY9XCIhaXNUaXRsZSAmJiBwcm9wcy5pc1dvblwiIGNsYXNzPVwidGV4dC1yaWdodCBmb250LWJvbGQgcHJpY2UgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1ibGFja1wiPlxuICAgICAgICB7eyB0b3RhbCB9fSDigqxcbiAgICA8L3RkPlxuPC90ZW1wbGF0ZT5cblxuPHN0eWxlIHNjb3BlZD5cbi5saW5lIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnRkIHtcbiAgICAmLnByLTQwLXBjIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNiU7XG4gICAgfVxuICAgICYucHJpY2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5uYW1lIHtcbiAgICB3aWR0aDogNjAlO1xufVxuaW5wdXQge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAmLm5hbWUge1xuXG4gICAgfVxuICAgICYubnVtYmVyIHtcbiAgICB9XG5cbn1cblxuZGl2IHtcbiAgICAmLnRvdGFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgYWxpZ24tY29udGVudDogZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxufVxuPC9zdHlsZT4iLG51bGwsIjxzY3JpcHQgc2V0dXA+XG5pbXBvcnQge3JlZiwgd2F0Y2gsIGRlZmluZVByb3BzLCBkZWZpbmVFbWl0cywgb25Nb3VudGVkLCBvbkJlZm9yZVVubW91bnQsIHJlYWN0aXZlfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5cbi8vIFByb3BzIHBvdXIgaW5pdGlhbGlzZXIgbGVzIGRvbm7DqWVzIGR1IGNsaWVudFxuY29uc3QgcHJvcHMgPSBkZWZpbmVQcm9wcyh7XG4gICAgaXNXb246IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgY3VzdG9tZXI6IHtcbiAgICAgICAgdHlwZTogT2JqZWN0LFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6ICgpID0+ICh7XG4gICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgIG5hbWU6IFwiXCIsXG4gICAgICAgICAgICBhZGRyZXNzOiBcIlwiLFxuICAgICAgICAgICAgYWRkcmVzc0NvbXBsZW1lbnQ6IFwiXCIsXG4gICAgICAgICAgICB6aXBDb2RlOiBudWxsLFxuICAgICAgICAgICAgY2l0eTogXCJcIixcbiAgICAgICAgICAgIGNvbnRhY3ROYW1lOiBcIlwiLFxuICAgICAgICAgICAgY29udGFjdFBob25lOiBcIlwiLFxuICAgICAgICAgICAgY29udGFjdEVtYWlsOiBcIlwiLFxuICAgICAgICAgICAgc2lyZXQ6IFwiXCIsXG4gICAgICAgICAgICBvcmlnaW5DdXN0b21lcjogbnVsbCxcbiAgICAgICAgfSksXG4gICAgfSxcbn0pO1xuXG5jb25zdCBzdWdnZXN0aW9ucyA9IHJlZih7fSlcbmNvbnN0IHNob3dTdWdnZXN0aW9ucyA9IHJlZihmYWxzZSk7XG5cblxuLy8gRMOpZmluaXIgbGVzIMOpdsOpbmVtZW50cyDDqW1pcyBwYXIgbGUgY29tcG9zYW50XG5jb25zdCBlbWl0ID0gZGVmaW5lRW1pdHMoW1widXBkYXRlLWN1c3RvbWVyXCJdKTtcblxuLy8gUsOpZsOpcmVuY2UgcsOpYWN0aXZlIHBvdXIgbGVzIGRvbm7DqWVzIGR1IGNsaWVudFxuY29uc3QgY3VzdG9tZXJEYXRhID0gcmVmKHsgLi4ucHJvcHMuY3VzdG9tZXIgfSk7XG5cbi8vIE1ldHRyZSDDoCBqb3VyIGxlcyBkb25uw6llcyBsb2NhbGVzIHNpIGxhIHByb3AgYGN1c3RvbWVyYCBjaGFuZ2VcbndhdGNoKFxuICAgICgpID0+IHByb3BzLmN1c3RvbWVyLFxuICAgIChuZXdDdXN0b21lcikgPT4ge1xuICAgICAgICBjdXN0b21lckRhdGEudmFsdWUgPSB7IC4uLm5ld0N1c3RvbWVyIH07XG4gICAgfSxcbiAgICB7IGRlZXA6IHRydWUgfVxuKTtcblxuLy8gw4ltZXR0cmUgbGVzIGRvbm7DqWVzIGF1IHBhcmVudCDDoCBjaGFxdWUgbW9kaWZpY2F0aW9uXG53YXRjaChcbiAgICAoKSA9PiBjdXN0b21lckRhdGEudmFsdWUsXG4gICAgKG5ld0RhdGEpID0+IHtcbiAgICAgICAgZW1pdChcInVwZGF0ZS1jdXN0b21lclwiLCB7IC4uLm5ld0RhdGEgfSk7XG4gICAgfSxcbiAgICB7IGRlZXA6IHRydWUgfVxuKTtcblxub25Nb3VudGVkKCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbn0pXG5cbm9uQmVmb3JlVW5tb3VudCgoKSA9PiB7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG59KTtcblxuY29uc3QgZ2V0Q3VzdG9tZXJzID0gYXN5bmMgKGUpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvY3VzdG9tZXIvc2VhcmNoLyR7aW5wdXQudmFsdWV9YClcbiAgICBzdWdnZXN0aW9ucy52YWx1ZSA9IHJlc3BvbnNlLmRhdGFcbiAgICBzaG93U3VnZ2VzdGlvbnMudmFsdWUgPSB0cnVlXG59XG5cbmNvbnN0IHNlbGVjdE9wdGlvbiA9IChzdWdnZXN0aW9uKSA9PiB7XG4gICAgZW1pdChcInVwZGF0ZS1jdXN0b21lclwiLCBzdWdnZXN0aW9uKTtcbiAgICBzaG93U3VnZ2VzdGlvbnMudmFsdWUgPSBmYWxzZTtcbn1cblxuY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50KSA9PiB7XG4gICAgLy8gVsOpcmlmaWUgc2kgbGUgY2xpYyBzJ2VzdCBwcm9kdWl0IGVuIGRlaG9ycyBkdSBjaGFtcCBvdSBkZSBsYSBsaXN0ZVxuICAgIGlmICghZXZlbnQudGFyZ2V0LmNsb3Nlc3QoXCIuYXV0b2NvbXBsZXRlLXdyYXBwZXJcIikpIHtcbiAgICAgICAgc2hvd1N1Z2dlc3Rpb25zLnZhbHVlID0gZmFsc2U7XG4gICAgfVxufTtcblxuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci1mb3JtXCIgdi1pZj1cIiFwcm9wcy5pc1dvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHItNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIGF1dG9jb21wbGV0ZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPjxiPk5vbTwvYj48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIEBpbnB1dD1cImdldEN1c3RvbWVyc1wiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJjdXN0b21lckRhdGEubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOb21cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgIHYtaWY9XCJzaG93U3VnZ2VzdGlvbnMgJiYgc3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgdy1mdWxsIGJnLXdoaXRlIGJvcmRlciByb3VuZGVkLWxnIHNoYWRvdy1sZyBtYXgtaC00MCBvdmVyZmxvdy15LWF1dG8gei0xMCB0b3AtWzEwMCVdIG10LTFcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICB2LWZvcj1cIihzdWdnZXN0aW9uLCBpbmRleCkgaW4gc3VnZ2VzdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOmtleT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz1cInNlbGVjdE9wdGlvbihzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtMiBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy1ibHVlLTEwMFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj48Yj5Db29yZG9ubsOpZXM8L2I+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwiY3VzdG9tZXJEYXRhLmFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQWRyZXNzZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMiBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImFkZHJlc3NDb21wbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5hZGRyZXNzQ29tcGxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiemlwQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJjdXN0b21lckRhdGEuemlwQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvZGUgcG9zdGFsXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0yIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS01MDBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImNpdHlcIlxuICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwiY3VzdG9tZXJEYXRhLmNpdHlcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVmlsbGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj48Yj5Db250YWN0PC9iPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIDpkaXNhYmxlZD1cInByb3BzLmlzV29uXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb250YWN0TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJjdXN0b21lckRhdGEuY29udGFjdE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTm9tIGR1IGNvbnRhY3RcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiY29udGFjdFBob25lXCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5jb250YWN0UGhvbmVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVMOpbMOpcGhvbmUgZHUgY29udGFjdFwiXG4gICAgICAgICAgICAgICAgICAgIHYtbWFzaz1cIicjIyAjIyAjIyAjIyAjIydcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJwcm9wcy5pc1dvblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiY29udGFjdEVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5jb250YWN0RW1haWxcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVtYWlsIGR1IGNvbnRhY3RcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj48Yj5OwrAgU0lSRVQ8L2I+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOmRpc2FibGVkPVwicHJvcHMuaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInNpcmV0XCJcbiAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImN1c3RvbWVyRGF0YS5zaXJldFwiXG4gICAgICAgICAgICAgICAgICAgIHYtbWFzaz1cIicjIyMgIyMjICMjIyAjIyMjIydcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiMDAwIDAwMCAwMDAgMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTIgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm10LTVcIiB2LWlmPVwicHJvcHMuaXNXb25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9jayBmb250LWJvbGQgdGV4dC1sZ1wiPlxuICAgICAgICAgICAge3sgY3VzdG9tZXJEYXRhLm5hbWUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrXCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuYWRkcmVzcyB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIiB2LWlmPVwiY3VzdG9tZXJEYXRhLmFkZHJlc3NDb21wbGVtZW50XCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuYWRkcmVzc0NvbXBsZW1lbnQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrXCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuemlwQ29kZSB9fSB7eyBjdXN0b21lckRhdGEuY2l0eSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIiB2LWlmPVwiY3VzdG9tZXJEYXRhLnNpcmV0XCI+XG4gICAgICAgICAgICB7eyBjdXN0b21lckRhdGEuc2lyZXQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCBibG9jayBtdC0zIHRleHQtZ3JheS0zMDAgdW5kZXJsaW5lXCI+XG4gICAgICAgICAgICBDb250YWN0XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9ja1wiPlxuICAgICAgICAgICAge3sgY3VzdG9tZXJEYXRhLmNvbnRhY3ROYW1lIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9ja1wiPlxuICAgICAgICAgICAge3sgY3VzdG9tZXJEYXRhLmNvbnRhY3RQaG9uZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIj5cbiAgICAgICAgICAgIHt7IGN1c3RvbWVyRGF0YS5jb250YWN0RW1haWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG48L3RlbXBsYXRlPlxuXG48c3R5bGUgc2NvcGVkPlxuXG4uY3VzdG9tZXItZm9ybSB7XG5cbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG59XG5cbjwvc3R5bGU+XG4iLCI8c2NyaXB0IHNldHVwPlxuaW1wb3J0IHtyZWYsIG9uTW91bnRlZCwgZGVmaW5lUHJvcHMsIHdhdGNoLCBvblVubW91bnRlZCwgY29tcHV0ZWR9IGZyb20gXCJ2dWVcIjtcbmltcG9ydCBMaW5lIGZyb20gXCIuL0xpbmUudnVlXCI7XG5pbXBvcnQgQ3VzdG9tZXIgZnJvbSBcIi4vQ3VzdG9tZXIudnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIjtcbmltcG9ydCB7IFF1aWxsRWRpdG9yIH0gZnJvbSAnQHZ1ZXVwL3Z1ZS1xdWlsbCdcbmltcG9ydCAnQHZ1ZXVwL3Z1ZS1xdWlsbC9kaXN0L3Z1ZS1xdWlsbC5zbm93LmNzcyc7XG5cbmltcG9ydCB7IHVzZU5vdGlmeU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU5vdGlmeU1ldGhvZHMnO1xuY29uc3QgeyBub3RpZnkgfSA9IHVzZU5vdGlmeU1ldGhvZHMoKTtcblxuXG5jb25zdCBwcm9wcyA9IGRlZmluZVByb3BzKHtcbiAgICBudW1iZXI6IE51bWJlcixcbiAgICBtYXhOdW1iZXI6IE51bWJlcixcbn0pO1xuXG5cbmNvbnN0IGxpbmVJbmRleCA9IHJlZigwKTtcbmNvbnN0IGxpbmVzID0gcmVmKFtdKTtcbmNvbnN0IGZpcnN0SW52b2ljZURhdGEgPSByZWYoW10pO1xuY29uc3QgcXVvdGF0aW9uID0gcmVmKG51bGwpO1xuY29uc3Qgb2JqZWN0ID0gcmVmKCcnKTtcbmNvbnN0IG5vdGUgPSByZWYoJycpO1xuY29uc3QgbWVudGlvbiA9IHJlZignJyk7XG5jb25zdCBtYWluVG90YWwgPSByZWYoMCk7XG5jb25zdCBpc1dvbiA9IHJlZihmYWxzZSk7XG5jb25zdCBjYW5FbWFpbCA9IHJlZihmYWxzZSk7XG5jb25zdCBudW1iZXIgPSByZWYocHJvcHMubnVtYmVyKTtcbmNvbnN0IG1heE51bWJlciA9IHJlZihwcm9wcy5tYXhOdW1iZXIpO1xuY29uc3QgY3VzdG9tZXIgPSByZWYoe1xuICAgIGlkOiBudWxsLFxuICAgIG5hbWU6IFwiXCIsXG4gICAgYWRkcmVzczogXCJcIixcbiAgICBhZGRyZXNzQ29tcGxlbWVudDogXCJcIixcbiAgICB6aXBDb2RlOiBudWxsLFxuICAgIGNpdHk6IFwiXCIsXG4gICAgY29udGFjdE5hbWU6IFwiXCIsXG4gICAgY29udGFjdFBob25lOiBcIlwiLFxuICAgIGNvbnRhY3RFbWFpbDogXCJcIixcbiAgICBzaXJldDogXCJcIixcbiAgICBvcmlnaW5DdXN0b21lcjogbnVsbCxcbn0pO1xuY29uc3QgcmVmZXJlbmNlID0gcmVmKCcnKTtcbmNvbnN0IHBkZlVybCA9IHJlZignIycpO1xuY29uc3QgaGFzSW52b2ljZSA9IHJlZihmYWxzZSk7XG5jb25zdCBkZXNjcmlwdGlvbiA9IHJlZihudWxsKTtcbmNvbnN0IHNob3dEZXNjcmlwdGlvbiA9IHJlZihmYWxzZSk7XG5cbmNvbnN0IGNhblZhbGlkYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBvYmplY3QudmFsdWUgIT09ICcnICYmXG4gICAgICAgIG9iamVjdC52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAhaGFzSW52b2ljZS52YWx1ZSAmJlxuICAgICAgICBjdXN0b21lci52YWx1ZS5uYW1lICE9PSAnJyAmJlxuICAgICAgICBsaW5lcy52YWx1ZS5sZW5ndGggPiAwICYmXG4gICAgICAgIGxpbmVzLnZhbHVlWzBdLm5hbWUgIT09ICcnICYmXG4gICAgICAgIChyZWZlcmVuY2UudmFsdWUgPT09ICcnIHx8IG51bGwgPT09IHJlZmVyZW5jZS52YWx1ZSB8fCByZWZlcmVuY2UudmFsdWUgPT09ICdwcm92aXNvaXJlJylcbiAgICAgICAgO1xufSk7XG5cbmNvbnN0IGNhbkludmFsaWRhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc29sZS5sb2coXCJERUJVRyBjYW5JbnZhbGlkYXRlID0+XCIsIHtcbiAgICAgICAgbnVtYmVyOiBudW1iZXIudmFsdWUsXG4gICAgICAgIG51bWJlclR5cGU6IHR5cGVvZiBudW1iZXIudmFsdWUsXG4gICAgICAgIG1heE51bWJlcjogbWF4TnVtYmVyLnZhbHVlLFxuICAgICAgICBtYXhOdW1iZXJUeXBlOiB0eXBlb2YgbWF4TnVtYmVyLnZhbHVlLFxuICAgICAgICBoYXNJbnZvaWNlOiBoYXNJbnZvaWNlLnZhbHVlLFxuICAgICAgICBjb21wYXJhaXNvbjogbnVtYmVyLnZhbHVlID09PSBtYXhOdW1iZXIudmFsdWVcbiAgICB9KTtcbiAgICByZXR1cm4gIWhhc0ludm9pY2UudmFsdWUgJiZcbiAgICAgICAgbnVtYmVyLnZhbHVlID09PSBtYXhOdW1iZXIudmFsdWVcbiAgICAgICAgO1xufSk7XG5cbi8vIEZvbmN0aW9uIHBvdXIgZ8OpcmVyIGxlcyBtaXNlcyDDoCBqb3VyIGQndW5lIGxpZ25lXG5jb25zdCB1cGRhdGVMaW5lID0gKHVwZGF0ZWRMaW5lKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsaW5lcy52YWx1ZS5maW5kSW5kZXgoKGxpbmUpID0+IGxpbmUuaWQgPT09IHVwZGF0ZWRMaW5lLmlkKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGxpbmVzLnZhbHVlW2luZGV4XSA9IHsgLi4udXBkYXRlZExpbmUgfTtcbiAgICB9XG4gICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxufTtcblxuY29uc3QgZGVsZXRlTGluZSA9IGFzeW5jIChsaW5lVG9SZW1vdmUpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9xdW90YXRpb24vdW5zdG9yZS1saW5lLyR7bGluZVRvUmVtb3ZlLmlkfWApXG4gICAgaWYocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgZXJhc2VMaW5lKGxpbmVUb1JlbW92ZS5pZClcbiAgICAgICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxuICAgIH0gZWxzZSB7XG5cbiAgICB9XG59XG5cbmNvbnN0IGVyYXNlTGluZSA9IChsaW5lSWQpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxpbmVzLnZhbHVlLmZpbmRJbmRleCgobGluZSkgPT4gbGluZS5pZCA9PT0gbGluZUlkKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGxpbmVzLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxufVxuXG4vLyBBam91dGVyIHVuZSBub3V2ZWxsZSBsaWduZVxuY29uc3QgYWRkTGluZSA9IChpc1RpdGxlID0gZmFsc2UpID0+IHtcbiAgICBsaW5lcy52YWx1ZS5wdXNoKHtcbiAgICAgICAgaWQ6IGxpbmVJbmRleC52YWx1ZSxcbiAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgcXVhbnRpdHk6IDEsXG4gICAgICAgIHVuaXRQcmljZTogMCxcbiAgICAgICAgaXNTdG9yZWQ6IGZhbHNlLFxuICAgICAgICBpc1RpdGxlOiBpc1RpdGxlLFxuICAgIH0pO1xuICAgIGxpbmVJbmRleC52YWx1ZSsrO1xuICAgIGNhbGN1bGF0ZVRvdGFsQU1vdW50KClcbn07XG5cblxuLy8gTWV0dHJlIMOgIGpvdXIgdW4gY2hhbXAgc3DDqWNpZmlxdWUgZCd1bmUgbGlnbmVcbmNvbnN0IHVwZGF0ZUxpbmVGaWVsZCA9IChpbmRleCwgZmllbGQsIHZhbHVlKSA9PiB7XG4gICAgbGluZXMudmFsdWVbaW5kZXhdW2ZpZWxkXSA9IHZhbHVlO1xuICAgIGxpbmVzLnZhbHVlW2luZGV4XS5pc1N0b3JlZCA9IHRydWU7XG59O1xuXG4vLyBGb25jdGlvbiBwb3VyIGfDqXJlciBsZXMgbWlzZXMgw6Agam91ciBkZXMgZG9ubsOpZXMgZHUgY2xpZW50XG5jb25zdCB1cGRhdGVDdXN0b21lciA9ICh1cGRhdGVkQ3VzdG9tZXIpID0+IHtcbiAgICBjdXN0b21lci52YWx1ZSA9IHsgLi4udXBkYXRlZEN1c3RvbWVyIH07XG59O1xuXG5jb25zdCBzYXZlUXVvdGF0aW9uID0gYXN5bmMgKHNob3dTdWNjZXNzID0gdHJ1ZSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChcIi9xdW90YXRpb24vc2F2ZVwiLCB7XG4gICAgICAgICAgICBsaW5lczogbGluZXMudmFsdWUsXG4gICAgICAgICAgICBxdW90YXRpb246IHF1b3RhdGlvbi52YWx1ZSxcbiAgICAgICAgICAgIG9iamVjdDogb2JqZWN0LnZhbHVlLFxuICAgICAgICAgICAgbm90ZTogbm90ZS52YWx1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbi52YWx1ZSxcbiAgICAgICAgICAgIGN1c3RvbWVyOiBjdXN0b21lci52YWx1ZSwgLy8gSW5jbHVyZSBsZXMgZG9ubsOpZXMgZHUgY2xpZW50XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGE7XG5cbiAgICAgICAgLy8gTWV0dHJlIMOgIGpvdXIgbGVzIElEIGRlcyBsaWduZXNcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJlc3BvbnNlRGF0YS5saW5lcykge1xuICAgICAgICAgICAgdXBkYXRlTGluZUZpZWxkKGtleSwgXCJpZFwiLCByZXNwb25zZURhdGEubGluZXNba2V5XSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZXR0cmUgw6Agam91ciBsZXMgaW5mb3JtYXRpb25zIGR1IGRldmlzXG4gICAgICAgIGlmIChyZXNwb25zZURhdGEucXVvdGF0aW9uKSB7XG4gICAgICAgICAgICBxdW90YXRpb24udmFsdWUgPSByZXNwb25zZURhdGEucXVvdGF0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWV0dHJlIMOgIGpvdXIgbGVzIGluZm9ybWF0aW9ucyBkdSBjbGllbnQgKHNpIG1vZGlmacOpZXMgY8O0dMOpIGJhY2tlbmQpXG4gICAgICAgIGlmIChyZXNwb25zZURhdGEuY3VzdG9tZXIpIHtcbiAgICAgICAgICAgIGN1c3RvbWVyLnZhbHVlID0gcmVzcG9uc2VEYXRhLmN1c3RvbWVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoc2hvd1N1Y2Nlc3MpIHtcbiAgICAgICAgICAgIGF3YWl0IG5vdGlmeSgnRW5yZWdpc3RyZW1lbnQgcsOpdXNzaScpXG4gICAgICAgIH1cblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGF3YWl0IG5vdGlmeSgnVW5lIGVycmV1ciBzXFwnZXN0IHByb2R1aXRlJywgJ2Vycm9yJylcbiAgICB9XG59O1xuXG5jb25zdCBjYWxjdWxhdGVUb3RhbEFNb3VudCA9ICgpID0+IHtcbiAgICBtYWluVG90YWwudmFsdWUgPSBsaW5lcy52YWx1ZS5yZWR1Y2UoKHRvdGFsLCBsaW5lKSA9PiB7XG4gICAgICAgIHJldHVybiB0b3RhbCArIGxpbmUucXVhbnRpdHkgKiBsaW5lLnVuaXRQcmljZTtcbiAgICB9LCAwKTtcbn1cblxuY29uc3QgY2hhbmdlU3RhdHVzID0gYXN5bmMgKGUpID0+IHtcblxuICAgIGNvbnN0IGNoZWNrYm94ID0gZS50YXJnZXRcblxuICAgIGlmKGNoZWNrYm94LmNoZWNrZWQpIHtcblxuICAgICAgICBhd2FpdCBzYXZlUXVvdGF0aW9uKGZhbHNlKVxuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChgL3F1b3RhdGlvbi92YWxpZGF0ZS8ke3F1b3RhdGlvbi52YWx1ZX1gIClcblxuICAgICAgICBpZihyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGFcbiAgICAgICAgICAgIHJlZmVyZW5jZS52YWx1ZSA9IGRhdGEucmVmZXJlbmNlXG4gICAgICAgICAgICBudW1iZXIudmFsdWUgPSBkYXRhLm51bWJlclxuICAgICAgICAgICAgbWF4TnVtYmVyLnZhbHVlID0gZGF0YS5tYXhOdW1iZXJcbiAgICAgICAgICAgIGlzV29uLnZhbHVlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9xdW90YXRpb24vdW52YWxpZGF0ZS8ke3F1b3RhdGlvbi52YWx1ZX1gIClcblxuICAgICAgICBpZihyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgcmVmZXJlbmNlLnZhbHVlID0gbnVsbFxuICAgICAgICAgICAgaXNXb24udmFsdWUgPSBmYWxzZVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnZG9jdW1lbnQtc3RhdHVzLWNoYW5nZWQnKVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG59XG5cbmNvbnN0IGdldERlZmF1bHRTZXR0aW5ncyA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLmdldCgnL3NldHRpbmdzL2dldCcpXG4gICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGFcblxuICAgIGlmKCc8cD48YnI+PC9wPicgPT09IG5vdGUudmFsdWUpIHtcbiAgICAgICAgbm90ZS52YWx1ZSA9IGRhdGEubm90ZVxuICAgIH1cbn1cblxuLy8gQ2hhcmdlciBsZXMgZG9ubsOpZXMgaW5pdGlhbGVzIGF1IG1vbnRhZ2Vcbm9uTW91bnRlZCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZWxlbWVudCAgICAgICAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicXVvdGF0aW9uXCIpO1xuICAgICAgICBxdW90YXRpb24udmFsdWUgICAgICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQucXVvdGF0aW9uKTtcbiAgICAgICAgbGluZXMudmFsdWUgICAgICAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LmxpbmVzKTtcbiAgICAgICAgb2JqZWN0LnZhbHVlICAgICAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lm9iamVjdCk7XG4gICAgICAgIGlzV29uLnZhbHVlICAgICAgICAgICAgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5pc1dvbik7XG4gICAgICAgIHJlZmVyZW5jZS52YWx1ZSAgICAgICAgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5yZWZlcmVuY2UpO1xuICAgICAgICBjdXN0b21lci52YWx1ZSAgICAgICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQuY3VzdG9tZXIpO1xuICAgICAgICBwZGZVcmwudmFsdWUgICAgICAgICAgID0gZWxlbWVudC5kYXRhc2V0LnBkZlVybDtcbiAgICAgICAgbm90ZS52YWx1ZSAgICAgICAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lm5vdGUpO1xuICAgICAgICBtZW50aW9uLnZhbHVlICAgICAgICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQubWVudGlvbik7XG4gICAgICAgIGRlc2NyaXB0aW9uLnZhbHVlICAgICAgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5kZXNjcmlwdGlvbiA/PyBudWxsKTtcbiAgICAgICAgaGFzSW52b2ljZS52YWx1ZSAgICAgICA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lmhhc0ludm9pY2UpXG4gICAgICAgIGZpcnN0SW52b2ljZURhdGEudmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5maXJzdEludm9pY2VEYXRhKVxuICAgICAgICBjYW5FbWFpbC52YWx1ZSAgICAgICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQuY2FuRW1haWwpXG4gICAgICAgIHNob3dEZXNjcmlwdGlvbi52YWx1ZSAgPSBmYWxzZVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJldXIgbG9ycyBkZSBsJ2luaXRpYWxpc2F0aW9uIDpcIiwgZXJyb3IpO1xuICAgIH1cbiAgICBjYWxjdWxhdGVUb3RhbEFNb3VudCgpO1xuICAgIGdldERlZmF1bHRTZXR0aW5ncygpXG5cbn0pO1xuXG5vblVubW91bnRlZCgoKSA9PiB7XG5cbn0pO1xuXG5jb25zdCBuYXZpZ2F0ZVRvSW52b2ljZSA9ICgpID0+IHtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvaW52b2ljZS9jcmVhdGUvJHtxdW90YXRpb24udmFsdWV9YDtcbn07XG5cbmZ1bmN0aW9uIHNob3dEZXNjIChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2hvd0Rlc2NyaXB0aW9uLnZhbHVlID0gdHJ1ZVxufVxuXG5mdW5jdGlvbiByZW1vdmVEZXNjIChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2hvd0Rlc2NyaXB0aW9uLnZhbHVlID0gZmFsc2VcbiAgICBkZXNjcmlwdGlvbi52YWx1ZSA9IG51bGxcbn1cblxuY29uc3QgZGVsZXRlUXVvdGF0aW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IHVybCA9IGAvcXVvdGF0aW9uL2RlbGV0ZS8ke3F1b3RhdGlvbi52YWx1ZX1gXG5cbiAgICBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogXCI8c3Ryb25nPkF0dGVudGlvbjwvc3Ryb25nPlwiLFxuICAgICAgICBpY29uOiBcIndhcm5pbmdcIixcbiAgICAgICAgaHRtbDogYFxuICAgIMOKdGVzLXZvdXMgc8O7ci1lIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNlIGRldmlzLjxicj5cbiAgYCxcbiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgIGZvY3VzQ29uZmlybTogZmFsc2UsXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBgXG4gICAgIFN1cHByaW1lciBsZSBkZXZpc1xuICBgLFxuICAgICAgICBjb25maXJtQnV0dG9uQXJpYUxhYmVsOiBcImNvbmZpcm1cIixcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogYFxuICAgIEFubnVsZXJcbiAgYCxcbiAgICAgICAgY2FuY2VsQnV0dG9uQXJpYUxhYmVsOiBcInVuZG9cIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IFwid2FybmluZ1wiLFxuICAgICAgICB9XG4gICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgIC8qIFJlYWQgbW9yZSBhYm91dCBpc0NvbmZpcm1lZCwgaXNEZW5pZWQgYmVsb3cgKi9cbiAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmxcbiAgICAgICAgfSBlbHNlICB7XG5cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5jb25zdCBkdXBsaWNhdGUgPSAoKSA9PiB7XG4gICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGAvcXVvdGF0aW9uL2R1cGxpY2F0ZS8ke3F1b3RhdGlvbi52YWx1ZX1gXG59XG5cbi8qKlxuICogQ2V0dGUgbcOpdGhvZGUgcsOpY3Vww6hyZSBsZXMgaW5mb3MgZHUgY3VzdG9tZXIgZCdvcmlnaW5lIHBvdXIgcmVwcmVuZHJlIGxlcyBkb25uw6llcyB0ZWxsZXMgcXVlIGRhbnMgbGEgdGFibGUgQ3VzdG9tZXJcbiAqIEBwYXJhbSBjdXN0b21lcklkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAqL1xuY29uc3QgY3VzdG9tZXJTeW5jaHJvID0gYXN5bmMgKGN1c3RvbWVySWQpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9jdXN0b21lci9kYXRhLyR7Y3VzdG9tZXJJZH1gKVxuICAgIGN1c3RvbWVyLnZhbHVlID0gcmVzcG9uc2UuZGF0YVxufVxuY29uc3QgaGFuZGxlRG93bmxvYWQgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2F2ZVF1b3RhdGlvbihmYWxzZSk7IC8vIGVucmVnaXN0cmVtZW50IGQnYWJvcmRcbiAgICAvLyBFbnN1aXRlLCBmb3JjZXIgbGUgdMOpbMOpY2hhcmdlbWVudFxuXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmhyZWYgPSBwZGZVcmwudmFsdWU7XG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdub29wZW5lcicpXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcblxufTtcblxuXG5jb25zdCBnZXRTbGlkZXJMaW5rID0gKHNsaWRlck5hbWUpID0+IHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuZGF0YXNldC5jb250cm9sbGVyID0gJ3NsaWRlcic7XG4gICAgbGluay5kYXRhc2V0LnNsaWRlciA9IHNsaWRlck5hbWU7XG4gICAgbGluay5kYXRhc2V0LmFjdGlvbiA9ICdjbGljay0+c2xpZGVyI2xvYWQnO1xuICAgIHJldHVybiBsaW5rXG59XG5cbmNvbnN0IGhhbmRsZVByaW50ID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHNhdmVRdW90YXRpb24oZmFsc2UpOyAvLyBlbnJlZ2lzdHJlbWVudCBkJ2Fib3JkXG4gICAgY29uc3QgbGluayA9IGdldFNsaWRlckxpbmsoJ3ByaW50JylcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgfSlcbn1cblxuY29uc3QgaGFuZGxlU2VuZCA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzYXZlUXVvdGF0aW9uKGZhbHNlKTsgLy8gZW5yZWdpc3RyZW1lbnQgZCdhYm9yZFxuICAgIGNvbnN0IGxpbmsgPSBnZXRTbGlkZXJMaW5rKCdlbWFpbCcpXG4gICAgbGluay5kYXRhc2V0LnR5cGUgPSAncXVvdGF0aW9uJ1xuICAgIGxpbmsuZGF0YXNldC5kb2N1bWVudElkID0gcXVvdGF0aW9uLnZhbHVlXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgbGluay5jbGljaygpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIH0pXG59XG5cblxuPC9zY3JpcHQ+XG5cbjx0ZW1wbGF0ZT5cblxuICAgIDxkaXYgY2xhc3M9XCJhcHAgcC02IG10LTVcIj5cblxuICAgICAgICA8IS0tIFRJVFJFIEVUIEFDVElPTlMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cInRleHQtNXhsIGZvbnQtYm9sZCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNVwiPlxuICAgICAgICAgICAgICAgIERldmlzXG4gICAgICAgICAgICAgICAgPHNwYW4gdi1pZj1cInJlZmVyZW5jZSAhPT0gbnVsbCAmJiByZWZlcmVuY2UgIT09ICcnXCIgY2xhc3M9XCJ0ZXh0LWxnIHB4LTQgcHktMiByb3VuZGVkIGJnLWJsYWNrIHRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcmVmZXJlbmNlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgZGF0YS1saXN0ZW49J1tcImVtYWlsLXNlbnRcIiwgXCJkb2N1bWVudC1zdGF0dXMtY2hhbmdlZFwiXSdcbiAgICAgICAgICAgICAgICAgICAgOmRhdGEtcmVsb2FkPVwiYC9zdGF0dXMvcXVvdGF0aW9uLyR7cXVvdGF0aW9ufWBcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXR5cGU9XCJxdW90YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICA6ZGF0YS1kb2N1bWVudC1pZD1cInF1b3RhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtY29udHJvbGxlcj1cImRvY3VtZW50LXN0YXR1c2VzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCJoYXNJbnZvaWNlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwIGludm9pY2UtcmVmXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhIDpocmVmPVwiYC9pbnZvaWNlL2RldGFpbC8ke2ZpcnN0SW52b2ljZURhdGEuaWR9YFwiPkZhY3R1cmUgbsKwIHt7IGZpcnN0SW52b2ljZURhdGEucmVmZXJlbmNlIH19PC9hPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucyBmbGV4IGp1c3RpZnktYmV0d2VlbiBtdC01XCI+XG5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1lLTUgY3Vyc29yLXBvaW50ZXJcIiB2LWlmPVwiY2FuVmFsaWRhdGUgfHwgY2FuSW52YWxpZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cImlzV29uXCIgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJzci1vbmx5IHBlZXJcIiBAY2hhbmdlPVwiY2hhbmdlU3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSB3LTExIGgtNiBiZy1ncmF5LTIwMCByb3VuZGVkLWZ1bGwgcGVlciBkYXJrOmJnLWdyYXktNzAwICBwZWVyLWNoZWNrZWQ6YWZ0ZXI6dHJhbnNsYXRlLXgtZnVsbCBydGw6cGVlci1jaGVja2VkOmFmdGVyOi10cmFuc2xhdGUteC1mdWxsIHBlZXItY2hlY2tlZDphZnRlcjpib3JkZXItd2hpdGUgYWZ0ZXI6Y29udGVudC1bJyddIGFmdGVyOmFic29sdXRlIGFmdGVyOnRvcC0xIGFmdGVyOnN0YXJ0LVs2cHhdIGFmdGVyOmJnLXdoaXRlIGFmdGVyOmJvcmRlci1ncmF5LTMwMCBhZnRlcjpib3JkZXIgYWZ0ZXI6cm91bmRlZC1mdWxsIGFmdGVyOmgtNCBhZnRlcjp3LTQgYWZ0ZXI6dHJhbnNpdGlvbi1hbGwgZGFyazpib3JkZXItZ3JheS02MDAgcGVlci1jaGVja2VkOmJnLXRlYWwtNjAwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMzAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBEZXZpcyB2YWxpZMOpXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNoYWRvdy1tZCB6LTEwIGp1c3RpZnktYmV0d2VlbiBweC00IG1zLTY0IHctc2NyZWVuLW1pbnVzLTY0IGdhcC00IGZpeGVkIHRvcC0wIGxlZnQtMCBweS0zIGJnLXdoaXRlXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cblxuICAgICAgICAgICAgICAgICAgICA8YSByZWw9XCJub29wZW5lclwiIHYtaWY9XCJpc1dvbiAmJiBvYmplY3QgIT09ICcnICYmIG9iamVjdCAhPT0gbnVsbCAmJiAhaGFzSW52b2ljZVwiICBAY2xpY2sucHJldmVudD1cIm5hdmlnYXRlVG9JbnZvaWNlXCIgIGNsYXNzPVwiZGZhLWJ1dHRvbiBiZy1waW5rLTgwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLXBpbmstOTUwIGZvY3VzOm91dGxpbmUtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgbWUtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTkuNSAxNC4yNXYtMi42MjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVoLTEuNUExLjEyNSAxLjEyNSAwIDAgMSAxMy41IDcuMTI1di0xLjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVIOC4yNW0wIDExLjYyNWg0LjVtLTQuNSAyLjI1aDQuNW0yLjEyMSAxLjUyN2MtMS4xNzEgMS40NjQtMy4wNyAxLjQ2NC00LjI0MiAwLTEuMTcyLTEuNDY1LTEuMTcyLTMuODQgMC01LjMwNCAxLjE3MS0xLjQ2NCAzLjA3LTEuNDY0IDQuMjQyIDBNMTAuNSAyLjI1SDUuNjI1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djE3LjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMTIuNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVWMTEuMjVhOSA5IDAgMCAwLTktOVpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICBGYWN0dXJlclxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIiFpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9XCJzYXZlUXVvdGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGZhLWJ1dHRvbiBiZy1waW5rLTgwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLXBpbmstOTAwIGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IG1lLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEwLjEyNSAyLjI1aC00LjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2MTcuMjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWgxMi43NWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNXYtOU0xMC4xMjUgMi4yNWguMzc1YTkgOSAwIDAgMSA5IDl2LjM3NU0xMC4xMjUgMi4yNUEzLjM3NSAzLjM3NSAwIDAgMSAxMy41IDUuNjI1djEuNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDEuNWEzLjM3NSAzLjM3NSAwIDAgMSAzLjM3NSAzLjM3NU05IDE1bDIuMjUgMi4yNUwxNSAxMlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIEVucmVnaXN0cmVyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvcXVvdGF0aW9uL2xpc3RcIiBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIGJnLWJsYWNrIHRleHQtd2hpdGVcIiBkYXRhLXRpcHB5LWNvbnRlbnQ9XCJMaXN0ZSBkZXMgZGV2aXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk04LjI1IDYuNzVoMTJNOC4yNSAxMmgxMm0tMTIgNS4yNWgxMk0zLjc1IDYuNzVoLjAwN3YuMDA4SDMuNzVWNi43NVptLjM3NSAwYS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWk0zLjc1IDEyaC4wMDd2LjAwOEgzLjc1VjEyWm0uMzc1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBabS0uMzc1IDUuMjVoLjAwN3YuMDA4SDMuNzV2LS4wMDhabS4zNzUgMGEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJkdXBsaWNhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10aXBweS1jb250ZW50PVwiRHVwbGlxdWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGZhLWJ1dHRvbiBjaXJjbGUgYmctY3lhbi03MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1jeWFuLTgwMCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTUuNzUgMTcuMjV2My4zNzVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVoLTkuNzVhMS4xMjUgMS4xMjUgMCAwIDEtMS4xMjUtMS4xMjVWNy44NzVjMC0uNjIxLjUwNC0xLjEyNSAxLjEyNS0xLjEyNUg2Ljc1YTkuMDYgOS4wNiAwIDAgMSAxLjUuMTI0bTcuNSAxMC4zNzZoMy4zNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVWMTEuMjVjMC00LjQ2LTMuMjQzLTguMTYxLTcuNS04Ljg3NmE5LjA2IDkuMDYgMCAwIDAtMS41LS4xMjRIOS4zNzVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2My41bTcuNSAxMC4zNzVIOS4zNzVhMS4xMjUgMS4xMjUgMCAwIDEtMS4xMjUtMS4xMjV2LTkuMjVtMTIgNi42MjV2LTEuODc1YTMuMzc1IDMuMzc1IDAgMCAwLTMuMzc1LTMuMzc1aC0xLjVhMS4xMjUgMS4xMjUgMCAwIDEtMS4xMjUtMS4xMjV2LTEuNWEzLjM3NSAzLjM3NSAwIDAgMC0zLjM3NS0zLjM3NUg5Ljc1XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGlwcHktY29udGVudD1cIlTDqWzDqWNoYXJnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cInBkZlVybCAmJiBwZGZVcmwgIT09ICcjJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2sucHJldmVudD1cImhhbmRsZURvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGZhLWJ1dHRvbiBjaXJjbGUgYmctdGVhbC01MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy10ZWFsLTcwMCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMyAxNi41djIuMjVBMi4yNSAyLjI1IDAgMCAwIDUuMjUgMjFoMTMuNUEyLjI1IDIuMjUgMCAwIDAgMjEgMTguNzVWMTYuNU0xNi41IDEyIDEyIDE2LjVtMCAwTDcuNSAxMm00LjUgNC41VjNcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10aXBweS1jb250ZW50PVwiSW1wcmltZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLnByZXZlbnQ9XCJoYW5kbGVQcmludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIGJnLWFtYmVyLTUwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWFtYmVyLTYwMCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNi43MiAxMy44MjljLS4yNC4wMy0uNDguMDYyLS43Mi4wOTZtLjcyLS4wOTZhNDIuNDE1IDQyLjQxNSAwIDAgMSAxMC41NiAwbS0xMC41NiAwTDYuMzQgMThtMTAuOTQtNC4xNzFjLjI0LjAzLjQ4LjA2Mi43Mi4wOTZtLS43Mi0uMDk2TDE3LjY2IDE4bTAgMCAuMjI5IDIuNTIzYTEuMTI1IDEuMTI1IDAgMCAxLTEuMTIgMS4yMjdINy4yMzFjLS42NjIgMC0xLjE4LS41NjgtMS4xMi0xLjIyN0w2LjM0IDE4bTExLjMxOCAwaDEuMDkxQTIuMjUgMi4yNSAwIDAgMCAyMSAxNS43NVY5LjQ1NmMwLTEuMDgxLS43NjgtMi4wMTUtMS44MzctMi4xNzVhNDguMDU1IDQ4LjA1NSAwIDAgMC0xLjkxMy0uMjQ3TTYuMzQgMThINS4yNUEyLjI1IDIuMjUgMCAwIDEgMyAxNS43NVY5LjQ1NmMwLTEuMDgxLjc2OC0yLjAxNSAxLjgzNy0yLjE3NWE0OC4wNDEgNDguMDQxIDAgMCAxIDEuOTEzLS4yNDdtMTAuNSAwYTQ4LjUzNiA0OC41MzYgMCAwIDAtMTAuNSAwbTEwLjUgMFYzLjM3NWMwLS42MjEtLjUwNC0xLjEyNS0xLjEyNS0xLjEyNWgtOC4yNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYzLjY1OU0xOCAxMC41aC4wMDh2LjAwOEgxOFYxMC41Wm0tMyAwaC4wMDh2LjAwOEgxNVYxMC41WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB2LWlmPVwiY2FuRW1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10aXBweS1jb250ZW50PVwiRW52b3llclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2sucHJldmVudD1cImhhbmRsZVNlbmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1jeWFuLTcwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWN5YW4tOTAwIGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0yMS43NSA2Ljc1djEwLjVhMi4yNSAyLjI1IDAgMCAxLTIuMjUgMi4yNWgtMTVhMi4yNSAyLjI1IDAgMCAxLTIuMjUtMi4yNVY2Ljc1bTE5LjUgMEEyLjI1IDIuMjUgMCAwIDAgMTkuNSA0LjVoLTE1YTIuMjUgMi4yNSAwIDAgMC0yLjI1IDIuMjVtMTkuNSAwdi4yNDNhMi4yNSAyLjI1IDAgMCAxLTEuMDcgMS45MTZsLTcuNSA0LjYxNWEyLjI1IDIuMjUgMCAwIDEtMi4zNiAwTDMuMzIgOC45MWEyLjI1IDIuMjUgMCAwIDEtMS4wNy0xLjkxNlY2Ljc1XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgQGNsaWNrPVwiZGVsZXRlUXVvdGF0aW9uXCIgdi1pZj1cIiFpc1dvblwiIGhyZWY9XCIjXCIgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1yZWQtODAwIHRleHQtd2hpdGUgdGV4dC1zbSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwibTE0Ljc0IDktLjM0NiA5bS00Ljc4OCAwTDkuMjYgOW05Ljk2OC0zLjIxYy4zNDIuMDUyLjY4Mi4xMDcgMS4wMjIuMTY2bS0xLjAyMi0uMTY1TDE4LjE2IDE5LjY3M2EyLjI1IDIuMjUgMCAwIDEtMi4yNDQgMi4wNzdIOC4wODRhMi4yNSAyLjI1IDAgMCAxLTIuMjQ0LTIuMDc3TDQuNzcyIDUuNzltMTQuNDU2IDBhNDguMTA4IDQ4LjEwOCAwIDAgMC0zLjQ3OC0uMzk3bS0xMiAuNTYyYy4zNC0uMDU5LjY4LS4xMTQgMS4wMjItLjE2NW0wIDBhNDguMTEgNDguMTEgMCAwIDEgMy40NzgtLjM5N203LjUgMHYtLjkxNmMwLTEuMTgtLjkxLTIuMTY0LTIuMDktMi4yMDFhNTEuOTY0IDUxLjk2NCAwIDAgMC0zLjMyIDBjLTEuMTguMDM3LTIuMDkgMS4wMjItMi4wOSAyLjIwMXYuOTE2bTcuNSAwYTQ4LjY2NyA0OC42NjcgMCAwIDAtNy41IDBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIENvbnRlbmV1ciBwcmluY2lwYWwgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIG10LTUgZ2FwLTQgZG9jdW1lbnRcIj5cblxuICAgICAgICAgICAgPCEtLSBDb2xvbm5lIGdhdWNoZSA6IEN1c3RvbWVyIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNiBxdW90YXRpb24tY3VzdG9tZXIgbWQ6Y29sLXNwYW4tMSBiZy13aGl0ZSByb3VuZGVkLWxnIFwiPlxuXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgbWItMiBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtZS0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMCAwIDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMCAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEgMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAgMSAxMiAyMWE4Ljk2NiA4Ljk2NiAwIDAgMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgQ2xpZW50XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1bMTRweF0gZm9udC1ub3JtYWwgaG92ZXI6dW5kZXJsaW5lXCIgaHJlZj1cIlwiIHYtaWY9XCJjdXN0b21lci5vcmlnaW4gJiYgIWlzV29uXCIgQGNsaWNrLnByZXZlbnQ9XCJjdXN0b21lclN5bmNocm8oY3VzdG9tZXIub3JpZ2luKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgIFLDqWN1cMOpcmVyIGxlcyBkb25uw6llcyBkJ29yaWdpbmVcbiAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgPEN1c3RvbWVyIDppcy13b249XCJpc1dvblwiIDpjdXN0b21lcj1cImN1c3RvbWVyXCIgQHVwZGF0ZS1jdXN0b21lcj1cInVwZGF0ZUN1c3RvbWVyXCIgLz5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gQ29sb25uZSBkcm9pdGUgOiBMaXN0ZSBkZXMgbGlnbmVzIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNiBxdW90YXRpb24tbGluZXMgbWQ6Y29sLXNwYW4tMiBiZy13aGl0ZSByb3VuZGVkLWxnXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNVwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIG1iLTIgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwibWUtMiBzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTguNjI1IDkuNzVhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBabTAgMEg4LjI1bTQuMTI1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBabTAgMEgxMm00LjEyNSAwYS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWm0wIDBoLS4zNzVtLTEzLjUgMy4wMWMwIDEuNiAxLjEyMyAyLjk5NCAyLjcwNyAzLjIyNyAxLjA4Ny4xNiAyLjE4NS4yODMgMy4yOTMuMzY5VjIxbDQuMTg0LTQuMTgzYTEuMTQgMS4xNCAwIDAgMSAuNzc4LS4zMzIgNDguMjk0IDQ4LjI5NCAwIDAgMCA1LjgzLS40OThjMS41ODUtLjIzMyAyLjcwOC0xLjYyNiAyLjcwOC0zLjIyOFY2Ljc0MWMwLTEuNjAyLTEuMTIzLTIuOTk1LTIuNzA3LTMuMjI4QTQ4LjM5NCA0OC4zOTQgMCAwIDAgMTIgM2MtMi4zOTIgMC00Ljc0NC4xNzUtNy4wNDMuNTEzQzMuMzczIDMuNzQ2IDIuMjUgNS4xNCAyLjI1IDYuNzQxdjYuMDE4WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamV0IGR1IGRldmlzXG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtaWY9XCIhaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwib2JqZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwib2JqZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJPYmpldCBkdSBkZXZpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0yIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS01MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHYtaWY9XCJpc1dvblwiIGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGQgcGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9iamVjdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIHYtaWY9XCIhaXNXb24gJiYgKChkZXNjcmlwdGlvbiA9PT0gbnVsbCB8fCBkZXNjcmlwdGlvbiA9PT0gJycpICYmICFzaG93RGVzY3JpcHRpb24pXCIgQGNsaWNrLnByZXZlbnQ9XCJzaG93RGVzY1wiIGNsYXNzPVwidGV4dC1zbSBmbGV4IGl0ZW1zLWNlbnRlciBtdC0xIGhvdmVyOnVuZGVybGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTQgbWUtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTIgOXY2bTMtM0g5bTEyIDBhOSA5IDAgMSAxLTE4IDAgOSA5IDAgMCAxIDE4IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBBam91dGVyIHVuZSBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIHJlZj1cImRlc2NyaXB0aW9uQXJlYVwiICB2LWlmPVwiIWlzV29uXCIgdi1tb2RlbD1cImRlc2NyaXB0aW9uXCIgbmFtZT1cImRlc2NyaXB0aW9uXCIgaWQ9XCJcIiByb3dzPVwiMlwiICA6Y2xhc3M9XCJ7IGhpZGRlbjogIXNob3dEZXNjcmlwdGlvbiAmJiAhZGVzY3JpcHRpb24gfSBcIiBjbGFzcz1cIm10LTUgdy1mdWxsXCIgcGxhY2Vob2xkZXI9XCJEZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8L3RleHRhcmVhPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIEBjbGljay5wcmV2ZW50PVwicmVtb3ZlRGVzY1wiIGhyZWY9XCIjXCIgdi1pZj1cIiFpc1dvbiAmJiAoKGRlc2NyaXB0aW9uICE9PSBudWxsICYmIGRlc2NyaXB0aW9uICE9PSAnJykgfHwgc2hvd0Rlc2NyaXB0aW9uKVwiIGNsYXNzPVwidGV4dC1yZWQtODAwIHRleHQtc20gaG92ZXI6dW5kZXJsaW5lIGZsZXggaXRlbXMtY2VudGVyIG1heC13LW1heFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTQgbWUtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTUgMTJIOW0xMiAwYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgU3VwcHJpbWVyIGxhIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8cCB2LWlmPVwiaXNXb24gJiYgKGRlc2NyaXB0aW9uICE9PSBudWxsICYmIGRlc2NyaXB0aW9uICE9PSAnJylcIiBjbGFzcz1cInBsLThcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWdyYXktNTAgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCBwLTRcIj5cblxuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cIm1lLTIgc2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0yLjI1IDNoMS4zODZjLjUxIDAgLjk1NS4zNDMgMS4wODcuODM1bC4zODMgMS40MzdNNy41IDE0LjI1YTMgMyAwIDAgMC0zIDNoMTUuNzVtLTEyLjc1LTNoMTEuMjE4YzEuMTIxLTIuMyAyLjEtNC42ODQgMi45MjQtNy4xMzhhNjAuMTE0IDYwLjExNCAwIDAgMC0xNi41MzYtMS44NE03LjUgMTQuMjUgNS4xMDYgNS4yNzJNNiAyMC4yNWEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWm0xMi43NSAwYS43NS43NSAwIDEgMS0xLjUgMCAuNzUuNzUgMCAwIDEgMS41IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICDDiWzDqW1lbnRzXG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiIWlzV29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtZm9yPVwibGluZSBpbiBsaW5lc1wiIDprZXk9XCJsaW5lLmlkXCIgY2xhc3M9XCJtYi00IHctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmlzLXdvbj1cImlzV29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmxpbmU9XCJsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHVwZGF0ZS1saW5lPVwidXBkYXRlTGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBkZWxldGUtbGluZT1cImRlbGV0ZUxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImlzV29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZS1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWxlZnQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb21cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWNlbnRlciBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtOCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1YW50aXTDqVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtY2VudGVyIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpeCB1bml0YWlyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtcmlnaHQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgdi1mb3I9XCJsaW5lIGluIGxpbmVzXCIgOmtleT1cImxpbmUuaWRcIiBjbGFzcz1cIm1iLTQgdy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppcy13b249XCJpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bGluZT1cImxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHVwZGF0ZS1saW5lPVwidXBkYXRlTGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGVsZXRlLWxpbmU9XCJkZWxldGVMaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjNcIiB2LWh0bWw9XCJtZW50aW9uXCIgY2xhc3M9XCIgcC00IHBsLTggdGV4dC1zbGF0ZS01MDAgZGFyazp0ZXh0LXNsYXRlLTQwMFwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicHJpY2UgZm9udC1ib2xkIGJnLXNsYXRlLTcwMCB0ZXh0LXdoaXRlIHAtNCBwbC04XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCA6IHt7IG1haW5Ub3RhbCB9fSDigqxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgIHYtaWY9XCIhaXNXb25cIiBjbGFzcz1cIiBmbGV4IGp1c3RpZnktYmV0d2VlbiB3LWZ1bGxcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTUgYWxpZ24taXRlbXMtY2VudGVyXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz1cImFkZExpbmUoZmFsc2UpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiZy1zbGF0ZS01MDAgaG92ZXI6Ymctc2xhdGUtNzAwIHRleHQtd2hpdGUgZGZhLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cIm1yLTIgc2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEyIDl2Nm0zLTNIOW0xMiAwYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBam91dGVyIHVuIMOpbMOpbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9XCJhZGRMaW5lKHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiZy1zbGF0ZS01MDAgaG92ZXI6Ymctc2xhdGUtNzAwIHRleHQtd2hpdGUgZGZhLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cIm1yLTIgc2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEyIDl2Nm0zLTNIOW0xMiAwYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBam91dGVyIHVuIHRpdHJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTUgcHktMiBiZy1zbGF0ZS04MDAgcm91bmRlZCBmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXIgdGV4dC13aGl0ZSBqdXN0aWZ5LWVuZCB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNS43NSAxNS43NVYxOG0tNy41LTYuNzVoLjAwOHYuMDA4SDguMjV2LS4wMDhabTAgMi4yNWguMDA4di4wMDhIOC4yNVYxMy41Wm0wIDIuMjVoLjAwOHYuMDA4SDguMjV2LS4wMDhabTAgMi4yNWguMDA4di4wMDhIOC4yNVYxOFptMi40OTgtNi43NWguMDA3di4wMDhoLS4wMDd2LS4wMDhabTAgMi4yNWguMDA3di4wMDhoLS4wMDdWMTMuNVptMCAyLjI1aC4wMDd2LjAwOGgtLjAwN3YtLjAwOFptMCAyLjI1aC4wMDd2LjAwOGgtLjAwN1YxOFptMi41MDQtNi43NWguMDA4di4wMDhoLS4wMDh2LS4wMDhabTAgMi4yNWguMDA4di4wMDhoLS4wMDhWMTMuNVptMCAyLjI1aC4wMDh2LjAwOGgtLjAwOHYtLjAwOFptMCAyLjI1aC4wMDh2LjAwOGgtLjAwOFYxOFptMi40OTgtNi43NWguMDA4di4wMDhoLS4wMDh2LS4wMDhabTAgMi4yNWguMDA4di4wMDhoLS4wMDhWMTMuNVpNOC4yNSA2aDcuNXYyLjI1aC03LjVWNlpNMTIgMi4yNWMtMS44OTIgMC0zLjc1OC4xMS01LjU5My4zMjJDNS4zMDcgMi43IDQuNSAzLjY1IDQuNSA0Ljc1N1YxOS41YTIuMjUgMi4yNSAwIDAgMCAyLjI1IDIuMjVoMTAuNWEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1VjQuNzU3YzAtMS4xMDgtLjgwNi0yLjA1Ny0xLjkwNy0yLjE4NUE0OC41MDcgNDguNTA3IDAgMCAwIDEyIDIuMjVaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCA6IHt7IG1haW5Ub3RhbCB9fSDigqxcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCIhaXNXb24gfHwgbnVsbCAhPT0gbm90ZVwiIGNsYXNzPVwicXVpbGwtY29udGFpbmVyIG1kOmNvbC1zcGFuLTMgcC02IGJnLXdoaXRlIHJvdW5kZWQtbGdcIj5cblxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIG1iLTIgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgbWUtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk05IDEyaDMuNzVNOSAxNWgzLjc1TTkgMThoMy43NW0zIC43NUgxOGEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1VjYuMTA4YzAtMS4xMzUtLjg0NS0yLjA5OC0xLjk3Ni0yLjE5MmE0OC40MjQgNDguNDI0IDAgMCAwLTEuMTIzLS4wOG0tNS44MDEgMGMtLjA2NS4yMS0uMS40MzMtLjEuNjY0IDAgLjQxNC4zMzYuNzUuNzUuNzVoNC41YS43NS43NSAwIDAgMCAuNzUtLjc1IDIuMjUgMi4yNSAwIDAgMC0uMS0uNjY0bS01LjggMEEyLjI1MSAyLjI1MSAwIDAgMSAxMy41IDIuMjVIMTVjMS4wMTIgMCAxLjg2Ny42NjggMi4xNSAxLjU4Nm0tNS44IDBjLS4zNzYuMDIzLS43NS4wNS0xLjEyNC4wOEM5LjA5NSA0LjAxIDguMjUgNC45NzMgOC4yNSA2LjEwOFY4LjI1bTAgMEg0Ljg3NWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxMS4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDkuNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVWOS4zNzVjMC0uNjIxLS41MDQtMS4xMjUtMS4xMjUtMS4xMjVIOC4yNVpNNi43NSAxMmguMDA4di4wMDhINi43NVYxMlptMCAzaC4wMDh2LjAwOEg2Ljc1VjE1Wm0wIDNoLjAwOHYuMDA4SDYuNzVWMThaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIE5vdGUgZGUgYmFzIGRlIHBhZ2VcbiAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgPFF1aWxsRWRpdG9yIHYtaWY9XCIhaXNXb25cIiBjb250ZW50VHlwZT1cImh0bWxcIiB0aGVtZT1cInNub3dcIiB2LW1vZGVsOmNvbnRlbnQ9XCJub3RlXCIvPlxuXG4gICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiaXNXb24gJiYgbm90ZVwiIGNsYXNzPVwicmVsYXRpdmUgbXMtMyBwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgdi1odG1sPVwibm90ZVwiID5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuXG48c3R5bGUgc2NvcGVkPlxuXG4ucXVpbGwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgJi5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiPHNjcmlwdCBzZXR1cD5cbmltcG9ydCB7cmVmLCBvbk1vdW50ZWQsIG5leHRUaWNrLCBvblVubW91bnRlZCwgY29tcHV0ZWR9IGZyb20gXCJ2dWVcIjtcbmltcG9ydCBMaW5lIGZyb20gXCIuL0xpbmUudnVlXCI7XG5pbXBvcnQgQ3VzdG9tZXIgZnJvbSBcIi4vQ3VzdG9tZXIudnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIjtcbmltcG9ydCB7IFF1aWxsRWRpdG9yIH0gZnJvbSAnQHZ1ZXVwL3Z1ZS1xdWlsbCdcbmltcG9ydCAnQHZ1ZXVwL3Z1ZS1xdWlsbC9kaXN0L3Z1ZS1xdWlsbC5zbm93LmNzcyc7XG5cbmltcG9ydCB7IHVzZU5vdGlmeU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU5vdGlmeU1ldGhvZHMnXG5pbXBvcnQgUmVtaW5kZXIgZnJvbSBcIi4vUmVtaW5kZXIudnVlXCI7XG5jb25zdCB7IG5vdGlmeSB9ID0gdXNlTm90aWZ5TWV0aG9kcygpXG5cbmltcG9ydCB7dXNlRGF0ZU1ldGhvZHN9IGZyb20gXCIuL2NvbXBvc2FibGVzL3VzZURhdGVNZXRob2RzXCI7XG5jb25zdCB7IHJlbWluZERhdGUsIG5vdyB9ID0gdXNlRGF0ZU1ldGhvZHMoKTtcblxuY29uc3QgbGluZUluZGV4ID0gcmVmKDApO1xuY29uc3QgbGluZXMgPSByZWYoW10pO1xuY29uc3QgaW52b2ljZSA9IHJlZihudWxsKTtcbmNvbnN0IG9iamVjdCA9IHJlZihudWxsKTtcbmNvbnN0IG1haW5Ub3RhbCA9IHJlZigwKTtcbmNvbnN0IGlzV29uID0gcmVmKGZhbHNlKTtcbmNvbnN0IGlzUGFpZCA9IHJlZihmYWxzZSk7XG5jb25zdCBjYW5FbWFpbCA9IHJlZihmYWxzZSk7XG5jb25zdCBjdXN0b21lciA9IHJlZih7XG4gICAgaWQ6IG51bGwsXG4gICAgbmFtZTogXCJcIixcbiAgICBhZGRyZXNzOiBcIlwiLFxuICAgIGFkZHJlc3NDb21wbGVtZW50OiBcIlwiLFxuICAgIHppcENvZGU6IG51bGwsXG4gICAgY2l0eTogXCJcIixcbiAgICBjb250YWN0TmFtZTogXCJcIixcbiAgICBjb250YWN0UGhvbmU6IFwiXCIsXG4gICAgY29udGFjdEVtYWlsOiBcIlwiLFxuICAgIHNpcmV0OiBcIlwiLFxuICAgIG9yaWdpbkN1c3RvbWVyOiBudWxsLFxufSk7XG5jb25zdCByZWZlcmVuY2UgPSByZWYoJycpO1xuY29uc3QgcGRmVXJsID0gcmVmKCcjJyk7XG5jb25zdCBub3RlID0gcmVmKCcnKTtcbmNvbnN0IG1lbnRpb24gPSByZWYoJycpO1xuY29uc3QgZGVzY3JpcHRpb24gPSByZWYobnVsbCk7XG5jb25zdCBxdW90YXRpb25JZCA9IHJlZihudWxsKTtcbmNvbnN0IHF1b3RhdGlvblJlZmVyZW5jZSA9IHJlZihudWxsKTtcbmNvbnN0IG93bmVyU2lyZXQgPSByZWYobnVsbCk7XG5jb25zdCBzaG93RGVzY3JpcHRpb24gPSByZWYoZmFsc2UpO1xuY29uc3QgdHlwZSA9IHJlZihudWxsKTtcbmNvbnN0IG9yaWdpbmFsVG90YWwgPSByZWYobnVsbCk7XG5jb25zdCBvcmlnaW5hbFJlZmVyZW5jZSA9IHJlZihudWxsKTtcbmNvbnN0IG9yaWdpbmFsSWQgPSByZWYobnVsbCk7XG5jb25zdCBjcmVkaXRJZCA9IHJlZihudWxsKTtcbmNvbnN0IGNyZWRpdFJlZiA9IHJlZihudWxsKTtcbmNvbnN0IGlzc3VlZEF0ID0gcmVmKG51bGwpO1xuXG5jb25zdCBoYXNUb0JlUmVtaW5kID0gcmVmKGZhbHNlKTtcbmNvbnN0IGxhc3RSZW1pbmQgPSByZWYobnVsbCk7XG5cbmNvbnN0IGNhbklzc3VlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgICFpc1dvbi52YWx1ZSAmJlxuICAgICAgICBvYmplY3QudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgb2JqZWN0LnZhbHVlICE9PSAnJyAmJlxuICAgICAgICBjdXN0b21lci52YWx1ZS5uYW1lICE9PSAnJyAmJlxuICAgICAgICBsaW5lcy52YWx1ZS5sZW5ndGggPiAwICYmXG4gICAgICAgIGxpbmVzLnZhbHVlWzBdLm5hbWUgIT09ICcnICYmXG4gICAgICAgIG93bmVyU2lyZXQudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgdHlwZS52YWx1ZSAhPT0gJ0F2b2lyJ1xuICAgICAgICApXG4gICAgICAgIDtcbn0pO1xuXG5jb25zdCB1cGRhdGVMaW5lID0gKHVwZGF0ZWRMaW5lKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsaW5lcy52YWx1ZS5maW5kSW5kZXgoKGxpbmUpID0+IGxpbmUuaWQgPT09IHVwZGF0ZWRMaW5lLmlkKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGxpbmVzLnZhbHVlW2luZGV4XSA9IHsgLi4udXBkYXRlZExpbmUgfTtcbiAgICB9XG4gICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxufTtcblxuXG5cbmNvbnN0IGRlbGV0ZUxpbmUgPSBhc3luYyAobGluZVRvUmVtb3ZlKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvaW52b2ljZS91bnN0b3JlLWxpbmUvJHtsaW5lVG9SZW1vdmUuaWR9YClcbiAgICBpZihyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBlcmFzZUxpbmUobGluZVRvUmVtb3ZlLmlkKVxuICAgICAgICBjYWxjdWxhdGVUb3RhbEFNb3VudCgpXG4gICAgfSBlbHNlIHtcblxuICAgIH1cbn1cblxuY29uc3QgaXNDcmVkaXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICh0eXBlLnZhbHVlID09PSAnQXZvaXInKVxufSlcblxuY29uc3QgaXNDYW5jZWxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKGNyZWRpdElkLnZhbHVlICE9PSBudWxsICYmIGNyZWRpdElkLnZhbHVlICE9PSAnJylcbn0pXG5cbmNvbnN0IGVyYXNlTGluZSA9IChsaW5lSWQpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxpbmVzLnZhbHVlLmZpbmRJbmRleCgobGluZSkgPT4gbGluZS5pZCA9PT0gbGluZUlkKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGxpbmVzLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxufVxuXG5jb25zdCBhZGRMaW5lID0gKGlzVGl0bGUgPSBmYWxzZSkgPT4ge1xuICAgIGxpbmVzLnZhbHVlLnB1c2goe1xuICAgICAgICBpZDogbGluZUluZGV4LnZhbHVlLFxuICAgICAgICBuYW1lOiBcIlwiLFxuICAgICAgICBxdWFudGl0eTogMSxcbiAgICAgICAgdW5pdFByaWNlOiAwLFxuICAgICAgICBpc1N0b3JlZDogZmFsc2UsXG4gICAgICAgIGlzVGl0bGU6IGlzVGl0bGUsXG4gICAgfSk7XG4gICAgbGluZUluZGV4LnZhbHVlKys7XG4gICAgY2FsY3VsYXRlVG90YWxBTW91bnQoKVxufTtcblxuY29uc3QgdXBkYXRlTGluZUZpZWxkID0gKGluZGV4LCBmaWVsZCwgdmFsdWUpID0+IHtcbiAgICBsaW5lcy52YWx1ZVtpbmRleF1bZmllbGRdID0gdmFsdWU7XG4gICAgbGluZXMudmFsdWVbaW5kZXhdLmlzU3RvcmVkID0gdHJ1ZTtcbn07XG5cbmNvbnN0IHVwZGF0ZUN1c3RvbWVyID0gKHVwZGF0ZWRDdXN0b21lcikgPT4ge1xuICAgIGN1c3RvbWVyLnZhbHVlID0geyAuLi51cGRhdGVkQ3VzdG9tZXIgfTtcbn07XG5cbmNvbnN0IHNhdmVJbnZvaWNlID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChcIi9pbnZvaWNlL3NhdmVcIiwge1xuICAgICAgICAgICAgbGluZXM6IGxpbmVzLnZhbHVlLFxuICAgICAgICAgICAgaW52b2ljZTogaW52b2ljZS52YWx1ZSxcbiAgICAgICAgICAgIG9iamVjdDogb2JqZWN0LnZhbHVlLFxuICAgICAgICAgICAgbm90ZTogbm90ZS52YWx1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbi52YWx1ZSxcbiAgICAgICAgICAgIGN1c3RvbWVyOiBjdXN0b21lci52YWx1ZSwgLy8gSW5jbHVyZSBsZXMgZG9ubsOpZXMgZHUgY2xpZW50XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGE7XG5cbiAgICAgICAgLy8gTWV0dHJlIMOgIGpvdXIgbGVzIElEIGRlcyBsaWduZXNcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJlc3BvbnNlRGF0YS5saW5lcykge1xuICAgICAgICAgICAgdXBkYXRlTGluZUZpZWxkKGtleSwgXCJpZFwiLCByZXNwb25zZURhdGEubGluZXNba2V5XSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZXR0cmUgw6Agam91ciBsZXMgaW5mb3JtYXRpb25zIGRlIGxhIGZhY3R1cmVcbiAgICAgICAgaWYgKHJlc3BvbnNlRGF0YS5pbnZvaWNlKSB7XG4gICAgICAgICAgICBpbnZvaWNlLnZhbHVlID0gcmVzcG9uc2VEYXRhLmludm9pY2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZXR0cmUgw6Agam91ciBsZXMgaW5mb3JtYXRpb25zIGR1IGNsaWVudCAoc2kgbW9kaWZpw6llcyBjw7R0w6kgYmFjaylcbiAgICAgICAgaWYgKHJlc3BvbnNlRGF0YS5jdXN0b21lcikge1xuICAgICAgICAgICAgY3VzdG9tZXIudmFsdWUgPSByZXNwb25zZURhdGEuY3VzdG9tZXI7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBub3RpZnkoJ0VucmVnaXN0cmVtZW50IHLDqXVzc2knKVxuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdVbmUgZXJyZXVyIHNcXCdlc3QgcHJvZHVpdGUnLCAnZXJyb3InKVxuXG4gICAgfVxufTtcblxuY29uc3QgY2FsY3VsYXRlVG90YWxBTW91bnQgPSAoKSA9PiB7XG4gICAgbWFpblRvdGFsLnZhbHVlID0gbGluZXMudmFsdWUucmVkdWNlKCh0b3RhbCwgbGluZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG90YWwgKyBsaW5lLnF1YW50aXR5ICogbGluZS51bml0UHJpY2U7XG4gICAgfSwgMCk7XG59XG5cbmNvbnN0IGNoYW5nZVN0YXR1cyA9IGFzeW5jIChlKSA9PiB7XG4gICAgY29uc3QgY2hlY2tib3ggPSBlLnRhcmdldFxuICAgIGlmKGNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiBcIjxzdHJvbmc+QXR0ZW50aW9uPC9zdHJvbmc+XCIsXG4gICAgICAgICAgICBpY29uOiBcImluZm9cIixcbiAgICAgICAgICAgIGh0bWw6IGBcbiAgICBWb3VzIMOqdGVzIHN1ciBsZSBwb2ludCBkJ8OpbWV0dHJlIHZvdHJlIGZhY3R1cmUuPGJyPlxuICAgIEVuIGNvbnRpbnVhbnQsIDxiPnZvdHJlIGZhY3R1cmUgc2VyYSBudW3DqXJvdMOpZSBldCBuZSBzZXJhIHBsdXMgbW9kaWZpYWJsZTwvYj4uXG4gIGAsXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgICAgICBmb2N1c0NvbmZpcm06IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGBcbiAgICAgw4ltZXR0cmUgZXQgbnVtw6lyb3RlciBtYSBmYWN0dXJlXG4gIGAsXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uQXJpYUxhYmVsOiBcImNvbmZpcm1cIixcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGBcbiAgICBBbm51bGVyXG4gIGAsXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25BcmlhTGFiZWw6IFwidW5kb1wiLFxuXG4gICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgLyogUmVhZCBtb3JlIGFib3V0IGlzQ29uZmlybWVkLCBpc0RlbmllZCBiZWxvdyAqL1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgICAgIHNhdmVJbnZvaWNlKCkudGhlbihlbWl0SW52b2ljZSgpKVxuICAgICAgICAgICAgfSBlbHNlICB7XG4gICAgICAgICAgICAgICAgY2hlY2tib3guY2hlY2tlZCA9IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcblxuICAgIH1cbn1cblxuXG5jb25zdCBjYW5jZWxJbnZvaWNlID0gYXN5bmMgKGUpID0+IHtcblxuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6IFwiPHN0cm9uZz5BdHRlbnRpb248L3N0cm9uZz5cIixcbiAgICAgICAgICAgIGljb246IFwiaW5mb1wiLFxuICAgICAgICAgICAgaHRtbDogYFxuICAgIFZvdXMgw6p0ZXMgc3VyIGxlIHBvaW50IGQnYW5udWxlciB2b3RyZSBmYWN0dXJlLjxicj5cbiAgICBFbiBjb250aW51YW50LCA8Yj52b3RyZSBmYWN0dXJlIHNlcmEgYW5udWzDqWUgZXQgdW4gYXZvaXIgc2VyYSBnw6luw6lyw6k8L2I+LlxuICBgLFxuICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgZm9jdXNDb25maXJtOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBgXG4gICAgIEFubnVsZXIgbWEgZmFjdHVyZVxuICBgLFxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkFyaWFMYWJlbDogXCJjb25maXJtXCIsXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBgXG4gICAgRmVybWVyXG4gIGAsXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25BcmlhTGFiZWw6IFwidW5kb1wiLFxuXG4gICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgLyogUmVhZCBtb3JlIGFib3V0IGlzQ29uZmlybWVkLCBpc0RlbmllZCBiZWxvdyAqL1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9pbnZvaWNlL2NhbmNlbC8nICsgaW52b2ljZS52YWx1ZVxuICAgICAgICAgICAgfSBlbHNlICB7XG4gICAgICAgICAgICAgICAgY2hlY2tib3guY2hlY2tlZCA9IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG5cbn1cblxuXG5jb25zdCBwYXlJbnZvaWNlID0gYXN5bmMgKGUpID0+IHtcbiAgICBjb25zdCBjaGVja2JveCA9IGUudGFyZ2V0XG4gICAgaWYoY2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKClcbiAgICAgICAgY29uc3QgeXl5eSA9IHRvZGF5LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGNvbnN0IG1tID0gU3RyaW5nKHRvZGF5LmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpOyAvLyBMZXMgbW9pcyBjb21tZW5jZW50IMOgIDAgIVxuICAgICAgICBjb25zdCBkZCA9IFN0cmluZyh0b2RheS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XG5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGAke3l5eXl9LSR7bW19LSR7ZGR9YDtcbiAgICAgICAgY29uc3QgZG91YmxlQ2hlY2tJY29uID1cbiAgICAgICAgICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtMTBcIj5cXG4nICtcbiAgICAgICAgICAgICcgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTkuNSAxNC4yNXYtMi42MjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVoLTEuNUExLjEyNSAxLjEyNSAwIDAgMSAxMy41IDcuMTI1di0xLjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVIOC4yNW0wIDExLjYyNWg0LjVtLTQuNSAyLjI1aDQuNW0yLjEyMSAxLjUyN2MtMS4xNzEgMS40NjQtMy4wNyAxLjQ2NC00LjI0MiAwLTEuMTcyLTEuNDY1LTEuMTcyLTMuODQgMC01LjMwNCAxLjE3MS0xLjQ2NCAzLjA3LTEuNDY0IDQuMjQyIDBNMTAuNSAyLjI1SDUuNjI1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djE3LjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMTIuNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVWMTEuMjVhOSA5IDAgMCAwLTktOVpcIiAvPlxcbicgK1xuICAgICAgICAgICAgJzwvc3ZnPlxcbidcblxuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6IFwiPHN0cm9uZz5Sw6hnbGVtZW50IGRlIGxhIGZhY3R1cmU8L3N0cm9uZz5cIixcbiAgICAgICAgICAgIGljb246IFwic3VjY2Vzc1wiLFxuICAgICAgICAgICAgaWNvbkh0bWw6IGRvdWJsZUNoZWNrSWNvbixcbiAgICAgICAgICAgIGh0bWw6IGBcbiAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiPkRhdGUgZGUgcsOoZ2xlbWVudDwvbGFiZWw+XG4gICAgPGlucHV0IHR5cGU9XCJkYXRlXCIgbmFtZT1cInBhaWRfYXRcIiB2YWx1ZT1cIiR7Zm9ybWF0dGVkRGF0ZX1cIj5cbiAgICA8bGFiZWwgZm9yPVwiZGF0ZVwiPk1vZGUgZGUgcsOoZ2xlbWVudDwvbGFiZWw+XG4gICAgPHNlbGVjdCBuYW1lPVwicGF5bWVudF9tb2RlXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJjYXJkXCI+Q2FydGUgYmFuY2FpcmU8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNhc2hcIj5Fc3DDqGNlczwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2hlY2tcIj5DaMOocXVlPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJ0cmFuc2ZlclwiPlZpcmVtZW50PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gICAgPGxhYmVsIGZvcj1cImRhdGVcIj5Nb250YW50PC9sYWJlbD5cbiAgICA8c3Bhbj5cbiAgICAgICAgJHttYWluVG90YWwudmFsdWV9IOKCrFxuICAgIDwvc3Bhbj5cbiAgYCxcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIGZvY3VzQ29uZmlybTogZmFsc2UsXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogYFxuICAgICBFbnJlZ2lzdHJlciBsZSBwYWllbWVudFxuICBgLFxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkFyaWFMYWJlbDogXCJjb25maXJtXCIsXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBgXG4gICAgQW5udWxlclxuICBgLFxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uQXJpYUxhYmVsOiBcInVuZG9cIixcblxuICAgICAgICBwcmVDb25maXJtOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb3B1cCA9IFN3YWwuZ2V0UG9wdXAoKVxuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHBvcHVwLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9XCJwYWlkX2F0XCJdJykudmFsdWVcbiAgICAgICAgICAgIGNvbnN0IG1vZGUgPSBwb3B1cC5xdWVyeVNlbGVjdG9yKCdzZWxlY3RbbmFtZT1cInBheW1lbnRfbW9kZVwiXScpLnZhbHVlXG5cbiAgICAgICAgICAgIGlmICghZGF0ZSB8fCAhbW9kZSkge1xuICAgICAgICAgICAgICAgIFN3YWwuc2hvd1ZhbGlkYXRpb25NZXNzYWdlKCdUb3VzIGxlcyBjaGFtcHMgc29udCByZXF1aXMnKVxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4geyBkYXRlLCBtb2RlIH1cbiAgICAgICAgfVxuXG4gICAgICAgIH0pLnRoZW4oYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgLyogUmVhZCBtb3JlIGFib3V0IGlzQ29uZmlybWVkLCBpc0RlbmllZCBiZWxvdyAqL1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBkYXRlLCBtb2RlIH0gPSByZXN1bHQudmFsdWVcblxuICAgICAgICAgICAgICAgIGF3YWl0IHNhdmVQYXltZW50KGludm9pY2UudmFsdWUsIGRhdGUsIG1vZGUpXG5cbiAgICAgICAgICAgIH0gZWxzZSAge1xuICAgICAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgIH0gZWxzZSB7XG5cbiAgICB9XG59XG5cbmNvbnN0IHNhdmVQYXltZW50ID0gYXN5bmMgKGludm9pY2VJZCwgZGF0ZSwgbW9kZSkgPT4ge1xuXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKVxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZGF0ZScsIGRhdGUpXG4gICAgZm9ybURhdGEuYXBwZW5kKCdtb2RlJywgbW9kZSlcblxuICAgIGZldGNoKGAvcGF5aW52b2ljZS8ke2ludm9pY2VJZH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBmb3JtRGF0YVxuICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpXG4gICAgfSkudGhlbihkYXRhID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3VjY2Vzcykge1xuICAgICAgICAgICAgaXNQYWlkLnZhbHVlID0gdHJ1ZVxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2RvY3VtZW50LXN0YXR1cy1jaGFuZ2VkJylcbiAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG4gICAgICAgIH1cbiAgICB9KVxufVxuXG5jb25zdCBlbWl0SW52b2ljZSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9pbnZvaWNlL2VtaXRgLCB7XG4gICAgICAgIGludm9pY2U6IGludm9pY2UudmFsdWVcbiAgICB9KVxuICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZS5kYXRhXG4gICAgICAgIHJlZmVyZW5jZS52YWx1ZSA9IGRhdGEucmVmZXJlbmNlXG4gICAgICAgIGlzV29uLnZhbHVlID0gdHJ1ZVxuXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdkb2N1bWVudC1zdGF0dXMtY2hhbmdlZCcpXG4gICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG4gICAgfVxufVxuXG4vLyBDaGFyZ2VyIGxlcyBkb25uw6llcyBpbml0aWFsZXMgYXUgbW9udGFnZVxub25Nb3VudGVkKCgpID0+IHtcbiAgICBuZXh0VGljaygoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpbnZvaWNlXCIpO1xuICAgICAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignw4lsw6ltZW50IGF2ZWMgbFxcJ0lEIFwiaW52b2ljZVwiIGludHJvdXZhYmxlJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW52b2ljZS52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lmludm9pY2UpO1xuICAgICAgICAgICAgbGluZXMudmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5saW5lcyk7XG4gICAgICAgICAgICB0eXBlLnZhbHVlID0gZWxlbWVudC5kYXRhc2V0LmRvY3VtZW50VHlwZTtcbiAgICAgICAgICAgIG9yaWdpbmFsVG90YWwudmFsdWUgPSBlbGVtZW50LmRhdGFzZXQub3JpZ2luYWxUb3RhbDtcbiAgICAgICAgICAgIG9yaWdpbmFsUmVmZXJlbmNlLnZhbHVlID0gZWxlbWVudC5kYXRhc2V0Lm9yaWdpbmFsUmVmZXJlbmNlO1xuICAgICAgICAgICAgb3JpZ2luYWxJZC52YWx1ZSA9IGVsZW1lbnQuZGF0YXNldC5vcmlnaW5hbElkO1xuICAgICAgICAgICAgY3JlZGl0SWQudmFsdWUgPSBlbGVtZW50LmRhdGFzZXQuY3JlZGl0SWQ7XG4gICAgICAgICAgICBjcmVkaXRSZWYudmFsdWUgPSBlbGVtZW50LmRhdGFzZXQuY3JlZGl0UmVmO1xuICAgICAgICAgICAgb2JqZWN0LnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQub2JqZWN0KTtcbiAgICAgICAgICAgIGlzV29uLnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQuaXNXb24pO1xuICAgICAgICAgICAgaXNzdWVkQXQudmFsdWUgPSBlbGVtZW50LmRhdGFzZXQuaXNzdWVkQXQgIT09ICcnID8gZWxlbWVudC5kYXRhc2V0Lmlzc3VlZEF0IDogbnVsbDtcbiAgICAgICAgICAgIHJlZmVyZW5jZS52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LnJlZmVyZW5jZSk7XG4gICAgICAgICAgICBjdXN0b21lci52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LmN1c3RvbWVyKTtcbiAgICAgICAgICAgIHBkZlVybC52YWx1ZSA9IGVsZW1lbnQuZGF0YXNldC5wZGZVcmw7XG4gICAgICAgICAgICBub3RlLnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQubm90ZSk7XG4gICAgICAgICAgICBtZW50aW9uLnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQubWVudGlvbik7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbi52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0LmRlc2NyaXB0aW9uKTtcbiAgICAgICAgICAgIHF1b3RhdGlvbklkLnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQucXVvdGF0aW9uSWQpO1xuICAgICAgICAgICAgcXVvdGF0aW9uUmVmZXJlbmNlLnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQucXVvdGF0aW9uUmVmZXJlbmNlKTtcbiAgICAgICAgICAgIGNhbkVtYWlsLnZhbHVlID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQuY2FuRW1haWwpO1xuICAgICAgICAgICAgb3duZXJTaXJldC52YWx1ZSA9IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lm93bmVyU2lyZXQpO1xuICAgICAgICAgICAgaXNQYWlkLnZhbHVlID0gZWxlbWVudC5kYXRhc2V0LmlzUGFpZDtcbiAgICAgICAgICAgIGhhc1RvQmVSZW1pbmQudmFsdWUgPSBlbGVtZW50LmRhdGFzZXQuaGFzVG9CZVJlbWluZCA/IEpTT04ucGFyc2UoZWxlbWVudC5kYXRhc2V0Lmhhc1RvQmVSZW1pbmQpIDogZmFsc2U7XG4gICAgICAgICAgICBsYXN0UmVtaW5kLnZhbHVlID0gZWxlbWVudC5kYXRhc2V0Lmxhc3RSZW1pbmQ7XG4gICAgICAgICAgICBjYWxjdWxhdGVUb3RhbEFNb3VudCgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycmV1ciBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gOlwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ1JlbWluZEhhc0JlZW5TZW50JywgdXBkYXRlUmVtaW5kKVxuXG59KTtcblxuY29uc3QgdXBkYXRlUmVtaW5kID0gKGUpID0+IHtcbiAgICBoYXNUb0JlUmVtaW5kLnZhbHVlID0gZmFsc2VcbiAgICBsYXN0UmVtaW5kLnZhbHVlID0gbm93KClcbn1cblxub25Vbm1vdW50ZWQoKCkgPT4ge1xuXG59KTtcblxuZnVuY3Rpb24gc2hvd0Rlc2MgKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBzaG93RGVzY3JpcHRpb24udmFsdWUgPSB0cnVlXG59XG5cbmZ1bmN0aW9uIHJlbW92ZURlc2MgKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBzaG93RGVzY3JpcHRpb24udmFsdWUgPSBmYWxzZVxuICAgIGRlc2NyaXB0aW9uLnZhbHVlID0gbnVsbFxufVxuXG5jb25zdCBkZWxldGVJbnZvaWNlID0gKCkgPT4ge1xuICAgIGNvbnN0IHVybCA9IGAvaW52b2ljZS9kZWxldGUvJHtpbnZvaWNlLnZhbHVlfWBcblxuICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiBcIjxzdHJvbmc+QXR0ZW50aW9uPC9zdHJvbmc+XCIsXG4gICAgICAgIGljb246IFwid2FybmluZ1wiLFxuICAgICAgICBodG1sOiBgXG4gICAgw4p0ZXMtdm91cyBzw7tyLWUgZGUgdm91bG9pciBzdXBwcmltZXIgY2V0dGUgZmFjdHVyZS48YnI+XG4gIGAsXG4gICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICBmb2N1c0NvbmZpcm06IGZhbHNlLFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogYFxuICAgICBTdXBwcmltZXIgbGEgZmFjdHVyZVxuICBgLFxuICAgICAgICBjb25maXJtQnV0dG9uQXJpYUxhYmVsOiBcImNvbmZpcm1cIixcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogYFxuICAgIEFubnVsZXJcbiAgYCxcbiAgICAgICAgY2FuY2VsQnV0dG9uQXJpYUxhYmVsOiBcInVuZG9cIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IFwid2FybmluZ1wiLFxuICAgICAgICB9XG4gICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgIC8qIFJlYWQgbW9yZSBhYm91dCBpc0NvbmZpcm1lZCwgaXNEZW5pZWQgYmVsb3cgKi9cbiAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmxcbiAgICAgICAgfSBlbHNlICB7XG5cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5jb25zdCBkdXBsaWNhdGUgPSAoKSA9PiB7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL2ludm9pY2UvZHVwbGljYXRlLyR7aW52b2ljZS52YWx1ZX1gXG59XG5cbmNvbnN0IHJlbWluZCA9IChlKSA9PiB7XG4gICAgLyoqIFZvaXIgYXNzZXRzL2FwcC5qcyAqL1xuICAgIHdpbmRvdy5kaXNwYXRjaFJlbWluZEludm9pY2VFdmVudChlLCBpbnZvaWNlLnZhbHVlKVxufVxuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICAgIDxSZW1pbmRlciB2LWlmPVwibGFzdFJlbWluZFwiIDpoYXMtdG8tcmVtaW5kPVwiaGFzVG9CZVJlbWluZFwiIDppbnZvaWNlLWlkPVwiaW52b2ljZVwiIDpyZW1pbmRlZC1hdD1cImxhc3RSZW1pbmRcIi8+XG4gICAgPGRpdiBjbGFzcz1cImFwcCBwLTYgbXQtNVwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cblxuICAgICAgICAgICAgPGgxIGNsYXNzPVwidGV4dC01eGwgZm9udC1ib2xkIGZsZXggaXRlbXMtY2VudGVyIGdhcC01XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt7IHR5cGUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gdi1pZj1cInJlZmVyZW5jZSAhPT0gbnVsbCAmJiByZWZlcmVuY2UgIT09ICcnXCIgY2xhc3M9XCJ0ZXh0LWxnIHB4LTQgcHktMiByb3VuZGVkIGJnLWJsYWNrIHRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcmVmZXJlbmNlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gdi1pZj1cImludm9pY2VcIiBkYXRhLWxpc3Rlbj0nW1wiZW1haWwtc2VudFwiLCBcImRvY3VtZW50LXN0YXR1cy1jaGFuZ2VkXCJdJyA6ZGF0YS1yZWxvYWQ9XCJgL3N0YXR1cy9pbnZvaWNlLyR7aW52b2ljZX1gXCIgZGF0YS10eXBlPVwiaW52b2ljZVwiIDpkYXRhLWRvY3VtZW50LWlkPVwiaW52b2ljZVwiIGRhdGEtY29udHJvbGxlcj1cImRvY3VtZW50LXN0YXR1c2VzXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8L2gxPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCIhaXNDYW5jZWxlZCAmJiBpc1dvbiAmJiAhaXNDcmVkaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgQGNsaWNrPVwiY2FuY2VsSW52b2ljZVwiIGNsYXNzPVwiYmctYmxhY2sgdGV4dC13aGl0ZSBwLTIgcm91bmRlZC1tZCBob3ZlcjpjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQW5udWxlciBsYSBmYWN0dXJlXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImhhc1RvQmVSZW1pbmQgJiYgIWxhc3RSZW1pbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgQGNsaWNrPVwicmVtaW5kXCIgY2xhc3M9XCJiZy1waW5rLTgwMCB0ZXh0LXdoaXRlIHAtMiByb3VuZGVkLW1kIGhvdmVyOmN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBFbnZveWVyIHVuIHJhcHBlbFxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwicXVvdGF0aW9uSWQgJiYgcXVvdGF0aW9uUmVmZXJlbmNlXCIgY2xhc3M9XCJjaGlwIHF1b3RhdGlvbi1yZWZcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgOmhyZWY9XCJgL3F1b3RhdGlvbi9kZXRhaWwvJHtxdW90YXRpb25JZH1gXCI+U3VyIGRldmlzIG7CsCB7eyBxdW90YXRpb25SZWZlcmVuY2UgfX08L2E+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMgZmxleCBqdXN0aWZ5LWJldHdlZW4gbXQtNVwiPlxuXG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCJpc1dvbiAmJiAhaXNQYWlkICYmICFpc0NyZWRpdFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtZS01IGN1cnNvci1wb2ludGVyXCIgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJzci1vbmx5IHBlZXJcIiBAY2hhbmdlPVwicGF5SW52b2ljZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdy0xMSBoLTYgYmctZ3JheS0yMDAgcm91bmRlZC1mdWxsIHBlZXIgZGFyazpiZy1ncmF5LTcwMCAgcGVlci1jaGVja2VkOmFmdGVyOnRyYW5zbGF0ZS14LWZ1bGwgcnRsOnBlZXItY2hlY2tlZDphZnRlcjotdHJhbnNsYXRlLXgtZnVsbCBwZWVyLWNoZWNrZWQ6YWZ0ZXI6Ym9yZGVyLXdoaXRlIGFmdGVyOmNvbnRlbnQtWycnXSBhZnRlcjphYnNvbHV0ZSBhZnRlcjp0b3AtMSBhZnRlcjpzdGFydC1bNnB4XSBhZnRlcjpiZy13aGl0ZSBhZnRlcjpib3JkZXItZ3JheS0zMDAgYWZ0ZXI6Ym9yZGVyIGFmdGVyOnJvdW5kZWQtZnVsbCBhZnRlcjpoLTQgYWZ0ZXI6dy00IGFmdGVyOnRyYW5zaXRpb24tYWxsIGRhcms6Ym9yZGVyLWdyYXktNjAwIHBlZXItY2hlY2tlZDpiZy10ZWFsLTYwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWJsYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBGYWN0dXJlIHBhecOpZVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IHYtaWY9XCJpc1dvbiAmJiBpc0NhbmNlbGVkICYmICFpc0NyZWRpdFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICBBbm51bMOpZSBwYXIge3sgY3JlZGl0SWQudmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGEgOmhyZWY9XCJgL2ludm9pY2UvZGV0YWlsLyR7Y3JlZGl0SWR9YFwiIGNsYXNzPVwidGV4dC1sZyBmb250LW1lZGl1bSBiZy1ncmF5LTIwMCBwLTIgcm91bmRlZC1tZCB0ZXh0LWJsYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgIEF2b2lyIG7CsCB7eyBjcmVkaXRSZWYgfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiB2LWlmPVwiaXNXb24gJiYgaXNDcmVkaXRcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQW5udWxlIGxhXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxhIDpocmVmPVwiYC9pbnZvaWNlL2RldGFpbC8ke29yaWdpbmFsSWR9YFwiIGNsYXNzPVwidGV4dC1sZyBmb250LW1lZGl1bSBiZy1ncmF5LTIwMCBwLTIgcm91bmRlZC1tZCB0ZXh0LWJsYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgIEZhY3R1cmUgbsKwIHt7IG9yaWdpbmFsUmVmZXJlbmNlIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgdi1pZj1cImNhbklzc3VlXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1lLTUgY3Vyc29yLXBvaW50ZXJcIiA+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCA6Y2hlY2tlZD1cImlzV29uXCIgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJzci1vbmx5IHBlZXJcIiBAY2hhbmdlPVwiY2hhbmdlU3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSB3LTExIGgtNiBiZy1ncmF5LTIwMCByb3VuZGVkLWZ1bGwgcGVlciBkYXJrOmJnLWdyYXktNzAwICBwZWVyLWNoZWNrZWQ6YWZ0ZXI6dHJhbnNsYXRlLXgtZnVsbCBydGw6cGVlci1jaGVja2VkOmFmdGVyOi10cmFuc2xhdGUteC1mdWxsIHBlZXItY2hlY2tlZDphZnRlcjpib3JkZXItd2hpdGUgYWZ0ZXI6Y29udGVudC1bJyddIGFmdGVyOmFic29sdXRlIGFmdGVyOnRvcC0xIGFmdGVyOnN0YXJ0LVs2cHhdIGFmdGVyOmJnLXdoaXRlIGFmdGVyOmJvcmRlci1ncmF5LTMwMCBhZnRlcjpib3JkZXIgYWZ0ZXI6cm91bmRlZC1mdWxsIGFmdGVyOmgtNCBhZnRlcjp3LTQgYWZ0ZXI6dHJhbnNpdGlvbi1hbGwgZGFyazpib3JkZXItZ3JheS02MDAgcGVlci1jaGVja2VkOmJnLXRlYWwtNjAwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMzAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDDiW1ldHRyZSBsYSBmYWN0dXJlXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxwIHYtaWY9XCIhY2FuSXNzdWUgJiYgIWlzV29uXCI+XG4gICAgICAgICAgICAgICAgUG91ciBwb3V2b2lyIMOpbWV0dHJlIHVuZSBmYWN0dXJlLCBlbGxlIGRvaXQgYXZvaXIgYXUgbW9pbnMgdW5lIGxpZ25lLCB1biBvYmpldCBldCB1biBjbGllbnQuIFZvdXMgZGV2ZXogw6lnYWxlbWVudCBhdm9pciByZW5zZWlnbsOpIHZvdHJlIHNpcmV0LlxuICAgICAgICAgICAgPC9wPlxuXG5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggc2hhZG93LW1kIHotMTAganVzdGlmeS1iZXR3ZWVuIHB4LTQgbXMtNjQgdy1zY3JlZW4tbWludXMtNjQgZ2FwLTQgZml4ZWQgdG9wLTAgbGVmdC0wIHB5LTMgYmctd2hpdGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cblxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIiFpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9XCJzYXZlSW52b2ljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gYmctcGluay04MDAgdGV4dC13aGl0ZSBob3ZlcjpiZy1waW5rLTk1MCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMC4xMjUgMi4yNWgtNC41Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djE3LjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMTIuNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjV2LTlNMTAuMTI1IDIuMjVoLjM3NWE5IDkgMCAwIDEgOSA5di4zNzVNMTAuMTI1IDIuMjVBMy4zNzUgMy4zNzUgMCAwIDEgMTMuNSA1LjYyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWgxLjVhMy4zNzUgMy4zNzUgMCAwIDEgMy4zNzUgMy4zNzVNOSAxNWwyLjI1IDIuMjVMMTUgMTJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICBFbnJlZ2lzdHJlclxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvaW52b2ljZS9saXN0XCIgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1ibGFjayB0ZXh0LXdoaXRlXCIgZGF0YS10aXBweS1jb250ZW50PVwiTGlzdGUgZGVzIGZhY3R1cmVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOC4yNSA2Ljc1aDEyTTguMjUgMTJoMTJtLTEyIDUuMjVoMTJNMy43NSA2Ljc1aC4wMDd2LjAwOEgzLjc1VjYuNzVabS4zNzUgMGEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFpNMy43NSAxMmguMDA3di4wMDhIMy43NVYxMlptLjM3NSAwYS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWm0tLjM3NSA1LjI1aC4wMDd2LjAwOEgzLjc1di0uMDA4Wm0uMzc1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGlwcHktY29udGVudD1cIkR1cGxpcXVlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2sucHJldmVudD1cImR1cGxpY2F0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIGJnLWN5YW4tNzAwIHRleHQtd2hpdGUgaG92ZXI6YmctY3lhbi04MDAgZm9jdXM6b3V0bGluZS1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE1Ljc1IDE3LjI1djMuMzc1YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1aC05Ljc1YTEuMTI1IDEuMTI1IDAgMCAxLTEuMTI1LTEuMTI1VjcuODc1YzAtLjYyMS41MDQtMS4xMjUgMS4xMjUtMS4xMjVINi43NWE5LjA2IDkuMDYgMCAwIDEgMS41LjEyNG03LjUgMTAuMzc2aDMuMzc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjExLjI1YzAtNC40Ni0zLjI0My04LjE2MS03LjUtOC44NzZhOS4wNiA5LjA2IDAgMCAwLTEuNS0uMTI0SDkuMzc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djMuNW03LjUgMTAuMzc1SDkuMzc1YTEuMTI1IDEuMTI1IDAgMCAxLTEuMTI1LTEuMTI1di05LjI1bTEyIDYuNjI1di0xLjg3NWEzLjM3NSAzLjM3NSAwIDAgMC0zLjM3NS0zLjM3NWgtMS41YTEuMTI1IDEuMTI1IDAgMCAxLTEuMTI1LTEuMTI1di0xLjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVIOS43NVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtdGlwcHktY29udGVudD1cIlTDqWzDqWNoYXJnZXJcIiB2LWlmPVwicGRmVXJsICYmIHBkZlVybCAhPT0gJyMnXCIgOmhyZWY9XCJwZGZVcmxcIiBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIGJnLXRlYWwtNTAwIHRleHQtd2hpdGUgaG92ZXI6YmctdGVhbC03MDAgZm9jdXM6b3V0bGluZS1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTMgMTYuNXYyLjI1QTIuMjUgMi4yNSAwIDAgMCA1LjI1IDIxaDEzLjVBMi4yNSAyLjI1IDAgMCAwIDIxIDE4Ljc1VjE2LjVNMTYuNSAxMiAxMiAxNi41bTAgMEw3LjUgMTJtNC41IDQuNVYzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS10aXBweS1jb250ZW50PVwiSW1wcmltZXJcIiBkYXRhLWNvbnRyb2xsZXI9XCJzbGlkZXJcIiBkYXRhLXNsaWRlcj1cInByaW50XCIgZGF0YS1hY3Rpb249XCJjbGljay0+c2xpZGVyI2xvYWRcIiBjbGFzcz1cImRmYS1idXR0b24gY2lyY2xlIGJnLWFtYmVyLTUwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWFtYmVyLTYwMCBmb2N1czpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNi43MiAxMy44MjljLS4yNC4wMy0uNDguMDYyLS43Mi4wOTZtLjcyLS4wOTZhNDIuNDE1IDQyLjQxNSAwIDAgMSAxMC41NiAwbS0xMC41NiAwTDYuMzQgMThtMTAuOTQtNC4xNzFjLjI0LjAzLjQ4LjA2Mi43Mi4wOTZtLS43Mi0uMDk2TDE3LjY2IDE4bTAgMCAuMjI5IDIuNTIzYTEuMTI1IDEuMTI1IDAgMCAxLTEuMTIgMS4yMjdINy4yMzFjLS42NjIgMC0xLjE4LS41NjgtMS4xMi0xLjIyN0w2LjM0IDE4bTExLjMxOCAwaDEuMDkxQTIuMjUgMi4yNSAwIDAgMCAyMSAxNS43NVY5LjQ1NmMwLTEuMDgxLS43NjgtMi4wMTUtMS44MzctMi4xNzVhNDguMDU1IDQ4LjA1NSAwIDAgMC0xLjkxMy0uMjQ3TTYuMzQgMThINS4yNUEyLjI1IDIuMjUgMCAwIDEgMyAxNS43NVY5LjQ1NmMwLTEuMDgxLjc2OC0yLjAxNSAxLjgzNy0yLjE3NWE0OC4wNDEgNDguMDQxIDAgMCAxIDEuOTEzLS4yNDdtMTAuNSAwYTQ4LjUzNiA0OC41MzYgMCAwIDAtMTAuNSAwbTEwLjUgMFYzLjM3NWMwLS42MjEtLjUwNC0xLjEyNS0xLjEyNS0xLjEyNWgtOC4yNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYzLjY1OU0xOCAxMC41aC4wMDh2LjAwOEgxOFYxMC41Wm0tMyAwaC4wMDh2LjAwOEgxNVYxMC41WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIHYtaWY9XCJjYW5FbWFpbFwiIGRhdGEtdGlwcHktY29udGVudD1cIkVudm95ZXJcIiBkYXRhLWNvbnRyb2xsZXI9XCJzbGlkZXJcIiBkYXRhLXNsaWRlcj1cImVtYWlsXCIgZGF0YS1hY3Rpb249XCJjbGljay0+c2xpZGVyI2xvYWRcIiBkYXRhLXR5cGU9XCJpbnZvaWNlXCIgOmRhdGEtZG9jdW1lbnQtaWQ9XCJpbnZvaWNlXCIgY2xhc3M9XCJkZmEtYnV0dG9uIGNpcmNsZSBiZy1jeWFuLTcwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWN5YW4tOTAwIGZvY3VzOm91dGxpbmUtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0yMS43NSA2Ljc1djEwLjVhMi4yNSAyLjI1IDAgMCAxLTIuMjUgMi4yNWgtMTVhMi4yNSAyLjI1IDAgMCAxLTIuMjUtMi4yNVY2Ljc1bTE5LjUgMEEyLjI1IDIuMjUgMCAwIDAgMTkuNSA0LjVoLTE1YTIuMjUgMi4yNSAwIDAgMC0yLjI1IDIuMjVtMTkuNSAwdi4yNDNhMi4yNSAyLjI1IDAgMCAxLTEuMDcgMS45MTZsLTcuNSA0LjYxNWEyLjI1IDIuMjUgMCAwIDEtMi4zNiAwTDMuMzIgOC45MWEyLjI1IDIuMjUgMCAwIDEtMS4wNy0xLjkxNlY2Ljc1XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgQGNsaWNrPVwiZGVsZXRlSW52b2ljZVwiIHYtaWY9XCIhaXNXb25cIiBocmVmPVwiI1wiIGNsYXNzPVwiZGZhLWJ1dHRvbiBjaXJjbGUgdGV4dC1zbSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXdoaXRlIGJnLXJlZC04MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIm0xNC43NCA5LS4zNDYgOW0tNC43ODggMEw5LjI2IDltOS45NjgtMy4yMWMuMzQyLjA1Mi42ODIuMTA3IDEuMDIyLjE2Nm0tMS4wMjItLjE2NUwxOC4xNiAxOS42NzNhMi4yNSAyLjI1IDAgMCAxLTIuMjQ0IDIuMDc3SDguMDg0YTIuMjUgMi4yNSAwIDAgMS0yLjI0NC0yLjA3N0w0Ljc3MiA1Ljc5bTE0LjQ1NiAwYTQ4LjEwOCA0OC4xMDggMCAwIDAtMy40NzgtLjM5N20tMTIgLjU2MmMuMzQtLjA1OS42OC0uMTE0IDEuMDIyLS4xNjVtMCAwYTQ4LjExIDQ4LjExIDAgMCAxIDMuNDc4LS4zOTdtNy41IDB2LS45MTZjMC0xLjE4LS45MS0yLjE2NC0yLjA5LTIuMjAxYTUxLjk2NCA1MS45NjQgMCAwIDAtMy4zMiAwYy0xLjE4LjAzNy0yLjA5IDEuMDIyLTIuMDkgMi4yMDF2LjkxNm03LjUgMGE0OC42NjcgNDguNjY3IDAgMCAwLTcuNSAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIENvbnRlbmV1ciBwcmluY2lwYWwgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIG10LTUgZ2FwLTQgZG9jdW1lbnRcIj5cblxuICAgICAgICAgICAgPCEtLSBDb2xvbm5lIGdhdWNoZSA6IEN1c3RvbWVyIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNiBpbnZvaWNlLWN1c3RvbWVyIG1kOmNvbC1zcGFuLTEgYmctd2hpdGUgcm91bmRlZC1sZ1wiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIG1iLTIgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtZS0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNy45ODIgMTguNzI1QTcuNDg4IDcuNDg4IDAgMCAwIDEyIDE1Ljc1YTcuNDg4IDcuNDg4IDAgMCAwLTUuOTgyIDIuOTc1bTExLjk2MyAwYTkgOSAwIDEgMC0xMS45NjMgMG0xMS45NjMgMEE4Ljk2NiA4Ljk2NiAwIDAgMSAxMiAyMWE4Ljk2NiA4Ljk2NiAwIDAgMS01Ljk4Mi0yLjI3NU0xNSA5Ljc1YTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgQ2xpZW50XG4gICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICA8Q3VzdG9tZXIgOmlzLXdvbj1cImlzV29uXCIgOmN1c3RvbWVyPVwiY3VzdG9tZXJcIiBAdXBkYXRlLWN1c3RvbWVyPVwidXBkYXRlQ3VzdG9tZXJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gQ29sb25uZSBkcm9pdGUgOiBMaXN0ZSBkZXMgbGlnbmVzIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNiBpbnZvaWNlLWxpbmVzIG1kOmNvbC1zcGFuLTIgYmctd2hpdGUgcm91bmRlZC1sZ1wiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiaXNzdWVkQXRcIiBjbGFzcz1cInRleHQtZ3JlZW4tODAwIG1iLTUgYmctZ3JlZW4tMTAwIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcC00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgRmFjdHVyZSDDqW1pc2UgbGUge3sgaXNzdWVkQXQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTAuMTI1IDIuMjVoLTQuNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxNy4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDEyLjc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1di05TTEwLjEyNSAyLjI1aC4zNzVhOSA5IDAgMCAxIDkgOXYuMzc1TTEwLjEyNSAyLjI1QTMuMzc1IDMuMzc1IDAgMCAxIDEzLjUgNS42MjV2MS41YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoMS41YTMuMzc1IDMuMzc1IDAgMCAxIDMuMzc1IDMuMzc1TTkgMTVsMi4yNSAyLjI1TDE1IDEyXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNSBiZy1ncmF5LTUwIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcC00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIG1iLTIgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwibWUtMiBzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTguNjI1IDkuNzVhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBabTAgMEg4LjI1bTQuMTI1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBabTAgMEgxMm00LjEyNSAwYS4zNzUuMzc1IDAgMSAxLS43NSAwIC4zNzUuMzc1IDAgMCAxIC43NSAwWm0wIDBoLS4zNzVtLTEzLjUgMy4wMWMwIDEuNiAxLjEyMyAyLjk5NCAyLjcwNyAzLjIyNyAxLjA4Ny4xNiAyLjE4NS4yODMgMy4yOTMuMzY5VjIxbDQuMTg0LTQuMTgzYTEuMTQgMS4xNCAwIDAgMSAuNzc4LS4zMzIgNDguMjk0IDQ4LjI5NCAwIDAgMCA1LjgzLS40OThjMS41ODUtLjIzMyAyLjcwOC0xLjYyNiAyLjcwOC0zLjIyOFY2Ljc0MWMwLTEuNjAyLTEuMTIzLTIuOTk1LTIuNzA3LTMuMjI4QTQ4LjM5NCA0OC4zOTQgMCAwIDAgMTIgM2MtMi4zOTIgMC00Ljc0NC4xNzUtNy4wNDMuNTEzQzMuMzczIDMuNzQ2IDIuMjUgNS4xNCAyLjI1IDYuNzQxdjYuMDE4WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZXQgZGUge3sgaXNDcmVkaXQgPyBcImwnYXZvaXJcIiA6IFwibGEgZmFjdHVyZVwiIH19XG5cbiAgICAgICAgICAgICAgICAgICAgPC9oMj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1pZj1cIiFpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJvYmplY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJvYmplY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9iamV0IGRlIGxhIGZhY3R1cmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMiBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtNTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHYtaWY9XCJpc1dvblwiIGNsYXNzPVwicGwtOCB0ZXh0LXRnIGZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9iamVjdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgdi1pZj1cIiFpc1dvbiAmJiAoKGRlc2NyaXB0aW9uID09PSBudWxsIHx8IGRlc2NyaXB0aW9uID09PSAnJykgJiYgIXNob3dEZXNjcmlwdGlvbilcIiBAY2xpY2sucHJldmVudD1cInNob3dEZXNjXCIgY2xhc3M9XCJ0ZXh0LXNtIGZsZXggaXRlbXMtY2VudGVyIG10LTEgaG92ZXI6dW5kZXJsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNCBtZS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMiA5djZtMy0zSDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFqb3V0ZXIgdW5lIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgcmVmPVwiZGVzY3JpcHRpb25BcmVhXCIgIHYtaWY9XCIhaXNXb25cIiB2LW1vZGVsPVwiZGVzY3JpcHRpb25cIiBuYW1lPVwiZGVzY3JpcHRpb25cIiBpZD1cIlwiIHJvd3M9XCIyXCIgIDpjbGFzcz1cInsgaGlkZGVuOiAhc2hvd0Rlc2NyaXB0aW9uICYmICFkZXNjcmlwdGlvbiB9IFwiIGNsYXNzPVwibXQtNSB3LWZ1bGxcIiBwbGFjZWhvbGRlcj1cIkRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGV4dGFyZWE+XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgQGNsaWNrLnByZXZlbnQ9XCJyZW1vdmVEZXNjXCIgaHJlZj1cIiNcIiB2LWlmPVwiIWlzV29uICYmICgoZGVzY3JpcHRpb24gIT09IG51bGwgJiYgZGVzY3JpcHRpb24gIT09ICcnKSB8fCBzaG93RGVzY3JpcHRpb24pXCIgY2xhc3M9XCJ0ZXh0LXJlZC04MDAgdGV4dC1zbSBob3Zlcjp1bmRlcmxpbmUgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS00IG1lLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE1IDEySDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIFN1cHByaW1lciBsYSBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPHAgdi1pZj1cImlzV29uICYmIChkZXNjcmlwdGlvbiAhPT0gbnVsbCAmJiBkZXNjcmlwdGlvbiAhPT0gJycpXCIgY2xhc3M9XCJwbC04XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5LTUwIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcC00XCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgbWItMiBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJtZS0yIHNpemUtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMi4yNSAzaDEuMzg2Yy41MSAwIC45NTUuMzQzIDEuMDg3LjgzNWwuMzgzIDEuNDM3TTcuNSAxNC4yNWEzIDMgMCAwIDAtMyAzaDE1Ljc1bS0xMi43NS0zaDExLjIxOGMxLjEyMS0yLjMgMi4xLTQuNjg0IDIuOTI0LTcuMTM4YTYwLjExNCA2MC4xMTQgMCAwIDAtMTYuNTM2LTEuODRNNy41IDE0LjI1IDUuMTA2IDUuMjcyTTYgMjAuMjVhLjc1Ljc1IDAgMSAxLTEuNSAwIC43NS43NSAwIDAgMSAxLjUgMFptMTIuNzUgMGEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgw4lsw6ltZW50c1xuICAgICAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cIiFpc1dvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWZvcj1cImxpbmUgaW4gbGluZXNcIiA6a2V5PVwibGluZS5pZFwiIGNsYXNzPVwibWItNCB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppcy13b249XCJpc1dvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpsaW5lPVwibGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB1cGRhdGUtbGluZT1cInVwZGF0ZUxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGVsZXRlLWxpbmU9XCJkZWxldGVMaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImlzV29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZS1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWxlZnQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb21cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWNlbnRlciBib3JkZXItYiBib3JkZXItc2xhdGUtMTAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMCBwLTQgcGwtOCB0ZXh0LXNsYXRlLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGlzQ3JlZGl0ID8gJycgOiAnUXVhbnRpdMOpJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1jZW50ZXIgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpc0NyZWRpdCA/ICcnIDogJ1ByaXggdW5pdGFpcmUnfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXJpZ2h0IGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHYtZm9yPVwibGluZSBpbiBsaW5lc1wiIDprZXk9XCJsaW5lLmlkXCIgY2xhc3M9XCJtYi00IHctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aXMtd29uPVwiaXNXb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmxpbmU9XCJsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppcy1jcmVkaXQtbGluZT1cImlzQ3JlZGl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB1cGRhdGUtbGluZT1cInVwZGF0ZUxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGRlbGV0ZS1saW5lPVwiZGVsZXRlTGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiIHYtaHRtbD1cIm1lbnRpb25cIiBjbGFzcz1cIiBwLTQgcGwtOCB0ZXh0LXNsYXRlLTUwMCBkYXJrOnRleHQtc2xhdGUtNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInByaWNlIGZvbnQtYm9sZCBiZy1zbGF0ZS04MDAgdGV4dC13aGl0ZSBwLTQgcGwtOFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgOiB7eyBtYWluVG90YWwgfX0g4oKsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAgdi1pZj1cIiFpc1dvblwiIGNsYXNzPVwiIGZsZXgganVzdGlmeS1iZXR3ZWVuIHctZnVsbFwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtNSBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz1cImFkZExpbmUoZmFsc2UpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZmEtYnV0dG9uIGJnLXNsYXRlLTUwMCBob3ZlcjpiZy1zbGF0ZS03MDAgdGV4dC13aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cIm1lLTIgc2l6ZS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEyIDl2Nm0zLTNIOW0xMiAwYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBam91dGVyIHVuIMOpbMOpbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz1cImFkZExpbmUodHJ1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRmYS1idXR0b24gYmctc2xhdGUtNTAwIGhvdmVyOmJnLXNsYXRlLTcwMCB0ZXh0LXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwibWUtMiBzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTIgOXY2bTMtM0g5bTEyIDBhOSA5IDAgMSAxLTE4IDAgOSA5IDAgMCAxIDE4IDBaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFqb3V0ZXIgdW4gdGl0cmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtNSBweS0yIGJnLXNsYXRlLTgwMCByb3VuZGVkIGZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXIgdGV4dC13aGl0ZSBqdXN0aWZ5LWVuZCB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE1Ljc1IDE1Ljc1VjE4bS03LjUtNi43NWguMDA4di4wMDhIOC4yNXYtLjAwOFptMCAyLjI1aC4wMDh2LjAwOEg4LjI1VjEzLjVabTAgMi4yNWguMDA4di4wMDhIOC4yNXYtLjAwOFptMCAyLjI1aC4wMDh2LjAwOEg4LjI1VjE4Wm0yLjQ5OC02Ljc1aC4wMDd2LjAwOGgtLjAwN3YtLjAwOFptMCAyLjI1aC4wMDd2LjAwOGgtLjAwN1YxMy41Wm0wIDIuMjVoLjAwN3YuMDA4aC0uMDA3di0uMDA4Wm0wIDIuMjVoLjAwN3YuMDA4aC0uMDA3VjE4Wm0yLjUwNC02Ljc1aC4wMDh2LjAwOGgtLjAwOHYtLjAwOFptMCAyLjI1aC4wMDh2LjAwOGgtLjAwOFYxMy41Wm0wIDIuMjVoLjAwOHYuMDA4aC0uMDA4di0uMDA4Wm0wIDIuMjVoLjAwOHYuMDA4aC0uMDA4VjE4Wm0yLjQ5OC02Ljc1aC4wMDh2LjAwOGgtLjAwOHYtLjAwOFptMCAyLjI1aC4wMDh2LjAwOGgtLjAwOFYxMy41Wk04LjI1IDZoNy41djIuMjVoLTcuNVY2Wk0xMiAyLjI1Yy0xLjg5MiAwLTMuNzU4LjExLTUuNTkzLjMyMkM1LjMwNyAyLjcgNC41IDMuNjUgNC41IDQuNzU3VjE5LjVhMi4yNSAyLjI1IDAgMCAwIDIuMjUgMi4yNWgxMC41YTIuMjUgMi4yNSAwIDAgMCAyLjI1LTIuMjVWNC43NTdjMC0xLjEwOC0uODA2LTIuMDU3LTEuOTA3LTIuMTg1QTQ4LjUwNyA0OC41MDcgMCAwIDAgMTIgMi4yNVpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgOiB7eyBtYWluVG90YWwgfX0g4oKsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiB2LWlmPVwibm90ZSAmJiAoIWlzV29uIHx8ICcnICE9PSBub3RlLnZhbHVlKVwiIGNsYXNzPVwicXVpbGwtY29udGFpbmVyIG1kOmNvbC1zcGFuLTMgcC02IGJnLXdoaXRlIHJvdW5kZWQtbGdcIj5cblxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIG1iLTIgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgbWUtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk05IDEyaDMuNzVNOSAxNWgzLjc1TTkgMThoMy43NW0zIC43NUgxOGEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1VjYuMTA4YzAtMS4xMzUtLjg0NS0yLjA5OC0xLjk3Ni0yLjE5MmE0OC40MjQgNDguNDI0IDAgMCAwLTEuMTIzLS4wOG0tNS44MDEgMGMtLjA2NS4yMS0uMS40MzMtLjEuNjY0IDAgLjQxNC4zMzYuNzUuNzUuNzVoNC41YS43NS43NSAwIDAgMCAuNzUtLjc1IDIuMjUgMi4yNSAwIDAgMC0uMS0uNjY0bS01LjggMEEyLjI1MSAyLjI1MSAwIDAgMSAxMy41IDIuMjVIMTVjMS4wMTIgMCAxLjg2Ny42NjggMi4xNSAxLjU4Nm0tNS44IDBjLS4zNzYuMDIzLS43NS4wNS0xLjEyNC4wOEM5LjA5NSA0LjAxIDguMjUgNC45NzMgOC4yNSA2LjEwOFY4LjI1bTAgMEg0Ljg3NWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxMS4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDkuNzVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVWOS4zNzVjMC0uNjIxLS41MDQtMS4xMjUtMS4xMjUtMS4xMjVIOC4yNVpNNi43NSAxMmguMDA4di4wMDhINi43NVYxMlptMCAzaC4wMDh2LjAwOEg2Ljc1VjE1Wm0wIDNoLjAwOHYuMDA4SDYuNzVWMThaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIE5vdGUgZGUgYmFzIGRlIHBhZ2VcbiAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgPFF1aWxsRWRpdG9yIHYtaWY9XCIhaXNXb25cIiBjb250ZW50VHlwZT1cImh0bWxcIiB0aGVtZT1cInNub3dcIiBAZm9jdXM9XCJmb2N1c1wiIHYtbW9kZWw6Y29udGVudD1cIm5vdGVcIi8+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJpc1dvbiAmJiBub3RlLnZhbHVlICE9PSAnJyBcIiBjbGFzcz1cInJlbGF0aXZlIG1zLTMgcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIHYtaHRtbD1cIm5vdGVcIiA+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cblxuPHN0eWxlIHNjb3BlZD5cblxuLnF1aWxsLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucXVpbGwtY29udGFpbmVyIC5xbC1lZGl0b3Ige1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4OyAvKiBVbmUgaGF1dGV1ciBtaW5pbWFsZSBwb3VyIGxlIGTDqXBhcnQgKi9cbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG4gICAgdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICYucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuPC9zdHlsZT5cbiIsIjxzY3JpcHQgc2V0dXA+XG5cbmltcG9ydCB7ZGVmaW5lRW1pdHMsIGRlZmluZVByb3BzLCBvbk1vdW50ZWQsIHJlZn0gZnJvbSBcInZ1ZVwiO1xuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuXG5pbXBvcnQgeyB1c2VOb3RpZnlNZXRob2RzIH0gZnJvbSAnLi9jb21wb3NhYmxlcy91c2VOb3RpZnlNZXRob2RzJ1xuY29uc3QgeyBub3RpZnkgfSA9IHVzZU5vdGlmeU1ldGhvZHMoKVxuXG5jb25zdCBuZXdfcmVmZXJlbmNlID0gcmVmKCcnKVxuY29uc3QgbmV3X25hbWUgPSByZWYobnVsbClcbmNvbnN0IG5ld191bml0UHJpY2UgPSByZWYobnVsbClcbmNvbnN0IG5ld19kZXNjcmlwdGlvbiA9IHJlZihudWxsKVxuXG5jb25zdCBlbWl0ID0gZGVmaW5lRW1pdHMoW1widXBkYXRlLXByb2R1Y3RcIiwgXCJ1bmRvLXVwZGF0ZVwiLCBcInByb2R1Y3QtdXBkYXRlZFwiXSk7XG5cbmNvbnN0IHByb3BzID0gZGVmaW5lUHJvcHMoe1xuICAgIHByb2R1Y3RJZDoge1xuICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHJlZmVyZW5jZToge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIG5hbWU6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHVuaXRQcmljZToge1xuICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuXG59KVxuXG5jb25zdCB1bmRvID0gKCkgPT4ge1xuICAgIGVtaXQoJ3VuZG8tdXBkYXRlJylcbn1cbmNvbnN0IHNhdmUgPSBhc3luYyAoKSA9PiB7XG5cbiAgICBpZihcbiAgICAgICAgbmV3X3VuaXRQcmljZS52YWx1ZSA9PT0gbnVsbFxuICAgICAgICB8fCBuZXdfdW5pdFByaWNlLnZhbHVlID09PSAnJ1xuICAgICAgICB8fCBuZXdfbmFtZS52YWx1ZSA9PT0gbnVsbFxuICAgICAgICB8fCBuZXdfbmFtZS52YWx1ZSA9PT0gJydcbiAgICApIHtcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdGb3JtdWxhaXJlIGluY29tcGxldCcsICdlcnJvcicpXG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChgL3Byb2R1Y3RzL3VwZGF0ZS8ke3Byb3BzLnByb2R1Y3RJZH1gLCB7XG4gICAgICAgIHJlZmVyZW5jZTogbmV3X3JlZmVyZW5jZS52YWx1ZSxcbiAgICAgICAgbmFtZTogbmV3X25hbWUudmFsdWUsXG4gICAgICAgIHVuaXRQcmljZTogbmV3X3VuaXRQcmljZS52YWx1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IG5ld19kZXNjcmlwdGlvbi52YWx1ZSxcbiAgICB9KVxuXG4gICAgaWYocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgbmV3X3JlZmVyZW5jZS52YWx1ZSA9IG51bGxcbiAgICAgICAgbmV3X2Rlc2NyaXB0aW9uLnZhbHVlID0gbnVsbFxuICAgICAgICBuZXdfdW5pdFByaWNlLnZhbHVlID0gbnVsbFxuICAgICAgICBuZXdfbmFtZS52YWx1ZSA9IG51bGxcbiAgICAgICAgZW1pdCgncHJvZHVjdC11cGRhdGVkJywgcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdQcm9kdWl0IG1pcyDDoCBqb3VyJylcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGF3YWl0IG5vdGlmeSgnVW5lIGVycmV1ciBzXFwnZXN0IHByb2R1aXRlJywgJ2Vycm9yJylcbiAgICB9XG59XG5cbm9uTW91bnRlZCgoKSA9PiB7XG4gICAgbmV3X3JlZmVyZW5jZS52YWx1ZSA9IHByb3BzLnJlZmVyZW5jZVxuICAgIG5ld19kZXNjcmlwdGlvbi52YWx1ZSA9IHByb3BzLmRlc2NyaXB0aW9uXG4gICAgbmV3X3VuaXRQcmljZS52YWx1ZSA9IHByb3BzLnVuaXRQcmljZVxuICAgIG5ld19uYW1lLnZhbHVlID0gcHJvcHMubmFtZVxufSlcbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC11cGRhdGVcIiBkYXRhLXRleHQ9XCJNaXNlIMOgIGpvdXIgw4lsw6ltZW50XCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPlLDqWbDqXJlbmNlPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X3JlZmVyZW5jZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRlYWwtNTAwXCJcbiAgICAgICAgICA+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+Tm9tPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X25hbWVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPkRlc2NyaXB0aW9uPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Qcml4IHVuaXRhaXJlICo8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X3VuaXRQcmljZVwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkZmEtYnV0dG9uIGJnLWN5YW4tNjAwIHRleHQtd2hpdGVcIiBAY2xpY2s9XCJzYXZlXCI+RW5yZWdpc3RyZXI8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZGZhLWJ1dHRvbiBiZy1ncmF5LTYwMCB0ZXh0LXdoaXRlXCIgQGNsaWNrPVwidW5kb1wiPmFubnVsZXI8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG4gICAgLm1vZGFsLXVwZGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmc6MTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDhweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+IiwiPHNjcmlwdCBzZXR1cD5cblxuaW1wb3J0IHtvbk1vdW50ZWQsIG9uVW5tb3VudGVkLCByZWZ9IGZyb20gXCJ2dWVcIlxuaW1wb3J0IERhdGFUYWJsZSBmcm9tICdwcmltZXZ1ZS9kYXRhdGFibGUnXG5pbXBvcnQgQ29sdW1uIGZyb20gJ3ByaW1ldnVlL2NvbHVtbidcbmltcG9ydCBTa2VsZXRvbiBmcm9tICdwcmltZXZ1ZS9za2VsZXRvbidcbmNvbnN0IGFwcENvbmZpZyA9IHdpbmRvdy5hcHBDb25maWdcblxuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiXG5pbXBvcnQgUHJvZHVjdEFkZCBmcm9tIFwiLi9Qcm9kdWN0QWRkLnZ1ZVwiXG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIlxuXG5pbXBvcnQgeyB1c2VNb25leU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU1vbmV5TWV0aG9kcydcbmNvbnN0IHsgZm9ybWF0Q3VycmVuY3kgfSA9IHVzZU1vbmV5TWV0aG9kcygpO1xuXG5pbXBvcnQgeyB1c2VOb3RpZnlNZXRob2RzIH0gZnJvbSAnLi9jb21wb3NhYmxlcy91c2VOb3RpZnlNZXRob2RzJ1xuY29uc3QgeyBub3RpZnkgfSA9IHVzZU5vdGlmeU1ldGhvZHMoKVxuXG5pbXBvcnQgeyB1c2VUYWJsZUNvbG9yc01ldGhvZHMgfSBmcm9tIFwiLi9jb21wb3NhYmxlcy91c2VUYWJsZUNvbG9yc01ldGhvZHNcIjtcbmNvbnN0IHsgZ2V0Um93Q2xhc3MgfSA9IHVzZVRhYmxlQ29sb3JzTWV0aG9kcygpXG5cblxuaW1wb3J0IFByb2R1Y3RDb250ZXh0TWVudSBmcm9tIFwiLi9Db250ZXh0TWVudXMvUHJvZHVjdENvbnRleHRNZW51LnZ1ZVwiO1xuaW1wb3J0IFByb2R1Y3RVcGRhdGUgZnJvbSBcIi4vUHJvZHVjdFVwZGF0ZS52dWVcIjtcblxuY29uc3QgZW1pdCA9IGRlZmluZUVtaXRzKFtcInNob3ctdXBkYXRlXCJdKVxuXG5jb25zdCBwcm9kdWN0cyA9IHJlZihbXSlcbmNvbnN0IHNob3duUm93cyA9IHJlZihbXSlcbmNvbnN0IG9yZGVyZWRQcm9kdWN0cyA9IHJlZihwcm9kdWN0cylcbmNvbnN0IHBhZ2luYXRvckZpcnN0ID0gcmVmKDApXG5jb25zdCByb3dzUGVyUGFnZSA9IHJlZihhcHBDb25maWcuREVGQVVMVF9ST1dTX0lOX1RBQkxFUylcbmNvbnN0IGZpbHRlcnMgPSByZWYoe30pXG5jb25zdCBzb3J0RmllbGQgPSByZWYoJ25hbWUnKVxuY29uc3Qgc29ydE9yZGVyID0gcmVmKDEpXG5jb25zdCBmaXJzdCA9IHJlZigwKVxuY29uc3QgZXhjZWxGaWxlUGF0aCA9IHJlZihudWxsKVxuY29uc3QgZXhjZWxGaWxlVXJsID0gcmVmKG51bGwpXG5jb25zdCBjb250YWluZXIgPSByZWYobnVsbClcbmNvbnN0IGhpZGVGb3JtID0gcmVmKHRydWUpXG5jb25zdCB0b3RhbFJlY29yZHMgPSByZWYoMClcbmNvbnN0IGxvYWRpbmcgPSByZWYodHJ1ZSlcblxuY29uc3Qgc2hvd0NvbnRleHRNZW51ID0gcmVmKGZhbHNlKVxuY29uc3QgY29udGV4dExpbmVJZCA9IHJlZihudWxsKVxuY29uc3QgY29udGV4dFRpdGxlID0gcmVmKG51bGwpXG5jb25zdCBjb250ZXh0VG9wID0gcmVmKG51bGwpXG5jb25zdCBjb250ZXh0TGVmdCA9IHJlZihudWxsKVxuXG5jb25zdCBzaG93VXBkYXRlRm9ybSA9IHJlZihmYWxzZSlcbmNvbnN0IHBJZCA9IHJlZihudWxsKVxuY29uc3QgcFJlZmVyZW5jZSA9IHJlZihudWxsKVxuY29uc3QgcE5hbWUgPSByZWYobnVsbClcbmNvbnN0IHBEZXNjcmlwdGlvbiA9IHJlZihudWxsKVxuY29uc3QgcFVuaXRQcmljZSA9IHJlZihudWxsKVxuY29uc3QgdXBkYXRlRm9ybVRvcCA9IHJlZihudWxsKVxuY29uc3QgdXBkYXRlRm9ybUxlZnQgPSByZWYobnVsbClcblxuY29uc3QgaGFuZGxlU2hvd1VwZGF0ZUZvcm0gPSAoZSkgPT4ge1xuICAgIGxldCBsaXN0ID0gcHJvZHVjdHMudmFsdWVcbiAgICBjb25zdCBwcm9kdWN0ID0gbGlzdC5maWx0ZXIoKHByb2R1Y3QpID0+IHByb2R1Y3QucmVmSWQgPT09IGUuaWQpXG5cbiAgICB1cGRhdGVGb3JtTGVmdC52YWx1ZSA9IGNvbnRleHRMZWZ0LnZhbHVlXG4gICAgdXBkYXRlRm9ybVRvcC52YWx1ZSA9IGNvbnRleHRUb3AudmFsdWVcblxuICAgIHBJZC52YWx1ZSA9IHByb2R1Y3RbMF0ucmVmSWRcbiAgICBwTmFtZS52YWx1ZSA9IHByb2R1Y3RbMF0ubmFtZVxuICAgIHBSZWZlcmVuY2UudmFsdWUgPSBwcm9kdWN0WzBdLnJlZmVyZW5jZVxuICAgIHBEZXNjcmlwdGlvbi52YWx1ZSA9IHByb2R1Y3RbMF0uZGVzY3JpcHRpb24gPz8gJydcbiAgICBwVW5pdFByaWNlLnZhbHVlID0gcHJvZHVjdFswXS51bml0UHJpY2VcblxuICAgIHNob3dVcGRhdGVGb3JtLnZhbHVlID0gdHJ1ZVxufVxuXG5jb25zdCB1bmRvQWRkID0gKCkgPT4ge1xuICAgIGhpZGVGb3JtLnZhbHVlID0gdHJ1ZVxufVxuXG5jb25zdCBoaWRlVXBkYXRlRm9ybSA9ICgpID0+IHtcbiAgICBzaG93VXBkYXRlRm9ybS52YWx1ZSA9IGZhbHNlXG59XG5cbmNvbnN0IHByb2R1Y3RVcGRhdGVkID0gKGUpID0+IHtcbiAgICBsb2FkRGF0YSgpXG4gICAgaGlkZVVwZGF0ZUZvcm0oKVxufVxuXG5jb25zdCBvblBhZ2VDaGFuZ2UgPSAoZXZlbnQpID0+IHtcbiAgICBleGNlbEZpbGVQYXRoLnZhbHVlID0gbnVsbFxuICAgIGZpcnN0LnZhbHVlID0gZXZlbnQuZmlyc3Q7XG4gICAgcm93c1BlclBhZ2UudmFsdWUgPSBldmVudC5yb3dzXG4gICAgc29ydEZpZWxkLnZhbHVlID0gZXZlbnQuc29ydEZpZWxkXG4gICAgc29ydE9yZGVyLnZhbHVlID0gZXZlbnQuc29ydE9yZGVyXG4gICAgbG9hZERhdGEoKVxufTtcblxub25Nb3VudGVkKCgpID0+IHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJwcm9kdWN0cy1kYXRhdGFibGVcIilcbiAgICBjb250YWluZXIudmFsdWUgPSBlbGVtZW50XG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiZmlsdGVyOmNoYW5nZVwiLCBvbkZpbHRlcilcbiAgICBsb2FkRGF0YSgpXG5cbn0pXG5cbm9uVW5tb3VudGVkKCgpID0+IHtcbiAgICBjb250YWluZXIudmFsdWUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZpbHRlcjpjaGFuZ2VcIiwgb25GaWx0ZXIpXG59KVxuXG5jb25zdCBvbkZpbHRlciA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBldmVudC5kZXRhaWwucmVzdWx0c1xufVxuXG5jb25zdCBsb2FkRGF0YSA9IGFzeW5jICgpID0+IHtcbiAgICBsb2FkaW5nLnZhbHVlID0gdHJ1ZVxuXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAgIGZpcnN0OiBmaXJzdC52YWx1ZSxcbiAgICAgICAgcm93czogcm93c1BlclBhZ2UudmFsdWUsXG4gICAgICAgIHNvcnRGaWVsZDogc29ydEZpZWxkLnZhbHVlLFxuICAgICAgICBzb3J0T3JkZXI6IHNvcnRPcmRlci52YWx1ZSA/PyAxLFxuICAgIH0pXG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSAgICAgPSBhd2FpdCBmZXRjaChgL3Byb2R1Y3RzL3Byb3ZpZGUvPyR7cGFyYW1zfWApXG4gICAgICAgIGNvbnN0IGRhdGEgICAgICAgICA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgICBwcm9kdWN0cy52YWx1ZSAgICAgPSBkYXRhLml0ZW1zXG4gICAgICAgIHRvdGFsUmVjb3Jkcy52YWx1ZSA9IGRhdGEudG90YWxcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJldXIgbG9ycyBkdSBjaGFyZ2VtZW50IGRlcyBkb25uw6llczonLCBlcnJvcilcbiAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGxvYWRpbmcudmFsdWUgPSBmYWxzZVxuICAgICAgICB9LCA1MDApXG4gICAgfVxufVxuY29uc3Qgb25Tb3J0ID0gKGV2ZW50KSA9PiB7XG4gICAgZmlyc3QudmFsdWUgPSBldmVudC5maXJzdFxuICAgIHNvcnRGaWVsZC52YWx1ZSA9IGV2ZW50LnNvcnRGaWVsZFxuICAgIHNvcnRPcmRlci52YWx1ZSA9IGV2ZW50LnNvcnRPcmRlclxuICAgIGV4Y2VsRmlsZVBhdGgudmFsdWUgPSBudWxsXG5cbiAgICBsb2FkRGF0YSgpXG59O1xuXG5jb25zdCBleHBvcnRUb0V4Y2VsID0gYXN5bmMgKCkgPT4ge1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KCcvZXhwb3J0LXRvLWV4Y2VsJywge1xuICAgICAgICByb3dzOiBwcm9kdWN0cy52YWx1ZVxuICAgIH0pXG5cbiAgICBpZihyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBleGNlbEZpbGVQYXRoLnZhbHVlID0gcmVzcG9uc2UuZGF0YS5maWxlVXJsXG4gICAgICAgIGRvd25sb2FkKHJlc3BvbnNlLmRhdGEuZmlsZVVybCwgJ3Byb2R1aXRzJylcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdFeHBvcnQgZXhjZWwgdGVybWluw6knKVxuICAgIH1cbiAgICBlbHNlIHtcblxuICAgICAgICBleGNlbEZpbGVQYXRoLnZhbHVlID0gbnVsbFxuXG4gICAgICAgIGF3YWl0IG5vdGlmeSgnRXhwb3J0IGV4Y2VsIMOpY2hvdcOpJywgJ2Vycm9yJylcbiAgICB9XG59XG5cbmNvbnN0IGRvd25sb2FkID0gKHBhdGgsIHRpdGxlKSA9PiB7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGxpbmsuaHJlZiA9IHBhdGg7IC8vIFVSTCBkdSBmaWNoaWVyIHJldG91cm7DqSBwYXIgbGUgYmFja2VuZFxuICAgIGxpbmsuZG93bmxvYWQgPSBgZXhwb3J0XyR7dGl0bGV9Lnhsc3hgIC8vIE5vbSBzdWdnw6lyw6kgcG91ciBsZSBmaWNoaWVyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKVxuICAgIGxpbmsuY2xpY2soKVxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluaylcbn1cblxuY29uc3QgYWRkUHJvZHVjdCA9IGFzeW5jICgpID0+IHtcbiAgICBoaWRlRm9ybS52YWx1ZSA9IHRydWVcbiAgICBhd2FpdCBsb2FkRGF0YSgpXG59XG5cbmNvbnN0IHNob3dGb3JtID0gKCkgPT4ge1xuICAgIGhpZGVGb3JtLnZhbHVlID0gIWhpZGVGb3JtLnZhbHVlXG59XG5cbmNvbnN0IGNvbnRleHRNZW51ID0gKGUpID0+IHtcbiAgICBlLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGNvbnN0IGVsZW1lbnQgPSBlLmRhdGFcbiAgICBjb250ZXh0TGluZUlkLnZhbHVlID0gZWxlbWVudC5yZWZJZFxuICAgIGNvbnRleHRUaXRsZS52YWx1ZSA9IGVsZW1lbnQubmFtZVxuICAgIGNvbnRleHRMZWZ0LnZhbHVlID0gZS5vcmlnaW5hbEV2ZW50LmNsaWVudFhcbiAgICBjb250ZXh0VG9wLnZhbHVlID0gZS5vcmlnaW5hbEV2ZW50LmNsaWVudFlcbiAgICBzaG93Q29udGV4dE1lbnUudmFsdWUgPSB0cnVlXG59XG5cbmNvbnN0IGNsb3NlQ29udGV4dE1lbnUgPSAoKSA9PiB7XG4gICAgc2hvd0NvbnRleHRNZW51LnZhbHVlID0gZmFsc2Vcbn1cblxuY29uc3QgZGVsZXRlUHJvZHVjdCA9IGFzeW5jIChlKSA9PiB7XG5cbiAgICBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogXCI8c3Ryb25nPkF0dGVudGlvbjwvc3Ryb25nPlwiLFxuICAgICAgICBodG1sOiBgXG4gICAgw4p0ZXMtdm91cyBzw7tyLWUgZGUgdm91bG9pciBzdXBwcmltZXIgbCfDqWzDqW1lbnQ8YnI+PGI+JHtlLm5hbWV9PC9iPi48YnI+XG4gIGAsXG4gICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICBmb2N1c0NvbmZpcm06IGZhbHNlLFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogYFxuICAgICBTdXBwcmltZXIgbCfDqWzDqW1lbnRcbiAgYCxcbiAgICAgICAgY29uZmlybUJ1dHRvbkFyaWFMYWJlbDogXCJjb25maXJtXCIsXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGBcbiAgICBBbm51bGVyXG4gIGAsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkFyaWFMYWJlbDogXCJ1bmRvXCIsXG4gICAgICAgIGN1c3RvbUNsYXNzOiB7XG4gICAgICAgICAgICBjb25maXJtQnV0dG9uOiBcImJnLWN5YW4tNjAwXCIsXG4gICAgICAgIH1cbiAgICB9KS50aGVuKGFzeW5jIChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvcHJvZHVjdHMvcmVtb3ZlLyR7ZS5pZH1gKVxuXG4gICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBsb2FkRGF0YSgpXG4gICAgICAgICAgICAgICAgYXdhaXQgbm90aWZ5KCfDiWzDqW1lbnQgc3VwcHJpbcOpJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlICB7XG5cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5cbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBzaGFkb3ctbWQgei0xMCBqdXN0aWZ5LWJldHdlZW4gcHgtNCBtcy02NCB3LXNjcmVlbi1taW51cy02NCBnYXAtNCBmaXhlZCB0b3AtMCBsZWZ0LTAgcHktMyBiZy13aGl0ZVwiPlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJkZmEtYnV0dG9uIGJnLWN5YW4tNjAwIHRleHQtd2hpdGUgaXRlbXMtY2VudGVyXCIgQGNsaWNrPVwic2hvd0Zvcm1cIj5cblxuICAgICAgICAgICAgPHN2ZyB2LWlmPVwiaGlkZUZvcm1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgbWUtMlwiPlxuICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTIgOXY2bTMtM0g5bTEyIDBhOSA5IDAgMSAxLTE4IDAgOSA5IDAgMCAxIDE4IDBaXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICA8c3ZnIHYtaWY9XCIhaGlkZUZvcm1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJzaXplLTUgbWUtMlwiPlxuICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTUgMTJIOW0xMiAwYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWlwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgQWpvdXRlciB1biBwcm9kdWl0XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtcHJvZHVjdC1mb3JtIGFic29sdXRlXCIgOmNsYXNzPVwieyBoaWRkZW46IGhpZGVGb3JtIH1cIj5cbiAgICAgICAgICAgIDxwcm9kdWN0LWFkZCBAYWRkLXByb2R1Y3Q9XCJhZGRQcm9kdWN0XCIgQHVuZG8tYWRkLXByb2R1Y3Q9XCJ1bmRvQWRkXCI+PC9wcm9kdWN0LWFkZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuICAgIDxQcm9kdWN0Q29udGV4dE1lbnVcbiAgICAgICAgQGRlbGV0ZT1cImRlbGV0ZVByb2R1Y3RcIlxuICAgICAgICBAdXBkYXRlPVwiaGFuZGxlU2hvd1VwZGF0ZUZvcm1cIlxuICAgICAgICBAY2xvc2U9XCJjbG9zZUNvbnRleHRNZW51XCJcbiAgICAgICAgdi1pZj1cInNob3dDb250ZXh0TWVudVwiXG4gICAgICAgIDpsaW5lLWlkPVwiY29udGV4dExpbmVJZFwiXG4gICAgICAgIDp0aXRsZT1cImNvbnRleHRUaXRsZVwiXG4gICAgICAgIDpzdHlsZT1cInsgdG9wOiBgJHtjb250ZXh0VG9wfXB4YCwgbGVmdDogYCR7Y29udGV4dExlZnR9cHhgIH1cIlxuICAgICAgICA+XG4gICAgPC9Qcm9kdWN0Q29udGV4dE1lbnU+XG5cbiAgICA8UHJvZHVjdFVwZGF0ZVxuICAgICAgICB2LWlmPVwic2hvd1VwZGF0ZUZvcm1cIlxuICAgICAgICA6bmFtZT1cInBOYW1lXCJcbiAgICAgICAgOmRlc2NyaXB0aW9uPVwicERlc2NyaXB0aW9uXCJcbiAgICAgICAgOnJlZmVyZW5jZT1cInBSZWZlcmVuY2VcIlxuICAgICAgICA6dW5pdC1wcmljZT1cInBVbml0UHJpY2VcIlxuICAgICAgICA6cHJvZHVjdC1pZD1cInBJZFwiXG4gICAgICAgIDpzdHlsZT1cIntwb3NpdGlvbjogYGFic29sdXRlYCwgdG9wOiBgJHt1cGRhdGVGb3JtVG9wfXB4YCwgbGVmdDogYCR7dXBkYXRlRm9ybUxlZnR9cHhgIH1cIlxuICAgICAgICBAdW5kby11cGRhdGU9XCJoaWRlVXBkYXRlRm9ybVwiXG4gICAgICAgIEBwcm9kdWN0LXVwZGF0ZWQ9XCJwcm9kdWN0VXBkYXRlZFwiXG4gICAgPlxuICAgIDwvUHJvZHVjdFVwZGF0ZT5cblxuICAgIDxEYXRhVGFibGVcbiAgICAgICAgdi1pZj1cIiFsb2FkaW5nXCJcbiAgICAgICAgOnZhbHVlPVwicHJvZHVjdHNcIlxuICAgICAgICA6bGF6eT1cInRydWVcIlxuICAgICAgICA6Zmlyc3Q9XCJmaXJzdFwiXG4gICAgICAgIDpwYWdpbmF0b3I9XCJ0cnVlXCJcbiAgICAgICAgOnJvd3M9XCJyb3dzUGVyUGFnZVwiXG4gICAgICAgIDp0b3RhbFJlY29yZHM9XCJ0b3RhbFJlY29yZHNcIlxuICAgICAgICA6cm93c1BlclBhZ2VPcHRpb25zPVwiYXBwQ29uZmlnLkRFRkFVTFRfQ0hPSUNFU19GT1JfVEFCTEVTXCJcbiAgICAgICAgcmVtb3ZhYmxlU29ydFxuICAgICAgICBzdHJpcGVkUm93c1xuICAgICAgICByZXNpemFibGVDb2x1bW5zXG4gICAgICAgIGNvbHVtblJlc2l6ZU1vZGU9XCJmaXRcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDUwcHhcIlxuICAgICAgICA6Y2xhc3M9XCInZG9jdW1lbnQtdGFibGUgcHJvZHVjdHMnXCJcbiAgICAgICAgdi1tb2RlbDpmaWx0ZXJzPVwiZmlsdGVyc1wiXG4gICAgICAgIEByb3ctY29udGV4dG1lbnU9XCJjb250ZXh0TWVudVwiXG4gICAgICAgIEBwYWdlPVwib25QYWdlQ2hhbmdlXCJcbiAgICAgICAgQHNvcnQ9XCJvblNvcnRcIlxuICAgICAgICA6cm93Q2xhc3M9XCJnZXRSb3dDbGFzc1wiXG4gICAgPlxuICAgICAgICA8dGVtcGxhdGUgI3BhZ2luYXRvcmVuZD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgZmxleC1yb3ctcmV2ZXJzZVwiPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB2LWlmPVwicHJvZHVjdHMubGVuZ3RoID49IDBcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzcGFtLWNsaWNrLXByZXZlbnQgYmctc2xhdGUtMjAwIGhvdmVyOmJnLXNsYXRlLTQwMCBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiIGxhYmVsPVwiRXhwb3J0XCIgQGNsaWNrPVwiZXhwb3J0VG9FeGNlbFwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgIHYtaWY9XCJleGNlbEZpbGVQYXRoID09PSBudWxsXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTMuMzc1IDE5LjVoMTcuMjVtLTE3LjI1IDBhMS4xMjUgMS4xMjUgMCAwIDEtMS4xMjUtMS4xMjVNMy4zNzUgMTkuNWg3LjVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVtLTkuNzUgMFY1LjYyNW0wIDEyLjc1di0xLjVjMC0uNjIxLjUwNC0xLjEyNSAxLjEyNS0xLjEyNW0xOC4zNzUgMi42MjVWNS42MjVtMCAxMi43NWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNW0xLjEyNS0xLjEyNXYtMS41YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1bTAgMy43NWgtNy41QTEuMTI1IDEuMTI1IDAgMCAxIDEyIDE4LjM3NW05Ljc1LTEyLjc1YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1SDMuMzc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1bTE5LjUgMHYxLjVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVNMi4yNSA1LjYyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0wIDBoMTcuMjVtLTE3LjI1IDBoNy41Yy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVNMy4zNzUgOC4yNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0xNy4yNS0zLjc1aC03LjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjVtOC42MjUtMS4xMjVjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNXYxLjVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVtLTE3LjI1IDBoNy41bS03LjUgMGMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNU0xMiAxMC44NzV2LTEuNW0wIDEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNU0xMiAxMC44NzVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0tMi4yNSAwYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVNMTMuMTI1IDEyaDcuNW0tNy41IDBjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjVNMjAuNjI1IDEyYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjV2MS41YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1bS0xNy4yNSAwaDcuNU0xMiAxNC42MjV2LTEuNW0wIDEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNU0xMiAxNC42MjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0tMi4yNSAwYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVtMCAxLjV2LTEuNW0wIDBjMC0uNjIxLjUwNC0xLjEyNSAxLjEyNS0xLjEyNW0wIDBoNy41XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2LWlmPVwiZXhjZWxGaWxlUGF0aFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMC41IDE5LjUgMyAxMm0wIDAgNy41LTcuNU0zIDEyaDE4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0IGV4Y2VsXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgdi1pZj1cImV4Y2VsRmlsZVBhdGhcIlxuICAgICAgICAgICAgICAgICAgICA6aHJlZj1cImV4Y2VsRmlsZVBhdGhcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGFtLWNsaWNrLXByZXZlbnQgIGJnLXNsYXRlLTQwMCBob3ZlcjpiZy1zbGF0ZS02MDAgaG92ZXI6dGV4dC13aGl0ZSBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRXhwb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQ9XCJleHBvcnRfcHJvZHVpdHMueGxzeFwiXG4gICAgICAgICAgICAgICAgPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwibTkgMTMuNSAzIDNtMCAwIDMtM20tMyAzdi02bTEuMDYtNC4xOS0yLjEyLTIuMTJhMS41IDEuNSAwIDAgMC0xLjA2MS0uNDRINC41QTIuMjUgMi4yNSAwIDAgMCAyLjI1IDZ2MTJhMi4yNSAyLjI1IDAgMCAwIDIuMjUgMi4yNWgxNUEyLjI1IDIuMjUgMCAwIDAgMjEuNzUgMThWOWEyLjI1IDIuMjUgMCAwIDAtMi4yNS0yLjI1aC01LjM3OWExLjUgMS41IDAgMCAxLTEuMDYtLjQ0WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2hpdGVzcGFjZS1ub3dyYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFTDqWzDqWNoYXJnZXJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L3RlbXBsYXRlPlxuXG4gICAgICAgIDxkaXYgdi1pZj1cInByb2R1Y3RzLmxlbmd0aCA9PT0gMCAmJiAhbG9hZGluZ1wiIGNsYXNzPVwidGV4dC14bCBiZy1jeWFuLTEwMCByb3VuZGVkLW1kIHAtWzIwcHhdIG10LTYgbWItNlwiPlxuICAgICAgICAgICAgVm91cyBuJ2F2ZXogcGFzIGVuY29yZSBham91dMOpIGRlIHByb2R1aXQuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJyZWZJZFwiIGhlYWRlcj1cIklEXCI+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cInJlZmVyZW5jZVwiIGhlYWRlcj1cIlLDqWbDqXJlbmNlXCI+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cIm5hbWVcIiBoZWFkZXI9XCJEw6lub21pbmF0aW9uXCIgc29ydGFibGUgPjwvQ29sdW1uPlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJkZXNjcmlwdGlvblwiIGhlYWRlcj1cIkRlc2NyaXB0aW9uXCI+PC9Db2x1bW4+XG5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cInVuaXRQcmljZVwiIGhlYWRlcj1cIlByaXggdW5pdGFpcmVcIiBzb3J0YWJsZT5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZSAjYm9keT1cInNsb3RQcm9wc1wiID5cbiAgICAgICAgICAgICAgICA8c3BhbiA6Y2xhc3M9XCIndG90YWwtY2VsbCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZm9ybWF0Q3VycmVuY3koc2xvdFByb3BzLmRhdGEudW5pdFByaWNlKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgIDwvQ29sdW1uPlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJcIiBoZWFkZXI9XCJBY3Rpb25zXCIgPlxuXG4gICAgICAgICAgICA8dGVtcGxhdGUgI2JvZHk9XCJzbG90UHJvcHNcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG5cbiAgICAgICAgPC9Db2x1bW4+XG5cbiAgICA8L0RhdGFUYWJsZT5cblxuICAgIDx0ZW1wbGF0ZSB2LWVsc2U+XG4gICAgICAgIDxkaXYgIGNsYXNzPVwiIG10LVs1MHB4XVwiPlxuICAgICAgICAgICAgPGRpdiB2LWZvcj1cImkgaW4gM1wiIDprZXk9XCJpXCIgY2xhc3M9XCJwLW1iLTJcIj5cbiAgICAgICAgICAgICAgICA8U2tlbGV0b25cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiM3JlbVwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cIltcbiAgICAgICAgICAgICAgICAgICAgICAnbWItMiByb3VuZGVkLW1kIGFuaW1hdGUtcHVsc2UnLFxuICAgICAgICAgICAgICAgICAgICAgIGkgPT09IDEgPyAnYmctY3lhbi01MDAnIDogJ2JnLWdyYXktMjAwJ1xuICAgICAgICAgICAgICAgICAgICBdXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdGVtcGxhdGU+XG5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG5cbiAgICAuYWRkLXByb2R1Y3QtZm9ybS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5hZGQtcHJvZHVjdC1mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nOjIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCA3cHggcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuPC9zdHlsZT4iLCI8c2NyaXB0IHNldHVwPlxuXG5pbXBvcnQge1F1aWxsRWRpdG9yfSBmcm9tIFwiQHZ1ZXVwL3Z1ZS1xdWlsbFwiO1xuaW1wb3J0ICdAdnVldXAvdnVlLXF1aWxsL2Rpc3QvdnVlLXF1aWxsLnNub3cuY3NzJztcbmltcG9ydCB7b25Nb3VudGVkLCBvblVubW91bnRlZCwgcmVmfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIjtcblxuaW1wb3J0IHsgdXNlTm90aWZ5TWV0aG9kcyB9IGZyb20gJy4vY29tcG9zYWJsZXMvdXNlTm90aWZ5TWV0aG9kcydcbmNvbnN0IHsgbm90aWZ5IH0gPSB1c2VOb3RpZnlNZXRob2RzKClcblxuY29uc3Qgbm90ZSA9IHJlZignJyk7XG5jb25zdCBtZW50aW9uID0gcmVmKCcnKTtcblxub25Nb3VudGVkKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZWZhdWx0LXNldHRpbmdzXCIpO1xuICAgICAgICBub3RlLnZhbHVlICAgID0gSlNPTi5wYXJzZShlbGVtZW50LmRhdGFzZXQubm90ZSk7XG4gICAgICAgIG1lbnRpb24udmFsdWUgPSBKU09OLnBhcnNlKGVsZW1lbnQuZGF0YXNldC5tZW50aW9uKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbCdpbml0aWFsaXNhdGlvbiA6XCIsIGVycm9yKTtcbiAgICB9XG59KTtcblxub25Vbm1vdW50ZWQoKCkgPT4ge1xuXG59KTtcblxuXG5jb25zdCBzYXZlID0gYXN5bmMgICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXCIvc2V0dGluZ3Mvc2F2ZVwiLCB7XG4gICAgICAgICAgICBub3RlOiBub3RlLnZhbHVlLFxuICAgICAgICAgICAgbWVudGlvbjogbWVudGlvbi52YWx1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBpZihyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGF3YWl0IHN1Y2Nlc3NOb3RpZmljYXRpb24oKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IGVycm9yTm90aWZpY2F0aW9uKClcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGF3YWl0IGVycm9yTm90aWZpY2F0aW9uKClcbiAgICB9XG59XG5cblxuXG5jb25zdCBzdWNjZXNzTm90aWZpY2F0aW9uID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IG5vdGlmeSgnRW5yZWdpc3RyZW1lbnQgZWZmZWN0dcOpZScpXG59XG5cbmNvbnN0IGVycm9yTm90aWZpY2F0aW9uID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IG5vdGlmeSgnVW5lIGVycmV1ciBzXFwnZXN0IHByb2R1aXRlJywgJ2Vycm9yJylcblxufVxuXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJxdWlsbC1jb250YWluZXIgbXQtNlwiPlxuXG4gICAgPGg0IGNsYXNzPVwidGV4dC1sZyB0ZXh0LWN5YW4tNzAwIGZvbnQtYm9sZCBtYi0yIGZsZXggbXQtM1wiPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNSBtZS0yXCI+XG4gICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTkgMTJoMy43NU05IDE1aDMuNzVNOSAxOGgzLjc1bTMgLjc1SDE4YTIuMjUgMi4yNSAwIDAgMCAyLjI1LTIuMjVWNi4xMDhjMC0xLjEzNS0uODQ1LTIuMDk4LTEuOTc2LTIuMTkyYTQ4LjQyNCA0OC40MjQgMCAwIDAtMS4xMjMtLjA4bS01LjgwMSAwYy0uMDY1LjIxLS4xLjQzMy0uMS42NjQgMCAuNDE0LjMzNi43NS43NS43NWg0LjVhLjc1Ljc1IDAgMCAwIC43NS0uNzUgMi4yNSAyLjI1IDAgMCAwLS4xLS42NjRtLTUuOCAwQTIuMjUxIDIuMjUxIDAgMCAxIDEzLjUgMi4yNUgxNWMxLjAxMiAwIDEuODY3LjY2OCAyLjE1IDEuNTg2bS01LjggMGMtLjM3Ni4wMjMtLjc1LjA1LTEuMTI0LjA4QzkuMDk1IDQuMDEgOC4yNSA0Ljk3MyA4LjI1IDYuMTA4VjguMjVtMCAwSDQuODc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djExLjI1YzAgLjYyMS41MDQgMS4xMjUgMS4xMjUgMS4xMjVoOS43NWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNVY5LjM3NWMwLS42MjEtLjUwNC0xLjEyNS0xLjEyNS0xLjEyNUg4LjI1Wk02Ljc1IDEyaC4wMDh2LjAwOEg2Ljc1VjEyWm0wIDNoLjAwOHYuMDA4SDYuNzVWMTVabTAgM2guMDA4di4wMDhINi43NVYxOFpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgTm90ZSBkZSBiYXMgZGUgcGFnZSBwYXIgZMOpZmF1dFxuICAgIDwvaDQ+XG5cbiAgICAgIDxwIGNsYXNzPVwibWItNFwiPlxuICAgICAgICAgIFBhcmFtw6l0cmV6IHVuZSBub3RlIHF1aSBhcHBhcmFpdHJhIHBhciBkw6lmYXV0IHN1ciB0b3VzIHZvcyBkb2N1bWVudHNcbiAgICAgIDwvcD5cblxuICAgIDxRdWlsbEVkaXRvciA6dG9vbGJhcj1cIltbeyAnaGVhZGVyJzogWzEsIDIsIDMsIGZhbHNlXSB9XSwgWydib2xkJywgJ2l0YWxpYycsICd1bmRlcmxpbmUnLCAnbGluayddLCBbeyAnbGlzdCc6ICdvcmRlcmVkJ30sIHsgJ2xpc3QnOiAnYnVsbGV0JyB9XV1cIiBjb250ZW50VHlwZT1cImh0bWxcIiB0aGVtZT1cInNub3dcIiBAZm9jdXM9XCJmb2N1c1wiIHYtbW9kZWw6Y29udGVudD1cIm5vdGVcIi8+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInF1aWxsLWNvbnRhaW5lciBtdC02XCI+XG5cbiAgICA8aDQgY2xhc3M9XCJ0ZXh0LWxnIHRleHQtY3lhbi03MDAgZm9udC1ib2xkIG1iLTIgZmxleCBtdC0zXCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IG1lLTJcIj5cbiAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOSAxMmgzLjc1TTkgMTVoMy43NU05IDE4aDMuNzVtMyAuNzVIMThhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNVY2LjEwOGMwLTEuMTM1LS44NDUtMi4wOTgtMS45NzYtMi4xOTJhNDguNDI0IDQ4LjQyNCAwIDAgMC0xLjEyMy0uMDhtLTUuODAxIDBjLS4wNjUuMjEtLjEuNDMzLS4xLjY2NCAwIC40MTQuMzM2Ljc1Ljc1Ljc1aDQuNWEuNzUuNzUgMCAwIDAgLjc1LS43NSAyLjI1IDIuMjUgMCAwIDAtLjEtLjY2NG0tNS44IDBBMi4yNTEgMi4yNTEgMCAwIDEgMTMuNSAyLjI1SDE1YzEuMDEyIDAgMS44NjcuNjY4IDIuMTUgMS41ODZtLTUuOCAwYy0uMzc2LjAyMy0uNzUuMDUtMS4xMjQuMDhDOS4wOTUgNC4wMSA4LjI1IDQuOTczIDguMjUgNi4xMDhWOC4yNW0wIDBINC44NzVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2MTEuMjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWg5Ljc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjkuMzc1YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1SDguMjVaTTYuNzUgMTJoLjAwOHYuMDA4SDYuNzVWMTJabTAgM2guMDA4di4wMDhINi43NVYxNVptMCAzaC4wMDh2LjAwOEg2Ljc1VjE4WlwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICBNZW50aW9uIFRWQSBwYXIgZMOpZmF1dFxuICAgIDwvaDQ+XG5cbiAgICAgICAgPHAgY2xhc3M9XCJtYi00XCI+XG4gICAgICAgICAgICBQYXJhbcOpdHJleiB1bmUgbWVudGlvbiBxdWkgYXBwYXJhaXRyYSBwYXIgZMOpZmF1dCBzdXIgdG91cyB2b3MgZG9jdW1lbnRzLCBzb3VzIGxlIHRhYmxlYXUgZGVzIHByaXguXG4gICAgICAgIDwvcD5cblxuICAgICAgICA8UXVpbGxFZGl0b3IgOnBsYWNlaG9sZGVyPVwiJydcIiA6dG9vbGJhcj1cIltbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZSddXVwiIGNvbnRlbnRUeXBlPVwiaHRtbFwiIHRoZW1lPVwic25vd1wiIEBmb2N1cz1cImZvY3VzXCIgdi1tb2RlbDpjb250ZW50PVwibWVudGlvblwiLz5cbiAgICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibXQtNlwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImRmYS1idXR0b24gYmctc2xhdGUtODAwIHRleHQtd2hpdGUgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIiBAY2xpY2s9XCJzYXZlXCI+XG4gICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI1XCIgZmlsbD1cIiNmZmZmZmZcIiB2aWV3Qm94PVwiMCAwIDI1NiAyNTZcIj48cGF0aCBkPVwiTTIwOCwzMkg4My4zMUExNS44NiwxNS44NiwwLDAsMCw3MiwzNi42OUwzNi42OSw3MkExNS44NiwxNS44NiwwLDAsMCwzMiw4My4zMVYyMDhhMTYsMTYsMCwwLDAsMTYsMTZIMjA4YTE2LDE2LDAsMCwwLDE2LTE2VjQ4QTE2LDE2LDAsMCwwLDIwOCwzMlpNODgsNDhoODBWODBIODhaTTIwOCwyMDhINDhWODMuMzFsMjQtMjRWODBBMTYsMTYsMCwwLDAsODgsOTZoODBhMTYsMTYsMCwwLDAsMTYtMTZWNDhoMjRabS04MC05NmE0MCw0MCwwLDEsMCw0MCw0MEE0MCw0MCwwLDAsMCwxMjgsMTEyWm0wLDY0YTI0LDI0LDAsMSwxLDI0LTI0QTI0LDI0LDAsMCwxLDEyOCwxNzZaXCI+PC9wYXRoPjwvc3ZnPlxuICAgICAgICAgIEVucmVnaXN0cmVyXG4gICAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG5cbiAgLnF1aWxsLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG5cbjwvc3R5bGU+IiwiPHNjcmlwdCBzZXR1cD5cblxuaW1wb3J0IHtkZWZpbmVFbWl0cywgZGVmaW5lUHJvcHMsIG9uTW91bnRlZCwgcmVmfSBmcm9tIFwidnVlXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5cbmltcG9ydCB7IHVzZU5vdGlmeU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU5vdGlmeU1ldGhvZHMnXG5jb25zdCB7IG5vdGlmeSB9ID0gdXNlTm90aWZ5TWV0aG9kcygpXG5cbmNvbnN0IG5ld19uYW1lID0gcmVmKG51bGwpXG5jb25zdCBuZXdfYWRkcmVzcyA9IHJlZihudWxsKVxuY29uc3QgbmV3X2FkZHJlc3NDb21wbGVtZW50ID0gcmVmKG51bGwpXG5jb25zdCBuZXdfemlwQ29kZSA9IHJlZihudWxsKVxuY29uc3QgbmV3X2NpdHkgPSByZWYobnVsbClcbmNvbnN0IG5ld19jb250YWN0TmFtZSA9IHJlZihudWxsKVxuY29uc3QgbmV3X2NvbnRhY3RQaG9uZSA9IHJlZihudWxsKVxuY29uc3QgbmV3X2NvbnRhY3RFbWFpbCA9IHJlZihudWxsKVxuY29uc3QgbmV3X3NpcmV0ID0gcmVmKG51bGwpXG5cbmNvbnN0IGVtaXQgPSBkZWZpbmVFbWl0cyhbXCJ1cGRhdGVcIiwgXCJ1bmRvLXVwZGF0ZVwiLCBcImN1c3RvbWVyLXVwZGF0ZWRcIl0pO1xuXG5jb25zdCBwcm9wcyA9IGRlZmluZVByb3BzKHtcbiAgICBjdXN0b21lcklkOiB7XG4gICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgbmFtZToge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIGFkZHJlc3M6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBhZGRyZXNzQ29tcGxlbWVudDoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxuICAgIHppcENvZGU6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBjaXR5OiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgIH0sXG4gICAgY29udGFjdE5hbWU6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBjb250YWN0UGhvbmU6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBjb250YWN0RW1haWw6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgfSxcbiAgICBzaXJldDoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICB9LFxufSlcblxuY29uc3QgdW5kbyA9ICgpID0+IHtcbiAgICBlbWl0KCd1bmRvLXVwZGF0ZScpXG59XG5jb25zdCBzYXZlID0gYXN5bmMgKCkgPT4ge1xuXG4gICAgaWYoXG4gICAgICAgIG5ld19uYW1lLnZhbHVlID09PSBudWxsXG4gICAgICAgIHx8IG5ld19uYW1lLnZhbHVlID09PSAnJ1xuICAgICkge1xuICAgICAgICBhd2FpdCBub3RpZnkoJ0Zvcm11bGFpcmUgaW5jb21wbGV0JywgJ2Vycm9yJylcbiAgICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KGAvY3VzdG9tZXIvdXBkYXRlLyR7cHJvcHMuY3VzdG9tZXJJZH1gLCB7XG4gICAgICAgIG5hbWU6IG5ld19uYW1lLnZhbHVlLFxuICAgICAgICBhZGRyZXNzOiBuZXdfYWRkcmVzcy52YWx1ZSxcbiAgICAgICAgYWRkcmVzc0NvbXBsZW1lbnQ6IG5ld19hZGRyZXNzQ29tcGxlbWVudC52YWx1ZSxcbiAgICAgICAgemlwQ29kZTogbmV3X3ppcENvZGUudmFsdWUsXG4gICAgICAgIGNpdHk6IG5ld19jaXR5LnZhbHVlLFxuICAgICAgICBjb250YWN0TmFtZTogbmV3X2NvbnRhY3ROYW1lLnZhbHVlLFxuICAgICAgICBjb250YWN0UGhvbmU6IG5ld19jb250YWN0UGhvbmUudmFsdWUsXG4gICAgICAgIGNvbnRhY3RFbWFpbDogbmV3X2NvbnRhY3RFbWFpbC52YWx1ZSxcbiAgICAgICAgc2lyZXQ6IG5ld19zaXJldC52YWx1ZSxcbiAgICB9KVxuXG4gICAgaWYocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgZW1pdCgnY3VzdG9tZXItdXBkYXRlZCcsIHJlc3BvbnNlLmRhdGEpXG4gICAgICAgIGF3YWl0IG5vdGlmeSgnQ2xpZW50IG1pcyDDoCBqb3VyJylcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGF3YWl0IG5vdGlmeSgnVW5lIGVycmV1ciBzXFwnZXN0IHByb2R1aXRlJywgJ2Vycm9yJylcbiAgICB9XG59XG5cbm9uTW91bnRlZCgoKSA9PiB7XG4gICAgbmV3X25hbWUudmFsdWUgPSBwcm9wcy5uYW1lXG4gICAgbmV3X2FkZHJlc3MudmFsdWUgPSBwcm9wcy5hZGRyZXNzXG4gICAgbmV3X2FkZHJlc3NDb21wbGVtZW50LnZhbHVlID0gcHJvcHMuYWRkcmVzc0NvbXBsZW1lbnRcbiAgICBuZXdfemlwQ29kZS52YWx1ZSA9IHByb3BzLnppcENvZGVcbiAgICBuZXdfY2l0eS52YWx1ZSA9IHByb3BzLmNpdHlcbiAgICBuZXdfY29udGFjdE5hbWUudmFsdWUgPSBwcm9wcy5jb250YWN0TmFtZVxuICAgIG5ld19jb250YWN0UGhvbmUudmFsdWUgPSBwcm9wcy5jb250YWN0UGhvbmVcbiAgICBuZXdfY29udGFjdEVtYWlsLnZhbHVlID0gcHJvcHMuY29udGFjdEVtYWlsXG4gICAgbmV3X3NpcmV0LnZhbHVlID0gcHJvcHMuc2lyZXRcbn0pXG48L3NjcmlwdD5cblxuPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtdXBkYXRlXCIgZGF0YS10ZXh0PVwiTWlzZSDDoCBqb3VyIGNsaWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+Tm9tPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X25hbWVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5BZHJlc3NlPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwibmV3X2FkZHJlc3NcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Db21wbMOpbWVudCBkJ2FkcmVzc2U8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfYWRkcmVzc0NvbXBsZW1lbnRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtNFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Db2RlIHBvc3RhbDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cIm5ld196aXBDb2RlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRlYWwtNTAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5WaWxsZTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cIm5ld19jaXR5XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRlYWwtNTAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5Ob20gZHUgY29udGFjdDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cIm5ld19jb250YWN0TmFtZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRlYWwtNTAwXCJcbiAgICAgICAgICA+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+VMOpbMOpcGhvbmUgZHUgY29udGFjdDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cIm5ld19jb250YWN0UGhvbmVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiPkVtYWlsIGR1IGNvbnRhY3Q8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfY29udGFjdEVtYWlsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0xIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdGVhbC01MDBcIlxuICAgICAgICAgID5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5uwrAgU2lyZXQ8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJuZXdfc2lyZXRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBweC0zIHB5LTEgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10ZWFsLTUwMFwiXG4gICAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkZmEtYnV0dG9uIGJnLWN5YW4tNjAwIHRleHQtd2hpdGVcIiBAY2xpY2s9XCJzYXZlXCI+RW5yZWdpc3RyZXI8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZGZhLWJ1dHRvbiBiZy1ncmF5LTYwMCB0ZXh0LXdoaXRlXCIgQGNsaWNrPVwidW5kb1wiPmFubnVsZXI8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZSBzY29wZWQ+XG4gICAgLm1vZGFsLXVwZGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmc6MTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDhweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+IiwiPHNjcmlwdCBzZXR1cD5cblxuaW1wb3J0IHtvbk1vdW50ZWQsIG9uVW5tb3VudGVkLCByZWZ9IGZyb20gXCJ2dWVcIjtcbmltcG9ydCBEYXRhVGFibGUgZnJvbSAncHJpbWV2dWUvZGF0YXRhYmxlJztcbmltcG9ydCBDb2x1bW4gZnJvbSAncHJpbWV2dWUvY29sdW1uJztcbmltcG9ydCBheGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCBTd2FsIGZyb20gXCJzd2VldGFsZXJ0MlwiO1xuY29uc3QgYXBwQ29uZmlnID0gd2luZG93LmFwcENvbmZpZ1xuXG5pbXBvcnQgQ3VzdG9tZXJBZGQgZnJvbSBcIi4vQ3VzdG9tZXJBZGQudnVlXCI7XG5pbXBvcnQgQ3VzdG9tZXJDb250ZXh0TWVudSBmcm9tIFwiLi9Db250ZXh0TWVudXMvQ3VzdG9tZXJDb250ZXh0TWVudS52dWVcIjtcbmltcG9ydCBDdXN0b21lclVwZGF0ZSBmcm9tIFwiLi9DdXN0b21lclVwZGF0ZS52dWVcIjtcblxuaW1wb3J0IHsgdXNlTm90aWZ5TWV0aG9kcyB9IGZyb20gJy4vY29tcG9zYWJsZXMvdXNlTm90aWZ5TWV0aG9kcydcbmltcG9ydCB7IHVzZVRhYmxlQ29sb3JzTWV0aG9kcyB9IGZyb20gXCIuL2NvbXBvc2FibGVzL3VzZVRhYmxlQ29sb3JzTWV0aG9kc1wiO1xuY29uc3QgeyBnZXRSb3dDbGFzcyB9ID0gdXNlVGFibGVDb2xvcnNNZXRob2RzKClcblxuY29uc3QgeyBub3RpZnkgfSA9IHVzZU5vdGlmeU1ldGhvZHMoKVxuXG5pbXBvcnQgeyB1c2VNb25leU1ldGhvZHMgfSBmcm9tICcuL2NvbXBvc2FibGVzL3VzZU1vbmV5TWV0aG9kcydcbmltcG9ydCBTa2VsZXRvbiBmcm9tIFwicHJpbWV2dWUvc2tlbGV0b25cIjtcbmNvbnN0IHsgZm9ybWF0Q3VycmVuY3kgfSA9IHVzZU1vbmV5TWV0aG9kcygpO1xuXG5jb25zdCBjdXN0b21lcnMgPSByZWYoW10pXG5jb25zdCBzaG93blJvd3MgPSByZWYoW10pXG5jb25zdCBvcmRlcmVkQ3VzdG9tZXJzID0gcmVmKGN1c3RvbWVycylcbmNvbnN0IHBhZ2luYXRvckZpcnN0ID0gcmVmKDApO1xuY29uc3Qgcm93c1BlclBhZ2UgPSByZWYoYXBwQ29uZmlnLkRFRkFVTFRfUk9XU19JTl9UQUJMRVMpO1xuY29uc3QgZmlsdGVycyA9IHJlZih7fSk7XG5jb25zdCBzb3J0RmllbGQgPSByZWYobnVsbCk7XG5jb25zdCBzb3J0T3JkZXIgPSByZWYoMSk7XG5jb25zdCBmaXJzdCA9IHJlZigwKTtcbmNvbnN0IGV4Y2VsRmlsZVBhdGggPSByZWYobnVsbCk7XG5jb25zdCBleGNlbEZpbGVVcmwgPSByZWYobnVsbCk7XG5jb25zdCBjb250YWluZXIgPSByZWYobnVsbClcbmNvbnN0IGhpZGVGb3JtID0gcmVmKHRydWUpXG5jb25zdCB0b3RhbFJlY29yZHMgPSByZWYoMClcbmNvbnN0IGxvYWRpbmcgPSByZWYodHJ1ZSk7XG5cbmNvbnN0IHNob3dDb250ZXh0TWVudSA9IHJlZihmYWxzZSlcbmNvbnN0IGNvbnRleHRMaW5lSWQgPSByZWYobnVsbClcbmNvbnN0IGNvbnRleHROYW1lID0gcmVmKG51bGwpXG5jb25zdCBjb250ZXh0VG9wID0gcmVmKG51bGwpXG5jb25zdCBjb250ZXh0TGVmdCA9IHJlZihudWxsKVxuXG5jb25zdCBzaG93VXBkYXRlRm9ybSA9IHJlZihmYWxzZSlcbmNvbnN0IHBJZCA9IHJlZihudWxsKVxuY29uc3QgcE5hbWUgPSByZWYobnVsbClcbmNvbnN0IHBBZGRyZXNzID0gcmVmKG51bGwpXG5jb25zdCBwQWRkcmVzc0NvbXBsZW1lbnQgPSByZWYobnVsbClcbmNvbnN0IHBaaXBjb2RlID0gcmVmKG51bGwpXG5jb25zdCBwQ2l0eSA9IHJlZihudWxsKVxuY29uc3QgcENvbnRhY3ROYW1lID0gcmVmKG51bGwpXG5jb25zdCBwQ29udGFjdFBob25lID0gcmVmKG51bGwpXG5jb25zdCBwQ29udGFjdEVtYWlsID0gcmVmKG51bGwpXG5jb25zdCBwU2lyZXQgPSByZWYobnVsbClcbmNvbnN0IHVwZGF0ZUZvcm1Ub3AgPSByZWYobnVsbClcbmNvbnN0IHVwZGF0ZUZvcm1MZWZ0ID0gcmVmKG51bGwpXG5cbmNvbnN0IGhhbmRsZVNob3dVcGRhdGVGb3JtID0gKGUpID0+IHtcbiAgICBsZXQgbGlzdCA9IGN1c3RvbWVycy52YWx1ZVxuICAgIGNvbnN0IGN1c3RvbWVyID0gbGlzdC5maWx0ZXIoKGN1c3RvbWVyKSA9PiBjdXN0b21lci5yZWZJZCA9PT0gZS5pZClcblxuICAgIHVwZGF0ZUZvcm1MZWZ0LnZhbHVlID0gY29udGV4dExlZnQudmFsdWVcbiAgICB1cGRhdGVGb3JtVG9wLnZhbHVlID0gY29udGV4dFRvcC52YWx1ZVxuICAgIHBJZC52YWx1ZSA9IGN1c3RvbWVyWzBdLnJlZklkXG4gICAgcE5hbWUudmFsdWUgPSBjdXN0b21lclswXS5uYW1lXG4gICAgcEFkZHJlc3MudmFsdWUgPSBjdXN0b21lclswXS5hZGRyZXNzID8/ICcnXG4gICAgcEFkZHJlc3NDb21wbGVtZW50LnZhbHVlID0gY3VzdG9tZXJbMF0uYWRkcmVzc0NvbXBsZW1lbnRcbiAgICBwWmlwY29kZS52YWx1ZSA9IGN1c3RvbWVyWzBdLnppcENvZGVcbiAgICBwQ2l0eS52YWx1ZSA9IGN1c3RvbWVyWzBdLmNpdHlcbiAgICBwQ29udGFjdE5hbWUudmFsdWUgPSBjdXN0b21lclswXS5jb250YWN0TmFtZVxuICAgIHBDb250YWN0UGhvbmUudmFsdWUgPSBjdXN0b21lclswXS5jb250YWN0UGhvbmVcbiAgICBwQ29udGFjdEVtYWlsLnZhbHVlID0gY3VzdG9tZXJbMF0uY29udGFjdEVtYWlsXG4gICAgcFNpcmV0LnZhbHVlID0gY3VzdG9tZXJbMF0uc2lyZXRcblxuICAgIHNob3dVcGRhdGVGb3JtLnZhbHVlID0gdHJ1ZVxufVxuXG5jb25zdCBvblBhZ2VDaGFuZ2UgPSAoZXZlbnQpID0+IHtcbiAgICBleGNlbEZpbGVQYXRoLnZhbHVlID0gbnVsbFxuICAgIGZpcnN0LnZhbHVlID0gZXZlbnQuZmlyc3Q7XG4gICAgcm93c1BlclBhZ2UudmFsdWUgPSBldmVudC5yb3dzXG4gICAgc29ydEZpZWxkLnZhbHVlID0gZXZlbnQuc29ydEZpZWxkXG4gICAgc29ydE9yZGVyLnZhbHVlID0gZXZlbnQuc29ydE9yZGVyXG4gICAgbG9hZERhdGEoKX07XG5cbm9uTW91bnRlZCgoKSA9PiB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY3VzdG9tZXJzLWRhdGF0YWJsZVwiKTtcbiAgICBjb250YWluZXIudmFsdWUgPSBlbGVtZW50XG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiZmlsdGVyOmNoYW5nZVwiLCBvbkZpbHRlcik7XG4gICAgbG9hZERhdGEoKVxuXG59KVxuXG5vblVubW91bnRlZCgoKSA9PiB7XG4gICAgY29udGFpbmVyLnZhbHVlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmaWx0ZXI6Y2hhbmdlXCIsIHRoaXMub25GaWx0ZXIpO1xufSlcblxuY29uc3QgbG9hZERhdGEgPSBhc3luYyAoKSA9PiB7XG4gICAgbG9hZGluZy52YWx1ZSA9IHRydWVcblxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgICBmaXJzdDogZmlyc3QudmFsdWUsXG4gICAgICAgIHJvd3M6IHJvd3NQZXJQYWdlLnZhbHVlLFxuICAgICAgICBzb3J0RmllbGQ6IHNvcnRGaWVsZC52YWx1ZSxcbiAgICAgICAgc29ydE9yZGVyOiBzb3J0T3JkZXIudmFsdWUgPz8gMSxcbiAgICB9KVxuXG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgICAgID0gYXdhaXQgZmV0Y2goYC9jdXN0b21lci9wcm92aWRlLz8ke3BhcmFtc31gKTtcbiAgICAgICAgY29uc3QgZGF0YSAgICAgICAgID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgICBjdXN0b21lcnMudmFsdWUgICAgID0gZGF0YS5pdGVtcztcbiAgICAgICAgdG90YWxSZWNvcmRzLnZhbHVlID0gZGF0YS50b3RhbDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJldXIgbG9ycyBkdSBjaGFyZ2VtZW50IGRlcyBkb25uw6llczonLCBlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBsb2FkaW5nLnZhbHVlID0gZmFsc2VcbiAgICAgICAgfSwgNTAwKVxuICAgIH1cbn1cblxuY29uc3Qgb25Tb3J0ID0gKGV2ZW50KSA9PiB7XG4gICAgZmlyc3QudmFsdWUgPSBldmVudC5maXJzdFxuICAgIHNvcnRGaWVsZC52YWx1ZSA9IGV2ZW50LnNvcnRGaWVsZFxuICAgIHNvcnRPcmRlci52YWx1ZSA9IGV2ZW50LnNvcnRPcmRlclxuICAgIGV4Y2VsRmlsZVBhdGgudmFsdWUgPSBudWxsXG5cbiAgICBsb2FkRGF0YSgpXG59O1xuXG5jb25zdCBleHBvcnRUb0V4Y2VsID0gYXN5bmMgKCkgPT4ge1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KCcvZXhwb3J0LXRvLWV4Y2VsJywge1xuICAgICAgICByb3dzOiBjdXN0b21lcnMudmFsdWVcbiAgICB9KVxuXG4gICAgaWYocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgZXhjZWxGaWxlUGF0aC52YWx1ZSA9IHJlc3BvbnNlLmRhdGEuZmlsZVVybFxuICAgICAgICBkb3dubG9hZChyZXNwb25zZS5kYXRhLmZpbGVVcmwsICdjbGllbnRzJylcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdFeHBvcnQgZXhjZWwgdGVybWluw6knKVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgZXhjZWxGaWxlUGF0aC52YWx1ZSA9IG51bGxcbiAgICAgICAgYXdhaXQgbm90aWZ5KCdFeHBvcnQgZXhjZWwgw6ljaG91w6knLCAnZXJyb3InKVxuICAgIH1cbn1cblxuY29uc3QgZG93bmxvYWQgPSAocGF0aCwgdGl0bGUpID0+IHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuaHJlZiA9IHBhdGg7IC8vIFVSTCBkdSBmaWNoaWVyIHJldG91cm7DqSBwYXIgbGUgYmFja2VuZFxuICAgIGxpbmsuZG93bmxvYWQgPSBgZXhwb3J0XyR7dGl0bGV9Lnhsc3hgOyAvLyBOb20gc3VnZ8OpcsOpIHBvdXIgbGUgZmljaGllclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgbGluay5jbGljaygpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG59XG5cbmNvbnN0IG9uRmlsdGVyID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGV2ZW50LmRldGFpbC5yZXN1bHRzXG59XG5cbmNvbnN0IGN1c3RvbWVyVXBkYXRlZCA9IChlKSA9PiB7XG4gICAgaGlkZVVwZGF0ZUZvcm0oKVxuICAgIGxvYWREYXRhKClcbn1cblxuY29uc3QgYWRkQ3VzdG9tZXIgPSBhc3luYyAoZXZlbnQpID0+IHtcblxuICAgIGF3YWl0IGxvYWREYXRhKClcbiAgICBoaWRlRm9ybS52YWx1ZSA9IHRydWVcbn1cblxuY29uc3Qgc2hvd0Zvcm0gPSAoKSA9PiB7XG4gICAgaGlkZUZvcm0udmFsdWUgPSAhaGlkZUZvcm0udmFsdWVcbn1cblxuY29uc3QgaGlkZVVwZGF0ZUZvcm0gPSAoKSA9PiB7XG4gICAgc2hvd1VwZGF0ZUZvcm0udmFsdWUgPSBmYWxzZVxufVxuXG5cbmNvbnN0IGNvbnRleHRNZW51ID0gKGUpID0+IHtcbiAgICBlLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGNvbnN0IGVsZW1lbnQgPSBlLmRhdGFcbiAgICBjb250ZXh0TGluZUlkLnZhbHVlID0gZWxlbWVudC5yZWZJZFxuICAgIGNvbnRleHROYW1lLnZhbHVlID0gZWxlbWVudC5uYW1lXG4gICAgY29udGV4dExlZnQudmFsdWUgPSBlLm9yaWdpbmFsRXZlbnQuY2xpZW50WFxuICAgIGNvbnRleHRUb3AudmFsdWUgPSBlLm9yaWdpbmFsRXZlbnQuY2xpZW50WVxuICAgIHNob3dDb250ZXh0TWVudS52YWx1ZSA9IHRydWVcbn1cblxuY29uc3QgY2xvc2VDb250ZXh0TWVudSA9ICgpID0+IHtcbiAgICBzaG93Q29udGV4dE1lbnUudmFsdWUgPSBmYWxzZVxufVxuXG5jb25zdCBkZWxldGVDdXN0b21lciA9IGFzeW5jIChlKSA9PiB7XG5cbiAgICBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogXCI8c3Ryb25nPkF0dGVudGlvbjwvc3Ryb25nPlwiLFxuICAgICAgICBodG1sOiBgXG4gICAgw4p0ZXMtdm91cyBzw7tyLWUgZGUgdm91bG9pciBzdXBwcmltZXIgbGUgY2xpZW50PGJyPjxiPiR7ZS5uYW1lfTwvYj4uPGJyPlxuICBgLFxuICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgZm9jdXNDb25maXJtOiBmYWxzZSxcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGBcbiAgICAgU3VwcHJpbWVyIGxlIGNsaWVudFxuICBgLFxuICAgICAgICBjb25maXJtQnV0dG9uQXJpYUxhYmVsOiBcImNvbmZpcm1cIixcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogYFxuICAgIEFubnVsZXJcbiAgYCxcbiAgICAgICAgY2FuY2VsQnV0dG9uQXJpYUxhYmVsOiBcInVuZG9cIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IFwiYmctY3lhbi02MDBcIixcbiAgICAgICAgfVxuICAgIH0pLnRoZW4oYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0LmlzQ29uZmlybWVkKSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoYC9jdXN0b21lci9yZW1vdmUvJHtlLmlkfWApXG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGF3YWl0IGxvYWREYXRhKClcbiAgICAgICAgICAgICAgICBhd2FpdCBub3RpZnkoJ8OJbMOpbWVudCBzdXBwcmltw6knKVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgIHtcblxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBzaGFkb3ctbWQgei0xMCBqdXN0aWZ5LWJldHdlZW4gcHgtNCBtcy02NCB3LXNjcmVlbi1taW51cy02NCBnYXAtNCBmaXhlZCB0b3AtMCBsZWZ0LTAgcHktMyBiZy13aGl0ZVwiPlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJkZmEtYnV0dG9uIGJnLWFtYmVyLTQwMCB0ZXh0LXdoaXRlIGl0ZW1zLWNlbnRlclwiIEBjbGljaz1cInNob3dGb3JtXCI+XG5cbiAgICAgICAgICAgIDxzdmcgdi1pZj1cImhpZGVGb3JtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IG1lLTJcIj5cbiAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEyIDl2Nm0zLTNIOW0xMiAwYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWlwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgPHN2ZyB2LWlmPVwiIWhpZGVGb3JtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS01IG1lLTJcIj5cbiAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE1IDEySDltMTIgMGE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFpcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgIEFqb3V0ZXIgdW4gY2xpZW50XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtY3VzdG9tZXItZm9ybSBhYnNvbHV0ZVwiIDpjbGFzcz1cInsgaGlkZGVuOiBoaWRlRm9ybSB9XCI+XG4gICAgICAgICAgICA8Y3VzdG9tZXItYWRkIEBhZGQtY3VzdG9tZXI9XCJhZGRDdXN0b21lclwiPjwvY3VzdG9tZXItYWRkPlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gICAgPEN1c3RvbWVyQ29udGV4dE1lbnVcbiAgICAgICAgQGRlbGV0ZT1cImRlbGV0ZUN1c3RvbWVyXCJcbiAgICAgICAgQGNsb3NlPVwiY2xvc2VDb250ZXh0TWVudVwiXG4gICAgICAgIEB1cGRhdGU9XCJoYW5kbGVTaG93VXBkYXRlRm9ybVwiXG4gICAgICAgIHYtaWY9XCJzaG93Q29udGV4dE1lbnVcIlxuICAgICAgICA6bGluZS1pZD1cImNvbnRleHRMaW5lSWRcIlxuICAgICAgICA6bmFtZT1cImNvbnRleHROYW1lXCJcbiAgICAgICAgOnN0eWxlPVwieyB0b3A6IGAke2NvbnRleHRUb3B9cHhgLCBsZWZ0OiBgJHtjb250ZXh0TGVmdH1weGAgfVwiXG4gICAgPlxuXG4gICAgPC9DdXN0b21lckNvbnRleHRNZW51PlxuXG4gICAgPEN1c3RvbWVyVXBkYXRlXG4gICAgICAgIHYtaWY9XCJzaG93VXBkYXRlRm9ybVwiXG4gICAgICAgIDpjdXN0b21lci1pZD1cInBJZFwiXG4gICAgICAgIDpuYW1lPVwicE5hbWVcIlxuICAgICAgICA6YWRkcmVzcz1cInBBZGRyZXNzXCJcbiAgICAgICAgOmFkZHJlc3MtY29tcGxlbWVudD1cInBBZGRyZXNzQ29tcGxlbWVudFwiXG4gICAgICAgIDp6aXAtY29kZT1cInBaaXBjb2RlXCJcbiAgICAgICAgOmNpdHk9XCJwQ2l0eVwiXG4gICAgICAgIDpjb250YWN0LW5hbWU9XCJwQ29udGFjdE5hbWVcIlxuICAgICAgICA6Y29udGFjdC1waG9uZT1cInBDb250YWN0UGhvbmVcIlxuICAgICAgICA6Y29udGFjdC1lbWFpbD1cInBDb250YWN0RW1haWxcIlxuICAgICAgICA6c2lyZXQ9XCJwU2lyZXRcIlxuICAgICAgICA6c3R5bGU9XCJ7cG9zaXRpb246IGBhYnNvbHV0ZWAsIHRvcDogYCR7dXBkYXRlRm9ybVRvcH1weGAsIGxlZnQ6IGAke3VwZGF0ZUZvcm1MZWZ0fXB4YCB9XCJcbiAgICAgICAgQHVuZG8tdXBkYXRlPVwiaGlkZVVwZGF0ZUZvcm1cIlxuICAgICAgICBAY3VzdG9tZXItdXBkYXRlZD1cImN1c3RvbWVyVXBkYXRlZFwiXG4gICAgPlxuICAgIDwvQ3VzdG9tZXJVcGRhdGU+XG5cbiAgICA8RGF0YVRhYmxlXG4gICAgICAgIHYtaWY9XCIhbG9hZGluZ1wiXG4gICAgICAgIDp2YWx1ZT1cImN1c3RvbWVyc1wiXG4gICAgICAgIDpsYXp5PVwidHJ1ZVwiXG4gICAgICAgIDpmaXJzdD1cImZpcnN0XCJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiA1MHB4XCJcbiAgICAgICAgdi1tb2RlbDpmaWx0ZXJzPVwiZmlsdGVyc1wiXG4gICAgICAgIDpwYWdpbmF0b3I9XCJ0cnVlXCJcbiAgICAgICAgcmVtb3ZhYmxlU29ydFxuICAgICAgICBzdHJpcGVkUm93c1xuICAgICAgICA6dG90YWxSZWNvcmRzPVwidG90YWxSZWNvcmRzXCJcbiAgICAgICAgOnJvd3NQZXJQYWdlT3B0aW9ucz1cImFwcENvbmZpZy5ERUZBVUxUX0NIT0lDRVNfRk9SX1RBQkxFU1wiXG4gICAgICAgIDpyb3dzPVwicm93c1BlclBhZ2VcIlxuICAgICAgICA6Y2xhc3M9XCInZG9jdW1lbnQtdGFibGUgY3VzdG9tZXJzJ1wiXG4gICAgICAgIEBwYWdlPVwib25QYWdlQ2hhbmdlXCJcbiAgICAgICAgQHNvcnQ9XCJvblNvcnRcIlxuICAgICAgICByZXNpemFibGVDb2x1bW5zXG4gICAgICAgIGNvbHVtblJlc2l6ZU1vZGU9XCJmaXRcIlxuICAgICAgICBAcm93LWNvbnRleHRtZW51PVwiY29udGV4dE1lbnVcIlxuICAgICAgICA6cm93Q2xhc3M9XCJnZXRSb3dDbGFzc1wiXG4gICAgPlxuICAgICAgICA8dGVtcGxhdGUgI3BhZ2luYXRvcmVuZD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgZmxleC1yb3ctcmV2ZXJzZVwiPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB2LWlmPVwiY3VzdG9tZXJzLmxlbmd0aCA+IDBcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzcGFtLWNsaWNrLXByZXZlbnQgYmctc2xhdGUtMjAwIGhvdmVyOmJnLXNsYXRlLTQwMCBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiIGxhYmVsPVwiRXhwb3J0XCIgQGNsaWNrPVwiZXhwb3J0VG9FeGNlbFwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgIHYtaWY9XCJleGNlbEZpbGVQYXRoID09PSBudWxsXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTMuMzc1IDE5LjVoMTcuMjVtLTE3LjI1IDBhMS4xMjUgMS4xMjUgMCAwIDEtMS4xMjUtMS4xMjVNMy4zNzUgMTkuNWg3LjVjLjYyMSAwIDEuMTI1LS41MDQgMS4xMjUtMS4xMjVtLTkuNzUgMFY1LjYyNW0wIDEyLjc1di0xLjVjMC0uNjIxLjUwNC0xLjEyNSAxLjEyNS0xLjEyNW0xOC4zNzUgMi42MjVWNS42MjVtMCAxMi43NWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNW0xLjEyNS0xLjEyNXYtMS41YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1bTAgMy43NWgtNy41QTEuMTI1IDEuMTI1IDAgMCAxIDEyIDE4LjM3NW05Ljc1LTEyLjc1YzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1SDMuMzc1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1bTE5LjUgMHYxLjVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVNMi4yNSA1LjYyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0wIDBoMTcuMjVtLTE3LjI1IDBoNy41Yy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVNMy4zNzUgOC4yNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0xNy4yNS0zLjc1aC03LjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjVtOC42MjUtMS4xMjVjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNXYxLjVjMCAuNjIxLS41MDQgMS4xMjUtMS4xMjUgMS4xMjVtLTE3LjI1IDBoNy41bS03LjUgMGMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNU0xMiAxMC44NzV2LTEuNW0wIDEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNU0xMiAxMC44NzVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0tMi4yNSAwYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVNMTMuMTI1IDEyaDcuNW0tNy41IDBjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjVNMjAuNjI1IDEyYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjV2MS41YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1bS0xNy4yNSAwaDcuNU0xMiAxNC42MjV2LTEuNW0wIDEuNWMwIC42MjEtLjUwNCAxLjEyNS0xLjEyNSAxLjEyNU0xMiAxNC42MjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNW0tMi4yNSAwYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVtMCAxLjV2LTEuNW0wIDBjMC0uNjIxLjUwNC0xLjEyNSAxLjEyNS0xLjEyNW0wIDBoNy41XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2LWlmPVwiZXhjZWxGaWxlUGF0aFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInNpemUtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMC41IDE5LjUgMyAxMm0wIDAgNy41LTcuNU0zIDEyaDE4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0IGV4Y2VsXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgdi1pZj1cImV4Y2VsRmlsZVBhdGhcIlxuICAgICAgICAgICAgICAgICAgICA6aHJlZj1cImV4Y2VsRmlsZVBhdGhcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGFtLWNsaWNrLXByZXZlbnQgIGJnLXNsYXRlLTQwMCBob3ZlcjpiZy1zbGF0ZS02MDAgaG92ZXI6dGV4dC13aGl0ZSBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRXhwb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQ9XCJleHBvcnRfcHJvZHVpdHMueGxzeFwiXG4gICAgICAgICAgICAgICAgPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwic2l6ZS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwibTkgMTMuNSAzIDNtMCAwIDMtM20tMyAzdi02bTEuMDYtNC4xOS0yLjEyLTIuMTJhMS41IDEuNSAwIDAgMC0xLjA2MS0uNDRINC41QTIuMjUgMi4yNSAwIDAgMCAyLjI1IDZ2MTJhMi4yNSAyLjI1IDAgMCAwIDIuMjUgMi4yNWgxNUEyLjI1IDIuMjUgMCAwIDAgMjEuNzUgMThWOWEyLjI1IDIuMjUgMCAwIDAtMi4yNS0yLjI1aC01LjM3OWExLjUgMS41IDAgMCAxLTEuMDYtLjQ0WlwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2hpdGVzcGFjZS1ub3dyYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFTDqWzDqWNoYXJnZXJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L3RlbXBsYXRlPlxuXG4gICAgICAgIDxkaXYgdi1pZj1cImN1c3RvbWVycy5sZW5ndGggPT09IDAgJiYgIWxvYWRpbmdcIiBjbGFzcz1cInRleHQteGwgYmctYW1iZXItMTAwIHJvdW5kZWQtbWQgcC1bMjBweF0gbXQtNiBtYi02XCI+XG4gICAgICAgICAgICBWb3VzIG4nYXZleiBwYXMgZW5jb3JlIGFqb3V0w6kgZGUgY2xpZW50LlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8Q29sdW1uIGZpZWxkPVwicmVmSWRcIiBoZWFkZXI9XCJJRFwiPjwvQ29sdW1uPlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJuYW1lXCIgaGVhZGVyPVwiTm9tXCIgc29ydGFibGUgPjwvQ29sdW1uPlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJjaXR5XCIgaGVhZGVyPVwiVmlsbGVcIiBzb3J0YWJsZT48L0NvbHVtbj5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cImNvbnRhY3ROYW1lXCIgaGVhZGVyPVwiQ29udGFjdFwiIHNvcnRhYmxlPjwvQ29sdW1uPlxuICAgICAgICA8Q29sdW1uIGZpZWxkPVwiY29udGFjdFBob25lXCIgaGVhZGVyPVwiVMOpbC5cIiBzb3J0YWJsZT48L0NvbHVtbj5cbiAgICAgICAgPENvbHVtbiBmaWVsZD1cImNvbnRhY3RFbWFpbFwiIGhlYWRlcj1cIkVtYWlsLlwiIHNvcnRhYmxlPjwvQ29sdW1uPlxuXG4gICAgICAgIDxDb2x1bW4gZmllbGQ9XCJcIiBoZWFkZXI9XCJBY3Rpb25zXCIgPlxuXG4gICAgICAgICAgICA8dGVtcGxhdGUgI2JvZHk9XCJzbG90UHJvcHNcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG5cbiAgICAgICAgPC9Db2x1bW4+XG5cbiAgICA8L0RhdGFUYWJsZT5cblxuICAgIDx0ZW1wbGF0ZSB2LWVsc2U+XG4gICAgICAgIDxkaXYgIGNsYXNzPVwiIG10LVs1MHB4XVwiPlxuICAgICAgICAgICAgPGRpdiB2LWZvcj1cImkgaW4gM1wiIDprZXk9XCJpXCIgY2xhc3M9XCJwLW1iLTJcIj5cbiAgICAgICAgICAgICAgICA8U2tlbGV0b25cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiM3JlbVwiXG4gICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cIltcbiAgICAgICAgICAgICAgICAgICAgICAnbWItMiByb3VuZGVkLW1kIGFuaW1hdGUtcHVsc2UnLFxuICAgICAgICAgICAgICAgICAgICAgIGkgPT09IDEgPyAnYmcteWVsbG93LTUwMCcgOiAnYmctZ3JheS0yMDAnXG4gICAgICAgICAgICAgICAgICAgIF1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90ZW1wbGF0ZT5cblxuPC90ZW1wbGF0ZT5cblxuPHN0eWxlIHNjb3BlZD5cblxuICAgIC5hZGQtY3VzdG9tZXItZm9ybS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5hZGQtY3VzdG9tZXItZm9ybSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjEwMCU7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzoyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggN3B4IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDc1dmg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbjwvc3R5bGU+IiwiQHRhaWx3aW5kIGJhc2U7XG5AdGFpbHdpbmQgY29tcG9uZW50cztcbkB0YWlsd2luZCB1dGlsaXRpZXM7XG5cbkBsYXllciB1dGlsaXRpZXMge1xuICAgIC5iZWZvcmUtZGFzaDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBRdWlsbCBFZGl0b3IgdjIuMC4zXG4gKiBodHRwczovL3F1aWxsanMuY29tXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyNCwgU2xhYlxuICogQ29weXJpZ2h0IChjKSAyMDE0LCBKYXNvbiBDaGVuXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMsIHNhbGVzZm9yY2UuY29tXG4gKi9cbi5xbC1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucWwtY29udGFpbmVyLnFsLWRpc2FibGVkIC5xbC10b29sdGlwIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucWwtY29udGFpbmVyOm5vdCgucWwtZGlzYWJsZWQpIGxpW2RhdGEtbGlzdD1jaGVja2VkXSA+IC5xbC11aSwgLnFsLWNvbnRhaW5lcjpub3QoLnFsLWRpc2FibGVkKSBsaVtkYXRhLWxpc3Q9dW5jaGVja2VkXSA+IC5xbC11aSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnFsLWNsaXBib2FyZCB7XG4gIGxlZnQ6IC0xMDAwMDBweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbn1cblxuLnFsLWNsaXBib2FyZCBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucWwtZWRpdG9yIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY291bnRlci1yZXNldDogbGlzdC0wIGxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICBsaW5lLWhlaWdodDogMS40MjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gIHRhYi1zaXplOiA0O1xuICAtbW96LXRhYi1zaXplOiA0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLnFsLWVkaXRvciA+ICoge1xuICBjdXJzb3I6IHRleHQ7XG59XG5cbi5xbC1lZGl0b3IgcCwgLnFsLWVkaXRvciBvbCwgLnFsLWVkaXRvciBwcmUsIC5xbC1lZGl0b3IgYmxvY2txdW90ZSwgLnFsLWVkaXRvciBoMSwgLnFsLWVkaXRvciBoMiwgLnFsLWVkaXRvciBoMywgLnFsLWVkaXRvciBoNCwgLnFsLWVkaXRvciBoNSwgLnFsLWVkaXRvciBoNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIHAsIC5xbC1lZGl0b3IgaDEsIC5xbC1lZGl0b3IgaDIsIC5xbC1lZGl0b3IgaDMsIC5xbC1lZGl0b3IgaDQsIC5xbC1lZGl0b3IgaDUsIC5xbC1lZGl0b3IgaDYge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTAgbGlzdC0xIGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgcCwgLnFsLWVkaXRvciBoMSwgLnFsLWVkaXRvciBoMiwgLnFsLWVkaXRvciBoMywgLnFsLWVkaXRvciBoNCwgLnFsLWVkaXRvciBoNSwgLnFsLWVkaXRvciBoNiB7XG4gICAgY291bnRlci1yZXNldDogbGlzdC0wIGxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG4ucWwtZWRpdG9yIHRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLnFsLWVkaXRvciB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG5cbi5xbC1lZGl0b3Igb2wge1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xufVxuXG4ucWwtZWRpdG9yIGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xbC1lZGl0b3IgbGkgPiAucWwtdWk6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTEuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEuMmVtO1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1jaGVja2VkXSA+IC5xbC11aSwgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9dW5jaGVja2VkXSA+IC5xbC11aSB7XG4gIGNvbG9yOiAjNzc3O1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1idWxsZXRdID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCiXCI7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PWNoZWNrZWRdID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4piRXCI7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PXVuY2hlY2tlZF0gPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogXCLimJBcIjtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTEgbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdIHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTEgbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC0wO1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXSA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGxpc3QtMCwgZGVjaW1hbCkgXCIuIFwiO1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtMSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LTE7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0xID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC0xLCBsb3dlci1hbHBoYSkgXCIuIFwiO1xufVxuXG5Ac3VwcG9ydHMgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMSB7XG4gICAgY291bnRlci1zZXQ6IGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMSB7XG4gICAgY291bnRlci1yZXNldDogbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTIge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC0yO1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtMiA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGxpc3QtMiwgbG93ZXItcm9tYW4pIFwiLiBcIjtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTIge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMiB7XG4gICAgY291bnRlci1yZXNldDogbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtMyB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LTM7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0zID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC0zLCBkZWNpbWFsKSBcIi4gXCI7XG59XG5cbkBzdXBwb3J0cyAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0zIHtcbiAgICBjb3VudGVyLXNldDogbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMyB7XG4gICAgY291bnRlci1yZXNldDogbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC00IHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtNDtcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTQgPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihsaXN0LTQsIGxvd2VyLWFscGhhKSBcIi4gXCI7XG59XG5cbkBzdXBwb3J0cyAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC00IHtcbiAgICBjb3VudGVyLXNldDogbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC00IHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O1xuICB9XG59XG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LTU7XG59XG5cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC01ID4gLnFsLXVpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC01LCBsb3dlci1yb21hbikgXCIuIFwiO1xufVxuXG5Ac3VwcG9ydHMgKGNvdW50ZXItc2V0OiBub25lKSB7XG4gIC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNSB7XG4gICAgY291bnRlci1zZXQ6IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC01IHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC02IHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtNjtcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTYgPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihsaXN0LTYsIGRlY2ltYWwpIFwiLiBcIjtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTYge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC02IHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LTcgbGlzdC04IGxpc3QtOTtcbiAgfVxufVxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTcge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC03O1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNyA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGxpc3QtNywgbG93ZXItYWxwaGEpIFwiLiBcIjtcbn1cblxuQHN1cHBvcnRzIChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTcge1xuICAgIGNvdW50ZXItc2V0OiBsaXN0LTggbGlzdC05O1xuICB9XG59XG5Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTcge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtOCBsaXN0LTk7XG4gIH1cbn1cbi5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC04IHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtODtcbn1cblxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTggPiAucWwtdWk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihsaXN0LTgsIGxvd2VyLXJvbWFuKSBcIi4gXCI7XG59XG5cbkBzdXBwb3J0cyAoY291bnRlci1zZXQ6IG5vbmUpIHtcbiAgLnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC04IHtcbiAgICBjb3VudGVyLXNldDogbGlzdC05O1xuICB9XG59XG5Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDogbm9uZSkge1xuICAucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTgge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtOTtcbiAgfVxufVxuLnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTkge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC05O1xufVxuXG4ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtOSA+IC5xbC11aTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGxpc3QtOSwgZGVjaW1hbCkgXCIuIFwiO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTE6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogNC41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC0xLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAzZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTEucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDQuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMjpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiA2ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTI6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogNy41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC0yLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiA2ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTIucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDcuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMzpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiA5ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTM6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMTAuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMy5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogOWVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC0zLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMC41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC00Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDEyZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTQ6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMTMuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTJlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTMuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAxNWVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC01Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDE2LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTUucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTUucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTY6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMThlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNjpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAxOS41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC02LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxOGVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC02LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxOS41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC03Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDIxZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTc6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMjIuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNy5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjFlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNy5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjIuNWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1pbmRlbnQtODpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAyNGVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC04Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICBwYWRkaW5nLWxlZnQ6IDI1LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTgucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTgucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI1LjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtaW5kZW50LTk6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSB7XG4gIHBhZGRpbmctbGVmdDogMjdlbTtcbn1cblxuLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtOTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcbiAgcGFkZGluZy1sZWZ0OiAyOC41ZW07XG59XG5cbi5xbC1lZGl0b3IgLnFsLWluZGVudC05LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAyN2VtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWluZGVudC05LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAyOC41ZW07XG59XG5cbi5xbC1lZGl0b3IgbGkucWwtZGlyZWN0aW9uLXJ0bCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xufVxuXG4ucWwtZWRpdG9yIGxpLnFsLWRpcmVjdGlvbi1ydGwgPiAucWwtdWk6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnFsLWVkaXRvciB0YWJsZSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucWwtZWRpdG9yIHRhYmxlIHRkIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnFsLWVkaXRvciAucWwtY29kZS1ibG9jay1jb250YWluZXIge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG4ucWwtZWRpdG9yIC5xbC12aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5xbC1lZGl0b3IgLnFsLXZpZGVvLnFsLWFsaWduLWNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucWwtZWRpdG9yIC5xbC12aWRlby5xbC1hbGlnbi1yaWdodCB7XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbn1cblxuLnFsLWVkaXRvciAucWwtYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1iZy1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYwMDAwO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1iZy1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjkwO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1iZy15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1iZy1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhhMDA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWJnLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZjO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1iZy1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNmO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1jb2xvci13aGl0ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1jb2xvci1yZWQge1xuICBjb2xvcjogI2U2MDAwMDtcbn1cblxuLnFsLWVkaXRvciAucWwtY29sb3Itb3JhbmdlIHtcbiAgY29sb3I6ICNmOTA7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWNvbG9yLXllbGxvdyB7XG4gIGNvbG9yOiAjZmYwO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1jb2xvci1ncmVlbiB7XG4gIGNvbG9yOiAjMDA4YTAwO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1jb2xvci1ibHVlIHtcbiAgY29sb3I6ICMwNmM7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWNvbG9yLXB1cnBsZSB7XG4gIGNvbG9yOiAjOTNmO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1mb250LXNlcmlmIHtcbiAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIFRpbWVzIE5ldyBSb21hbiwgc2VyaWY7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWZvbnQtbW9ub3NwYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbmFjbywgQ291cmllciBOZXcsIG1vbm9zcGFjZTtcbn1cblxuLnFsLWVkaXRvciAucWwtc2l6ZS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuXG4ucWwtZWRpdG9yIC5xbC1zaXplLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtc2l6ZS1odWdlIHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbn1cblxuLnFsLWVkaXRvciAucWwtZGlyZWN0aW9uLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG4ucWwtZWRpdG9yIC5xbC1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5xbC1lZGl0b3IgLnFsLWFsaWduLWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4ucWwtZWRpdG9yIC5xbC1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucWwtZWRpdG9yIC5xbC11aSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnFsLWVkaXRvci5xbC1ibGFuazo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY29udGVudDogYXR0cihkYXRhLXBsYWNlaG9sZGVyKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsZWZ0OiAxNXB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTVweDtcbn1cblxuLnFsLXNub3cucWwtdG9vbGJhcjphZnRlciwgLnFsLXNub3cgLnFsLXRvb2xiYXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICB3aWR0aDogMjhweDtcbn1cblxuLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24gc3ZnLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24gc3ZnIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246YWN0aXZlOmhvdmVyLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246YWN0aXZlOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnFsLXNub3cucWwtdG9vbGJhciBpbnB1dC5xbC1pbWFnZVt0eXBlPWZpbGVdLCAucWwtc25vdyAucWwtdG9vbGJhciBpbnB1dC5xbC1pbWFnZVt0eXBlPWZpbGVdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246Zm9jdXMsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cywgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIHtcbiAgY29sb3I6ICMwNmM7XG59XG5cbi5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLWZpbGwsIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLWZpbGwsIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLCAucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLnFsLWZpbGwsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLnFsLWZpbGwge1xuICBmaWxsOiAjMDZjO1xufVxuXG4ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLXN0cm9rZSwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLXN0cm9rZSwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UsIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZSwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZSwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZSwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLCAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLCAucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS1taXRlciwgLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLW1pdGVyIHtcbiAgc3Ryb2tlOiAjMDZjO1xufVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSksIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkge1xuICAgIGNvbG9yOiAjNDQ0O1xuICB9XG4gIC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtZmlsbCwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UucWwtZmlsbCwgLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtc3Ryb2tlLnFsLWZpbGwge1xuICAgIGZpbGw6ICM0NDQ7XG4gIH1cbiAgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZSwgLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UtbWl0ZXIsIC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZS1taXRlciB7XG4gICAgc3Ryb2tlOiAjNDQ0O1xuICB9XG59XG4ucWwtc25vdyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5xbC1zbm93ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucWwtc25vdyAucWwtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFsLXNub3cgLnFsLW91dC1ib3R0b20sIC5xbC1zbm93IC5xbC1vdXQtdG9wIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcCBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwLnFsLWZsaXAge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xufVxuXG4ucWwtc25vdyAucWwtZm9ybWF0cyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnFsLXNub3cgLnFsLWZvcm1hdHM6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5xbC1zbm93IC5xbC1zdHJva2Uge1xuICBmaWxsOiBub25lO1xuICBzdHJva2U6ICM0NDQ7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4ucWwtc25vdyAucWwtc3Ryb2tlLW1pdGVyIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjNDQ0O1xuICBzdHJva2UtbWl0ZXJsaW1pdDogMTA7XG4gIHN0cm9rZS13aWR0aDogMjtcbn1cblxuLnFsLXNub3cgLnFsLWZpbGwsIC5xbC1zbm93IC5xbC1zdHJva2UucWwtZmlsbCB7XG4gIGZpbGw6ICM0NDQ7XG59XG5cbi5xbC1zbm93IC5xbC1lbXB0eSB7XG4gIGZpbGw6IG5vbmU7XG59XG5cbi5xbC1zbm93IC5xbC1ldmVuIHtcbiAgZmlsbC1ydWxlOiBldmVub2RkO1xufVxuXG4ucWwtc25vdyAucWwtdGhpbiwgLnFsLXNub3cgLnFsLXN0cm9rZS5xbC10aGluIHtcbiAgc3Ryb2tlLXdpZHRoOiAxO1xufVxuXG4ucWwtc25vdyAucWwtdHJhbnNwYXJlbnQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi5xbC1zbm93IC5xbC1kaXJlY3Rpb24gc3ZnOmxhc3QtY2hpbGQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWwtc25vdyAucWwtZGlyZWN0aW9uLnFsLWFjdGl2ZSBzdmc6bGFzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnFsLXNub3cgLnFsLWRpcmVjdGlvbi5xbC1hY3RpdmUgc3ZnOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFsLXNub3cgLnFsLWVkaXRvciBoMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGgyIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLnFsLXNub3cgLnFsLWVkaXRvciBoMyB7XG4gIGZvbnQtc2l6ZTogMS4xN2VtO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGg0IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgaDUge1xuICBmb250LXNpemU6IDAuODNlbTtcbn1cblxuLnFsLXNub3cgLnFsLWVkaXRvciBoNiB7XG4gIGZvbnQtc2l6ZTogMC42N2VtO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnFsLXNub3cgLnFsLWVkaXRvciBibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjY2NjO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGNvZGUsIC5xbC1zbm93IC5xbC1lZGl0b3IgLnFsLWNvZGUtYmxvY2stY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIC5xbC1jb2RlLWJsb2NrLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbn1cblxuLnFsLXNub3cgLnFsLWVkaXRvciBjb2RlIHtcbiAgZm9udC1zaXplOiA4NSU7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5xbC1zbm93IC5xbC1lZGl0b3IgLnFsLWNvZGUtYmxvY2stY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjQxZjtcbiAgY29sb3I6ICNmOGY4ZjI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucWwtc25vdyAucWwtZWRpdG9yIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlciB7XG4gIGNvbG9yOiAjNDQ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGhlaWdodDogMjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLWxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci1sYWJlbDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMjJweDtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci1vcHRpb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXItb3B0aW9ucyAucWwtcGlja2VyLWl0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWV4cGFuZGVkIC5xbC1waWNrZXItbGFiZWwge1xuICBjb2xvcjogI2NjYztcbiAgei1pbmRleDogMjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLWxhYmVsIC5xbC1maWxsIHtcbiAgZmlsbDogI2NjYztcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLWxhYmVsIC5xbC1zdHJva2Uge1xuICBzdHJva2U6ICNjY2M7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZXhwYW5kZWQgLnFsLXBpY2tlci1vcHRpb25zIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cblxuLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciwgLnFsLXNub3cgLnFsLWljb24tcGlja2VyIHtcbiAgd2lkdGg6IDI4cHg7XG59XG5cbi5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1sYWJlbCwgLnFsLXNub3cgLnFsLWljb24tcGlja2VyIC5xbC1waWNrZXItbGFiZWwge1xuICBwYWRkaW5nOiAycHggNHB4O1xufVxuXG4ucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItbGFiZWwgc3ZnLCAucWwtc25vdyAucWwtaWNvbi1waWNrZXIgLnFsLXBpY2tlci1sYWJlbCBzdmcge1xuICByaWdodDogNHB4O1xufVxuXG4ucWwtc25vdyAucWwtaWNvbi1waWNrZXIgLnFsLXBpY2tlci1vcHRpb25zIHtcbiAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5xbC1zbm93IC5xbC1pY29uLXBpY2tlciAucWwtcGlja2VyLWl0ZW0ge1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBwYWRkaW5nOiAycHggNHB4O1xufVxuXG4ucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItb3B0aW9ucyB7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG4gIHdpZHRoOiAxNTJweDtcbn1cblxuLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLWl0ZW0ge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luOiAycHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyOm5vdCgucWwtY29sb3ItcGlja2VyKTpub3QoLnFsLWljb24tcGlja2VyKSBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC05cHg7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDE4cHg7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPVwiXCJdKTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbFtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9XCJcIl0pOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWxhYmVsW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD1cIlwiXSk6OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD1cIlwiXSk6OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9XCJcIl0pOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPVwiXCJdKTo6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIge1xuICB3aWR0aDogOThweDtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbDo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiTm9ybWFsXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjFcIl06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIxXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkhlYWRpbmcgMVwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9XCIyXCJdOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiMlwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJIZWFkaW5nIDJcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiM1wiXTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjNcIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiSGVhZGluZyAzXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cIjRcIl06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCI0XCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkhlYWRpbmcgNFwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9XCI1XCJdOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiNVwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJIZWFkaW5nIDVcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiNlwiXTo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjZcIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiSGVhZGluZyA2XCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiMVwiXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiMlwiXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIzXCJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuMTdlbTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCI0XCJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCI1XCJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDAuODNlbTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCI2XCJdOjpiZWZvcmUge1xuICBmb250LXNpemU6IDAuNjdlbTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IHtcbiAgd2lkdGg6IDEwOHB4O1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbDo6YmVmb3JlLCAucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlNhbnMgU2VyaWZcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1zZXJpZl06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPXNlcmlmXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJTZXJpZlwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPW1vbm9zcGFjZV06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPW1vbm9zcGFjZV06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiTW9ub3NwYWNlXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1zZXJpZl06OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBUaW1lcyBOZXcgUm9tYW4sIHNlcmlmO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bW9ub3NwYWNlXTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IE1vbmFjbywgQ291cmllciBOZXcsIG1vbm9zcGFjZTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIHtcbiAgd2lkdGg6IDk4cHg7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWxhYmVsOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiTm9ybWFsXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9c21hbGxdOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1zbWFsbF06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiU21hbGxcIjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1sYXJnZV06OmJlZm9yZSwgLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPWxhcmdlXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJMYXJnZVwiO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPWh1Z2VdOjpiZWZvcmUsIC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1odWdlXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJIdWdlXCI7XG59XG5cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1zbWFsbF06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPWxhcmdlXTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9aHVnZV06OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuLnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlci5xbC1iYWNrZ3JvdW5kIC5xbC1waWNrZXItaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIucWwtY29sb3IgLnFsLXBpY2tlci1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLnFsLWNvZGUtYmxvY2stY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucWwtY29kZS1ibG9jay1jb250YWluZXIgLnFsLXVpIHtcbiAgcmlnaHQ6IDVweDtcbiAgdG9wOiA1cHg7XG59XG5cbi5xbC10b29sYmFyLnFsLXNub3cge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLnFsLXRvb2xiYXIucWwtc25vdyAucWwtZm9ybWF0cyB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLnFsLXRvb2xiYXIucWwtc25vdyAucWwtcGlja2VyLWxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5xbC10b29sYmFyLnFsLXNub3cgLnFsLXBpY2tlci1vcHRpb25zIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yKSAwIDJweCA4cHg7XG59XG5cbi5xbC10b29sYmFyLnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjO1xufVxuXG4ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1waWNrZXIucWwtZXhwYW5kZWQgLnFsLXBpY2tlci1vcHRpb25zIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjO1xufVxuXG4ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkLCAucWwtdG9vbGJhci5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xufVxuXG4ucWwtdG9vbGJhci5xbC1zbm93ICsgLnFsLWNvbnRhaW5lci5xbC1zbm93IHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICNkZGQ7XG4gIGNvbG9yOiAjNDQ0O1xuICBwYWRkaW5nOiA1cHggMTJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiVmlzaXQgVVJMOlwiO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwIGlucHV0W3R5cGU9dGV4dF0ge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGhlaWdodDogMjZweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICB3aWR0aDogMTcwcHg7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwIGEucWwtcHJldmlldyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAgYS5xbC1hY3Rpb246OmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgY29udGVudDogXCJFZGl0XCI7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwIGEucWwtcmVtb3ZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlJlbW92ZVwiO1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcCBhIHtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwLnFsLWVkaXRpbmcgYS5xbC1wcmV2aWV3LCAucWwtc25vdyAucWwtdG9vbHRpcC5xbC1lZGl0aW5nIGEucWwtcmVtb3ZlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXAucWwtZWRpdGluZyBpbnB1dFt0eXBlPXRleHRdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcC5xbC1lZGl0aW5nIGEucWwtYWN0aW9uOjphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgY29udGVudDogXCJTYXZlXCI7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5xbC1zbm93IC5xbC10b29sdGlwW2RhdGEtbW9kZT1saW5rXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJFbnRlciBsaW5rOlwiO1xufVxuXG4ucWwtc25vdyAucWwtdG9vbHRpcFtkYXRhLW1vZGU9Zm9ybXVsYV06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiRW50ZXIgZm9ybXVsYTpcIjtcbn1cblxuLnFsLXNub3cgLnFsLXRvb2x0aXBbZGF0YS1tb2RlPXZpZGVvXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJFbnRlciB2aWRlbzpcIjtcbn1cblxuLnFsLXNub3cgYSB7XG4gIGNvbG9yOiAjMDZjO1xufVxuXG4ucWwtY29udGFpbmVyLnFsLXNub3cge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBub3R5Zi1mYWRlaW51cCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBub3R5Zi1mYWRlaW51cCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIG5vdHlmLWZhZGVpbmxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbm90eWYtZmFkZWlubGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNSUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIG5vdHlmLWZhZGVvdXRyaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBub3R5Zi1mYWRlb3V0cmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSk7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBub3R5Zi1mYWRlb3V0ZG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBub3R5Zi1mYWRlb3V0ZG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoLTQ1JSkgdHJhbnNsYXRlWCgxMyUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoLTQ1JSkgdHJhbnNsYXRlWCgxMyUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZVkoLTQ1JSkgdHJhbnNsYXRlWCgxMyUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoLTQ1JSkgdHJhbnNsYXRlWCgxMyUpO1xuICB9XG59XG4ubm90eWYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5ub3R5Zl9faWNvbi0tZXJyb3IsIC5ub3R5Zl9faWNvbi0tc3VjY2VzcyB7XG4gIGhlaWdodDogMjFweDtcbiAgd2lkdGg6IDIxcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ub3R5Zl9faWNvbi0tZXJyb3I6YWZ0ZXIsIC5ub3R5Zl9faWNvbi0tZXJyb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogM3B4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGxlZnQ6IDlweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICB0b3A6IDVweDtcbn1cblxuLm5vdHlmX19pY29uLS1lcnJvcjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5ub3R5Zl9faWNvbi0tZXJyb3I6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4ubm90eWZfX2ljb24tLXN1Y2Nlc3M6YWZ0ZXIsIC5ub3R5Zl9faWNvbi0tc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLm5vdHlmX19pY29uLS1zdWNjZXNzOmFmdGVyIHtcbiAgaGVpZ2h0OiA2cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRvcDogOXB4O1xuICBsZWZ0OiA2cHg7XG59XG5cbi5ub3R5Zl9faWNvbi0tc3VjY2VzczpiZWZvcmUge1xuICBoZWlnaHQ6IDExcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IDEwcHg7XG59XG5cbi5ub3R5Zl9fdG9hc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub3R5Zi1mYWRlaW51cCAwLjNzIGVhc2UtaW4gZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogbm90eWYtZmFkZWludXAgMC4zcyBlYXNlLWluIGZvcndhcmRzO1xuICBib3gtc2hhZG93OiAwIDNweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vdHlmLWZhZGVvdXRkb3duIDAuM3MgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogbm90eWYtZmFkZW91dGRvd24gMC4zcyBmb3J3YXJkcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjVzO1xufVxuXG4ubm90eWZfX3RvYXN0LS1kaXNhcHBlYXIgLm5vdHlmX19pY29uLCAubm90eWZfX3RvYXN0LS1kaXNhcHBlYXIgLm5vdHlmX19tZXNzYWdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vdHlmLWZhZGVvdXRkb3duIDAuM3MgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogbm90eWYtZmFkZW91dGRvd24gMC4zcyBmb3J3YXJkcztcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4ubm90eWZfX3RvYXN0LS1kaXNhcHBlYXIgLm5vdHlmX19kaXNtaXNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vdHlmLWZhZGVvdXRyaWdodCAwLjNzIGZvcndhcmRzO1xuICBhbmltYXRpb246IG5vdHlmLWZhZGVvdXRyaWdodCAwLjNzIGZvcndhcmRzO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciAubm90eWZfX21lc3NhZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4wNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4wNXM7XG59XG5cbi5ub3R5Zl9fdG9hc3QtLXVwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm5vdHlmX190b2FzdC0tbG93ZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ubm90eWZfX3RvYXN0LS1kaXNtaXNzaWJsZSAubm90eWZfX3dyYXBwZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG4ubm90eWZfX3JpcHBsZSB7XG4gIGhlaWdodDogNDAwcHg7XG4gIHdpZHRoOiA0MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGVZKC01MSUpIHRyYW5zbGF0ZVgoMTMlKTtcbiAgei1pbmRleDogNTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHJpcHBsZSAwLjRzIGVhc2Utb3V0IGZvcndhcmRzO1xuICBhbmltYXRpb246IHJpcHBsZSAwLjRzIGVhc2Utb3V0IGZvcndhcmRzO1xufVxuXG4ubm90eWZfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTdweDtcbiAgcGFkZGluZy1ib3R0b206IDE3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLm5vdHlmX19pY29uIHtcbiAgd2lkdGg6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vdHlmLWZhZGVpbnVwIDAuM3MgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogbm90eWYtZmFkZWludXAgMC4zcyBmb3J3YXJkcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuM3M7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xufVxuXG4ubm90eWZfX2Rpc21pc3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDI2cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub3R5Zi1mYWRlaW5sZWZ0IDAuM3MgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogbm90eWYtZmFkZWlubGVmdCAwLjNzIGZvcndhcmRzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4zNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4zNXM7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5ub3R5Zl9fZGlzbWlzcy1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICBvdXRsaW5lOiBub25lO1xuICBvcGFjaXR5OiAwLjM1O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubm90eWZfX2Rpc21pc3MtYnRuOmFmdGVyLCAubm90eWZfX2Rpc21pc3MtYnRuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMXB4KTtcbiAgdG9wOiBjYWxjKDUwJSAtIDVweCk7XG59XG5cbi5ub3R5Zl9fZGlzbWlzcy1idG46YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4ubm90eWZfX2Rpc21pc3MtYnRuOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLm5vdHlmX19kaXNtaXNzLWJ0bjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLm5vdHlmX19kaXNtaXNzLWJ0bjphY3RpdmUge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5ub3R5Zl9fbWVzc2FnZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vdHlmLWZhZGVpbnVwIDAuM3MgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogbm90eWYtZmFkZWludXAgMC4zcyBmb3J3YXJkcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm5vdHlmIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5ub3R5Zl9fcmlwcGxlIHtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIH1cbiAgLm5vdHlmX190b2FzdCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAtMnB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm5vdHlmX19kaXNtaXNzIHtcbiAgICB3aWR0aDogNTZweDtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbi5zcGluIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgY29sb3I6ICMyOTg4NGE7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlF1aWNrc2FuZFwiLCBcInNhbnMtc2VyaWZcIjtcbn1cblxuYm9keS5sb2dpbiB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4vLi4vaW1hZ2VzL2NlcmNsZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgcmdiKDMwLCA0MSwgNTkpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5idXR0b24uc3dhbDItY29uZmlybSB7XG4gIGJhY2tncm91bmQ6ICMwZjY2NzQ7XG59XG5idXR0b24uc3dhbDItY29uZmlybS5iZy1jeWFuLTYwMCB7XG4gIGJhY2tncm91bmQ6ICMwODkxYjI7XG59XG5cbi5zd2FsMi1odG1sLWNvbnRhaW5lciBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzI0MjQyNDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2FsMi1odG1sLWNvbnRhaW5lciBpbnB1dCwgLnN3YWwyLWh0bWwtY29udGFpbmVyIHNlbGVjdCB7XG4gIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTUwcHg7XG59XG4uc3dhbDItaHRtbC1jb250YWluZXIgaW5wdXQ6Zm9jdXMsIC5zd2FsMi1odG1sLWNvbnRhaW5lciBpbnB1dDphY3RpdmUsIC5zd2FsMi1odG1sLWNvbnRhaW5lciBzZWxlY3Q6Zm9jdXMsIC5zd2FsMi1odG1sLWNvbnRhaW5lciBzZWxlY3Q6YWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmZvcm0gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbmZvcm0gZGl2Om5vdCgubm8tbSkge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5mb3JtIGRpdjpub3QoLnJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuZm9ybSBkaXYuYWRqdXN0IGRpdiB7XG4gIHdpZHRoOiA1MCU7XG59XG5mb3JtIGRpdiBsYWJlbCB7XG4gIGNvbG9yOiAjY2NjO1xufVxuZm9ybSBkaXYgLmhlbHAtdGV4dCB7XG4gIGNvbG9yOiAjY2NjO1xufVxuZm9ybSBkaXYgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGNvbG9yOiAjMjQyNDI0O1xufVxuXG4uZG9jdW1lbnQgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICMyNDI0MjQ7XG59XG4uZG9jdW1lbnQgdGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG59XG5cbi5kb2N1bWVudC10YWJsZS5pbnZvaWNlIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgQGFwcGx5IGJnLWdyZWVuLTUwMDtcbn1cbi5kb2N1bWVudC10YWJsZS5pbnZvaWNlIG5hdiBidXR0b25bZGF0YS1wLWFjdGl2ZT10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNCQkY3RDAgIWltcG9ydGFudDtcbn1cbi5kb2N1bWVudC10YWJsZS5xdW90YXRpb24gdGFibGUgdGhlYWQgdHIgdGgge1xuICBiYWNrZ3JvdW5kOiAjRUE1ODBDO1xufVxuLmRvY3VtZW50LXRhYmxlLnF1b3RhdGlvbiBuYXYgYnV0dG9uW2RhdGEtcC1hY3RpdmU9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjZWZiNTk3ICFpbXBvcnRhbnQ7XG59XG4uZG9jdW1lbnQtdGFibGUucHJvZHVjdHMgdGFibGUgdGhlYWQgdHIgdGgge1xuICBAYXBwbHkgYmctY3lhbi01MDA7XG59XG4uZG9jdW1lbnQtdGFibGUucHJvZHVjdHMgbmF2IGJ1dHRvbltkYXRhLXAtYWN0aXZlPXRydWVdIHtcbiAgYmFja2dyb3VuZDogI2FkZWFlYyAhaW1wb3J0YW50O1xufVxuLmRvY3VtZW50LXRhYmxlLmN1c3RvbWVycyB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gIEBhcHBseSBiZy1hbWJlci00MDA7XG59XG4uZG9jdW1lbnQtdGFibGUuY3VzdG9tZXJzIG5hdiBidXR0b25bZGF0YS1wLWFjdGl2ZT10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNmZmVmYTYgIWltcG9ydGFudDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0ciB7XG4gIGhlaWdodDogNDVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdHIgdGgge1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0ciB0ZCB7XG4gIHBhZGRpbmc6IDhweCA1cHg7XG4gIGhlaWdodDogNDVweDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0aGVhZCB7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xufVxuLmRvY3VtZW50LXRhYmxlIHRhYmxlIHRoZWFkIHRyIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGhlYWQgdHIgdGgge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6ICMyNDI0MjQ7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGhlYWQgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA4cHggMCAwIDA7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGhlYWQgdHIgdGg6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgOHB4IDAgMDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0aGVhZCB0ciB0aCBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cbi5kb2N1bWVudC10YWJsZSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjQxLCAyNDUsIDI0OSk7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDQ0M7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNDQ0M7XG59XG4uZG9jdW1lbnQtdGFibGUgdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICBAYXBwbHkgYmctc2xhdGUtMjAwO1xufVxuLmRvY3VtZW50LXRhYmxlIG5hdiBbZGF0YS1wYy1uYW1lPXBjcGFnaW5hdG9yXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA1cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0gYnV0dG9uW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbi5kb2N1bWVudC10YWJsZSBuYXYgW2RhdGEtcGMtbmFtZT1wY3BhZ2luYXRvcl0gW2RhdGEtcGMtc2VjdGlvbj1jb250ZW50XSBbZGF0YS1wYy1ncm91cC1zZWN0aW9uPXBhZ2Vkcm9wZG93bl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGdhcDogOHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0gW2RhdGEtcGMtc2VjdGlvbj1wYWdlc10ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDNweDtcbn1cbi5kb2N1bWVudC10YWJsZSBuYXYgW2RhdGEtcGMtbmFtZT1wY3BhZ2luYXRvcl0gW2RhdGEtcGMtc2VjdGlvbj1jb250ZW50XSBbZGF0YS1wYy1zZWN0aW9uPXBhZ2VzXSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG59XG4uZG9jdW1lbnQtdGFibGUgbmF2IFtkYXRhLXBjLW5hbWU9cGNwYWdpbmF0b3JdIFtkYXRhLXBjLXNlY3Rpb249Y29udGVudF0gW2RhdGEtcGMtc2VjdGlvbj1wYWdlc10gYnV0dG9uW2RhdGEtcC1hY3RpdmU9dHJ1ZV0ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICM2QkJCQjI7XG59XG5cbnVsW2RhdGEtcGMtc2VjdGlvbj1saXN0XSB7XG4gIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogM3B4O1xufVxudWxbZGF0YS1wYy1zZWN0aW9uPWxpc3RdIGxpIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGZhLWJ1dHRvbiB7XG4gIEBhcHBseSBweC0zIHB5LTIgcm91bmRlZC1tZCBmbGV4IHctbWF4IHNoYWRvdy1tZCBpdGVtcy1jZW50ZXI7XG59XG4uZGZhLWJ1dHRvbi5sYXJnZSB7XG4gIEBhcHBseSBweC03IHB5LTQgcm91bmRlZC1tZCBmbGV4IHctbWF4IHNoYWRvdy1tZCBpdGVtcy1jZW50ZXI7XG59XG4uZGZhLWJ1dHRvbi5jaXJjbGUge1xuICBwYWRkaW5nOiAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5kZmEtYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50YWJsZS5kZmEtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlLmRmYS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gIEBhcHBseSB0ZXh0LWxlZnQgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTggdGV4dC1zbGF0ZS01MDA7XG59XG50YWJsZS5kZmEtdGFibGUgdGJvZHkgdHI6bGFzdC1vZi10eXBlIHRkIHtcbiAgQGFwcGx5IHAtNCBwbC04IHRleHQtZ3JheS01MDAgYm9yZGVyLTA7XG59XG50YWJsZS5kZmEtdGFibGUgdGJvZHkgdHIgdGQge1xuICBAYXBwbHkgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgcC00IHBsLTg7XG59XG50YWJsZS5kZmEtdGFibGUgdGJvZHkgdHIgdGQ6bm90KC50ZXh0LXdoaXRlKSB7XG4gIEBhcHBseSB0ZXh0LWdyYXktNTAwO1xufVxuXG4uY2hpcCB7XG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBweC0zIHB5LTIgYmctZ3JlZW4tMjAwIHRleHQtc20gcm91bmRlZC1tZDtcbn1cbi5jaGlwLmRyYWZ0IHtcbiAgQGFwcGx5IGJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTcwMDtcbn1cbi5jaGlwLmlzc3VlZCB7XG4gIEBhcHBseSBiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi03MDA7XG59XG4uY2hpcC5zZW50IHtcbiAgQGFwcGx5IGJnLWN5YW4tMTAwIHRleHQtY3lhbi03MDA7XG59XG4uY2hpcC5jbGlja2VkIHtcbiAgQGFwcGx5IGJnLWFtYmVyLTEwMCB0ZXh0LWFtYmVyLTcwMDtcbn1cbi5jaGlwLnJlYWQge1xuICBAYXBwbHkgYmctb3JhbmdlLTEwMCB0ZXh0LW9yYW5nZS03MDA7XG59XG4uY2hpcC5jYW5jZWxlZCB7XG4gIEBhcHBseSBiZy1ncmF5LTgwMCB0ZXh0LXdoaXRlO1xufVxuLmNoaXAubG9ja2VkIHtcbiAgQGFwcGx5IGJnLXJlZC05MDAgdGV4dC13aGl0ZTtcbn1cbi5jaGlwLnBhaWQge1xuICBAYXBwbHkgYmctcmVkLTUwMCB0ZXh0LXdoaXRlO1xufVxuLmNoaXAuaW52b2ljZWQge1xuICBAYXBwbHkgYmctcmVkLTEwMCB0ZXh0LXJlZC03MDA7XG59XG4uY2hpcC5xdW90YXRpb24tcmVmIHtcbiAgQGFwcGx5IGJnLWN5YW4tODAwO1xuICBjb2xvcjogd2hpdGU7XG59XG4uY2hpcC5pbnZvaWNlLXJlZiB7XG4gIEBhcHBseSBiZy1jeWFuLTgwMDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uc3dhbDItY29uZmlybS53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZmODgwMDtcbn1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGFuaW1hdGlvbjogZmFkZS1pbiAwLjNzIGxpbmVhcjtcbiAgei1pbmRleDogOTk1O1xufVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogNDB2dztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMSUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6IDUwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB6LWluZGV4OiA5OTk7XG59XG4uc2xpZGVyLnZpc2libGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIGJveC1zaGFkb3c6IDAgLTMwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNSksIDAgLTYwcHggNTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4uc2xpZGVyIGVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5xbC10b29sYmFyLnFsLXNub3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXJnaW46IDA7XG59XG5cbi5xbC1jb250YWluZXIucWwtc25vdyB7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZXh0LW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBib3gtc2hhZG93OiA0cHggNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNiksIDhweCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMTVweDtcbiAgei1pbmRleDogOTk5OTtcbiAgYW5pbWF0aW9uOiBmYWRlLWluIDAuMnMgbGluZWFyO1xufVxuLmNvbnRleHQtbWVudSBociB7XG4gIG1hcmdpbjogN3B4IDA7XG59XG4uY29udGV4dC1tZW51IGxpIHtcbiAgdHJhbnNpdGlvbjogMC4yNXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xufVxuLmNvbnRleHQtbWVudSBsaS50aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuLmNvbnRleHQtbWVudSBsaS5uby1wIHtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG4uY29udGV4dC1tZW51IGxpIGEge1xuICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgY29sb3I6ICNkMGQwZDA7XG4gIHRleHQtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5jb250ZXh0LW1lbnUgbGkgYTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBheW1lbnQtbm90aWYtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIEBhcHBseSBiZy1ncmF5LTgwMDtcbn1cbi5wYXltZW50LW5vdGlmLWNvbnRhaW5lciAubG9nbyB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ucGF5bWVudC1ub3RpZi1jb250YWluZXIgLnBheW1lbnQtaW5mbyB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3JkZXI6IDFweDtcbiAgYm94LXNoYWRvdzogMTBweCAxMHB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICB3aWR0aDogNTUwcHg7XG4gIG1heC13aWR0aDogOTB2dztcbn1cbi5wYXltZW50LW5vdGlmLWNvbnRhaW5lciAucGF5bWVudC1pbmZvIC5oZWFkIHtcbiAgYm9yZGVyLXJhZGl1czogMTJweCAxMnB4IDAgMDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBwYWRkaW5nOiAyNXB4IDA7XG59XG4ucGF5bWVudC1ub3RpZi1jb250YWluZXIgLnBheW1lbnQtaW5mbyAuY29udGVudCB7XG4gIHBhZGRpbmc6IDI1cHg7XG59XG4ucGF5bWVudC1ub3RpZi1jb250YWluZXIgLnBheW1lbnQtaW5mbyAuY29udGVudCBwIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4ucGF5bWVudC1ub3RpZi1jb250YWluZXIgLnBheW1lbnQtaW5mbyAuY29udGVudCBwLnJlY2VpcHQge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4ucGF5bWVudC1ub3RpZi1jb250YWluZXIgLnBheW1lbnQtaW5mbyAuY29udGVudCBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn0iLCIvKiFcbiAqIFF1aWxsIEVkaXRvciB2Mi4wLjNcbiAqIGh0dHBzOi8vcXVpbGxqcy5jb21cbiAqIENvcHlyaWdodCAoYykgMjAxNy0yMDI0LCBTbGFiXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQsIEphc29uIENoZW5cbiAqIENvcHlyaWdodCAoYykgMjAxMywgc2FsZXNmb3JjZS5jb21cbiAqL1xuLnFsLWNvbnRhaW5lcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmV9LnFsLWNvbnRhaW5lci5xbC1kaXNhYmxlZCAucWwtdG9vbHRpcHt2aXNpYmlsaXR5OmhpZGRlbn0ucWwtY29udGFpbmVyOm5vdCgucWwtZGlzYWJsZWQpIGxpW2RhdGEtbGlzdD1jaGVja2VkXSA+IC5xbC11aSwucWwtY29udGFpbmVyOm5vdCgucWwtZGlzYWJsZWQpIGxpW2RhdGEtbGlzdD11bmNoZWNrZWRdID4gLnFsLXVpe2N1cnNvcjpwb2ludGVyfS5xbC1jbGlwYm9hcmR7bGVmdDotMTAwMDAwcHg7aGVpZ2h0OjFweDtvdmVyZmxvdy15OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS5xbC1jbGlwYm9hcmQgcHttYXJnaW46MDtwYWRkaW5nOjB9LnFsLWVkaXRvcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Y291bnRlci1yZXNldDpsaXN0LTAgbGlzdC0xIGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTk7bGluZS1oZWlnaHQ6MS40MjtoZWlnaHQ6MTAwJTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3cteTphdXRvO3BhZGRpbmc6MTJweCAxNXB4O3RhYi1zaXplOjQ7LW1vei10YWItc2l6ZTo0O3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZH0ucWwtZWRpdG9yID4gKntjdXJzb3I6dGV4dH0ucWwtZWRpdG9yIHAsLnFsLWVkaXRvciBvbCwucWwtZWRpdG9yIHByZSwucWwtZWRpdG9yIGJsb2NrcXVvdGUsLnFsLWVkaXRvciBoMSwucWwtZWRpdG9yIGgyLC5xbC1lZGl0b3IgaDMsLnFsLWVkaXRvciBoNCwucWwtZWRpdG9yIGg1LC5xbC1lZGl0b3IgaDZ7bWFyZ2luOjA7cGFkZGluZzowfUBzdXBwb3J0cyAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBwLC5xbC1lZGl0b3IgaDEsLnFsLWVkaXRvciBoMiwucWwtZWRpdG9yIGgzLC5xbC1lZGl0b3IgaDQsLnFsLWVkaXRvciBoNSwucWwtZWRpdG9yIGg2e2NvdW50ZXItc2V0Omxpc3QtMCBsaXN0LTEgbGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19QHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBwLC5xbC1lZGl0b3IgaDEsLnFsLWVkaXRvciBoMiwucWwtZWRpdG9yIGgzLC5xbC1lZGl0b3IgaDQsLnFsLWVkaXRvciBoNSwucWwtZWRpdG9yIGg2e2NvdW50ZXItcmVzZXQ6bGlzdC0wIGxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIHRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0ucWwtZWRpdG9yIHRke2JvcmRlcjoxcHggc29saWQgIzAwMDtwYWRkaW5nOjJweCA1cHh9LnFsLWVkaXRvciBvbHtwYWRkaW5nLWxlZnQ6MS41ZW19LnFsLWVkaXRvciBsaXtsaXN0LXN0eWxlLXR5cGU6bm9uZTtwYWRkaW5nLWxlZnQ6MS41ZW07cG9zaXRpb246cmVsYXRpdmV9LnFsLWVkaXRvciBsaSA+IC5xbC11aTpiZWZvcmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6LTEuNWVtO21hcmdpbi1yaWdodDouM2VtO3RleHQtYWxpZ246cmlnaHQ7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEuMmVtfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PWNoZWNrZWRdID4gLnFsLXVpLC5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PXVuY2hlY2tlZF0gPiAucWwtdWl7Y29sb3I6Izc3N30ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1idWxsZXRdID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OidcXDIwMjInfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PWNoZWNrZWRdID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OidcXDI2MTEnfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PXVuY2hlY2tlZF0gPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6J1xcMjYxMCd9QHN1cHBvcnRzIChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF17Y291bnRlci1zZXQ6bGlzdC0xIGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XXtjb3VudGVyLXJlc2V0Omxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXXtjb3VudGVyLWluY3JlbWVudDpsaXN0LTB9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0gPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTAsIGRlY2ltYWwpICcuICd9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTF7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC0xfS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC0xID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC0xLCBsb3dlci1hbHBoYSkgJy4gJ31Ac3VwcG9ydHMgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtMXtjb3VudGVyLXNldDpsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX1Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTF7Y291bnRlci1yZXNldDpsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtMntjb3VudGVyLWluY3JlbWVudDpsaXN0LTJ9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTIgPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTIsIGxvd2VyLXJvbWFuKSAnLiAnfUBzdXBwb3J0cyAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0ye2NvdW50ZXItc2V0Omxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX19QHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC0ye2NvdW50ZXItcmVzZXQ6bGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtM3tjb3VudGVyLWluY3JlbWVudDpsaXN0LTN9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTMgPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTMsIGRlY2ltYWwpICcuICd9QHN1cHBvcnRzIChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTN7Y291bnRlci1zZXQ6bGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtM3tjb3VudGVyLXJlc2V0Omxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNHtjb3VudGVyLWluY3JlbWVudDpsaXN0LTR9LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTQgPiAucWwtdWk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTQsIGxvd2VyLWFscGhhKSAnLiAnfUBzdXBwb3J0cyAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC00e2NvdW50ZXItc2V0Omxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNHtjb3VudGVyLXJlc2V0Omxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC01e2NvdW50ZXItaW5jcmVtZW50Omxpc3QtNX0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNSA+IC5xbC11aTpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtNSwgbG93ZXItcm9tYW4pICcuICd9QHN1cHBvcnRzIChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTV7Y291bnRlci1zZXQ6bGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fX1Ac3VwcG9ydHMgbm90IChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTV7Y291bnRlci1yZXNldDpsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC02e2NvdW50ZXItaW5jcmVtZW50Omxpc3QtNn0ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNiA+IC5xbC11aTpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtNiwgZGVjaW1hbCkgJy4gJ31Ac3VwcG9ydHMgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtNntjb3VudGVyLXNldDpsaXN0LTcgbGlzdC04IGxpc3QtOX19QHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC02e2NvdW50ZXItcmVzZXQ6bGlzdC03IGxpc3QtOCBsaXN0LTl9fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC03e2NvdW50ZXItaW5jcmVtZW50Omxpc3QtN30ucWwtZWRpdG9yIGxpW2RhdGEtbGlzdD1vcmRlcmVkXS5xbC1pbmRlbnQtNyA+IC5xbC11aTpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtNywgbG93ZXItYWxwaGEpICcuICd9QHN1cHBvcnRzIChjb3VudGVyLXNldDpub25lKXsucWwtZWRpdG9yIGxpW2RhdGEtbGlzdF0ucWwtaW5kZW50LTd7Y291bnRlci1zZXQ6bGlzdC04IGxpc3QtOX19QHN1cHBvcnRzIG5vdCAoY291bnRlci1zZXQ6bm9uZSl7LnFsLWVkaXRvciBsaVtkYXRhLWxpc3RdLnFsLWluZGVudC03e2NvdW50ZXItcmVzZXQ6bGlzdC04IGxpc3QtOX19LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTh7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC04fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC04ID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC04LCBsb3dlci1yb21hbikgJy4gJ31Ac3VwcG9ydHMgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtOHtjb3VudGVyLXNldDpsaXN0LTl9fUBzdXBwb3J0cyBub3QgKGNvdW50ZXItc2V0Om5vbmUpey5xbC1lZGl0b3IgbGlbZGF0YS1saXN0XS5xbC1pbmRlbnQtOHtjb3VudGVyLXJlc2V0Omxpc3QtOX19LnFsLWVkaXRvciBsaVtkYXRhLWxpc3Q9b3JkZXJlZF0ucWwtaW5kZW50LTl7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC05fS5xbC1lZGl0b3IgbGlbZGF0YS1saXN0PW9yZGVyZWRdLnFsLWluZGVudC05ID4gLnFsLXVpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC05LCBkZWNpbWFsKSAnLiAnfS5xbC1lZGl0b3IgLnFsLWluZGVudC0xOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjNlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC0xOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjQuNWVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC0xLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDozZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NC41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTI6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6NmVtfS5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTI6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6Ny41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTIucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjZlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC0yLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDo3LjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMzpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDo5ZW19LnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMzpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoxMC41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTMucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjllbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC0zLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoxMC41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTQ6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MTJlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC00Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjEzLjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTJlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC00LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoxMy41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTU6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MTVlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC01Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjE2LjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTVlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC01LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoxNi41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTY6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MThlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC02Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjE5LjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNi5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MThlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC02LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoxOS41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTc6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MjFlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC03Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjIyLjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNy5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjFlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC03LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoyMi41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTg6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MjRlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC04Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjI1LjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtOC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjRlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC04LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoyNS41ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTk6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MjdlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC05Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjI4LjVlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtOS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjdlbX0ucWwtZWRpdG9yIGxpLnFsLWluZGVudC05LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoyOC41ZW19LnFsLWVkaXRvciBsaS5xbC1kaXJlY3Rpb24tcnRse3BhZGRpbmctcmlnaHQ6MS41ZW19LnFsLWVkaXRvciBsaS5xbC1kaXJlY3Rpb24tcnRsID4gLnFsLXVpOmJlZm9yZXttYXJnaW4tbGVmdDouM2VtO21hcmdpbi1yaWdodDotMS41ZW07dGV4dC1hbGlnbjpsZWZ0fS5xbC1lZGl0b3IgdGFibGV7dGFibGUtbGF5b3V0OmZpeGVkO3dpZHRoOjEwMCV9LnFsLWVkaXRvciB0YWJsZSB0ZHtvdXRsaW5lOm5vbmV9LnFsLWVkaXRvciAucWwtY29kZS1ibG9jay1jb250YWluZXJ7Zm9udC1mYW1pbHk6bW9ub3NwYWNlfS5xbC1lZGl0b3IgLnFsLXZpZGVve2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCV9LnFsLWVkaXRvciAucWwtdmlkZW8ucWwtYWxpZ24tY2VudGVye21hcmdpbjowIGF1dG99LnFsLWVkaXRvciAucWwtdmlkZW8ucWwtYWxpZ24tcmlnaHR7bWFyZ2luOjAgMCAwIGF1dG99LnFsLWVkaXRvciAucWwtYmctYmxhY2t7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5xbC1lZGl0b3IgLnFsLWJnLXJlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlNjAwMDB9LnFsLWVkaXRvciAucWwtYmctb3Jhbmdle2JhY2tncm91bmQtY29sb3I6I2Y5MH0ucWwtZWRpdG9yIC5xbC1iZy15ZWxsb3d7YmFja2dyb3VuZC1jb2xvcjojZmYwfS5xbC1lZGl0b3IgLnFsLWJnLWdyZWVue2JhY2tncm91bmQtY29sb3I6IzAwOGEwMH0ucWwtZWRpdG9yIC5xbC1iZy1ibHVle2JhY2tncm91bmQtY29sb3I6IzA2Y30ucWwtZWRpdG9yIC5xbC1iZy1wdXJwbGV7YmFja2dyb3VuZC1jb2xvcjojOTNmfS5xbC1lZGl0b3IgLnFsLWNvbG9yLXdoaXRle2NvbG9yOiNmZmZ9LnFsLWVkaXRvciAucWwtY29sb3ItcmVke2NvbG9yOiNlNjAwMDB9LnFsLWVkaXRvciAucWwtY29sb3Itb3Jhbmdle2NvbG9yOiNmOTB9LnFsLWVkaXRvciAucWwtY29sb3IteWVsbG93e2NvbG9yOiNmZjB9LnFsLWVkaXRvciAucWwtY29sb3ItZ3JlZW57Y29sb3I6IzAwOGEwMH0ucWwtZWRpdG9yIC5xbC1jb2xvci1ibHVle2NvbG9yOiMwNmN9LnFsLWVkaXRvciAucWwtY29sb3ItcHVycGxle2NvbG9yOiM5M2Z9LnFsLWVkaXRvciAucWwtZm9udC1zZXJpZntmb250LWZhbWlseTpHZW9yZ2lhLFRpbWVzIE5ldyBSb21hbixzZXJpZn0ucWwtZWRpdG9yIC5xbC1mb250LW1vbm9zcGFjZXtmb250LWZhbWlseTpNb25hY28sQ291cmllciBOZXcsbW9ub3NwYWNlfS5xbC1lZGl0b3IgLnFsLXNpemUtc21hbGx7Zm9udC1zaXplOi43NWVtfS5xbC1lZGl0b3IgLnFsLXNpemUtbGFyZ2V7Zm9udC1zaXplOjEuNWVtfS5xbC1lZGl0b3IgLnFsLXNpemUtaHVnZXtmb250LXNpemU6Mi41ZW19LnFsLWVkaXRvciAucWwtZGlyZWN0aW9uLXJ0bHtkaXJlY3Rpb246cnRsO3RleHQtYWxpZ246aW5oZXJpdH0ucWwtZWRpdG9yIC5xbC1hbGlnbi1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnFsLWVkaXRvciAucWwtYWxpZ24tanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9LnFsLWVkaXRvciAucWwtYWxpZ24tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0ucWwtZWRpdG9yIC5xbC11aXtwb3NpdGlvbjphYnNvbHV0ZX0ucWwtZWRpdG9yLnFsLWJsYW5rOjpiZWZvcmV7Y29sb3I6cmdiYSgwLDAsMCwwLjYpO2NvbnRlbnQ6YXR0cihkYXRhLXBsYWNlaG9sZGVyKTtmb250LXN0eWxlOml0YWxpYztsZWZ0OjE1cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNXB4fS5xbC1zbm93LnFsLXRvb2xiYXI6YWZ0ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXI6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OicnO2Rpc3BsYXk6dGFibGV9LnFsLXNub3cucWwtdG9vbGJhciBidXR0b24sLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpsZWZ0O2hlaWdodDoyNHB4O3BhZGRpbmc6M3B4IDVweDt3aWR0aDoyOHB4fS5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uIHN2ZywucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24gc3Zne2Zsb2F0OmxlZnQ7aGVpZ2h0OjEwMCV9LnFsLXNub3cucWwtdG9vbGJhciBidXR0b246YWN0aXZlOmhvdmVyLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjphY3RpdmU6aG92ZXJ7b3V0bGluZTpub25lfS5xbC1zbm93LnFsLXRvb2xiYXIgaW5wdXQucWwtaW1hZ2VbdHlwZT1maWxlXSwucWwtc25vdyAucWwtdG9vbGJhciBpbnB1dC5xbC1pbWFnZVt0eXBlPWZpbGVde2Rpc3BsYXk6bm9uZX0ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246Zm9jdXMsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZHtjb2xvcjojMDZjfS5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtZmlsbCwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpmb2N1cyAucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtZmlsbCwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW06aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLnFsLWZpbGx7ZmlsbDojMDZjfS5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLXN0cm9rZSwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246Zm9jdXMgLnFsLXN0cm9rZSwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUgLnFsLXN0cm9rZSwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsOmhvdmVyIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZSwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UsLnFsLXNub3cucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLXN0cm9rZSwucWwtc25vdyAucWwtdG9vbGJhciAucWwtcGlja2VyLWl0ZW0ucWwtc2VsZWN0ZWQgLnFsLXN0cm9rZSwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93LnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlciwucWwtc25vdy5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93IC5xbC10b29sYmFyIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLC5xbC1zbm93LnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UtbWl0ZXJ7c3Ryb2tlOiMwNmN9QG1lZGlhIChwb2ludGVyOmNvYXJzZSl7LnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSl7Y29sb3I6IzQ0NH0ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLWZpbGwsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtZmlsbCwucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZS5xbC1maWxsLC5xbC1zbm93IC5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZS5xbC1maWxse2ZpbGw6IzQ0NH0ucWwtc25vdy5xbC10b29sYmFyIGJ1dHRvbjpob3Zlcjpub3QoLnFsLWFjdGl2ZSkgLnFsLXN0cm9rZSwucWwtc25vdyAucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UsLnFsLXNub3cucWwtdG9vbGJhciBidXR0b246aG92ZXI6bm90KC5xbC1hY3RpdmUpIC5xbC1zdHJva2UtbWl0ZXIsLnFsLXNub3cgLnFsLXRvb2xiYXIgYnV0dG9uOmhvdmVyOm5vdCgucWwtYWN0aXZlKSAucWwtc3Ryb2tlLW1pdGVye3N0cm9rZTojNDQ0fX0ucWwtc25vd3tib3gtc2l6aW5nOmJvcmRlci1ib3h9LnFsLXNub3cgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9LnFsLXNub3cgLnFsLWhpZGRlbntkaXNwbGF5Om5vbmV9LnFsLXNub3cgLnFsLW91dC1ib3R0b20sLnFsLXNub3cgLnFsLW91dC10b3B7dmlzaWJpbGl0eTpoaWRkZW59LnFsLXNub3cgLnFsLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCl9LnFsLXNub3cgLnFsLXRvb2x0aXAgYXtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZX0ucWwtc25vdyAucWwtdG9vbHRpcC5xbC1mbGlwe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMHB4KX0ucWwtc25vdyAucWwtZm9ybWF0c3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnFsLXNub3cgLnFsLWZvcm1hdHM6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OicnO2Rpc3BsYXk6dGFibGV9LnFsLXNub3cgLnFsLXN0cm9rZXtmaWxsOm5vbmU7c3Ryb2tlOiM0NDQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoyfS5xbC1zbm93IC5xbC1zdHJva2UtbWl0ZXJ7ZmlsbDpub25lO3N0cm9rZTojNDQ0O3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDoyfS5xbC1zbm93IC5xbC1maWxsLC5xbC1zbm93IC5xbC1zdHJva2UucWwtZmlsbHtmaWxsOiM0NDR9LnFsLXNub3cgLnFsLWVtcHR5e2ZpbGw6bm9uZX0ucWwtc25vdyAucWwtZXZlbntmaWxsLXJ1bGU6ZXZlbm9kZH0ucWwtc25vdyAucWwtdGhpbiwucWwtc25vdyAucWwtc3Ryb2tlLnFsLXRoaW57c3Ryb2tlLXdpZHRoOjF9LnFsLXNub3cgLnFsLXRyYW5zcGFyZW50e29wYWNpdHk6LjR9LnFsLXNub3cgLnFsLWRpcmVjdGlvbiBzdmc6bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9LnFsLXNub3cgLnFsLWRpcmVjdGlvbi5xbC1hY3RpdmUgc3ZnOmxhc3QtY2hpbGR7ZGlzcGxheTppbmxpbmV9LnFsLXNub3cgLnFsLWRpcmVjdGlvbi5xbC1hY3RpdmUgc3ZnOmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX0ucWwtc25vdyAucWwtZWRpdG9yIGgxe2ZvbnQtc2l6ZToyZW19LnFsLXNub3cgLnFsLWVkaXRvciBoMntmb250LXNpemU6MS41ZW19LnFsLXNub3cgLnFsLWVkaXRvciBoM3tmb250LXNpemU6MS4xN2VtfS5xbC1zbm93IC5xbC1lZGl0b3IgaDR7Zm9udC1zaXplOjFlbX0ucWwtc25vdyAucWwtZWRpdG9yIGg1e2ZvbnQtc2l6ZTouODNlbX0ucWwtc25vdyAucWwtZWRpdG9yIGg2e2ZvbnQtc2l6ZTouNjdlbX0ucWwtc25vdyAucWwtZWRpdG9yIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucWwtc25vdyAucWwtZWRpdG9yIGJsb2NrcXVvdGV7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICNjY2M7bWFyZ2luLWJvdHRvbTo1cHg7bWFyZ2luLXRvcDo1cHg7cGFkZGluZy1sZWZ0OjE2cHh9LnFsLXNub3cgLnFsLWVkaXRvciBjb2RlLC5xbC1zbm93IC5xbC1lZGl0b3IgLnFsLWNvZGUtYmxvY2stY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDtib3JkZXItcmFkaXVzOjNweH0ucWwtc25vdyAucWwtZWRpdG9yIC5xbC1jb2RlLWJsb2NrLWNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjVweDttYXJnaW4tdG9wOjVweDtwYWRkaW5nOjVweCAxMHB4fS5xbC1zbm93IC5xbC1lZGl0b3IgY29kZXtmb250LXNpemU6ODUlO3BhZGRpbmc6MnB4IDRweH0ucWwtc25vdyAucWwtZWRpdG9yIC5xbC1jb2RlLWJsb2NrLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiMyMzI0MWY7Y29sb3I6I2Y4ZjhmMjtvdmVyZmxvdzp2aXNpYmxlfS5xbC1zbm93IC5xbC1lZGl0b3IgaW1ne21heC13aWR0aDoxMDAlfS5xbC1zbm93IC5xbC1waWNrZXJ7Y29sb3I6IzQ0NDtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpsZWZ0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnFsLXNub3cgLnFsLXBpY2tlci1sYWJlbHtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnFsLXNub3cgLnFsLXBpY2tlci1sYWJlbDo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjIycHh9LnFsLXNub3cgLnFsLXBpY2tlci1vcHRpb25ze2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5Om5vbmU7bWluLXdpZHRoOjEwMCU7cGFkZGluZzo0cHggOHB4O3Bvc2l0aW9uOmFic29sdXRlO3doaXRlLXNwYWNlOm5vd3JhcH0ucWwtc25vdyAucWwtcGlja2VyLW9wdGlvbnMgLnFsLXBpY2tlci1pdGVte2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206NXB4O3BhZGRpbmctdG9wOjVweH0ucWwtc25vdyAucWwtcGlja2VyLnFsLWV4cGFuZGVkIC5xbC1waWNrZXItbGFiZWx7Y29sb3I6I2NjYzt6LWluZGV4OjJ9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLWxhYmVsIC5xbC1maWxse2ZpbGw6I2NjY30ucWwtc25vdyAucWwtcGlja2VyLnFsLWV4cGFuZGVkIC5xbC1waWNrZXItbGFiZWwgLnFsLXN0cm9rZXtzdHJva2U6I2NjY30ucWwtc25vdyAucWwtcGlja2VyLnFsLWV4cGFuZGVkIC5xbC1waWNrZXItb3B0aW9uc3tkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LTFweDt0b3A6MTAwJTt6LWluZGV4OjF9LnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciwucWwtc25vdyAucWwtaWNvbi1waWNrZXJ7d2lkdGg6MjhweH0ucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItbGFiZWwsLnFsLXNub3cgLnFsLWljb24tcGlja2VyIC5xbC1waWNrZXItbGFiZWx7cGFkZGluZzoycHggNHB4fS5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1sYWJlbCBzdmcsLnFsLXNub3cgLnFsLWljb24tcGlja2VyIC5xbC1waWNrZXItbGFiZWwgc3Zne3JpZ2h0OjRweH0ucWwtc25vdyAucWwtaWNvbi1waWNrZXIgLnFsLXBpY2tlci1vcHRpb25ze3BhZGRpbmc6NHB4IDB9LnFsLXNub3cgLnFsLWljb24tcGlja2VyIC5xbC1waWNrZXItaXRlbXtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4O3BhZGRpbmc6MnB4IDRweH0ucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItb3B0aW9uc3twYWRkaW5nOjNweCA1cHg7d2lkdGg6MTUycHh9LnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlciAucWwtcGlja2VyLWl0ZW17Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtmbG9hdDpsZWZ0O2hlaWdodDoxNnB4O21hcmdpbjoycHg7cGFkZGluZzowO3dpZHRoOjE2cHh9LnFsLXNub3cgLnFsLXBpY2tlcjpub3QoLnFsLWNvbG9yLXBpY2tlcik6bm90KC5xbC1pY29uLXBpY2tlcikgc3Zne3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6LTlweDtyaWdodDowO3RvcDo1MCU7d2lkdGg6MThweH0ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWxhYmVsW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD0nJ10pOjpiZWZvcmUsLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItbGFiZWxbZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPScnXSk6OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1sYWJlbFtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9JyddKTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLWxhYmVsXTpub3QoW2RhdGEtbGFiZWw9JyddKTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS1sYWJlbF06bm90KFtkYXRhLWxhYmVsPScnXSk6OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtbGFiZWxdOm5vdChbZGF0YS1sYWJlbD0nJ10pOjpiZWZvcmV7Y29udGVudDphdHRyKGRhdGEtbGFiZWwpfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVye3dpZHRoOjk4cHh9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbDo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbTo6YmVmb3Jle2NvbnRlbnQ6J05vcm1hbCd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiMVwiXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiMVwiXTo6YmVmb3Jle2NvbnRlbnQ6J0hlYWRpbmcgMSd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiMlwiXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiMlwiXTo6YmVmb3Jle2NvbnRlbnQ6J0hlYWRpbmcgMid9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiM1wiXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiM1wiXTo6YmVmb3Jle2NvbnRlbnQ6J0hlYWRpbmcgMyd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiNFwiXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiNFwiXTo6YmVmb3Jle2NvbnRlbnQ6J0hlYWRpbmcgNCd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiNVwiXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiNVwiXTo6YmVmb3Jle2NvbnRlbnQ6J0hlYWRpbmcgNSd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiNlwiXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiNlwiXTo6YmVmb3Jle2NvbnRlbnQ6J0hlYWRpbmcgNid9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIxXCJdOjpiZWZvcmV7Zm9udC1zaXplOjJlbX0ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjJcIl06OmJlZm9yZXtmb250LXNpemU6MS41ZW19LnFsLXNub3cgLnFsLXBpY2tlci5xbC1oZWFkZXIgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCIzXCJdOjpiZWZvcmV7Zm9udC1zaXplOjEuMTdlbX0ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjRcIl06OmJlZm9yZXtmb250LXNpemU6MWVtfS5xbC1zbm93IC5xbC1waWNrZXIucWwtaGVhZGVyIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwiNVwiXTo6YmVmb3Jle2ZvbnQtc2l6ZTouODNlbX0ucWwtc25vdyAucWwtcGlja2VyLnFsLWhlYWRlciAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cIjZcIl06OmJlZm9yZXtmb250LXNpemU6LjY3ZW19LnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250e3dpZHRoOjEwOHB4fS5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWxhYmVsOjpiZWZvcmUsLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbTo6YmVmb3Jle2NvbnRlbnQ6J1NhbnMgU2VyaWYnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9c2VyaWZdOjpiZWZvcmUsLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPXNlcmlmXTo6YmVmb3Jle2NvbnRlbnQ6J1NlcmlmJ30ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPW1vbm9zcGFjZV06OmJlZm9yZSwucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bW9ub3NwYWNlXTo6YmVmb3Jle2NvbnRlbnQ6J01vbm9zcGFjZSd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPXNlcmlmXTo6YmVmb3Jle2ZvbnQtZmFtaWx5Okdlb3JnaWEsVGltZXMgTmV3IFJvbWFuLHNlcmlmfS5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1tb25vc3BhY2VdOjpiZWZvcmV7Zm9udC1mYW1pbHk6TW9uYWNvLENvdXJpZXIgTmV3LG1vbm9zcGFjZX0ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemV7d2lkdGg6OThweH0ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1sYWJlbDo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW06OmJlZm9yZXtjb250ZW50OidOb3JtYWwnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWxhYmVsW2RhdGEtdmFsdWU9c21hbGxdOjpiZWZvcmUsLnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPXNtYWxsXTo6YmVmb3Jle2NvbnRlbnQ6J1NtYWxsJ30ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPWxhcmdlXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1sYXJnZV06OmJlZm9yZXtjb250ZW50OidMYXJnZSd9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1odWdlXTo6YmVmb3JlLC5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1odWdlXTo6YmVmb3Jle2NvbnRlbnQ6J0h1Z2UnfS5xbC1zbm93IC5xbC1waWNrZXIucWwtc2l6ZSAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1zbWFsbF06OmJlZm9yZXtmb250LXNpemU6MTBweH0ucWwtc25vdyAucWwtcGlja2VyLnFsLXNpemUgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9bGFyZ2VdOjpiZWZvcmV7Zm9udC1zaXplOjE4cHh9LnFsLXNub3cgLnFsLXBpY2tlci5xbC1zaXplIC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPWh1Z2VdOjpiZWZvcmV7Zm9udC1zaXplOjMycHh9LnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlci5xbC1iYWNrZ3JvdW5kIC5xbC1waWNrZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnFsLXNub3cgLnFsLWNvbG9yLXBpY2tlci5xbC1jb2xvciAucWwtcGlja2VyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojMDAwfS5xbC1jb2RlLWJsb2NrLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZX0ucWwtY29kZS1ibG9jay1jb250YWluZXIgLnFsLXVpe3JpZ2h0OjVweDt0b3A6NXB4fS5xbC10b29sYmFyLnFsLXNub3d7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTonSGVsdmV0aWNhIE5ldWUnLCdIZWx2ZXRpY2EnLCdBcmlhbCcsc2Fucy1zZXJpZjtwYWRkaW5nOjhweH0ucWwtdG9vbGJhci5xbC1zbm93IC5xbC1mb3JtYXRze21hcmdpbi1yaWdodDoxNXB4fS5xbC10b29sYmFyLnFsLXNub3cgLnFsLXBpY2tlci1sYWJlbHtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5xbC10b29sYmFyLnFsLXNub3cgLnFsLXBpY2tlci1vcHRpb25ze2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpyZ2JhKDAsMCwwLDAuMikgMCAycHggOHB4fS5xbC10b29sYmFyLnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLWxhYmVse2JvcmRlci1jb2xvcjojY2NjfS5xbC10b29sYmFyLnFsLXNub3cgLnFsLXBpY2tlci5xbC1leHBhbmRlZCAucWwtcGlja2VyLW9wdGlvbnN7Ym9yZGVyLWNvbG9yOiNjY2N9LnFsLXRvb2xiYXIucWwtc25vdyAucWwtY29sb3ItcGlja2VyIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCwucWwtdG9vbGJhci5xbC1zbm93IC5xbC1jb2xvci1waWNrZXIgLnFsLXBpY2tlci1pdGVtOmhvdmVye2JvcmRlci1jb2xvcjojMDAwfS5xbC10b29sYmFyLnFsLXNub3cgKyAucWwtY29udGFpbmVyLnFsLXNub3d7Ym9yZGVyLXRvcDowfS5xbC1zbm93IC5xbC10b29sdGlwe2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym94LXNoYWRvdzowIDAgNXB4ICNkZGQ7Y29sb3I6IzQ0NDtwYWRkaW5nOjVweCAxMnB4O3doaXRlLXNwYWNlOm5vd3JhcH0ucWwtc25vdyAucWwtdG9vbHRpcDo6YmVmb3Jle2NvbnRlbnQ6XCJWaXNpdCBVUkw6XCI7bGluZS1oZWlnaHQ6MjZweDttYXJnaW4tcmlnaHQ6OHB4fS5xbC1zbm93IC5xbC10b29sdGlwIGlucHV0W3R5cGU9dGV4dF17ZGlzcGxheTpub25lO2JvcmRlcjoxcHggc29saWQgI2NjYztmb250LXNpemU6MTNweDtoZWlnaHQ6MjZweDttYXJnaW46MDtwYWRkaW5nOjNweCA1cHg7d2lkdGg6MTcwcHh9LnFsLXNub3cgLnFsLXRvb2x0aXAgYS5xbC1wcmV2aWV3e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoyMDBweDtvdmVyZmxvdy14OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOnRvcH0ucWwtc25vdyAucWwtdG9vbHRpcCBhLnFsLWFjdGlvbjo6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjY2NjO2NvbnRlbnQ6J0VkaXQnO21hcmdpbi1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDo4cHh9LnFsLXNub3cgLnFsLXRvb2x0aXAgYS5xbC1yZW1vdmU6OmJlZm9yZXtjb250ZW50OidSZW1vdmUnO21hcmdpbi1sZWZ0OjhweH0ucWwtc25vdyAucWwtdG9vbHRpcCBhe2xpbmUtaGVpZ2h0OjI2cHh9LnFsLXNub3cgLnFsLXRvb2x0aXAucWwtZWRpdGluZyBhLnFsLXByZXZpZXcsLnFsLXNub3cgLnFsLXRvb2x0aXAucWwtZWRpdGluZyBhLnFsLXJlbW92ZXtkaXNwbGF5Om5vbmV9LnFsLXNub3cgLnFsLXRvb2x0aXAucWwtZWRpdGluZyBpbnB1dFt0eXBlPXRleHRde2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5xbC1zbm93IC5xbC10b29sdGlwLnFsLWVkaXRpbmcgYS5xbC1hY3Rpb246OmFmdGVye2JvcmRlci1yaWdodDowO2NvbnRlbnQ6J1NhdmUnO3BhZGRpbmctcmlnaHQ6MH0ucWwtc25vdyAucWwtdG9vbHRpcFtkYXRhLW1vZGU9bGlua106OmJlZm9yZXtjb250ZW50OlwiRW50ZXIgbGluazpcIn0ucWwtc25vdyAucWwtdG9vbHRpcFtkYXRhLW1vZGU9Zm9ybXVsYV06OmJlZm9yZXtjb250ZW50OlwiRW50ZXIgZm9ybXVsYTpcIn0ucWwtc25vdyAucWwtdG9vbHRpcFtkYXRhLW1vZGU9dmlkZW9dOjpiZWZvcmV7Y29udGVudDpcIkVudGVyIHZpZGVvOlwifS5xbC1zbm93IGF7Y29sb3I6IzA2Y30ucWwtY29udGFpbmVyLnFsLXNub3d7Ym9yZGVyOjFweCBzb2xpZCAjY2NjfVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1xdWlsbC5zbm93LmNzcy5tYXAqLyIsIkAtd2Via2l0LWtleWZyYW1lcyBub3R5Zi1mYWRlaW51cHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjUlKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgbm90eWYtZmFkZWludXB7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDI1JSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1ALXdlYmtpdC1rZXlmcmFtZXMgbm90eWYtZmFkZWlubGVmdHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjUlKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUBrZXlmcmFtZXMgbm90eWYtZmFkZWlubGVmdHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjUlKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUAtd2Via2l0LWtleWZyYW1lcyBub3R5Zi1mYWRlb3V0cmlnaHR7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNSUpfX1Aa2V5ZnJhbWVzIG5vdHlmLWZhZGVvdXRyaWdodHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI1JSl9fUAtd2Via2l0LWtleWZyYW1lcyBub3R5Zi1mYWRlb3V0ZG93bnswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDI1JSl9fUBrZXlmcmFtZXMgbm90eWYtZmFkZW91dGRvd257MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyNSUpfX1ALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlezAle3RyYW5zZm9ybTpzY2FsZSgwKSB0cmFuc2xhdGVZKC00NSUpIHRyYW5zbGF0ZVgoMTMlKX10b3t0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSl9fUBrZXlmcmFtZXMgcmlwcGxlezAle3RyYW5zZm9ybTpzY2FsZSgwKSB0cmFuc2xhdGVZKC00NSUpIHRyYW5zbGF0ZVgoMTMlKX10b3t0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtNDUlKSB0cmFuc2xhdGVYKDEzJSl9fS5ub3R5Zntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtjb2xvcjojZmZmO3otaW5kZXg6OTk5OTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwb2ludGVyLWV2ZW50czpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjIwcHh9Lm5vdHlmX19pY29uLS1lcnJvciwubm90eWZfX2ljb24tLXN1Y2Nlc3N7aGVpZ2h0OjIxcHg7d2lkdGg6MjFweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpibG9jazttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlfS5ub3R5Zl9faWNvbi0tZXJyb3I6YWZ0ZXIsLm5vdHlmX19pY29uLS1lcnJvcjpiZWZvcmV7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6OXB4O2hlaWdodDoxMnB4O3RvcDo1cHh9Lm5vdHlmX19pY29uLS1lcnJvcjphZnRlcnt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9Lm5vdHlmX19pY29uLS1lcnJvcjpiZWZvcmV7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lm5vdHlmX19pY29uLS1zdWNjZXNzOmFmdGVyLC5ub3R5Zl9faWNvbi0tc3VjY2VzczpiZWZvcmV7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6M3B4O2JvcmRlci1yYWRpdXM6M3B4fS5ub3R5Zl9faWNvbi0tc3VjY2VzczphZnRlcntoZWlnaHQ6NnB4O3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0b3A6OXB4O2xlZnQ6NnB4fS5ub3R5Zl9faWNvbi0tc3VjY2VzczpiZWZvcmV7aGVpZ2h0OjExcHg7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dG9wOjVweDtsZWZ0OjEwcHh9Lm5vdHlmX190b2FzdHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtYW5pbWF0aW9uOm5vdHlmLWZhZGVpbnVwIC4zcyBlYXNlLWluIGZvcndhcmRzO2FuaW1hdGlvbjpub3R5Zi1mYWRlaW51cCAuM3MgZWFzZS1pbiBmb3J3YXJkcztib3gtc2hhZG93OjAgM3B4IDdweCAwIHJnYmEoMCwwLDAsLjI1KTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjAgMTVweDtib3JkZXItcmFkaXVzOjJweDttYXgtd2lkdGg6MzAwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjUlKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxleC1zaHJpbms6MH0ubm90eWZfX3RvYXN0LS1kaXNhcHBlYXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LXdlYmtpdC1hbmltYXRpb246bm90eWYtZmFkZW91dGRvd24gLjNzIGZvcndhcmRzO2FuaW1hdGlvbjpub3R5Zi1mYWRlb3V0ZG93biAuM3MgZm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjI1czthbmltYXRpb24tZGVsYXk6LjI1c30ubm90eWZfX3RvYXN0LS1kaXNhcHBlYXIgLm5vdHlmX19pY29uLC5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciAubm90eWZfX21lc3NhZ2V7LXdlYmtpdC1hbmltYXRpb246bm90eWYtZmFkZW91dGRvd24gLjNzIGZvcndhcmRzO2FuaW1hdGlvbjpub3R5Zi1mYWRlb3V0ZG93biAuM3MgZm9yd2FyZHM7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5ub3R5Zl9fdG9hc3QtLWRpc2FwcGVhciAubm90eWZfX2Rpc21pc3N7LXdlYmtpdC1hbmltYXRpb246bm90eWYtZmFkZW91dHJpZ2h0IC4zcyBmb3J3YXJkczthbmltYXRpb246bm90eWYtZmFkZW91dHJpZ2h0IC4zcyBmb3J3YXJkcztvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9Lm5vdHlmX190b2FzdC0tZGlzYXBwZWFyIC5ub3R5Zl9fbWVzc2FnZXstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouMDVzO2FuaW1hdGlvbi1kZWxheTouMDVzfS5ub3R5Zl9fdG9hc3QtLXVwcGVye21hcmdpbi1ib3R0b206MjBweH0ubm90eWZfX3RvYXN0LS1sb3dlcnttYXJnaW4tdG9wOjIwcHh9Lm5vdHlmX190b2FzdC0tZGlzbWlzc2libGUgLm5vdHlmX193cmFwcGVye3BhZGRpbmctcmlnaHQ6MzBweH0ubm90eWZfX3JpcHBsZXtoZWlnaHQ6NDAwcHg7d2lkdGg6NDAwcHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gcmlnaHQ7cmlnaHQ6MDt0b3A6MDtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCkgdHJhbnNsYXRlWSgtNTElKSB0cmFuc2xhdGVYKDEzJSk7ei1pbmRleDo1Oy13ZWJraXQtYW5pbWF0aW9uOnJpcHBsZSAuNHMgZWFzZS1vdXQgZm9yd2FyZHM7YW5pbWF0aW9uOnJpcHBsZSAuNHMgZWFzZS1vdXQgZm9yd2FyZHN9Lm5vdHlmX193cmFwcGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZy10b3A6MTdweDtwYWRkaW5nLWJvdHRvbToxN3B4O3BhZGRpbmctcmlnaHQ6MTVweDtib3JkZXItcmFkaXVzOjNweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwfS5ub3R5Zl9faWNvbnt3aWR0aDoyMnB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxLjNlbTtvcGFjaXR5OjA7LXdlYmtpdC1hbmltYXRpb246bm90eWYtZmFkZWludXAgLjNzIGZvcndhcmRzO2FuaW1hdGlvbjpub3R5Zi1mYWRlaW51cCAuM3MgZm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjNzO2FuaW1hdGlvbi1kZWxheTouM3M7bWFyZ2luLXJpZ2h0OjEzcHh9Lm5vdHlmX19kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MjZweDttYXJnaW4tcmlnaHQ6LTE1cHg7LXdlYmtpdC1hbmltYXRpb246bm90eWYtZmFkZWlubGVmdCAuM3MgZm9yd2FyZHM7YW5pbWF0aW9uOm5vdHlmLWZhZGVpbmxlZnQgLjNzIGZvcndhcmRzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi4zNXM7YW5pbWF0aW9uLWRlbGF5Oi4zNXM7b3BhY2l0eTowfS5ub3R5Zl9fZGlzbWlzcy1idG57YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2U7b3V0bGluZTpub25lO29wYWNpdHk6LjM1O2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lm5vdHlmX19kaXNtaXNzLWJ0bjphZnRlciwubm90eWZfX2Rpc21pc3MtYnRuOmJlZm9yZXtjb250ZW50OlwiXCI7YmFja2dyb3VuZDojZmZmO2hlaWdodDoxMnB4O3dpZHRoOjJweDtib3JkZXItcmFkaXVzOjNweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OmNhbGMoNTAlIC0gMXB4KTt0b3A6Y2FsYyg1MCUgLSA1cHgpfS5ub3R5Zl9fZGlzbWlzcy1idG46YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5ub3R5Zl9fZGlzbWlzcy1idG46YmVmb3Jle3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5ub3R5Zl9fZGlzbWlzcy1idG46aG92ZXJ7b3BhY2l0eTouNztiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjE1KX0ubm90eWZfX2Rpc21pc3MtYnRuOmFjdGl2ZXtvcGFjaXR5Oi44fS5ub3R5Zl9fbWVzc2FnZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmU7b3BhY2l0eTowOy13ZWJraXQtYW5pbWF0aW9uOm5vdHlmLWZhZGVpbnVwIC4zcyBmb3J3YXJkczthbmltYXRpb246bm90eWYtZmFkZWludXAgLjNzIGZvcndhcmRzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi4yNXM7YW5pbWF0aW9uLWRlbGF5Oi4yNXM7bGluZS1oZWlnaHQ6MS41ZW19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ4MHB4KXsubm90eWZ7cGFkZGluZzowfS5ub3R5Zl9fcmlwcGxle2hlaWdodDo2MDBweDt3aWR0aDo2MDBweDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi41c30ubm90eWZfX3RvYXN0e21heC13aWR0aDpub25lO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93OjAgLTJweCA3cHggMCByZ2JhKDAsMCwwLC4xMyk7d2lkdGg6MTAwJX0ubm90eWZfX2Rpc21pc3N7d2lkdGg6NTZweH19IiwiQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDBcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5cbi5zcGluIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgY29sb3I6ICMyOTg4NGE7XG59IiwiaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IFwiUXVpY2tzYW5kXCIsICdzYW5zLXNlcmlmJztcbn1cblxuYm9keSB7XG4gICYubG9naW4ge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvY2VyY2xlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHJnYigzMCA0MSA1OSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufSIsImJ1dHRvbiB7XG4gICYuc3dhbDItY29uZmlybSB7XG4gICAgYmFja2dyb3VuZDogIzBmNjY3NDtcbiAgICAmLmJnLWN5YW4tNjAwIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwODkxYjI7XG4gICAgfVxuICB9XG59XG5cbi5zd2FsMi1odG1sLWNvbnRhaW5lciB7XG4gIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzI0MjQyNDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBpbnB1dCwgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufSIsImZvcm0ge1xuICBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjpub3QoLm5vLW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB9XG4gICAgJjpub3QoLnJvdykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLmFkanVzdCB7XG4gICAgICBkaXYge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogI2NjYztcbiAgICB9XG5cbiAgICAuaGVscC10ZXh0IHtcbiAgICAgIGNvbG9yOiAjY2NjO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICAgICAgcGFkZGluZzogOHB4IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgIH1cbiAgfVxufVxuXG4uZG9jdW1lbnQge1xuICBpbnB1dCB7XG4gICAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgICBwYWRkaW5nOiA4cHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMyNDI0MjQ7XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7XG4gICAgcGFkZGluZzogOHB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgfVxufSIsIi5kb2N1bWVudC10YWJsZSB7XG4gICYuaW52b2ljZSB7XG4gICAgdGFibGUge1xuICAgICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgQGFwcGx5IGJnLWdyZWVuLTUwMFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBuYXYge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgJltkYXRhLXAtYWN0aXZlPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0JCRjdEMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5xdW90YXRpb24ge1xuICAgIHRhYmxlIHtcbiAgICAgIHRoZWFkIHtcbiAgICAgICAgdHIge1xuICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFQTU4MEM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG5hdiB7XG4gICAgICBidXR0b24ge1xuICAgICAgICAmW2RhdGEtcC1hY3RpdmU9XCJ0cnVlXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWZiNTk3ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnByb2R1Y3RzIHtcbiAgICB0YWJsZSB7XG4gICAgICB0aGVhZCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBAYXBwbHkgYmctY3lhbi01MDBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgICZbZGF0YS1wLWFjdGl2ZT1cInRydWVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNhZGVhZWMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY3VzdG9tZXJzIHtcbiAgICB0YWJsZSB7XG4gICAgICB0aGVhZCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBAYXBwbHkgYmctYW1iZXItNDAwXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG5hdiB7XG4gICAgICBidXR0b24ge1xuICAgICAgICAmW2RhdGEtcC1hY3RpdmU9XCJ0cnVlXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZlZmE2ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHIge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgdGgge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICAgIH1cbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDVweDtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgfVxuXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcblxuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcblxuICAgICAgdHIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzI0MjQyNDtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgOHB4IDAgMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOjhweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgdHIge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiKDI0MSAyNDUgMjQ5KTtcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDQ0M7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAYXBwbHkgYmctc2xhdGUtMjAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmF2IHtcbiAgICBbZGF0YS1wYy1uYW1lPVwicGNwYWdpbmF0b3JcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBbZGF0YS1wYy1zZWN0aW9uPVwiY29udGVudFwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6NXB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBbZGF0YS1wYy1ncm91cC1zZWN0aW9uPVwicGFnZWRyb3Bkb3duXCJdIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzoxcHggNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgICAgICBbZGF0YS1wYy1zZWN0aW9uPVwicGFnZXNcIl0ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZ2FwOjNweDtcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgJltkYXRhLXAtYWN0aXZlPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzZCQkJCMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudWwge1xuICAmW2RhdGEtcGMtc2VjdGlvbj1cImxpc3RcIl0ge1xuICAgIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmc6M3B4O1xuXG4gICAgbGkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufSIsIi5kZmEtYnV0dG9uIHtcbiAgQGFwcGx5IHB4LTMgcHktMiByb3VuZGVkLW1kIGZsZXggdy1tYXggc2hhZG93LW1kIGl0ZW1zLWNlbnRlcjtcbiAgJi5sYXJnZSB7XG4gICAgQGFwcGx5IHB4LTcgcHktNCByb3VuZGVkLW1kIGZsZXggdy1tYXggc2hhZG93LW1kIGl0ZW1zLWNlbnRlcjtcbiAgfVxuICAmLmNpcmNsZSB7XG4gICAgcGFkZGluZzowIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufSIsInRhYmxlIHtcbiAgJi5kZmEtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdGhlYWQge1xuICAgICAgdHIge1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICBAYXBwbHkgdGV4dC1sZWZ0IGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04IHRleHQtc2xhdGUtNTAwO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0Ym9keSB7XG4gICAgICB0ciB7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICBAYXBwbHkgcC00IHBsLTggdGV4dC1ncmF5LTUwMCBib3JkZXItMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgQGFwcGx5IGJvcmRlci1iIGJvcmRlci1zbGF0ZS0xMDAgZGFyazpib3JkZXItc2xhdGUtNzAwIHAtNCBwbC04O1xuICAgICAgICAgICY6bm90KC50ZXh0LXdoaXRlKSB7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC1ncmF5LTUwMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jaGlwIHtcbiAgQGFwcGx5IGZsZXggaXRlbXMtY2VudGVyIHB4LTMgcHktMiBiZy1ncmVlbi0yMDAgdGV4dC1zbSByb3VuZGVkLW1kO1xuICAmLmRyYWZ0IHtcbiAgICBAYXBwbHkgYmctc2xhdGUtMTAwIHRleHQtc2xhdGUtNzAwO1xuICB9XG4gICYuaXNzdWVkIHtcbiAgICBAYXBwbHkgYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tNzAwO1xuICB9XG4gICYuc2VudCB7XG4gICAgQGFwcGx5IGJnLWN5YW4tMTAwIHRleHQtY3lhbi03MDA7XG4gIH1cbiAgJi5jbGlja2VkIHtcbiAgICBAYXBwbHkgYmctYW1iZXItMTAwIHRleHQtYW1iZXItNzAwO1xuICB9XG4gICYucmVhZCB7XG4gICAgQGFwcGx5IGJnLW9yYW5nZS0xMDAgdGV4dC1vcmFuZ2UtNzAwO1xuICB9XG4gICYuY2FuY2VsZWQge1xuICAgIEBhcHBseSBiZy1ncmF5LTgwMCB0ZXh0LXdoaXRlIDtcbiAgfVxuXG4gICYubG9ja2VkIHtcbiAgICBAYXBwbHkgYmctcmVkLTkwMCB0ZXh0LXdoaXRlIDtcbiAgfVxuXG4gICYucGFpZCB7XG4gICAgQGFwcGx5IGJnLXJlZC01MDAgdGV4dC13aGl0ZTtcbiAgfVxuXG4gICYuaW52b2ljZWQge1xuICAgIEBhcHBseSBiZy1yZWQtMTAwIHRleHQtcmVkLTcwMDtcbiAgfVxuXG4gICYucXVvdGF0aW9uLXJlZiB7XG4gICAgQGFwcGx5IGJnLWN5YW4tODAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICYuaW52b2ljZS1yZWYge1xuICAgIEBhcHBseSBiZy1jeWFuLTgwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn0iLCIuc3dhbDItY29uZmlybSB7XG4gICYud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmODgwMDtcbiAgfVxufSIsIiR3aWR0aDogNDB2dztcblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG4gIGFuaW1hdGlvbjogZmFkZS1pbiAwLjNzIGxpbmVhcjtcbiAgei1pbmRleDogOTk1O1xufVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICAvL2NsaXAtcGF0aDogcG9seWdvbigzMHB4IDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUsIDAgMzBweCk7XG4gIHRvcDowO1xuICByaWdodDowO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogJHdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogNTBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHotaW5kZXg6IDk5OTtcbiAgJi52aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgYm94LXNoYWRvdzogMCAtMzBweCAzMHB4IHJnYmEoMCwwLDAsMC41KSwgMCAtNjBweCA1MHB4IHJnYmEoMCwwLDAsMC40KTtcbiAgfVxuXG4gIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG59IiwiLnFsLXRvb2xiYXIge1xuICAmLnFsLXNub3cge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4ucWwtY29udGFpbmVyIHtcbiAgJi5xbC1zbm93IHtcbiAgICBtaW4taGVpZ2h0OiAxNTBweCAhaW1wb3J0YW50O1xuICB9XG5cbn1cbiIsIi5jb250ZXh0LW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjkpO1xuICBib3gtc2hhZG93OiA0cHggNHB4IDhweCByZ2JhKDAsMCwwLDAuNiksIDhweCA4cHggMjBweCByZ2JhKDAsMCwwLDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzoxNXB4O1xuICB6LWluZGV4OiA5OTk5O1xuICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyBsaW5lYXI7XG4gIC8vYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4gIGhyIHtcbiAgICBtYXJnaW46IDdweCAwO1xuICB9XG4gIGxpIHtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgICYudGl0bGUge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAmLm5vLXAge1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICAgIGNvbG9yOiAjZDBkMGQwO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLDAsMCwwLjkpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucGF5bWVudC1ub3RpZi1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgQGFwcGx5IGJnLWdyYXktODAwO1xuXG4gIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOjE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB9XG4gIC5wYXltZW50LWluZm8ge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOjFweDtcbiAgICBib3gtc2hhZG93OiAxMHB4IDEwcHggMTVweCByZ2JhKDAsMCwwLDAuNik7XG4gICAgd2lkdGg6IDU1MHB4O1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgICAuaGVhZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDEycHggMCAwO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgcGFkZGluZzoyNXB4IDA7XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6MjVweDtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgJi5yZWNlaXB0IHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/