@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i");
@media print,
screen and (min-width: 40em) {
    .reveal,
    .reveal.tiny,
    .reveal.small,
    .reveal.large {
        right: auto;
        left: auto;
        margin: 0 auto
    }
}


/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */

html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
footer,
header,
nav,
section {
    display: block
}

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

figcaption,
figure {
    display: block
}

figure {
    margin: 1em 40px
}

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

main {
    display: block
}

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

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

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

dfn {
    font-style: italic
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

audio,
video {
    display: inline-block
}

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

img {
    border-style: none
}

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

button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

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

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

input {
    overflow: visible
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

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

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

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

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

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

legend {
    box-sizing: border-box;
    display: table;
    max-width: 100%;
    padding: 0;
    color: inherit;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

textarea {
    overflow: auto
}

details {
    display: block
}

summary {
    display: list-item
}

menu {
    display: block
}

canvas {
    display: inline-block
}

template {
    display: none
}

[hidden] {
    display: none
}

.foundation-mq {
    font-family: "small=0em&medium=40em&large=64em&xlarge=87.5em&xxlarge=118.75em"
}

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

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

body {
    margin: 0;
    padding: 0;
    background: #fff;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 400;
    line-height: 1.4;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

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

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

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

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

button {
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    line-height: 1;
    cursor: auto
}

[data-whatinput='mouse'] button {
    outline: 0
}

pre {
    overflow: auto
}

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

.is-visible {
    display: block !important
}

.is-hidden {
    display: none !important
}

.grid-container {
    padding-right: .9375rem;
    padding-left: .9375rem;
    max-width: 75rem;
    margin: 0 auto
}

@media print,
screen and (min-width: 40em) {
    .grid-container {
        padding-right: 1.875rem;
        padding-left: 1.875rem
    }
}

.grid-container.fluid {
    padding-right: .9375rem;
    padding-left: .9375rem;
    max-width: 100%;
    margin: 0 auto
}

@media print,
screen and (min-width: 40em) {
    .grid-container.fluid {
        padding-right: 1.875rem;
        padding-left: 1.875rem
    }
}

.grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto
}

.grid-x {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

.cell {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: 100%
}

.cell.auto {
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px
}

.cell.shrink {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.grid-x>.auto {
    width: auto
}

.grid-x>.shrink {
    width: auto
}

.grid-x>.small-shrink,
.grid-x>.small-full,
.grid-x>.small-1,
.grid-x>.small-2,
.grid-x>.small-3,
.grid-x>.small-4,
.grid-x>.small-5,
.grid-x>.small-6,
.grid-x>.small-7,
.grid-x>.small-8,
.grid-x>.small-9,
.grid-x>.small-10,
.grid-x>.small-11,
.grid-x>.small-12 {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto
}

@media print,
screen and (min-width: 40em) {
    .grid-x>.medium-shrink,
    .grid-x>.medium-full,
    .grid-x>.medium-1,
    .grid-x>.medium-2,
    .grid-x>.medium-3,
    .grid-x>.medium-4,
    .grid-x>.medium-5,
    .grid-x>.medium-6,
    .grid-x>.medium-7,
    .grid-x>.medium-8,
    .grid-x>.medium-9,
    .grid-x>.medium-10,
    .grid-x>.medium-11,
    .grid-x>.medium-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-x>.large-shrink,
    .grid-x>.large-full,
    .grid-x>.large-1,
    .grid-x>.large-2,
    .grid-x>.large-3,
    .grid-x>.large-4,
    .grid-x>.large-5,
    .grid-x>.large-6,
    .grid-x>.large-7,
    .grid-x>.large-8,
    .grid-x>.large-9,
    .grid-x>.large-10,
    .grid-x>.large-11,
    .grid-x>.large-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

@media screen and (min-width: 87.5em) {
    .grid-x>.xlarge-shrink,
    .grid-x>.xlarge-full,
    .grid-x>.xlarge-1,
    .grid-x>.xlarge-2,
    .grid-x>.xlarge-3,
    .grid-x>.xlarge-4,
    .grid-x>.xlarge-5,
    .grid-x>.xlarge-6,
    .grid-x>.xlarge-7,
    .grid-x>.xlarge-8,
    .grid-x>.xlarge-9,
    .grid-x>.xlarge-10,
    .grid-x>.xlarge-11,
    .grid-x>.xlarge-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

@media screen and (min-width: 118.75em) {
    .grid-x>.xxlarge-shrink,
    .grid-x>.xxlarge-full,
    .grid-x>.xxlarge-1,
    .grid-x>.xxlarge-2,
    .grid-x>.xxlarge-3,
    .grid-x>.xxlarge-4,
    .grid-x>.xxlarge-5,
    .grid-x>.xxlarge-6,
    .grid-x>.xxlarge-7,
    .grid-x>.xxlarge-8,
    .grid-x>.xxlarge-9,
    .grid-x>.xxlarge-10,
    .grid-x>.xxlarge-11,
    .grid-x>.xxlarge-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

.grid-x>.small-1 {
    width: 8.33333%
}

.grid-x>.small-2 {
    width: 16.66667%
}

.grid-x>.small-3 {
    width: 25%
}

.grid-x>.small-4 {
    width: 33.33333%
}

.grid-x>.small-5 {
    width: 41.66667%
}

.grid-x>.small-6 {
    width: 50%
}

.grid-x>.small-7 {
    width: 58.33333%
}

.grid-x>.small-8 {
    width: 66.66667%
}

.grid-x>.small-9 {
    width: 75%
}

.grid-x>.small-10 {
    width: 83.33333%
}

.grid-x>.small-11 {
    width: 91.66667%
}

.grid-x>.small-12 {
    width: 100%
}

@media print,
screen and (min-width: 40em) {
    .grid-x>.medium-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto
    }
    .grid-x>.medium-shrink {
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }
    .grid-x>.medium-1 {
        width: 8.33333%
    }
    .grid-x>.medium-2 {
        width: 16.66667%
    }
    .grid-x>.medium-3 {
        width: 25%
    }
    .grid-x>.medium-4 {
        width: 33.33333%
    }
    .grid-x>.medium-5 {
        width: 41.66667%
    }
    .grid-x>.medium-6 {
        width: 50%
    }
    .grid-x>.medium-7 {
        width: 58.33333%
    }
    .grid-x>.medium-8 {
        width: 66.66667%
    }
    .grid-x>.medium-9 {
        width: 75%
    }
    .grid-x>.medium-10 {
        width: 83.33333%
    }
    .grid-x>.medium-11 {
        width: 91.66667%
    }
    .grid-x>.medium-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-x>.large-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto
    }
    .grid-x>.large-shrink {
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }
    .grid-x>.large-1 {
        width: 8.33333%
    }
    .grid-x>.large-2 {
        width: 16.66667%
    }
    .grid-x>.large-3 {
        width: 25%
    }
    .grid-x>.large-4 {
        width: 33.33333%
    }
    .grid-x>.large-5 {
        width: 41.66667%
    }
    .grid-x>.large-6 {
        width: 50%
    }
    .grid-x>.large-7 {
        width: 58.33333%
    }
    .grid-x>.large-8 {
        width: 66.66667%
    }
    .grid-x>.large-9 {
        width: 75%
    }
    .grid-x>.large-10 {
        width: 83.33333%
    }
    .grid-x>.large-11 {
        width: 91.66667%
    }
    .grid-x>.large-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .grid-x>.xlarge-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto
    }
    .grid-x>.xlarge-shrink {
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }
    .grid-x>.xlarge-1 {
        width: 8.33333%
    }
    .grid-x>.xlarge-2 {
        width: 16.66667%
    }
    .grid-x>.xlarge-3 {
        width: 25%
    }
    .grid-x>.xlarge-4 {
        width: 33.33333%
    }
    .grid-x>.xlarge-5 {
        width: 41.66667%
    }
    .grid-x>.xlarge-6 {
        width: 50%
    }
    .grid-x>.xlarge-7 {
        width: 58.33333%
    }
    .grid-x>.xlarge-8 {
        width: 66.66667%
    }
    .grid-x>.xlarge-9 {
        width: 75%
    }
    .grid-x>.xlarge-10 {
        width: 83.33333%
    }
    .grid-x>.xlarge-11 {
        width: 91.66667%
    }
    .grid-x>.xlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .grid-x>.xxlarge-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto
    }
    .grid-x>.xxlarge-shrink {
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto
    }
    .grid-x>.xxlarge-1 {
        width: 8.33333%
    }
    .grid-x>.xxlarge-2 {
        width: 16.66667%
    }
    .grid-x>.xxlarge-3 {
        width: 25%
    }
    .grid-x>.xxlarge-4 {
        width: 33.33333%
    }
    .grid-x>.xxlarge-5 {
        width: 41.66667%
    }
    .grid-x>.xxlarge-6 {
        width: 50%
    }
    .grid-x>.xxlarge-7 {
        width: 58.33333%
    }
    .grid-x>.xxlarge-8 {
        width: 66.66667%
    }
    .grid-x>.xxlarge-9 {
        width: 75%
    }
    .grid-x>.xxlarge-10 {
        width: 83.33333%
    }
    .grid-x>.xxlarge-11 {
        width: 91.66667%
    }
    .grid-x>.xxlarge-12 {
        width: 100%
    }
}

.grid-margin-x:not(.grid-x)>.cell {
    width: auto
}

.grid-margin-y:not(.grid-y)>.cell {
    height: auto
}

.grid-margin-x {
    margin-left: -.9375rem;
    margin-right: -.9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x {
        margin-left: -1.875rem;
        margin-right: -1.875rem
    }
}

.grid-margin-x>.cell {
    width: calc(100% - 1.875rem);
    margin-left: .9375rem;
    margin-right: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x>.cell {
        width: calc(100% - 3.75rem);
        margin-left: 1.875rem;
        margin-right: 1.875rem
    }
}

.grid-margin-x>.auto {
    width: auto
}

.grid-margin-x>.shrink {
    width: auto
}

.grid-margin-x>.small-1 {
    width: calc(8.33333% - 1.875rem)
}

.grid-margin-x>.small-2 {
    width: calc(16.66667% - 1.875rem)
}

.grid-margin-x>.small-3 {
    width: calc(25% - 1.875rem)
}

.grid-margin-x>.small-4 {
    width: calc(33.33333% - 1.875rem)
}

.grid-margin-x>.small-5 {
    width: calc(41.66667% - 1.875rem)
}

.grid-margin-x>.small-6 {
    width: calc(50% - 1.875rem)
}

.grid-margin-x>.small-7 {
    width: calc(58.33333% - 1.875rem)
}

.grid-margin-x>.small-8 {
    width: calc(66.66667% - 1.875rem)
}

.grid-margin-x>.small-9 {
    width: calc(75% - 1.875rem)
}

.grid-margin-x>.small-10 {
    width: calc(83.33333% - 1.875rem)
}

.grid-margin-x>.small-11 {
    width: calc(91.66667% - 1.875rem)
}

.grid-margin-x>.small-12 {
    width: calc(100% - 1.875rem)
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x>.auto {
        width: auto
    }
    .grid-margin-x>.shrink {
        width: auto
    }
    .grid-margin-x>.small-1 {
        width: calc(8.33333% - 3.75rem)
    }
    .grid-margin-x>.small-2 {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x>.small-3 {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x>.small-4 {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x>.small-5 {
        width: calc(41.66667% - 3.75rem)
    }
    .grid-margin-x>.small-6 {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x>.small-7 {
        width: calc(58.33333% - 3.75rem)
    }
    .grid-margin-x>.small-8 {
        width: calc(66.66667% - 3.75rem)
    }
    .grid-margin-x>.small-9 {
        width: calc(75% - 3.75rem)
    }
    .grid-margin-x>.small-10 {
        width: calc(83.33333% - 3.75rem)
    }
    .grid-margin-x>.small-11 {
        width: calc(91.66667% - 3.75rem)
    }
    .grid-margin-x>.small-12 {
        width: calc(100% - 3.75rem)
    }
    .grid-margin-x>.medium-auto {
        width: auto
    }
    .grid-margin-x>.medium-shrink {
        width: auto
    }
    .grid-margin-x>.medium-1 {
        width: calc(8.33333% - 3.75rem)
    }
    .grid-margin-x>.medium-2 {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x>.medium-3 {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x>.medium-4 {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x>.medium-5 {
        width: calc(41.66667% - 3.75rem)
    }
    .grid-margin-x>.medium-6 {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x>.medium-7 {
        width: calc(58.33333% - 3.75rem)
    }
    .grid-margin-x>.medium-8 {
        width: calc(66.66667% - 3.75rem)
    }
    .grid-margin-x>.medium-9 {
        width: calc(75% - 3.75rem)
    }
    .grid-margin-x>.medium-10 {
        width: calc(83.33333% - 3.75rem)
    }
    .grid-margin-x>.medium-11 {
        width: calc(91.66667% - 3.75rem)
    }
    .grid-margin-x>.medium-12 {
        width: calc(100% - 3.75rem)
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-x>.large-auto {
        width: auto
    }
    .grid-margin-x>.large-shrink {
        width: auto
    }
    .grid-margin-x>.large-1 {
        width: calc(8.33333% - 3.75rem)
    }
    .grid-margin-x>.large-2 {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x>.large-3 {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x>.large-4 {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x>.large-5 {
        width: calc(41.66667% - 3.75rem)
    }
    .grid-margin-x>.large-6 {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x>.large-7 {
        width: calc(58.33333% - 3.75rem)
    }
    .grid-margin-x>.large-8 {
        width: calc(66.66667% - 3.75rem)
    }
    .grid-margin-x>.large-9 {
        width: calc(75% - 3.75rem)
    }
    .grid-margin-x>.large-10 {
        width: calc(83.33333% - 3.75rem)
    }
    .grid-margin-x>.large-11 {
        width: calc(91.66667% - 3.75rem)
    }
    .grid-margin-x>.large-12 {
        width: calc(100% - 3.75rem)
    }
}

@media screen and (min-width: 87.5em) {
    .grid-margin-x>.xlarge-auto {
        width: auto
    }
    .grid-margin-x>.xlarge-shrink {
        width: auto
    }
    .grid-margin-x>.xlarge-1 {
        width: calc(8.33333% - 3.75rem)
    }
    .grid-margin-x>.xlarge-2 {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x>.xlarge-3 {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x>.xlarge-4 {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x>.xlarge-5 {
        width: calc(41.66667% - 3.75rem)
    }
    .grid-margin-x>.xlarge-6 {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x>.xlarge-7 {
        width: calc(58.33333% - 3.75rem)
    }
    .grid-margin-x>.xlarge-8 {
        width: calc(66.66667% - 3.75rem)
    }
    .grid-margin-x>.xlarge-9 {
        width: calc(75% - 3.75rem)
    }
    .grid-margin-x>.xlarge-10 {
        width: calc(83.33333% - 3.75rem)
    }
    .grid-margin-x>.xlarge-11 {
        width: calc(91.66667% - 3.75rem)
    }
    .grid-margin-x>.xlarge-12 {
        width: calc(100% - 3.75rem)
    }
}

@media screen and (min-width: 118.75em) {
    .grid-margin-x>.xxlarge-auto {
        width: auto
    }
    .grid-margin-x>.xxlarge-shrink {
        width: auto
    }
    .grid-margin-x>.xxlarge-1 {
        width: calc(8.33333% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-2 {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-3 {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-4 {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-5 {
        width: calc(41.66667% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-6 {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-7 {
        width: calc(58.33333% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-8 {
        width: calc(66.66667% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-9 {
        width: calc(75% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-10 {
        width: calc(83.33333% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-11 {
        width: calc(91.66667% - 3.75rem)
    }
    .grid-margin-x>.xxlarge-12 {
        width: calc(100% - 3.75rem)
    }
}

.grid-padding-x .grid-padding-x {
    margin-right: -.9375rem;
    margin-left: -.9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
        margin-right: -1.875rem;
        margin-left: -1.875rem
    }
}

.grid-container:not(.full)>.grid-padding-x {
    margin-right: -.9375rem;
    margin-left: -.9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-container:not(.full)>.grid-padding-x {
        margin-right: -1.875rem;
        margin-left: -1.875rem
    }
}

.grid-padding-x>.cell {
    padding-right: .9375rem;
    padding-left: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-x>.cell {
        padding-right: 1.875rem;
        padding-left: 1.875rem
    }
}

.small-up-1>.cell {
    width: 100%
}

.small-up-2>.cell {
    width: 50%
}

.small-up-3>.cell {
    width: 33.33333%
}

.small-up-4>.cell {
    width: 25%
}

.small-up-5>.cell {
    width: 20%
}

.small-up-6>.cell {
    width: 16.66667%
}

.small-up-7>.cell {
    width: 14.28571%
}

.small-up-8>.cell {
    width: 12.5%
}

@media print,
screen and (min-width: 40em) {
    .medium-up-1>.cell {
        width: 100%
    }
    .medium-up-2>.cell {
        width: 50%
    }
    .medium-up-3>.cell {
        width: 33.33333%
    }
    .medium-up-4>.cell {
        width: 25%
    }
    .medium-up-5>.cell {
        width: 20%
    }
    .medium-up-6>.cell {
        width: 16.66667%
    }
    .medium-up-7>.cell {
        width: 14.28571%
    }
    .medium-up-8>.cell {
        width: 12.5%
    }
}

@media print,
screen and (min-width: 64em) {
    .large-up-1>.cell {
        width: 100%
    }
    .large-up-2>.cell {
        width: 50%
    }
    .large-up-3>.cell {
        width: 33.33333%
    }
    .large-up-4>.cell {
        width: 25%
    }
    .large-up-5>.cell {
        width: 20%
    }
    .large-up-6>.cell {
        width: 16.66667%
    }
    .large-up-7>.cell {
        width: 14.28571%
    }
    .large-up-8>.cell {
        width: 12.5%
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-up-1>.cell {
        width: 100%
    }
    .xlarge-up-2>.cell {
        width: 50%
    }
    .xlarge-up-3>.cell {
        width: 33.33333%
    }
    .xlarge-up-4>.cell {
        width: 25%
    }
    .xlarge-up-5>.cell {
        width: 20%
    }
    .xlarge-up-6>.cell {
        width: 16.66667%
    }
    .xlarge-up-7>.cell {
        width: 14.28571%
    }
    .xlarge-up-8>.cell {
        width: 12.5%
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-up-1>.cell {
        width: 100%
    }
    .xxlarge-up-2>.cell {
        width: 50%
    }
    .xxlarge-up-3>.cell {
        width: 33.33333%
    }
    .xxlarge-up-4>.cell {
        width: 25%
    }
    .xxlarge-up-5>.cell {
        width: 20%
    }
    .xxlarge-up-6>.cell {
        width: 16.66667%
    }
    .xxlarge-up-7>.cell {
        width: 14.28571%
    }
    .xxlarge-up-8>.cell {
        width: 12.5%
    }
}

.grid-margin-x.small-up-1>.cell {
    width: calc(100% - 1.875rem)
}

.grid-margin-x.small-up-2>.cell {
    width: calc(50% - 1.875rem)
}

.grid-margin-x.small-up-3>.cell {
    width: calc(33.33333% - 1.875rem)
}

.grid-margin-x.small-up-4>.cell {
    width: calc(25% - 1.875rem)
}

.grid-margin-x.small-up-5>.cell {
    width: calc(20% - 1.875rem)
}

.grid-margin-x.small-up-6>.cell {
    width: calc(16.66667% - 1.875rem)
}

.grid-margin-x.small-up-7>.cell {
    width: calc(14.28571% - 1.875rem)
}

.grid-margin-x.small-up-8>.cell {
    width: calc(12.5% - 1.875rem)
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x.small-up-1>.cell {
        width: calc(100% - 1.875rem)
    }
    .grid-margin-x.small-up-2>.cell {
        width: calc(50% - 1.875rem)
    }
    .grid-margin-x.small-up-3>.cell {
        width: calc(33.33333% - 1.875rem)
    }
    .grid-margin-x.small-up-4>.cell {
        width: calc(25% - 1.875rem)
    }
    .grid-margin-x.small-up-5>.cell {
        width: calc(20% - 1.875rem)
    }
    .grid-margin-x.small-up-6>.cell {
        width: calc(16.66667% - 1.875rem)
    }
    .grid-margin-x.small-up-7>.cell {
        width: calc(14.28571% - 1.875rem)
    }
    .grid-margin-x.small-up-8>.cell {
        width: calc(12.5% - 1.875rem)
    }
    .grid-margin-x.medium-up-1>.cell {
        width: calc(100% - 3.75rem)
    }
    .grid-margin-x.medium-up-2>.cell {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x.medium-up-3>.cell {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x.medium-up-4>.cell {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x.medium-up-5>.cell {
        width: calc(20% - 3.75rem)
    }
    .grid-margin-x.medium-up-6>.cell {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x.medium-up-7>.cell {
        width: calc(14.28571% - 3.75rem)
    }
    .grid-margin-x.medium-up-8>.cell {
        width: calc(12.5% - 3.75rem)
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-x.large-up-1>.cell {
        width: calc(100% - 3.75rem)
    }
    .grid-margin-x.large-up-2>.cell {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x.large-up-3>.cell {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x.large-up-4>.cell {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x.large-up-5>.cell {
        width: calc(20% - 3.75rem)
    }
    .grid-margin-x.large-up-6>.cell {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x.large-up-7>.cell {
        width: calc(14.28571% - 3.75rem)
    }
    .grid-margin-x.large-up-8>.cell {
        width: calc(12.5% - 3.75rem)
    }
}

@media screen and (min-width: 87.5em) {
    .grid-margin-x.xlarge-up-1>.cell {
        width: calc(100% - 3.75rem)
    }
    .grid-margin-x.xlarge-up-2>.cell {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x.xlarge-up-3>.cell {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x.xlarge-up-4>.cell {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x.xlarge-up-5>.cell {
        width: calc(20% - 3.75rem)
    }
    .grid-margin-x.xlarge-up-6>.cell {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x.xlarge-up-7>.cell {
        width: calc(14.28571% - 3.75rem)
    }
    .grid-margin-x.xlarge-up-8>.cell {
        width: calc(12.5% - 3.75rem)
    }
}

@media screen and (min-width: 118.75em) {
    .grid-margin-x.xxlarge-up-1>.cell {
        width: calc(100% - 3.75rem)
    }
    .grid-margin-x.xxlarge-up-2>.cell {
        width: calc(50% - 3.75rem)
    }
    .grid-margin-x.xxlarge-up-3>.cell {
        width: calc(33.33333% - 3.75rem)
    }
    .grid-margin-x.xxlarge-up-4>.cell {
        width: calc(25% - 3.75rem)
    }
    .grid-margin-x.xxlarge-up-5>.cell {
        width: calc(20% - 3.75rem)
    }
    .grid-margin-x.xxlarge-up-6>.cell {
        width: calc(16.66667% - 3.75rem)
    }
    .grid-margin-x.xxlarge-up-7>.cell {
        width: calc(14.28571% - 3.75rem)
    }
    .grid-margin-x.xxlarge-up-8>.cell {
        width: calc(12.5% - 3.75rem)
    }
}

.small-margin-collapse {
    margin-right: 0;
    margin-left: 0
}

.small-margin-collapse>.cell {
    margin-right: 0;
    margin-left: 0
}

.small-margin-collapse>.small-1 {
    width: 8.33333%
}

.small-margin-collapse>.small-2 {
    width: 16.66667%
}

.small-margin-collapse>.small-3 {
    width: 25%
}

.small-margin-collapse>.small-4 {
    width: 33.33333%
}

.small-margin-collapse>.small-5 {
    width: 41.66667%
}

.small-margin-collapse>.small-6 {
    width: 50%
}

.small-margin-collapse>.small-7 {
    width: 58.33333%
}

.small-margin-collapse>.small-8 {
    width: 66.66667%
}

.small-margin-collapse>.small-9 {
    width: 75%
}

.small-margin-collapse>.small-10 {
    width: 83.33333%
}

.small-margin-collapse>.small-11 {
    width: 91.66667%
}

.small-margin-collapse>.small-12 {
    width: 100%
}

@media print,
screen and (min-width: 40em) {
    .small-margin-collapse>.medium-1 {
        width: 8.33333%
    }
    .small-margin-collapse>.medium-2 {
        width: 16.66667%
    }
    .small-margin-collapse>.medium-3 {
        width: 25%
    }
    .small-margin-collapse>.medium-4 {
        width: 33.33333%
    }
    .small-margin-collapse>.medium-5 {
        width: 41.66667%
    }
    .small-margin-collapse>.medium-6 {
        width: 50%
    }
    .small-margin-collapse>.medium-7 {
        width: 58.33333%
    }
    .small-margin-collapse>.medium-8 {
        width: 66.66667%
    }
    .small-margin-collapse>.medium-9 {
        width: 75%
    }
    .small-margin-collapse>.medium-10 {
        width: 83.33333%
    }
    .small-margin-collapse>.medium-11 {
        width: 91.66667%
    }
    .small-margin-collapse>.medium-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .small-margin-collapse>.large-1 {
        width: 8.33333%
    }
    .small-margin-collapse>.large-2 {
        width: 16.66667%
    }
    .small-margin-collapse>.large-3 {
        width: 25%
    }
    .small-margin-collapse>.large-4 {
        width: 33.33333%
    }
    .small-margin-collapse>.large-5 {
        width: 41.66667%
    }
    .small-margin-collapse>.large-6 {
        width: 50%
    }
    .small-margin-collapse>.large-7 {
        width: 58.33333%
    }
    .small-margin-collapse>.large-8 {
        width: 66.66667%
    }
    .small-margin-collapse>.large-9 {
        width: 75%
    }
    .small-margin-collapse>.large-10 {
        width: 83.33333%
    }
    .small-margin-collapse>.large-11 {
        width: 91.66667%
    }
    .small-margin-collapse>.large-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .small-margin-collapse>.xlarge-1 {
        width: 8.33333%
    }
    .small-margin-collapse>.xlarge-2 {
        width: 16.66667%
    }
    .small-margin-collapse>.xlarge-3 {
        width: 25%
    }
    .small-margin-collapse>.xlarge-4 {
        width: 33.33333%
    }
    .small-margin-collapse>.xlarge-5 {
        width: 41.66667%
    }
    .small-margin-collapse>.xlarge-6 {
        width: 50%
    }
    .small-margin-collapse>.xlarge-7 {
        width: 58.33333%
    }
    .small-margin-collapse>.xlarge-8 {
        width: 66.66667%
    }
    .small-margin-collapse>.xlarge-9 {
        width: 75%
    }
    .small-margin-collapse>.xlarge-10 {
        width: 83.33333%
    }
    .small-margin-collapse>.xlarge-11 {
        width: 91.66667%
    }
    .small-margin-collapse>.xlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .small-margin-collapse>.xxlarge-1 {
        width: 8.33333%
    }
    .small-margin-collapse>.xxlarge-2 {
        width: 16.66667%
    }
    .small-margin-collapse>.xxlarge-3 {
        width: 25%
    }
    .small-margin-collapse>.xxlarge-4 {
        width: 33.33333%
    }
    .small-margin-collapse>.xxlarge-5 {
        width: 41.66667%
    }
    .small-margin-collapse>.xxlarge-6 {
        width: 50%
    }
    .small-margin-collapse>.xxlarge-7 {
        width: 58.33333%
    }
    .small-margin-collapse>.xxlarge-8 {
        width: 66.66667%
    }
    .small-margin-collapse>.xxlarge-9 {
        width: 75%
    }
    .small-margin-collapse>.xxlarge-10 {
        width: 83.33333%
    }
    .small-margin-collapse>.xxlarge-11 {
        width: 91.66667%
    }
    .small-margin-collapse>.xxlarge-12 {
        width: 100%
    }
}

.small-padding-collapse {
    margin-right: 0;
    margin-left: 0
}

.small-padding-collapse>.cell {
    padding-right: 0;
    padding-left: 0
}

@media print,
screen and (min-width: 40em) {
    .medium-margin-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .medium-margin-collapse>.cell {
        margin-right: 0;
        margin-left: 0
    }
}

@media print,
screen and (min-width: 40em) {
    .medium-margin-collapse>.small-1 {
        width: 8.33333%
    }
    .medium-margin-collapse>.small-2 {
        width: 16.66667%
    }
    .medium-margin-collapse>.small-3 {
        width: 25%
    }
    .medium-margin-collapse>.small-4 {
        width: 33.33333%
    }
    .medium-margin-collapse>.small-5 {
        width: 41.66667%
    }
    .medium-margin-collapse>.small-6 {
        width: 50%
    }
    .medium-margin-collapse>.small-7 {
        width: 58.33333%
    }
    .medium-margin-collapse>.small-8 {
        width: 66.66667%
    }
    .medium-margin-collapse>.small-9 {
        width: 75%
    }
    .medium-margin-collapse>.small-10 {
        width: 83.33333%
    }
    .medium-margin-collapse>.small-11 {
        width: 91.66667%
    }
    .medium-margin-collapse>.small-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 40em) {
    .medium-margin-collapse>.medium-1 {
        width: 8.33333%
    }
    .medium-margin-collapse>.medium-2 {
        width: 16.66667%
    }
    .medium-margin-collapse>.medium-3 {
        width: 25%
    }
    .medium-margin-collapse>.medium-4 {
        width: 33.33333%
    }
    .medium-margin-collapse>.medium-5 {
        width: 41.66667%
    }
    .medium-margin-collapse>.medium-6 {
        width: 50%
    }
    .medium-margin-collapse>.medium-7 {
        width: 58.33333%
    }
    .medium-margin-collapse>.medium-8 {
        width: 66.66667%
    }
    .medium-margin-collapse>.medium-9 {
        width: 75%
    }
    .medium-margin-collapse>.medium-10 {
        width: 83.33333%
    }
    .medium-margin-collapse>.medium-11 {
        width: 91.66667%
    }
    .medium-margin-collapse>.medium-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .medium-margin-collapse>.large-1 {
        width: 8.33333%
    }
    .medium-margin-collapse>.large-2 {
        width: 16.66667%
    }
    .medium-margin-collapse>.large-3 {
        width: 25%
    }
    .medium-margin-collapse>.large-4 {
        width: 33.33333%
    }
    .medium-margin-collapse>.large-5 {
        width: 41.66667%
    }
    .medium-margin-collapse>.large-6 {
        width: 50%
    }
    .medium-margin-collapse>.large-7 {
        width: 58.33333%
    }
    .medium-margin-collapse>.large-8 {
        width: 66.66667%
    }
    .medium-margin-collapse>.large-9 {
        width: 75%
    }
    .medium-margin-collapse>.large-10 {
        width: 83.33333%
    }
    .medium-margin-collapse>.large-11 {
        width: 91.66667%
    }
    .medium-margin-collapse>.large-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .medium-margin-collapse>.xlarge-1 {
        width: 8.33333%
    }
    .medium-margin-collapse>.xlarge-2 {
        width: 16.66667%
    }
    .medium-margin-collapse>.xlarge-3 {
        width: 25%
    }
    .medium-margin-collapse>.xlarge-4 {
        width: 33.33333%
    }
    .medium-margin-collapse>.xlarge-5 {
        width: 41.66667%
    }
    .medium-margin-collapse>.xlarge-6 {
        width: 50%
    }
    .medium-margin-collapse>.xlarge-7 {
        width: 58.33333%
    }
    .medium-margin-collapse>.xlarge-8 {
        width: 66.66667%
    }
    .medium-margin-collapse>.xlarge-9 {
        width: 75%
    }
    .medium-margin-collapse>.xlarge-10 {
        width: 83.33333%
    }
    .medium-margin-collapse>.xlarge-11 {
        width: 91.66667%
    }
    .medium-margin-collapse>.xlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .medium-margin-collapse>.xxlarge-1 {
        width: 8.33333%
    }
    .medium-margin-collapse>.xxlarge-2 {
        width: 16.66667%
    }
    .medium-margin-collapse>.xxlarge-3 {
        width: 25%
    }
    .medium-margin-collapse>.xxlarge-4 {
        width: 33.33333%
    }
    .medium-margin-collapse>.xxlarge-5 {
        width: 41.66667%
    }
    .medium-margin-collapse>.xxlarge-6 {
        width: 50%
    }
    .medium-margin-collapse>.xxlarge-7 {
        width: 58.33333%
    }
    .medium-margin-collapse>.xxlarge-8 {
        width: 66.66667%
    }
    .medium-margin-collapse>.xxlarge-9 {
        width: 75%
    }
    .medium-margin-collapse>.xxlarge-10 {
        width: 83.33333%
    }
    .medium-margin-collapse>.xxlarge-11 {
        width: 91.66667%
    }
    .medium-margin-collapse>.xxlarge-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 40em) {
    .medium-padding-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .medium-padding-collapse>.cell {
        padding-right: 0;
        padding-left: 0
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .large-margin-collapse>.cell {
        margin-right: 0;
        margin-left: 0
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse>.small-1 {
        width: 8.33333%
    }
    .large-margin-collapse>.small-2 {
        width: 16.66667%
    }
    .large-margin-collapse>.small-3 {
        width: 25%
    }
    .large-margin-collapse>.small-4 {
        width: 33.33333%
    }
    .large-margin-collapse>.small-5 {
        width: 41.66667%
    }
    .large-margin-collapse>.small-6 {
        width: 50%
    }
    .large-margin-collapse>.small-7 {
        width: 58.33333%
    }
    .large-margin-collapse>.small-8 {
        width: 66.66667%
    }
    .large-margin-collapse>.small-9 {
        width: 75%
    }
    .large-margin-collapse>.small-10 {
        width: 83.33333%
    }
    .large-margin-collapse>.small-11 {
        width: 91.66667%
    }
    .large-margin-collapse>.small-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse>.medium-1 {
        width: 8.33333%
    }
    .large-margin-collapse>.medium-2 {
        width: 16.66667%
    }
    .large-margin-collapse>.medium-3 {
        width: 25%
    }
    .large-margin-collapse>.medium-4 {
        width: 33.33333%
    }
    .large-margin-collapse>.medium-5 {
        width: 41.66667%
    }
    .large-margin-collapse>.medium-6 {
        width: 50%
    }
    .large-margin-collapse>.medium-7 {
        width: 58.33333%
    }
    .large-margin-collapse>.medium-8 {
        width: 66.66667%
    }
    .large-margin-collapse>.medium-9 {
        width: 75%
    }
    .large-margin-collapse>.medium-10 {
        width: 83.33333%
    }
    .large-margin-collapse>.medium-11 {
        width: 91.66667%
    }
    .large-margin-collapse>.medium-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse>.large-1 {
        width: 8.33333%
    }
    .large-margin-collapse>.large-2 {
        width: 16.66667%
    }
    .large-margin-collapse>.large-3 {
        width: 25%
    }
    .large-margin-collapse>.large-4 {
        width: 33.33333%
    }
    .large-margin-collapse>.large-5 {
        width: 41.66667%
    }
    .large-margin-collapse>.large-6 {
        width: 50%
    }
    .large-margin-collapse>.large-7 {
        width: 58.33333%
    }
    .large-margin-collapse>.large-8 {
        width: 66.66667%
    }
    .large-margin-collapse>.large-9 {
        width: 75%
    }
    .large-margin-collapse>.large-10 {
        width: 83.33333%
    }
    .large-margin-collapse>.large-11 {
        width: 91.66667%
    }
    .large-margin-collapse>.large-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .large-margin-collapse>.xlarge-1 {
        width: 8.33333%
    }
    .large-margin-collapse>.xlarge-2 {
        width: 16.66667%
    }
    .large-margin-collapse>.xlarge-3 {
        width: 25%
    }
    .large-margin-collapse>.xlarge-4 {
        width: 33.33333%
    }
    .large-margin-collapse>.xlarge-5 {
        width: 41.66667%
    }
    .large-margin-collapse>.xlarge-6 {
        width: 50%
    }
    .large-margin-collapse>.xlarge-7 {
        width: 58.33333%
    }
    .large-margin-collapse>.xlarge-8 {
        width: 66.66667%
    }
    .large-margin-collapse>.xlarge-9 {
        width: 75%
    }
    .large-margin-collapse>.xlarge-10 {
        width: 83.33333%
    }
    .large-margin-collapse>.xlarge-11 {
        width: 91.66667%
    }
    .large-margin-collapse>.xlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .large-margin-collapse>.xxlarge-1 {
        width: 8.33333%
    }
    .large-margin-collapse>.xxlarge-2 {
        width: 16.66667%
    }
    .large-margin-collapse>.xxlarge-3 {
        width: 25%
    }
    .large-margin-collapse>.xxlarge-4 {
        width: 33.33333%
    }
    .large-margin-collapse>.xxlarge-5 {
        width: 41.66667%
    }
    .large-margin-collapse>.xxlarge-6 {
        width: 50%
    }
    .large-margin-collapse>.xxlarge-7 {
        width: 58.33333%
    }
    .large-margin-collapse>.xxlarge-8 {
        width: 66.66667%
    }
    .large-margin-collapse>.xxlarge-9 {
        width: 75%
    }
    .large-margin-collapse>.xxlarge-10 {
        width: 83.33333%
    }
    .large-margin-collapse>.xxlarge-11 {
        width: 91.66667%
    }
    .large-margin-collapse>.xxlarge-12 {
        width: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .large-padding-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .large-padding-collapse>.cell {
        padding-right: 0;
        padding-left: 0
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-margin-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .xlarge-margin-collapse>.cell {
        margin-right: 0;
        margin-left: 0
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-margin-collapse>.small-1 {
        width: 8.33333%
    }
    .xlarge-margin-collapse>.small-2 {
        width: 16.66667%
    }
    .xlarge-margin-collapse>.small-3 {
        width: 25%
    }
    .xlarge-margin-collapse>.small-4 {
        width: 33.33333%
    }
    .xlarge-margin-collapse>.small-5 {
        width: 41.66667%
    }
    .xlarge-margin-collapse>.small-6 {
        width: 50%
    }
    .xlarge-margin-collapse>.small-7 {
        width: 58.33333%
    }
    .xlarge-margin-collapse>.small-8 {
        width: 66.66667%
    }
    .xlarge-margin-collapse>.small-9 {
        width: 75%
    }
    .xlarge-margin-collapse>.small-10 {
        width: 83.33333%
    }
    .xlarge-margin-collapse>.small-11 {
        width: 91.66667%
    }
    .xlarge-margin-collapse>.small-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-margin-collapse>.medium-1 {
        width: 8.33333%
    }
    .xlarge-margin-collapse>.medium-2 {
        width: 16.66667%
    }
    .xlarge-margin-collapse>.medium-3 {
        width: 25%
    }
    .xlarge-margin-collapse>.medium-4 {
        width: 33.33333%
    }
    .xlarge-margin-collapse>.medium-5 {
        width: 41.66667%
    }
    .xlarge-margin-collapse>.medium-6 {
        width: 50%
    }
    .xlarge-margin-collapse>.medium-7 {
        width: 58.33333%
    }
    .xlarge-margin-collapse>.medium-8 {
        width: 66.66667%
    }
    .xlarge-margin-collapse>.medium-9 {
        width: 75%
    }
    .xlarge-margin-collapse>.medium-10 {
        width: 83.33333%
    }
    .xlarge-margin-collapse>.medium-11 {
        width: 91.66667%
    }
    .xlarge-margin-collapse>.medium-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-margin-collapse>.large-1 {
        width: 8.33333%
    }
    .xlarge-margin-collapse>.large-2 {
        width: 16.66667%
    }
    .xlarge-margin-collapse>.large-3 {
        width: 25%
    }
    .xlarge-margin-collapse>.large-4 {
        width: 33.33333%
    }
    .xlarge-margin-collapse>.large-5 {
        width: 41.66667%
    }
    .xlarge-margin-collapse>.large-6 {
        width: 50%
    }
    .xlarge-margin-collapse>.large-7 {
        width: 58.33333%
    }
    .xlarge-margin-collapse>.large-8 {
        width: 66.66667%
    }
    .xlarge-margin-collapse>.large-9 {
        width: 75%
    }
    .xlarge-margin-collapse>.large-10 {
        width: 83.33333%
    }
    .xlarge-margin-collapse>.large-11 {
        width: 91.66667%
    }
    .xlarge-margin-collapse>.large-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-margin-collapse>.xlarge-1 {
        width: 8.33333%
    }
    .xlarge-margin-collapse>.xlarge-2 {
        width: 16.66667%
    }
    .xlarge-margin-collapse>.xlarge-3 {
        width: 25%
    }
    .xlarge-margin-collapse>.xlarge-4 {
        width: 33.33333%
    }
    .xlarge-margin-collapse>.xlarge-5 {
        width: 41.66667%
    }
    .xlarge-margin-collapse>.xlarge-6 {
        width: 50%
    }
    .xlarge-margin-collapse>.xlarge-7 {
        width: 58.33333%
    }
    .xlarge-margin-collapse>.xlarge-8 {
        width: 66.66667%
    }
    .xlarge-margin-collapse>.xlarge-9 {
        width: 75%
    }
    .xlarge-margin-collapse>.xlarge-10 {
        width: 83.33333%
    }
    .xlarge-margin-collapse>.xlarge-11 {
        width: 91.66667%
    }
    .xlarge-margin-collapse>.xlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .xlarge-margin-collapse>.xxlarge-1 {
        width: 8.33333%
    }
    .xlarge-margin-collapse>.xxlarge-2 {
        width: 16.66667%
    }
    .xlarge-margin-collapse>.xxlarge-3 {
        width: 25%
    }
    .xlarge-margin-collapse>.xxlarge-4 {
        width: 33.33333%
    }
    .xlarge-margin-collapse>.xxlarge-5 {
        width: 41.66667%
    }
    .xlarge-margin-collapse>.xxlarge-6 {
        width: 50%
    }
    .xlarge-margin-collapse>.xxlarge-7 {
        width: 58.33333%
    }
    .xlarge-margin-collapse>.xxlarge-8 {
        width: 66.66667%
    }
    .xlarge-margin-collapse>.xxlarge-9 {
        width: 75%
    }
    .xlarge-margin-collapse>.xxlarge-10 {
        width: 83.33333%
    }
    .xlarge-margin-collapse>.xxlarge-11 {
        width: 91.66667%
    }
    .xlarge-margin-collapse>.xxlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-padding-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .xlarge-padding-collapse>.cell {
        padding-right: 0;
        padding-left: 0
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-margin-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .xxlarge-margin-collapse>.cell {
        margin-right: 0;
        margin-left: 0
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-margin-collapse>.small-1 {
        width: 8.33333%
    }
    .xxlarge-margin-collapse>.small-2 {
        width: 16.66667%
    }
    .xxlarge-margin-collapse>.small-3 {
        width: 25%
    }
    .xxlarge-margin-collapse>.small-4 {
        width: 33.33333%
    }
    .xxlarge-margin-collapse>.small-5 {
        width: 41.66667%
    }
    .xxlarge-margin-collapse>.small-6 {
        width: 50%
    }
    .xxlarge-margin-collapse>.small-7 {
        width: 58.33333%
    }
    .xxlarge-margin-collapse>.small-8 {
        width: 66.66667%
    }
    .xxlarge-margin-collapse>.small-9 {
        width: 75%
    }
    .xxlarge-margin-collapse>.small-10 {
        width: 83.33333%
    }
    .xxlarge-margin-collapse>.small-11 {
        width: 91.66667%
    }
    .xxlarge-margin-collapse>.small-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-margin-collapse>.medium-1 {
        width: 8.33333%
    }
    .xxlarge-margin-collapse>.medium-2 {
        width: 16.66667%
    }
    .xxlarge-margin-collapse>.medium-3 {
        width: 25%
    }
    .xxlarge-margin-collapse>.medium-4 {
        width: 33.33333%
    }
    .xxlarge-margin-collapse>.medium-5 {
        width: 41.66667%
    }
    .xxlarge-margin-collapse>.medium-6 {
        width: 50%
    }
    .xxlarge-margin-collapse>.medium-7 {
        width: 58.33333%
    }
    .xxlarge-margin-collapse>.medium-8 {
        width: 66.66667%
    }
    .xxlarge-margin-collapse>.medium-9 {
        width: 75%
    }
    .xxlarge-margin-collapse>.medium-10 {
        width: 83.33333%
    }
    .xxlarge-margin-collapse>.medium-11 {
        width: 91.66667%
    }
    .xxlarge-margin-collapse>.medium-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-margin-collapse>.large-1 {
        width: 8.33333%
    }
    .xxlarge-margin-collapse>.large-2 {
        width: 16.66667%
    }
    .xxlarge-margin-collapse>.large-3 {
        width: 25%
    }
    .xxlarge-margin-collapse>.large-4 {
        width: 33.33333%
    }
    .xxlarge-margin-collapse>.large-5 {
        width: 41.66667%
    }
    .xxlarge-margin-collapse>.large-6 {
        width: 50%
    }
    .xxlarge-margin-collapse>.large-7 {
        width: 58.33333%
    }
    .xxlarge-margin-collapse>.large-8 {
        width: 66.66667%
    }
    .xxlarge-margin-collapse>.large-9 {
        width: 75%
    }
    .xxlarge-margin-collapse>.large-10 {
        width: 83.33333%
    }
    .xxlarge-margin-collapse>.large-11 {
        width: 91.66667%
    }
    .xxlarge-margin-collapse>.large-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-margin-collapse>.xlarge-1 {
        width: 8.33333%
    }
    .xxlarge-margin-collapse>.xlarge-2 {
        width: 16.66667%
    }
    .xxlarge-margin-collapse>.xlarge-3 {
        width: 25%
    }
    .xxlarge-margin-collapse>.xlarge-4 {
        width: 33.33333%
    }
    .xxlarge-margin-collapse>.xlarge-5 {
        width: 41.66667%
    }
    .xxlarge-margin-collapse>.xlarge-6 {
        width: 50%
    }
    .xxlarge-margin-collapse>.xlarge-7 {
        width: 58.33333%
    }
    .xxlarge-margin-collapse>.xlarge-8 {
        width: 66.66667%
    }
    .xxlarge-margin-collapse>.xlarge-9 {
        width: 75%
    }
    .xxlarge-margin-collapse>.xlarge-10 {
        width: 83.33333%
    }
    .xxlarge-margin-collapse>.xlarge-11 {
        width: 91.66667%
    }
    .xxlarge-margin-collapse>.xlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-margin-collapse>.xxlarge-1 {
        width: 8.33333%
    }
    .xxlarge-margin-collapse>.xxlarge-2 {
        width: 16.66667%
    }
    .xxlarge-margin-collapse>.xxlarge-3 {
        width: 25%
    }
    .xxlarge-margin-collapse>.xxlarge-4 {
        width: 33.33333%
    }
    .xxlarge-margin-collapse>.xxlarge-5 {
        width: 41.66667%
    }
    .xxlarge-margin-collapse>.xxlarge-6 {
        width: 50%
    }
    .xxlarge-margin-collapse>.xxlarge-7 {
        width: 58.33333%
    }
    .xxlarge-margin-collapse>.xxlarge-8 {
        width: 66.66667%
    }
    .xxlarge-margin-collapse>.xxlarge-9 {
        width: 75%
    }
    .xxlarge-margin-collapse>.xxlarge-10 {
        width: 83.33333%
    }
    .xxlarge-margin-collapse>.xxlarge-11 {
        width: 91.66667%
    }
    .xxlarge-margin-collapse>.xxlarge-12 {
        width: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-padding-collapse {
        margin-right: 0;
        margin-left: 0
    }
    .xxlarge-padding-collapse>.cell {
        padding-right: 0;
        padding-left: 0
    }
}

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

.grid-margin-x>.small-offset-0 {
    margin-left: calc(0% + .9375rem)
}

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

.grid-margin-x>.small-offset-1 {
    margin-left: calc(8.33333% + .9375rem)
}

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

.grid-margin-x>.small-offset-2 {
    margin-left: calc(16.66667% + .9375rem)
}

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

.grid-margin-x>.small-offset-3 {
    margin-left: calc(25% + .9375rem)
}

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

.grid-margin-x>.small-offset-4 {
    margin-left: calc(33.33333% + .9375rem)
}

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

.grid-margin-x>.small-offset-5 {
    margin-left: calc(41.66667% + .9375rem)
}

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

.grid-margin-x>.small-offset-6 {
    margin-left: calc(50% + .9375rem)
}

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

.grid-margin-x>.small-offset-7 {
    margin-left: calc(58.33333% + .9375rem)
}

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

.grid-margin-x>.small-offset-8 {
    margin-left: calc(66.66667% + .9375rem)
}

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

.grid-margin-x>.small-offset-9 {
    margin-left: calc(75% + .9375rem)
}

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

.grid-margin-x>.small-offset-10 {
    margin-left: calc(83.33333% + .9375rem)
}

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

.grid-margin-x>.small-offset-11 {
    margin-left: calc(91.66667% + .9375rem)
}

@media print,
screen and (min-width: 40em) {
    .medium-offset-0 {
        margin-left: 0%
    }
    .grid-margin-x>.medium-offset-0 {
        margin-left: calc(0% + 1.875rem)
    }
    .medium-offset-1 {
        margin-left: 8.33333%
    }
    .grid-margin-x>.medium-offset-1 {
        margin-left: calc(8.33333% + 1.875rem)
    }
    .medium-offset-2 {
        margin-left: 16.66667%
    }
    .grid-margin-x>.medium-offset-2 {
        margin-left: calc(16.66667% + 1.875rem)
    }
    .medium-offset-3 {
        margin-left: 25%
    }
    .grid-margin-x>.medium-offset-3 {
        margin-left: calc(25% + 1.875rem)
    }
    .medium-offset-4 {
        margin-left: 33.33333%
    }
    .grid-margin-x>.medium-offset-4 {
        margin-left: calc(33.33333% + 1.875rem)
    }
    .medium-offset-5 {
        margin-left: 41.66667%
    }
    .grid-margin-x>.medium-offset-5 {
        margin-left: calc(41.66667% + 1.875rem)
    }
    .medium-offset-6 {
        margin-left: 50%
    }
    .grid-margin-x>.medium-offset-6 {
        margin-left: calc(50% + 1.875rem)
    }
    .medium-offset-7 {
        margin-left: 58.33333%
    }
    .grid-margin-x>.medium-offset-7 {
        margin-left: calc(58.33333% + 1.875rem)
    }
    .medium-offset-8 {
        margin-left: 66.66667%
    }
    .grid-margin-x>.medium-offset-8 {
        margin-left: calc(66.66667% + 1.875rem)
    }
    .medium-offset-9 {
        margin-left: 75%
    }
    .grid-margin-x>.medium-offset-9 {
        margin-left: calc(75% + 1.875rem)
    }
    .medium-offset-10 {
        margin-left: 83.33333%
    }
    .grid-margin-x>.medium-offset-10 {
        margin-left: calc(83.33333% + 1.875rem)
    }
    .medium-offset-11 {
        margin-left: 91.66667%
    }
    .grid-margin-x>.medium-offset-11 {
        margin-left: calc(91.66667% + 1.875rem)
    }
}

@media print,
screen and (min-width: 64em) {
    .large-offset-0 {
        margin-left: 0%
    }
    .grid-margin-x>.large-offset-0 {
        margin-left: calc(0% + 1.875rem)
    }
    .large-offset-1 {
        margin-left: 8.33333%
    }
    .grid-margin-x>.large-offset-1 {
        margin-left: calc(8.33333% + 1.875rem)
    }
    .large-offset-2 {
        margin-left: 16.66667%
    }
    .grid-margin-x>.large-offset-2 {
        margin-left: calc(16.66667% + 1.875rem)
    }
    .large-offset-3 {
        margin-left: 25%
    }
    .grid-margin-x>.large-offset-3 {
        margin-left: calc(25% + 1.875rem)
    }
    .large-offset-4 {
        margin-left: 33.33333%
    }
    .grid-margin-x>.large-offset-4 {
        margin-left: calc(33.33333% + 1.875rem)
    }
    .large-offset-5 {
        margin-left: 41.66667%
    }
    .grid-margin-x>.large-offset-5 {
        margin-left: calc(41.66667% + 1.875rem)
    }
    .large-offset-6 {
        margin-left: 50%
    }
    .grid-margin-x>.large-offset-6 {
        margin-left: calc(50% + 1.875rem)
    }
    .large-offset-7 {
        margin-left: 58.33333%
    }
    .grid-margin-x>.large-offset-7 {
        margin-left: calc(58.33333% + 1.875rem)
    }
    .large-offset-8 {
        margin-left: 66.66667%
    }
    .grid-margin-x>.large-offset-8 {
        margin-left: calc(66.66667% + 1.875rem)
    }
    .large-offset-9 {
        margin-left: 75%
    }
    .grid-margin-x>.large-offset-9 {
        margin-left: calc(75% + 1.875rem)
    }
    .large-offset-10 {
        margin-left: 83.33333%
    }
    .grid-margin-x>.large-offset-10 {
        margin-left: calc(83.33333% + 1.875rem)
    }
    .large-offset-11 {
        margin-left: 91.66667%
    }
    .grid-margin-x>.large-offset-11 {
        margin-left: calc(91.66667% + 1.875rem)
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-offset-0 {
        margin-left: 0%
    }
    .grid-margin-x>.xlarge-offset-0 {
        margin-left: calc(0% + 1.875rem)
    }
    .xlarge-offset-1 {
        margin-left: 8.33333%
    }
    .grid-margin-x>.xlarge-offset-1 {
        margin-left: calc(8.33333% + 1.875rem)
    }
    .xlarge-offset-2 {
        margin-left: 16.66667%
    }
    .grid-margin-x>.xlarge-offset-2 {
        margin-left: calc(16.66667% + 1.875rem)
    }
    .xlarge-offset-3 {
        margin-left: 25%
    }
    .grid-margin-x>.xlarge-offset-3 {
        margin-left: calc(25% + 1.875rem)
    }
    .xlarge-offset-4 {
        margin-left: 33.33333%
    }
    .grid-margin-x>.xlarge-offset-4 {
        margin-left: calc(33.33333% + 1.875rem)
    }
    .xlarge-offset-5 {
        margin-left: 41.66667%
    }
    .grid-margin-x>.xlarge-offset-5 {
        margin-left: calc(41.66667% + 1.875rem)
    }
    .xlarge-offset-6 {
        margin-left: 50%
    }
    .grid-margin-x>.xlarge-offset-6 {
        margin-left: calc(50% + 1.875rem)
    }
    .xlarge-offset-7 {
        margin-left: 58.33333%
    }
    .grid-margin-x>.xlarge-offset-7 {
        margin-left: calc(58.33333% + 1.875rem)
    }
    .xlarge-offset-8 {
        margin-left: 66.66667%
    }
    .grid-margin-x>.xlarge-offset-8 {
        margin-left: calc(66.66667% + 1.875rem)
    }
    .xlarge-offset-9 {
        margin-left: 75%
    }
    .grid-margin-x>.xlarge-offset-9 {
        margin-left: calc(75% + 1.875rem)
    }
    .xlarge-offset-10 {
        margin-left: 83.33333%
    }
    .grid-margin-x>.xlarge-offset-10 {
        margin-left: calc(83.33333% + 1.875rem)
    }
    .xlarge-offset-11 {
        margin-left: 91.66667%
    }
    .grid-margin-x>.xlarge-offset-11 {
        margin-left: calc(91.66667% + 1.875rem)
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-offset-0 {
        margin-left: 0%
    }
    .grid-margin-x>.xxlarge-offset-0 {
        margin-left: calc(0% + 1.875rem)
    }
    .xxlarge-offset-1 {
        margin-left: 8.33333%
    }
    .grid-margin-x>.xxlarge-offset-1 {
        margin-left: calc(8.33333% + 1.875rem)
    }
    .xxlarge-offset-2 {
        margin-left: 16.66667%
    }
    .grid-margin-x>.xxlarge-offset-2 {
        margin-left: calc(16.66667% + 1.875rem)
    }
    .xxlarge-offset-3 {
        margin-left: 25%
    }
    .grid-margin-x>.xxlarge-offset-3 {
        margin-left: calc(25% + 1.875rem)
    }
    .xxlarge-offset-4 {
        margin-left: 33.33333%
    }
    .grid-margin-x>.xxlarge-offset-4 {
        margin-left: calc(33.33333% + 1.875rem)
    }
    .xxlarge-offset-5 {
        margin-left: 41.66667%
    }
    .grid-margin-x>.xxlarge-offset-5 {
        margin-left: calc(41.66667% + 1.875rem)
    }
    .xxlarge-offset-6 {
        margin-left: 50%
    }
    .grid-margin-x>.xxlarge-offset-6 {
        margin-left: calc(50% + 1.875rem)
    }
    .xxlarge-offset-7 {
        margin-left: 58.33333%
    }
    .grid-margin-x>.xxlarge-offset-7 {
        margin-left: calc(58.33333% + 1.875rem)
    }
    .xxlarge-offset-8 {
        margin-left: 66.66667%
    }
    .grid-margin-x>.xxlarge-offset-8 {
        margin-left: calc(66.66667% + 1.875rem)
    }
    .xxlarge-offset-9 {
        margin-left: 75%
    }
    .grid-margin-x>.xxlarge-offset-9 {
        margin-left: calc(75% + 1.875rem)
    }
    .xxlarge-offset-10 {
        margin-left: 83.33333%
    }
    .grid-margin-x>.xxlarge-offset-10 {
        margin-left: calc(83.33333% + 1.875rem)
    }
    .xxlarge-offset-11 {
        margin-left: 91.66667%
    }
    .grid-margin-x>.xxlarge-offset-11 {
        margin-left: calc(91.66667% + 1.875rem)
    }
}

.grid-y {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap
}

.grid-y>.cell {
    width: auto
}

.grid-y>.auto {
    height: auto
}

.grid-y>.shrink {
    height: auto
}

.grid-y>.small-shrink,
.grid-y>.small-full,
.grid-y>.small-1,
.grid-y>.small-2,
.grid-y>.small-3,
.grid-y>.small-4,
.grid-y>.small-5,
.grid-y>.small-6,
.grid-y>.small-7,
.grid-y>.small-8,
.grid-y>.small-9,
.grid-y>.small-10,
.grid-y>.small-11,
.grid-y>.small-12 {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto
}

@media print,
screen and (min-width: 40em) {
    .grid-y>.medium-shrink,
    .grid-y>.medium-full,
    .grid-y>.medium-1,
    .grid-y>.medium-2,
    .grid-y>.medium-3,
    .grid-y>.medium-4,
    .grid-y>.medium-5,
    .grid-y>.medium-6,
    .grid-y>.medium-7,
    .grid-y>.medium-8,
    .grid-y>.medium-9,
    .grid-y>.medium-10,
    .grid-y>.medium-11,
    .grid-y>.medium-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-y>.large-shrink,
    .grid-y>.large-full,
    .grid-y>.large-1,
    .grid-y>.large-2,
    .grid-y>.large-3,
    .grid-y>.large-4,
    .grid-y>.large-5,
    .grid-y>.large-6,
    .grid-y>.large-7,
    .grid-y>.large-8,
    .grid-y>.large-9,
    .grid-y>.large-10,
    .grid-y>.large-11,
    .grid-y>.large-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

@media screen and (min-width: 87.5em) {
    .grid-y>.xlarge-shrink,
    .grid-y>.xlarge-full,
    .grid-y>.xlarge-1,
    .grid-y>.xlarge-2,
    .grid-y>.xlarge-3,
    .grid-y>.xlarge-4,
    .grid-y>.xlarge-5,
    .grid-y>.xlarge-6,
    .grid-y>.xlarge-7,
    .grid-y>.xlarge-8,
    .grid-y>.xlarge-9,
    .grid-y>.xlarge-10,
    .grid-y>.xlarge-11,
    .grid-y>.xlarge-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

@media screen and (min-width: 118.75em) {
    .grid-y>.xxlarge-shrink,
    .grid-y>.xxlarge-full,
    .grid-y>.xxlarge-1,
    .grid-y>.xxlarge-2,
    .grid-y>.xxlarge-3,
    .grid-y>.xxlarge-4,
    .grid-y>.xxlarge-5,
    .grid-y>.xxlarge-6,
    .grid-y>.xxlarge-7,
    .grid-y>.xxlarge-8,
    .grid-y>.xxlarge-9,
    .grid-y>.xxlarge-10,
    .grid-y>.xxlarge-11,
    .grid-y>.xxlarge-12 {
        -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }
}

.grid-y>.small-1 {
    height: 8.33333%
}

.grid-y>.small-2 {
    height: 16.66667%
}

.grid-y>.small-3 {
    height: 25%
}

.grid-y>.small-4 {
    height: 33.33333%
}

.grid-y>.small-5 {
    height: 41.66667%
}

.grid-y>.small-6 {
    height: 50%
}

.grid-y>.small-7 {
    height: 58.33333%
}

.grid-y>.small-8 {
    height: 66.66667%
}

.grid-y>.small-9 {
    height: 75%
}

.grid-y>.small-10 {
    height: 83.33333%
}

.grid-y>.small-11 {
    height: 91.66667%
}

.grid-y>.small-12 {
    height: 100%
}

@media print,
screen and (min-width: 40em) {
    .grid-y>.medium-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        height: auto
    }
    .grid-y>.medium-shrink {
        height: auto
    }
    .grid-y>.medium-1 {
        height: 8.33333%
    }
    .grid-y>.medium-2 {
        height: 16.66667%
    }
    .grid-y>.medium-3 {
        height: 25%
    }
    .grid-y>.medium-4 {
        height: 33.33333%
    }
    .grid-y>.medium-5 {
        height: 41.66667%
    }
    .grid-y>.medium-6 {
        height: 50%
    }
    .grid-y>.medium-7 {
        height: 58.33333%
    }
    .grid-y>.medium-8 {
        height: 66.66667%
    }
    .grid-y>.medium-9 {
        height: 75%
    }
    .grid-y>.medium-10 {
        height: 83.33333%
    }
    .grid-y>.medium-11 {
        height: 91.66667%
    }
    .grid-y>.medium-12 {
        height: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-y>.large-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        height: auto
    }
    .grid-y>.large-shrink {
        height: auto
    }
    .grid-y>.large-1 {
        height: 8.33333%
    }
    .grid-y>.large-2 {
        height: 16.66667%
    }
    .grid-y>.large-3 {
        height: 25%
    }
    .grid-y>.large-4 {
        height: 33.33333%
    }
    .grid-y>.large-5 {
        height: 41.66667%
    }
    .grid-y>.large-6 {
        height: 50%
    }
    .grid-y>.large-7 {
        height: 58.33333%
    }
    .grid-y>.large-8 {
        height: 66.66667%
    }
    .grid-y>.large-9 {
        height: 75%
    }
    .grid-y>.large-10 {
        height: 83.33333%
    }
    .grid-y>.large-11 {
        height: 91.66667%
    }
    .grid-y>.large-12 {
        height: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .grid-y>.xlarge-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        height: auto
    }
    .grid-y>.xlarge-shrink {
        height: auto
    }
    .grid-y>.xlarge-1 {
        height: 8.33333%
    }
    .grid-y>.xlarge-2 {
        height: 16.66667%
    }
    .grid-y>.xlarge-3 {
        height: 25%
    }
    .grid-y>.xlarge-4 {
        height: 33.33333%
    }
    .grid-y>.xlarge-5 {
        height: 41.66667%
    }
    .grid-y>.xlarge-6 {
        height: 50%
    }
    .grid-y>.xlarge-7 {
        height: 58.33333%
    }
    .grid-y>.xlarge-8 {
        height: 66.66667%
    }
    .grid-y>.xlarge-9 {
        height: 75%
    }
    .grid-y>.xlarge-10 {
        height: 83.33333%
    }
    .grid-y>.xlarge-11 {
        height: 91.66667%
    }
    .grid-y>.xlarge-12 {
        height: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .grid-y>.xxlarge-auto {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        height: auto
    }
    .grid-y>.xxlarge-shrink {
        height: auto
    }
    .grid-y>.xxlarge-1 {
        height: 8.33333%
    }
    .grid-y>.xxlarge-2 {
        height: 16.66667%
    }
    .grid-y>.xxlarge-3 {
        height: 25%
    }
    .grid-y>.xxlarge-4 {
        height: 33.33333%
    }
    .grid-y>.xxlarge-5 {
        height: 41.66667%
    }
    .grid-y>.xxlarge-6 {
        height: 50%
    }
    .grid-y>.xxlarge-7 {
        height: 58.33333%
    }
    .grid-y>.xxlarge-8 {
        height: 66.66667%
    }
    .grid-y>.xxlarge-9 {
        height: 75%
    }
    .grid-y>.xxlarge-10 {
        height: 83.33333%
    }
    .grid-y>.xxlarge-11 {
        height: 91.66667%
    }
    .grid-y>.xxlarge-12 {
        height: 100%
    }
}

.grid-padding-y .grid-padding-y {
    margin-top: -.9375rem;
    margin-bottom: -.9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
        margin-top: -1.875rem;
        margin-bottom: -1.875rem
    }
}

.grid-padding-y>.cell {
    padding-top: .9375rem;
    padding-bottom: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-y>.cell {
        padding-top: 1.875rem;
        padding-bottom: 1.875rem
    }
}

.grid-margin-y {
    margin-top: -.9375rem;
    margin-bottom: -.9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y {
        margin-top: -1.875rem;
        margin-bottom: -1.875rem
    }
}

.grid-margin-y>.cell {
    height: calc(100% - 1.875rem);
    margin-top: .9375rem;
    margin-bottom: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.cell {
        height: calc(100% - 3.75rem);
        margin-top: 1.875rem;
        margin-bottom: 1.875rem
    }
}

.grid-margin-y>.auto {
    height: auto
}

.grid-margin-y>.shrink {
    height: auto
}

.grid-margin-y>.small-1 {
    height: calc(8.33333% - 1.875rem)
}

.grid-margin-y>.small-2 {
    height: calc(16.66667% - 1.875rem)
}

.grid-margin-y>.small-3 {
    height: calc(25% - 1.875rem)
}

.grid-margin-y>.small-4 {
    height: calc(33.33333% - 1.875rem)
}

.grid-margin-y>.small-5 {
    height: calc(41.66667% - 1.875rem)
}

.grid-margin-y>.small-6 {
    height: calc(50% - 1.875rem)
}

.grid-margin-y>.small-7 {
    height: calc(58.33333% - 1.875rem)
}

.grid-margin-y>.small-8 {
    height: calc(66.66667% - 1.875rem)
}

.grid-margin-y>.small-9 {
    height: calc(75% - 1.875rem)
}

.grid-margin-y>.small-10 {
    height: calc(83.33333% - 1.875rem)
}

.grid-margin-y>.small-11 {
    height: calc(91.66667% - 1.875rem)
}

.grid-margin-y>.small-12 {
    height: calc(100% - 1.875rem)
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.auto {
        height: auto
    }
    .grid-margin-y>.shrink {
        height: auto
    }
    .grid-margin-y>.small-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.small-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.small-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.small-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.small-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.small-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.small-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.small-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.small-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.small-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.small-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.small-12 {
        height: calc(100% - 3.75rem)
    }
    .grid-margin-y>.medium-auto {
        height: auto
    }
    .grid-margin-y>.medium-shrink {
        height: auto
    }
    .grid-margin-y>.medium-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.medium-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.medium-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.medium-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-12 {
        height: calc(100% - 3.75rem)
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-y>.large-auto {
        height: auto
    }
    .grid-margin-y>.large-shrink {
        height: auto
    }
    .grid-margin-y>.large-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.large-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.large-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.large-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.large-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.large-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.large-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.large-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.large-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.large-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.large-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.large-12 {
        height: calc(100% - 3.75rem)
    }
}

@media screen and (min-width: 87.5em) {
    .grid-margin-y>.xlarge-auto {
        height: auto
    }
    .grid-margin-y>.xlarge-shrink {
        height: auto
    }
    .grid-margin-y>.xlarge-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.xlarge-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.xlarge-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.xlarge-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-12 {
        height: calc(100% - 3.75rem)
    }
}

@media screen and (min-width: 118.75em) {
    .grid-margin-y>.xxlarge-auto {
        height: auto
    }
    .grid-margin-y>.xxlarge-shrink {
        height: auto
    }
    .grid-margin-y>.xxlarge-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-12 {
        height: calc(100% - 3.75rem)
    }
}

.grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100vw
}

.cell .grid-frame {
    width: 100%
}

.cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar
}

.cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar
}

.cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 100%
}

.cell-block-container>.grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

@media print,
screen and (min-width: 40em) {
    .medium-grid-frame {
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100vw
    }
    .cell .medium-grid-frame {
        width: 100%
    }
    .medium-cell-block {
        overflow-x: auto;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
    .medium-cell-block-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        max-height: 100%
    }
    .medium-cell-block-container>.grid-x {
        max-height: 100%;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .medium-cell-block-y {
        overflow-y: auto;
        max-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
}

@media print,
screen and (min-width: 64em) {
    .large-grid-frame {
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100vw
    }
    .cell .large-grid-frame {
        width: 100%
    }
    .large-cell-block {
        overflow-x: auto;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
    .large-cell-block-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        max-height: 100%
    }
    .large-cell-block-container>.grid-x {
        max-height: 100%;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .large-cell-block-y {
        overflow-y: auto;
        max-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
}

@media screen and (min-width: 87.5em) {
    .xlarge-grid-frame {
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100vw
    }
    .cell .xlarge-grid-frame {
        width: 100%
    }
    .xlarge-cell-block {
        overflow-x: auto;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
    .xlarge-cell-block-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        max-height: 100%
    }
    .xlarge-cell-block-container>.grid-x {
        max-height: 100%;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .xlarge-cell-block-y {
        overflow-y: auto;
        max-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
}

@media screen and (min-width: 118.75em) {
    .xxlarge-grid-frame {
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100vw
    }
    .cell .xxlarge-grid-frame {
        width: 100%
    }
    .xxlarge-cell-block {
        overflow-x: auto;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
    .xxlarge-cell-block-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        max-height: 100%
    }
    .xxlarge-cell-block-container>.grid-x {
        max-height: 100%;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .xxlarge-cell-block-y {
        overflow-y: auto;
        max-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
}

.grid-y.grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: 100vh
}

@media print,
screen and (min-width: 40em) {
    .grid-y.medium-grid-frame {
        width: auto;
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        height: 100vh
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-y.large-grid-frame {
        width: auto;
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        height: 100vh
    }
}

@media screen and (min-width: 87.5em) {
    .grid-y.xlarge-grid-frame {
        width: auto;
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        height: 100vh
    }
}

@media screen and (min-width: 118.75em) {
    .grid-y.xxlarge-grid-frame {
        width: auto;
        overflow: hidden;
        position: relative;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        height: 100vh
    }
}

.cell .grid-y.grid-frame {
    height: 100%
}

@media print,
screen and (min-width: 40em) {
    .cell .grid-y.medium-grid-frame {
        height: 100%
    }
}

@media print,
screen and (min-width: 64em) {
    .cell .grid-y.large-grid-frame {
        height: 100%
    }
}

@media screen and (min-width: 87.5em) {
    .cell .grid-y.xlarge-grid-frame {
        height: 100%
    }
}

@media screen and (min-width: 118.75em) {
    .cell .grid-y.xxlarge-grid-frame {
        height: 100%
    }
}

.grid-margin-y {
    margin-top: -.9375rem;
    margin-bottom: -.9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y {
        margin-top: -1.875rem;
        margin-bottom: -1.875rem
    }
}

.grid-margin-y>.cell {
    height: calc(100% - 1.875rem);
    margin-top: .9375rem;
    margin-bottom: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.cell {
        height: calc(100% - 3.75rem);
        margin-top: 1.875rem;
        margin-bottom: 1.875rem
    }
}

.grid-margin-y>.auto {
    height: auto
}

.grid-margin-y>.shrink {
    height: auto
}

.grid-margin-y>.small-1 {
    height: calc(8.33333% - 1.875rem)
}

.grid-margin-y>.small-2 {
    height: calc(16.66667% - 1.875rem)
}

.grid-margin-y>.small-3 {
    height: calc(25% - 1.875rem)
}

.grid-margin-y>.small-4 {
    height: calc(33.33333% - 1.875rem)
}

.grid-margin-y>.small-5 {
    height: calc(41.66667% - 1.875rem)
}

.grid-margin-y>.small-6 {
    height: calc(50% - 1.875rem)
}

.grid-margin-y>.small-7 {
    height: calc(58.33333% - 1.875rem)
}

.grid-margin-y>.small-8 {
    height: calc(66.66667% - 1.875rem)
}

.grid-margin-y>.small-9 {
    height: calc(75% - 1.875rem)
}

.grid-margin-y>.small-10 {
    height: calc(83.33333% - 1.875rem)
}

.grid-margin-y>.small-11 {
    height: calc(91.66667% - 1.875rem)
}

.grid-margin-y>.small-12 {
    height: calc(100% - 1.875rem)
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.auto {
        height: auto
    }
    .grid-margin-y>.shrink {
        height: auto
    }
    .grid-margin-y>.small-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.small-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.small-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.small-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.small-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.small-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.small-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.small-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.small-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.small-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.small-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.small-12 {
        height: calc(100% - 3.75rem)
    }
    .grid-margin-y>.medium-auto {
        height: auto
    }
    .grid-margin-y>.medium-shrink {
        height: auto
    }
    .grid-margin-y>.medium-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.medium-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.medium-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.medium-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.medium-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.medium-12 {
        height: calc(100% - 3.75rem)
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-y>.large-auto {
        height: auto
    }
    .grid-margin-y>.large-shrink {
        height: auto
    }
    .grid-margin-y>.large-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.large-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.large-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.large-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.large-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.large-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.large-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.large-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.large-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.large-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.large-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.large-12 {
        height: calc(100% - 3.75rem)
    }
}

@media screen and (min-width: 87.5em) {
    .grid-margin-y>.xlarge-auto {
        height: auto
    }
    .grid-margin-y>.xlarge-shrink {
        height: auto
    }
    .grid-margin-y>.xlarge-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.xlarge-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.xlarge-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.xlarge-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.xlarge-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.xlarge-12 {
        height: calc(100% - 3.75rem)
    }
}

@media screen and (min-width: 118.75em) {
    .grid-margin-y>.xxlarge-auto {
        height: auto
    }
    .grid-margin-y>.xxlarge-shrink {
        height: auto
    }
    .grid-margin-y>.xxlarge-1 {
        height: calc(8.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-2 {
        height: calc(16.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-3 {
        height: calc(25% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-4 {
        height: calc(33.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-5 {
        height: calc(41.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-6 {
        height: calc(50% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-7 {
        height: calc(58.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-8 {
        height: calc(66.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-9 {
        height: calc(75% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-10 {
        height: calc(83.33333% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-11 {
        height: calc(91.66667% - 3.75rem)
    }
    .grid-margin-y>.xxlarge-12 {
        height: calc(100% - 3.75rem)
    }
}

.grid-frame.grid-margin-y {
    height: calc(100vh + 1.875rem)
}

@media print,
screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
        height: calc(100vh + 3.75rem)
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
        height: calc(100vh + 3.75rem)
    }
}

@media screen and (min-width: 87.5em) {
    .grid-frame.grid-margin-y {
        height: calc(100vh + 3.75rem)
    }
}

@media screen and (min-width: 118.75em) {
    .grid-frame.grid-margin-y {
        height: calc(100vh + 3.75rem)
    }
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y.medium-grid-frame {
        height: calc(100vh + 3.75rem)
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-y.large-grid-frame {
        height: calc(100vh + 3.75rem)
    }
}

@media screen and (min-width: 87.5em) {
    .grid-margin-y.xlarge-grid-frame {
        height: calc(100vh + 3.75rem)
    }
}

@media screen and (min-width: 118.75em) {
    .grid-margin-y.xxlarge-grid-frame {
        height: calc(100vh + 3.75rem)
    }
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0
}

p {
    margin-bottom: 1rem;
    font-size: inherit;
    line-height: 1.4;
    text-rendering: optimizeLegibility
}

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

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

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

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-style: normal;
    font-weight: 700;
    color: inherit;
    text-rendering: optimizeLegibility
}

h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small {
    line-height: 0;
    color: #eee
}

h1,
.h1 {
    font-size: 1.625rem;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 1.2rem
}

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

h3,
.h3 {
    font-size: 1.1875rem;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 1.2rem
}

h4,
.h4 {
    font-size: 1.125rem;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 1.2rem
}

h5,
.h5 {
    font-size: 1.0625rem;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 1.2rem
}

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

@media print,
screen and (min-width: 40em) {
    h1,
    .h1 {
        font-size: 3rem
    }
    h2,
    .h2 {
        font-size: 2.5rem
    }
    h3,
    .h3 {
        font-size: 1.9375rem
    }
    h4,
    .h4 {
        font-size: 1.5625rem
    }
    h5,
    .h5 {
        font-size: 1.25rem
    }
    h6,
    .h6 {
        font-size: 1rem
    }
}

a {
    line-height: inherit;
    color: #333;
    text-decoration: none;
    cursor: pointer
}

a:hover,
a:focus {
    color: #999
}

a img {
    border: 0
}

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

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

li {
    font-size: inherit
}

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

ol {
    margin-left: 1.25rem
}

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

dl {
    margin-bottom: 1rem
}

dl dt {
    margin-bottom: .3rem;
    font-weight: 600
}

blockquote {
    margin: 0 0 1rem;
    padding: 0;
    border-left: none
}

blockquote,
blockquote p {
    line-height: 1.4;
    color: #333
}

cite {
    display: block;
    font-size: .8125rem;
    color: #333
}

cite:before {
    content: "— "
}

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

figure {
    margin: 0
}

code {
    padding: .125rem .3125rem .0625rem;
    border: 1px solid #eee;
    background-color: #F6F6F6;
    font-family: Consolas, "Liberation Mono", Courier, monospace;
    font-weight: 400;
    color: #333
}

kbd {
    margin: 0;
    padding: .125rem .25rem 0;
    background-color: #F6F6F6;
    font-family: Consolas, "Liberation Mono", Courier, monospace;
    color: #333
}

.subheader {
    margin-top: .2rem;
    margin-bottom: .5rem;
    font-weight: 400;
    line-height: 1.4;
    color: #ddd
}

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

.stat {
    font-size: 2.5rem;
    line-height: 1
}

p+.stat {
    margin-top: -1rem
}

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

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-center {
    text-align: center
}

.text-justify {
    text-align: justify
}

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

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

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

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

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

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

.button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 12px 24px;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #333;
    color: #fff
}

[data-whatinput='mouse'] .button {
    outline: 0
}

.button:hover,
.button:focus {
    background-color: #2b2b2b;
    color: #fff
}

.button.tiny {
    font-size: .6rem
}

.button.small {
    font-size: .75rem
}

.button.large {
    font-size: 1.25rem
}

.button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0
}

.button.primary {
    background-color: #333;
    color: #fff
}

.button.primary:hover,
.button.primary:focus {
    background-color: #292929;
    color: #fff
}

.button.secondary {
    background-color: #767676;
    color: #fff
}

.button.secondary:hover,
.button.secondary:focus {
    background-color: #5e5e5e;
    color: #fff
}

.button.success {
    background-color: #3adb76;
    color: #333
}

.button.success:hover,
.button.success:focus {
    background-color: #22bb5b;
    color: #333
}

.button.warning {
    background-color: #ffae00;
    color: #333
}

.button.warning:hover,
.button.warning:focus {
    background-color: #cc8b00;
    color: #333
}

.button.alert {
    background-color: #cc4b37;
    color: #fff
}

.button.alert:hover,
.button.alert:focus {
    background-color: #a53b2a;
    color: #fff
}

.button.disabled,
.button[disabled] {
    opacity: .25;
    cursor: not-allowed
}

.button.disabled,
.button.disabled:hover,
.button.disabled:focus,
.button[disabled],
.button[disabled]:hover,
.button[disabled]:focus {
    background-color: #333;
    color: #fff
}

.button.disabled.primary,
.button[disabled].primary {
    opacity: .25;
    cursor: not-allowed
}

.button.disabled.primary,
.button.disabled.primary:hover,
.button.disabled.primary:focus,
.button[disabled].primary,
.button[disabled].primary:hover,
.button[disabled].primary:focus {
    background-color: #333;
    color: #fff
}

.button.disabled.secondary,
.button[disabled].secondary {
    opacity: .25;
    cursor: not-allowed
}

.button.disabled.secondary,
.button.disabled.secondary:hover,
.button.disabled.secondary:focus,
.button[disabled].secondary,
.button[disabled].secondary:hover,
.button[disabled].secondary:focus {
    background-color: #767676;
    color: #fff
}

.button.disabled.success,
.button[disabled].success {
    opacity: .25;
    cursor: not-allowed
}

.button.disabled.success,
.button.disabled.success:hover,
.button.disabled.success:focus,
.button[disabled].success,
.button[disabled].success:hover,
.button[disabled].success:focus {
    background-color: #3adb76;
    color: #333
}

.button.disabled.warning,
.button[disabled].warning {
    opacity: .25;
    cursor: not-allowed
}

.button.disabled.warning,
.button.disabled.warning:hover,
.button.disabled.warning:focus,
.button[disabled].warning,
.button[disabled].warning:hover,
.button[disabled].warning:focus {
    background-color: #ffae00;
    color: #333
}

.button.disabled.alert,
.button[disabled].alert {
    opacity: .25;
    cursor: not-allowed
}

.button.disabled.alert,
.button.disabled.alert:hover,
.button.disabled.alert:focus,
.button[disabled].alert,
.button[disabled].alert:hover,
.button[disabled].alert:focus {
    background-color: #cc4b37;
    color: #fff
}

.button.hollow {
    border: 1px solid #333;
    color: #333
}

.button.hollow,
.button.hollow:hover,
.button.hollow:focus {
    background-color: transparent
}

.button.hollow.disabled,
.button.hollow.disabled:hover,
.button.hollow.disabled:focus,
.button.hollow[disabled],
.button.hollow[disabled]:hover,
.button.hollow[disabled]:focus {
    background-color: transparent
}

.button.hollow:hover,
.button.hollow:focus {
    border-color: #1a1a1a;
    color: #1a1a1a
}

.button.hollow:hover.disabled,
.button.hollow:hover[disabled],
.button.hollow:focus.disabled,
.button.hollow:focus[disabled] {
    border: 1px solid #333;
    color: #333
}

.button.hollow.primary {
    border: 1px solid #333;
    color: #333
}

.button.hollow.primary:hover,
.button.hollow.primary:focus {
    border-color: #1a1a1a;
    color: #1a1a1a
}

.button.hollow.primary:hover.disabled,
.button.hollow.primary:hover[disabled],
.button.hollow.primary:focus.disabled,
.button.hollow.primary:focus[disabled] {
    border: 1px solid #333;
    color: #333
}

.button.hollow.secondary {
    border: 1px solid #767676;
    color: #767676
}

.button.hollow.secondary:hover,
.button.hollow.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b
}

.button.hollow.secondary:hover.disabled,
.button.hollow.secondary:hover[disabled],
.button.hollow.secondary:focus.disabled,
.button.hollow.secondary:focus[disabled] {
    border: 1px solid #767676;
    color: #767676
}

.button.hollow.success {
    border: 1px solid #3adb76;
    color: #3adb76
}

.button.hollow.success:hover,
.button.hollow.success:focus {
    border-color: #157539;
    color: #157539
}

.button.hollow.success:hover.disabled,
.button.hollow.success:hover[disabled],
.button.hollow.success:focus.disabled,
.button.hollow.success:focus[disabled] {
    border: 1px solid #3adb76;
    color: #3adb76
}

.button.hollow.warning {
    border: 1px solid #ffae00;
    color: #ffae00
}

.button.hollow.warning:hover,
.button.hollow.warning:focus {
    border-color: #805700;
    color: #805700
}

.button.hollow.warning:hover.disabled,
.button.hollow.warning:hover[disabled],
.button.hollow.warning:focus.disabled,
.button.hollow.warning:focus[disabled] {
    border: 1px solid #ffae00;
    color: #ffae00
}

.button.hollow.alert {
    border: 1px solid #cc4b37;
    color: #cc4b37
}

.button.hollow.alert:hover,
.button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a
}

.button.hollow.alert:hover.disabled,
.button.hollow.alert:hover[disabled],
.button.hollow.alert:focus.disabled,
.button.hollow.alert:focus[disabled] {
    border: 1px solid #cc4b37;
    color: #cc4b37
}

.button.clear {
    border: 1px solid #333;
    color: #333
}

.button.clear,
.button.clear:hover,
.button.clear:focus {
    background-color: transparent
}

.button.clear.disabled,
.button.clear.disabled:hover,
.button.clear.disabled:focus,
.button.clear[disabled],
.button.clear[disabled]:hover,
.button.clear[disabled]:focus {
    background-color: transparent
}

.button.clear:hover,
.button.clear:focus {
    border-color: #1a1a1a;
    color: #1a1a1a
}

.button.clear:hover.disabled,
.button.clear:hover[disabled],
.button.clear:focus.disabled,
.button.clear:focus[disabled] {
    border: 1px solid #333;
    color: #333
}

.button.clear,
.button.clear.disabled,
.button.clear[disabled],
.button.clear:hover,
.button.clear:hover.disabled,
.button.clear:hover[disabled],
.button.clear:focus,
.button.clear:focus.disabled,
.button.clear:focus[disabled] {
    border-color: transparent
}

.button.clear.primary {
    border: 1px solid #333;
    color: #333
}

.button.clear.primary:hover,
.button.clear.primary:focus {
    border-color: #1a1a1a;
    color: #1a1a1a
}

.button.clear.primary:hover.disabled,
.button.clear.primary:hover[disabled],
.button.clear.primary:focus.disabled,
.button.clear.primary:focus[disabled] {
    border: 1px solid #333;
    color: #333
}

.button.clear.primary,
.button.clear.primary.disabled,
.button.clear.primary[disabled],
.button.clear.primary:hover,
.button.clear.primary:hover.disabled,
.button.clear.primary:hover[disabled],
.button.clear.primary:focus,
.button.clear.primary:focus.disabled,
.button.clear.primary:focus[disabled] {
    border-color: transparent
}

.button.clear.secondary {
    border: 1px solid #767676;
    color: #767676
}

.button.clear.secondary:hover,
.button.clear.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b
}

.button.clear.secondary:hover.disabled,
.button.clear.secondary:hover[disabled],
.button.clear.secondary:focus.disabled,
.button.clear.secondary:focus[disabled] {
    border: 1px solid #767676;
    color: #767676
}

.button.clear.secondary,
.button.clear.secondary.disabled,
.button.clear.secondary[disabled],
.button.clear.secondary:hover,
.button.clear.secondary:hover.disabled,
.button.clear.secondary:hover[disabled],
.button.clear.secondary:focus,
.button.clear.secondary:focus.disabled,
.button.clear.secondary:focus[disabled] {
    border-color: transparent
}

.button.clear.success {
    border: 1px solid #3adb76;
    color: #3adb76
}

.button.clear.success:hover,
.button.clear.success:focus {
    border-color: #157539;
    color: #157539
}

.button.clear.success:hover.disabled,
.button.clear.success:hover[disabled],
.button.clear.success:focus.disabled,
.button.clear.success:focus[disabled] {
    border: 1px solid #3adb76;
    color: #3adb76
}

.button.clear.success,
.button.clear.success.disabled,
.button.clear.success[disabled],
.button.clear.success:hover,
.button.clear.success:hover.disabled,
.button.clear.success:hover[disabled],
.button.clear.success:focus,
.button.clear.success:focus.disabled,
.button.clear.success:focus[disabled] {
    border-color: transparent
}

.button.clear.warning {
    border: 1px solid #ffae00;
    color: #ffae00
}

.button.clear.warning:hover,
.button.clear.warning:focus {
    border-color: #805700;
    color: #805700
}

.button.clear.warning:hover.disabled,
.button.clear.warning:hover[disabled],
.button.clear.warning:focus.disabled,
.button.clear.warning:focus[disabled] {
    border: 1px solid #ffae00;
    color: #ffae00
}

.button.clear.warning,
.button.clear.warning.disabled,
.button.clear.warning[disabled],
.button.clear.warning:hover,
.button.clear.warning:hover.disabled,
.button.clear.warning:hover[disabled],
.button.clear.warning:focus,
.button.clear.warning:focus.disabled,
.button.clear.warning:focus[disabled] {
    border-color: transparent
}

.button.clear.alert {
    border: 1px solid #cc4b37;
    color: #cc4b37
}

.button.clear.alert:hover,
.button.clear.alert:focus {
    border-color: #67251a;
    color: #67251a
}

.button.clear.alert:hover.disabled,
.button.clear.alert:hover[disabled],
.button.clear.alert:focus.disabled,
.button.clear.alert:focus[disabled] {
    border: 1px solid #cc4b37;
    color: #cc4b37
}

.button.clear.alert,
.button.clear.alert.disabled,
.button.clear.alert[disabled],
.button.clear.alert:hover,
.button.clear.alert:hover.disabled,
.button.clear.alert:hover[disabled],
.button.clear.alert:focus,
.button.clear.alert:focus.disabled,
.button.clear.alert:focus[disabled] {
    border-color: transparent
}

.button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset .4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 24px
}

.button.dropdown.hollow::after {
    border-top-color: #333
}

.button.dropdown.hollow.primary::after {
    border-top-color: #333
}

.button.dropdown.hollow.secondary::after {
    border-top-color: #767676
}

.button.dropdown.hollow.success::after {
    border-top-color: #3adb76
}

.button.dropdown.hollow.warning::after {
    border-top-color: #ffae00
}

.button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37
}

.button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0
}

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

[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.3375rem;
    margin: 0 0 1rem;
    padding: .5rem;
    border: 1px solid #eee;
    border-radius: 0;
    background-color: #fff;
    box-shadow: inset 0 1px 2px rgba(51, 51, 51, 0.1);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    color: #333;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

[type='text']:focus,
[type='password']:focus,
[type='date']:focus,
[type='datetime']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='week']:focus,
[type='email']:focus,
[type='number']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='url']:focus,
[type='color']:focus,
textarea:focus {
    outline: none;
    border: 1px solid #ddd;
    background-color: #fff;
    box-shadow: 0 0 5px #eee;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out
}

textarea {
    max-width: 100%
}

textarea[rows] {
    height: auto
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #eee
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #eee
}

input::placeholder,
textarea::placeholder {
    color: #eee
}

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

[type='submit'],
[type='button'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0
}

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

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

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

[type='checkbox']+label[for],
[type='radio']+label[for] {
    cursor: pointer
}

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

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

label {
    display: block;
    margin: 0;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.8;
    color: #333
}

label.middle {
    margin: 0 0 1rem;
    padding: .5625rem 0
}

.help-text {
    margin-top: -.5rem;
    font-size: .8125rem;
    font-style: italic;
    color: #333
}

.input-group {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 1rem;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

.input-group>:first-child {
    border-radius: 0 0 0 0
}

.input-group>:last-child>* {
    border-radius: 0 0 0 0
}

.input-group-label,
.input-group-field,
.input-group-button,
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
    margin: 0;
    white-space: nowrap
}

.input-group-label {
    padding: 0 1rem;
    border: 1px solid #eee;
    background: #F6F6F6;
    color: #333;
    text-align: center;
    white-space: nowrap;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.input-group-label:first-child {
    border-right: 0
}

.input-group-label:last-child {
    border-left: 0
}

.input-group-field {
    border-radius: 0;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    height: auto;
    min-width: 0
}

.input-group-button {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
    height: auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem
}

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

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

.fieldset {
    margin: 1.125rem 0;
    padding: 1.25rem;
    border: 1px solid #eee
}

.fieldset legend {
    margin: 0;
    margin-left: -.1875rem;
    padding: 0 .1875rem
}

select {
    height: 2.3375rem;
    margin: 0 0 1rem;
    padding: .5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #eee;
    border-radius: 0;
    background-color: #fff;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    color: #333;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28221, 221, 221%29'></polygon></svg>");
    background-origin: content-box;
    background-position: right -1rem center;
    background-repeat: no-repeat;
    background-size: 9px 6px;
    padding-right: 1.5rem;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out
}

@media screen and (min-width: 0\0) {
    select {
        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg==")
    }
}

select:focus {
    outline: none;
    border: 1px solid #ddd;
    background-color: #fff;
    box-shadow: 0 0 5px #eee;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out
}

select:disabled {
    background-color: #F6F6F6;
    cursor: not-allowed
}

select::-ms-expand {
    display: none
}

select[multiple] {
    height: auto;
    background-image: none
}

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

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37
}

.is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37
}

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

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

.form-error {
    display: none;
    margin-top: -.5rem;
    margin-bottom: 1rem;
    font-size: .75rem;
    font-weight: 600;
    color: #cc4b37
}

.form-error.is-visible {
    display: block
}

.accordion {
    margin-left: 0;
    background: #fff;
    list-style-type: none
}

.accordion[disabled] .accordion-title {
    cursor: not-allowed
}

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

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

.accordion-title {
    position: relative;
    display: block;
    padding: 1.25rem 1rem;
    border: 1px solid #F6F6F6;
    border-bottom: 0;
    font-size: .75rem;
    line-height: 1;
    color: #333
}

:last-child:not(.is-active)>.accordion-title {
    border-bottom: 1px solid #F6F6F6;
    border-radius: 0 0 0 0
}

.accordion-title:hover,
.accordion-title:focus {
    background-color: #F6F6F6
}

.accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'
}

.is-active>.accordion-title::before {
    content: '\2013'
}

.accordion-content {
    display: none;
    padding: 1rem;
    border: 1px solid #F6F6F6;
    border-bottom: 0;
    background-color: #fff;
    color: #333
}

:last-child>.accordion-content:last-child {
    border-bottom: 1px solid #F6F6F6
}

.accordion-menu li {
    width: 100%
}

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

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

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

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

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a {
    position: relative
}

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

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

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

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

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

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

.submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 40px;
    height: 40px
}

.submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #333 transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto
}

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

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

.badge {
    display: inline-block;
    min-width: 2.1em;
    padding: .3em;
    border-radius: 50%;
    font-size: .6rem;
    text-align: center;
    background: #333;
    color: #fff
}

.badge.primary {
    background: #333;
    color: #fff
}

.badge.secondary {
    background: #767676;
    color: #fff
}

.badge.success {
    background: #3adb76;
    color: #333
}

.badge.warning {
    background: #ffae00;
    color: #333
}

.badge.alert {
    background: #cc4b37;
    color: #fff
}

.breadcrumbs {
    margin: 0 0 1rem 0;
    list-style: none
}

.breadcrumbs::before,
.breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

.breadcrumbs::after {
    clear: both
}

.breadcrumbs li {
    float: left;
    font-size: .6875rem;
    color: #333;
    cursor: default;
    text-transform: uppercase
}

.breadcrumbs li:not(:last-child)::after {
    position: relative;
    margin: 0 .75rem;
    opacity: 1;
    content: "/";
    color: #eee
}

.breadcrumbs a {
    color: #333
}

.breadcrumbs a:hover {
    text-decoration: underline
}

.breadcrumbs .disabled {
    color: #eee;
    cursor: not-allowed
}

.button-group {
    margin-bottom: 1rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

.button-group::before,
.button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

.button-group::after {
    clear: both
}

.button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 1rem;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.button-group .button:last-child {
    margin-right: 0
}

.button-group.tiny .button {
    font-size: .6rem
}

.button-group.small .button {
    font-size: .75rem
}

.button-group.large .button {
    font-size: 1.25rem
}

.button-group.expanded .button {
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px
}

.button-group.primary .button {
    background-color: #333;
    color: #fff
}

.button-group.primary .button:hover,
.button-group.primary .button:focus {
    background-color: #292929;
    color: #fff
}

.button-group.secondary .button {
    background-color: #767676;
    color: #fff
}

.button-group.secondary .button:hover,
.button-group.secondary .button:focus {
    background-color: #5e5e5e;
    color: #fff
}

.button-group.success .button {
    background-color: #3adb76;
    color: #333
}

.button-group.success .button:hover,
.button-group.success .button:focus {
    background-color: #22bb5b;
    color: #333
}

.button-group.warning .button {
    background-color: #ffae00;
    color: #333
}

.button-group.warning .button:hover,
.button-group.warning .button:focus {
    background-color: #cc8b00;
    color: #333
}

.button-group.alert .button {
    background-color: #cc4b37;
    color: #fff
}

.button-group.alert .button:hover,
.button-group.alert .button:focus {
    background-color: #a53b2a;
    color: #fff
}

.button-group.stacked,
.button-group.stacked-for-small,
.button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.button-group.stacked .button,
.button-group.stacked-for-small .button,
.button-group.stacked-for-medium .button {
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%
}

.button-group.stacked .button:last-child,
.button-group.stacked-for-small .button:last-child,
.button-group.stacked-for-medium .button:last-child {
    margin-bottom: 0
}

@media print,
screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        margin-bottom: 0
    }
}

@media print,
screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        margin-bottom: 0
    }
}

@media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
        display: block
    }
    .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0
    }
}

.callout {
    position: relative;
    margin: 0 0 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(51, 51, 51, 0.25);
    border-radius: 0;
    background-color: #fff;
    color: #333
}

.callout>:first-child {
    margin-top: 0
}

.callout>:last-child {
    margin-bottom: 0
}

.callout.primary {
    background-color: #e0e0e0;
    color: #333
}

.callout.secondary {
    background-color: #eaeaea;
    color: #333
}

.callout.success {
    background-color: #e1faea;
    color: #333
}

.callout.warning {
    background-color: #fff3d9;
    color: #333
}

.callout.alert {
    background-color: #f7e4e1;
    color: #333
}

.callout.small {
    padding-top: .5rem;
    padding-right: .5rem;
    padding-bottom: .5rem;
    padding-left: .5rem
}

.callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem
}

.card {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-bottom: 1rem;
    border: 1px solid #F6F6F6;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
    color: #333
}

.card>:last-child {
    margin-bottom: 0
}

.card-divider {
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 1rem;
    background: #F6F6F6
}

.card-divider>:last-child {
    margin-bottom: 0
}

.card-section {
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    padding: 1rem
}

.card-section>:last-child {
    margin-bottom: 0
}

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

.close-button {
    position: absolute;
    color: #333;
    cursor: pointer
}

[data-whatinput='mouse'] .close-button {
    outline: 0
}

.close-button:hover,
.close-button:focus {
    color: #ddd
}

.close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1
}

.close-button,
.close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1
}

.menu {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

[data-whatinput='mouse'] .menu li {
    outline: 0
}

.menu a,
.menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem
}

.menu input,
.menu select,
.menu a,
.menu button {
    margin-bottom: 0
}

.menu input {
    display: inline-block
}

.menu,
.menu.horizontal {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row
}

.menu.vertical {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.menu.expanded li {
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px
}

.menu.simple {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.menu.simple li+li {
    margin-left: 1rem
}

.menu.simple a {
    padding: 0
}

@media print,
screen and (min-width: 40em) {
    .menu.medium-horizontal {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row
    }
    .menu.medium-vertical {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
    .menu.medium-expanded li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
    .menu.medium-simple li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
}

@media print,
screen and (min-width: 64em) {
    .menu.large-horizontal {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row
    }
    .menu.large-vertical {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
    .menu.large-expanded li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
    .menu.large-simple li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
}

@media screen and (min-width: 87.5em) {
    .menu.xlarge-horizontal {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row
    }
    .menu.xlarge-vertical {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
    .menu.xlarge-expanded li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
    .menu.xlarge-simple li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
}

@media screen and (min-width: 118.75em) {
    .menu.xxlarge-horizontal {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row
    }
    .menu.xxlarge-vertical {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
    .menu.xxlarge-expanded li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
    .menu.xxlarge-simple li {
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px
    }
}

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

.menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.menu.icon-top a,
.menu.icon-right a,
.menu.icon-bottom a,
.menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap
}

.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
    margin-right: .25rem
}

.menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap
}

.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
    margin-left: .25rem
}

.menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap
}

.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    margin-bottom: .25rem;
    text-align: center
}

.menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap
}

.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    margin-bottom: .25rem;
    text-align: center
}

.menu .is-active>a {
    background: #333;
    color: #fff
}

.menu .active>a {
    background: #333;
    color: #fff
}

.menu.align-left {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.menu.align-right li .submenu li {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.menu.align-right.vertical li {
    display: block;
    text-align: right
}

.menu.align-right.vertical li .submenu li {
    text-align: right
}

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

.menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.menu.align-center li .submenu li {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit
}

.menu-centered>.menu {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.menu-centered>.menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.menu-centered>.menu li .submenu li {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

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

.menu-icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 16px;
    cursor: pointer
}

.menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    box-shadow: 0 7px 0 #fff, 0 14px 0 #fff;
    content: ''
}

.menu-icon:hover::after {
    background: #eee;
    box-shadow: 0 7px 0 #eee, 0 14px 0 #eee
}

.menu-icon.dark {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 16px;
    cursor: pointer
}

.menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #333;
    box-shadow: 0 7px 0 #333, 0 14px 0 #333;
    content: ''
}

.menu-icon.dark:hover::after {
    background: #ddd;
    box-shadow: 0 7px 0 #ddd, 0 14px 0 #ddd
}

.is-drilldown {
    position: relative;
    overflow: hidden
}

.is-drilldown li {
    display: block
}

.is-drilldown.animate-height {
    transition: height 0.5s
}

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

.drilldown .is-drilldown-submenu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: -1;
    width: 100%;
    background: #fff;
    transition: -webkit-transform 0.15s linear;
    transition: transform 0.15s linear;
    transition: transform 0.15s linear, -webkit-transform 0.15s linear
}

.drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%)
}

.drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%)
}

.drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem
}

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

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

.drilldown .is-drilldown-submenu-parent>a {
    position: relative
}

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

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

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

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

.dropdown-pane {
    position: absolute;
    z-index: 10;
    width: 300px;
    padding: 1rem;
    visibility: hidden;
    display: none;
    border: 1px solid #eee;
    border-radius: 0;
    background-color: #fff;
    font-size: 1rem
}

.dropdown-pane.is-opening {
    display: block
}

.dropdown-pane.is-open {
    visibility: visible;
    display: block
}

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

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

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

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

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

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

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

.dropdown.menu a {
    padding: 0.7rem 1rem
}

[data-whatinput='mouse'] .dropdown.menu a {
    outline: 0
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.is-dropdown-menu.vertical {
    width: 100px
}

.is-dropdown-menu.vertical.align-right {
    float: right
}

.is-dropdown-submenu-parent {
    position: relative
}

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

.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu {
    top: 100%;
    left: auto
}

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

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

.is-dropdown-submenu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1;
    display: none;
    min-width: 200px;
    border: 1px solid #eee;
    background: #fff
}

.dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem
}

.is-dropdown-submenu .is-dropdown-submenu-parent>a::after {
    right: 14px
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #333 transparent transparent
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #333
}

.is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px
}

.is-dropdown-submenu>li {
    width: 100%
}

.is-dropdown-submenu.js-dropdown-active {
    display: block
}

.responsive-embed,
.flex-video {
    position: relative;
    height: 0;
    margin-bottom: 1rem;
    padding-bottom: 75%;
    overflow: hidden
}

.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.responsive-embed.widescreen,
.flex-video.widescreen {
    padding-bottom: 56.25%
}

.label {
    display: inline-block;
    padding: 0.33333rem 0.5rem;
    border-radius: 0;
    font-size: .8rem;
    line-height: 1;
    white-space: nowrap;
    cursor: default;
    background: #333;
    color: #fff
}

.label.primary {
    background: #333;
    color: #fff
}

.label.secondary {
    background: #767676;
    color: #fff
}

.label.success {
    background: #3adb76;
    color: #333
}

.label.warning {
    background: #ffae00;
    color: #333
}

.label.alert {
    background: #cc4b37;
    color: #fff
}

.media-object {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1rem;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.media-object img {
    max-width: none
}

@media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
        padding: 0;
        padding-bottom: 1rem;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%
    }
    .media-object.stack-for-small .media-object-section img {
        width: 100%
    }
}

.media-object-section {
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto
}

.media-object-section:first-child {
    padding-right: 1rem
}

.media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem
}

.media-object-section>:last-child {
    margin-bottom: 0
}

.media-object-section.main-section {
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px
}

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

.js-off-canvas-overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;
    width: 100%;
    height: 100%;
    transition: opacity .5s ease, visibility .5s ease;
    background: rgba(255, 255, 255, 0.25);
    opacity: 0;
    visibility: hidden;
    overflow: hidden
}

.js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible
}

.js-off-canvas-overlay.is-closable {
    cursor: pointer
}

.js-off-canvas-overlay.is-overlay-absolute {
    position: absolute
}

.js-off-canvas-overlay.is-overlay-fixed {
    position: fixed
}

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

.off-canvas {
    position: fixed;
    z-index: 12;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #fff
}

[data-whatinput='mouse'] .off-canvas {
    outline: 0
}

.off-canvas.is-transition-push {
    z-index: 12
}

.off-canvas.is-closed {
    visibility: hidden
}

.off-canvas.is-transition-overlap {
    z-index: 13
}

.off-canvas.is-transition-overlap.is-open {
    box-shadow: none
}

.off-canvas.is-open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.off-canvas-absolute {
    position: absolute;
    z-index: 12;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #fff
}

[data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0
}

.off-canvas-absolute.is-transition-push {
    z-index: 12
}

.off-canvas-absolute.is-closed {
    visibility: hidden
}

.off-canvas-absolute.is-transition-overlap {
    z-index: 13
}

.off-canvas-absolute.is-transition-overlap.is-open {
    box-shadow: none
}

.off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.position-left {
    top: 0;
    left: 0;
    height: 100%;
    overflow-y: auto;
    width: 250px;
    -webkit-transform: translateX(-250px);
    -ms-transform: translateX(-250px);
    transform: translateX(-250px)
}

@media print,
screen and (min-width: 40em) {
    .position-left {
        width: 250px;
        -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
        transform: translateX(-250px)
    }
}

.off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
    -ms-transform: translateX(-250px);
    transform: translateX(-250px)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content .off-canvas.position-left {
        -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
        transform: translateX(-250px)
    }
}

.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
    -ms-transform: translateX(250px);
    transform: translateX(250px)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content.is-open-left.has-transition-push {
        -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
        transform: translateX(250px)
    }
}

.position-left.is-transition-push {
    box-shadow: inset 0 0 0 0 rgba(51, 51, 51, 0.25)
}

.position-right {
    top: 0;
    right: 0;
    height: 100%;
    overflow-y: auto;
    width: 250px;
    -webkit-transform: translateX(250px);
    -ms-transform: translateX(250px);
    transform: translateX(250px)
}

@media print,
screen and (min-width: 40em) {
    .position-right {
        width: 250px;
        -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
        transform: translateX(250px)
    }
}

.off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
    -ms-transform: translateX(250px);
    transform: translateX(250px)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content .off-canvas.position-right {
        -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
        transform: translateX(250px)
    }
}

.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
    -ms-transform: translateX(-250px);
    transform: translateX(-250px)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content.is-open-right.has-transition-push {
        -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
        transform: translateX(-250px)
    }
}

.position-right.is-transition-push {
    box-shadow: inset 0 0 0 0 rgba(51, 51, 51, 0.25)
}

.position-top {
    top: 0;
    left: 0;
    width: 100%;
    overflow-x: auto;
    height: 100%;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

@media print,
screen and (min-width: 40em) {
    .position-top {
        height: 100%;
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

.off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content .off-canvas.position-top {
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content.is-open-top.has-transition-push {
        -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
        transform: translateY(100%)
    }
}

.position-top.is-transition-push {
    box-shadow: inset 0 0 0 0 rgba(51, 51, 51, 0.25)
}

.position-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    overflow-x: auto;
    height: 100%;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

@media print,
screen and (min-width: 40em) {
    .position-bottom {
        height: 100%;
        -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
        transform: translateY(100%)
    }
}

.off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content .off-canvas.position-bottom {
        -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
        transform: translateY(100%)
    }
}

.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

@media print,
screen and (min-width: 40em) {
    .off-canvas-content.is-open-bottom.has-transition-push {
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

.position-bottom.is-transition-push {
    box-shadow: inset 0 0 0 0 rgba(51, 51, 51, 0.25)
}

.off-canvas-content {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

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

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

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

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

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

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

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

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

.orbit {
    position: relative
}

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

.orbit-slide {
    width: 100%
}

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

.orbit-figure {
    margin: 0
}

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

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

.orbit-previous,
.orbit-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
    padding: 1rem;
    color: #fff
}

[data-whatinput='mouse'] .orbit-previous,
[data-whatinput='mouse'] .orbit-next {
    outline: 0
}

.orbit-previous:hover,
.orbit-next:hover,
.orbit-previous:active,
.orbit-next:active,
.orbit-previous:focus,
.orbit-next:focus {
    background-color: rgba(51, 51, 51, 0.5)
}

.orbit-previous {
    left: 0
}

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

.orbit-bullets {
    position: relative;
    margin-top: .8rem;
    margin-bottom: .8rem;
    text-align: center
}

[data-whatinput='mouse'] .orbit-bullets {
    outline: 0
}

.orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: .1rem;
    border-radius: 50%;
    background-color: #eee
}

.orbit-bullets button:hover {
    background-color: #ddd
}

.orbit-bullets button.is-active {
    background-color: #ddd
}

.pagination {
    margin-left: 0;
    margin-bottom: 1rem
}

.pagination::before,
.pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

.pagination::after {
    clear: both
}

.pagination li {
    margin-right: .0625rem;
    border-radius: 0;
    font-size: .875rem;
    display: none
}

.pagination li:last-child,
.pagination li:first-child {
    display: inline-block
}

@media print,
screen and (min-width: 40em) {
    .pagination li {
        display: inline-block
    }
}

.pagination a,
.pagination button {
    display: block;
    padding: .1875rem .625rem;
    border-radius: 0;
    color: #333
}

.pagination a:hover,
.pagination button:hover {
    background: #F6F6F6
}

.pagination .current {
    padding: .1875rem .625rem;
    background: #333;
    color: #fff;
    cursor: default
}

.pagination .disabled {
    padding: .1875rem .625rem;
    color: #eee;
    cursor: not-allowed
}

.pagination .disabled:hover {
    background: transparent
}

.pagination .ellipsis::after {
    padding: .1875rem .625rem;
    content: '\2026';
    color: #333
}

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

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

.progress {
    height: 1rem;
    margin-bottom: 1rem;
    border-radius: 0;
    background-color: #eee
}

.progress.primary .progress-meter {
    background-color: #333
}

.progress.secondary .progress-meter {
    background-color: #767676
}

.progress.success .progress-meter {
    background-color: #3adb76
}

.progress.warning .progress-meter {
    background-color: #ffae00
}

.progress.alert .progress-meter {
    background-color: #cc4b37
}

.progress-meter {
    position: relative;
    display: block;
    width: 0%;
    height: 100%;
    background-color: #333
}

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

.slider {
    position: relative;
    height: .5rem;
    margin-top: 1.25rem;
    margin-bottom: 2.25rem;
    background-color: #F6F6F6;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: none;
    touch-action: none
}

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

.slider-fill.is-dragging {
    transition: all 0s linear
}

.slider-handle {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    z-index: 1;
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 0;
    background-color: #333;
    transition: all 0.2s ease-in-out;
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

[data-whatinput='mouse'] .slider-handle {
    outline: 0
}

.slider-handle:hover {
    background-color: #2b2b2b
}

.slider-handle.is-dragging {
    transition: all 0s linear
}

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

.slider.vertical {
    display: inline-block;
    width: .5rem;
    height: 12.5rem;
    margin: 0 1.25rem;
    -webkit-transform: scale(1, -1);
    -ms-transform: scale(1, -1);
    transform: scale(1, -1)
}

.slider.vertical .slider-fill {
    top: 0;
    width: .5rem;
    max-height: 100%
}

.slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.sticky-container {
    position: relative
}

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

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

.sticky.is-stuck.is-at-top {
    top: 0
}

.sticky.is-stuck.is-at-bottom {
    bottom: 0
}

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

.sticky.is-anchored.is-at-bottom {
    bottom: 0
}

body.is-reveal-open {
    overflow: hidden
}

html.is-reveal-open,
html.is-reveal-open body {
    min-height: 100%;
    overflow: hidden;
    position: fixed;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

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

.reveal {
    z-index: 1006;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: none;
    padding: 1rem;
    border: 1px solid #eee;
    border-radius: 0;
    background-color: #fff;
    position: relative;
    top: 100px;
    margin-right: auto;
    margin-left: auto;
    overflow-y: auto
}

[data-whatinput='mouse'] .reveal {
    outline: 0
}

@media print,
screen and (min-width: 40em) {
    .reveal {
        min-height: 0
    }
}

.reveal .column {
    min-width: 0
}

.reveal>:last-child {
    margin-bottom: 0
}

@media print,
screen and (min-width: 40em) {
    .reveal {
        width: 600px;
        max-width: 75rem
    }
}

.reveal.collapse {
    padding: 0
}

@media print,
screen and (min-width: 40em) {
    .reveal.tiny {
        width: 30%;
        max-width: 75rem
    }
}

@media print,
screen and (min-width: 40em) {
    .reveal.small {
        width: 50%;
        max-width: 75rem
    }
}

@media print,
screen and (min-width: 40em) {
    .reveal.large {
        width: 90%;
        max-width: 75rem
    }
}

.reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0
}

@media screen and (max-width: 39.9375em) {
    .reveal {
        top: 0;
        left: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        height: 100vh;
        min-height: 100vh;
        margin-left: 0;
        border: 0;
        border-radius: 0
    }
}

.reveal.without-overlay {
    position: fixed
}

.switch {
    height: 2rem;
    position: relative;
    margin-bottom: 1rem;
    outline: 0;
    font-size: .875rem;
    font-weight: bold;
    color: #fff;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

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

.switch-paddle {
    position: relative;
    display: block;
    width: 4rem;
    height: 2rem;
    border-radius: 0;
    background: #eee;
    transition: all 0.25s ease-out;
    font-weight: inherit;
    color: inherit;
    cursor: pointer
}

input+.switch-paddle {
    margin: 0
}

.switch-paddle::after {
    position: absolute;
    top: .25rem;
    left: .25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fff;
    transition: all 0.25s ease-out;
    content: ''
}

input:checked ~ .switch-paddle {
    background: #333
}

input:checked ~ .switch-paddle::after {
    left: 2.25rem
}

[data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0
}

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

.switch-active {
    left: 8%;
    display: none
}

input:checked+label>.switch-active {
    display: block
}

.switch-inactive {
    right: 15%
}

input:checked+label>.switch-inactive {
    display: none
}

.switch.tiny {
    height: 1.5rem
}

.switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: .625rem
}

.switch.tiny .switch-paddle::after {
    top: .25rem;
    left: .25rem;
    width: 1rem;
    height: 1rem
}

.switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem
}

.switch.small {
    height: 1.75rem
}

.switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: .75rem
}

.switch.small .switch-paddle::after {
    top: .25rem;
    left: .25rem;
    width: 1.25rem;
    height: 1.25rem
}

.switch.small input:checked ~ .switch-paddle::after {
    left: 2rem
}

.switch.large {
    height: 2.5rem
}

.switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem
}

.switch.large .switch-paddle::after {
    top: .25rem;
    left: .25rem;
    width: 2rem;
    height: 2rem
}

.switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem
}

table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1rem;
    border-radius: 0
}

table thead,
table tbody,
table tfoot {
    border: 1px solid #f2f2f2;
    background-color: #fff
}

table caption {
    padding: .5rem .625rem .625rem;
    font-weight: 600
}

table thead {
    background: #f9f9f9;
    color: #333
}

table tfoot {
    background: #f2f2f2;
    color: #333
}

table thead tr,
table tfoot tr {
    background: transparent
}

table thead th,
table thead td,
table tfoot th,
table tfoot td {
    padding: .5rem .625rem .625rem;
    font-weight: 600;
    text-align: left
}

table tbody th,
table tbody td {
    padding: .5rem .625rem .625rem
}

table tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f2f2f2
}

table.unstriped tbody {
    background-color: #fff
}

table.unstriped tbody tr {
    border-bottom: 0;
    border-bottom: 1px solid #f2f2f2;
    background-color: #fff
}

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

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

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

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

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

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

.table-scroll {
    overflow-x: auto
}

.table-scroll table {
    width: auto
}

.tabs {
    margin: 0;
    border: 1px solid #F6F6F6;
    background: #fff;
    list-style-type: none
}

.tabs::before,
.tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

.tabs::after {
    clear: both
}

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

.tabs.simple>li>a {
    padding: 0
}

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

.tabs.primary {
    background: #333
}

.tabs.primary>li>a {
    color: #fff
}

.tabs.primary>li>a:hover,
.tabs.primary>li>a:focus {
    background: #3d3d3d
}

.tabs-title {
    float: left
}

.tabs-title>a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: .75rem;
    line-height: 1;
    color: #333
}

.tabs-title>a:hover {
    background: #fff;
    color: #2c2c2c
}

.tabs-title>a:focus,
.tabs-title>a[aria-selected='true'] {
    background: #F6F6F6;
    color: #333
}

.tabs-content {
    border: 1px solid #F6F6F6;
    border-top: 0;
    background: #fff;
    color: #333;
    transition: all 0.5s ease
}

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

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

.tabs-panel.is-active {
    display: block
}

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

a.thumbnail {
    transition: box-shadow 200ms ease-out
}

a.thumbnail:hover,
a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(51, 51, 51, 0.5)
}

a.thumbnail image {
    box-shadow: none
}

.title-bar {
    padding: .5rem;
    background: #333;
    color: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.title-bar .menu-icon {
    margin-left: .25rem;
    margin-right: .25rem
}

.title-bar-left,
.title-bar-right {
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px
}

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

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

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

.tooltip {
    position: absolute;
    top: calc(100% + .6495rem);
    z-index: 1200;
    max-width: 10rem;
    padding: .75rem;
    border-radius: 0;
    background-color: #333;
    font-size: 80%;
    color: #fff
}

.tooltip::before {
    position: absolute
}

.tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset .75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #333;
    bottom: 100%
}

.tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset .75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #333 transparent transparent;
    top: 100%;
    bottom: auto
}

.tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset .75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #333;
    left: 100%
}

.tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset .75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #333 transparent transparent;
    right: 100%;
    left: auto
}

.tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.tooltip.align-top::before {
    bottom: auto;
    top: 10%
}

.tooltip.align-bottom::before {
    bottom: 10%;
    top: auto
}

.tooltip.align-left::before {
    left: 10%;
    right: auto
}

.tooltip.align-right::before {
    left: auto;
    right: 10%
}

.top-bar {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .5rem;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.top-bar,
.top-bar ul {
    background-color: #F6F6F6
}

.top-bar input {
    max-width: 200px;
    margin-right: 1rem
}

.top-bar .input-group-field {
    width: 100%;
    margin-right: 0
}

.top-bar input.button {
    width: auto
}

.top-bar .top-bar-left,
.top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
}

@media print,
screen and (min-width: 40em) {
    .top-bar {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        margin-right: auto
    }
    .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin-left: auto
    }
}

@media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media screen and (max-width: 87.4375em) {
    .top-bar.stacked-for-large {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media screen and (max-width: 118.6875em) {
    .top-bar.stacked-for-xlarge {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .top-bar.stacked-for-xlarge .top-bar-left,
    .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
}

.top-bar.stacked-for-xxlarge {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.top-bar.stacked-for-xxlarge .top-bar-left,
.top-bar.stacked-for-xxlarge .top-bar-right {
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
}

.top-bar-title {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin: 0.5rem 1rem 0.5rem 0
}

.top-bar-left,
.top-bar-right {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.hide {
    display: none !important
}

.invisible {
    visibility: hidden
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 118.75em) {
    .hide-for-xxlarge-only {
        display: none !important
    }
}

@media screen and (max-width: 118.6875em) {
    .show-for-xxlarge-only {
        display: none !important
    }
}

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

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

.show-for-landscape,
.hide-for-portrait {
    display: block !important
}

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

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

.hide-for-landscape,
.show-for-portrait {
    display: none !important
}

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

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

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

.align-center {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.align-justify {
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.align-spaced {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

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

.align-center.vertical.menu>li>a {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.align-top {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.align-self-top {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start
}

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

.align-self-bottom {
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end
}

.align-middle {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.align-self-middle {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center
}

.align-stretch {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

.align-self-stretch {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch
}

.align-center-middle {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.small-order-1 {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

.small-order-2 {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2
}

.small-order-3 {
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3
}

.small-order-4 {
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4
}

.small-order-5 {
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5
}

.small-order-6 {
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6
}

@media print,
screen and (min-width: 40em) {
    .medium-order-1 {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1
    }
    .medium-order-2 {
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
    .medium-order-3 {
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }
    .medium-order-4 {
        -webkit-order: 4;
        -ms-flex-order: 4;
        order: 4
    }
    .medium-order-5 {
        -webkit-order: 5;
        -ms-flex-order: 5;
        order: 5
    }
    .medium-order-6 {
        -webkit-order: 6;
        -ms-flex-order: 6;
        order: 6
    }
}

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

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

@media screen and (min-width: 118.75em) {
    .xxlarge-order-1 {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1
    }
    .xxlarge-order-2 {
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
    .xxlarge-order-3 {
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }
    .xxlarge-order-4 {
        -webkit-order: 4;
        -ms-flex-order: 4;
        order: 4
    }
    .xxlarge-order-5 {
        -webkit-order: 5;
        -ms-flex-order: 5;
        order: 5
    }
    .xxlarge-order-6 {
        -webkit-order: 6;
        -ms-flex-order: 6;
        order: 6
    }
}

.flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.icon-spin {
    -webkit-animation: icon-spin 0.4s normal linear;
    animation: icon-spin 0.4s normal linear;
    -webkit-filter: blur(0)
}

@-webkit-keyframes icon-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

@keyframes icon-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

.icon-spin2 {
    -webkit-animation: icon-spin2 0.4s normal linear;
    animation: icon-spin2 0.4s normal linear;
    -webkit-filter: blur(0)
}

@-webkit-keyframes icon-spin2 {
    0% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@keyframes icon-spin2 {
    0% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@font-face {
    font-family: 'didot_lt_stditalic';
    src: url("../fonts/didotltstd-italic-webfont.eot");
    src: url("../fonts/didotltstd-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/didotltstd-italic-webfont.woff") format("woff"), url("../fonts/didotltstd-italic-webfont.ttf") format("truetype"), url("../fonts/didotltstd-italic-webfont.svg#didot_lt_stditalic") format("svg");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: 'didot_lt_stdbold';
    src: url("../fonts/didotltstd-bold-webfont.eot");
    src: url("../fonts/didotltstd-bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/didotltstd-bold-webfont.woff") format("woff"), url("../fonts/didotltstd-bold-webfont.ttf") format("truetype"), url("../fonts/didotltstd-bold-webfont.svg#didot_lt_stdbold") format("svg");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: 'didot_lt_stdregular';
    src: url("../fonts/didotltstd-roman-webfont.eot");
    src: url("../fonts/didotltstd-roman-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/didotltstd-roman-webfont.woff") format("woff"), url("../fonts/didotltstd-roman-webfont.ttf") format("truetype"), url("../fonts/didotltstd-roman-webfont.svg#didot_lt_stdregular") format("svg");
    font-weight: normal;
    font-style: normal
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-transform: uppercase
}

@media print,
screen and (min-width: 40em) {
    .medium-cell-block-container>.grid-x {
        height: 100%;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

html,
body {
    height: 100%
}

:focus {
    outline: none
}

a {
    transition: all 0.3s ease-in-out
}

a:focus,
a:hover,
a:active {
    outline: none
}

a.fancy-link {
    font-weight: 600;
    text-transform: uppercase;
    display: block;
    padding: 3px 0
}

a.fancy-link:hover {
    text-decoration: none
}

a.under {
    text-decoration: underline;
    font-weight: 400
}

a.under:hover {
    text-decoration: none
}

.button {
    text-transform: uppercase;
    white-space: nowrap;
    letter-spacing: 1px;
    transition: all 0.3s ease-in-out
}

@media screen and (max-width: 39.9375em) {
    .button.expanded-for-small {
        width: 100%;
        display: block
    }
}

.button.white-background {
    background: #fff;
    color: #000;
    border-color: #000
}

.button.coming-soon {
    background: #F6F6F6;
    border: 1px solid #ddd
}

.button:hover {
    opacity: 0.5
}

.zoom-in {
    transition: -webkit-transform 2s ease-out;
    transition: transform 2s ease-out;
    transition: transform 2s ease-out, -webkit-transform 2s ease-out;
    -webkit-transform: scale(1.04, 1.04);
    -ms-transform: scale(1.04, 1.04);
    transform: scale(1.04, 1.04)
}

.barba-container {
    background: #fff
}

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    background-color: #fff;
    z-index: 2000
}

.preloader:after {
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: url(../img/bt.svg) no-repeat center center;
    display: block;
    opacity: 0.2;
    -webkit-animation: flickerAnimation 1.5s infinite linear;
    animation: flickerAnimation 1.5s infinite linear
}

@-webkit-keyframes flickerAnimation {
    0% {
        opacity: 0.2
    }
    50% {
        opacity: 1
    }
    100% {
        opacity: 0.2
    }
}

@keyframes flickerAnimation {
    0% {
        opacity: 0.2
    }
    50% {
        opacity: 1
    }
    100% {
        opacity: 0.2
    }
}

.animate-flicker {
    -webkit-animation: flickerAnimation 1s infinite;
    animation: flickerAnimation 1s infinite
}

.pagenav {
    position: fixed;
    z-index: 300;
    bottom: 15px;
    width: 60px;
    height: 60px;
    opacity: 1;
    transition: all 0.3s ease-in-out
}

@media print,
screen and (min-width: 40em) {
    .pagenav {
        width: 80px;
        height: 80px
    }
}

@media print,
screen and (min-width: 64em) {
    .pagenav {
        bottom: auto;
        position: fixed;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width: 1200px) {
    .pagenav {
        width: 60px;
        height: 120px;
        opacity: 0.4
    }
}

.pagenav:hover {
    opacity: 0.8
}

.pagenav.next {
    right: -30px;
    border-top-left-radius: 60px;
    border-bottom-left-radius: 60px;
    background: url(../img/arrow-right-white.svg) rgba(0, 0, 0, 0.2) no-repeat 25% 50%/16px 16px
}

@media print,
screen and (min-width: 40em) {
    .pagenav.next {
        right: -40px;
        border-top-left-radius: 80px;
        border-bottom-left-radius: 80px;
        background-size: 24px 24px
    }
}

@media only screen and (min-width: 1200px) {
    .pagenav.next {
        right: -30px;
        border-radius: 0;
        border-top-left-radius: 120px;
        border-bottom-left-radius: 120px;
        background: url(../img/arrow-right-white.svg) #000 no-repeat 30px 45px/20px 32px
    }
    .pagenav.next:hover {
        right: 0
    }
}

.pagenav.prev {
    left: -30px;
    border-top-right-radius: 60px;
    border-bottom-right-radius: 60px;
    background: url(../img/arrow-left-white.svg) rgba(0, 0, 0, 0.2) no-repeat 75% 50%/16px 16px
}

@media print,
screen and (min-width: 40em) {
    .pagenav.prev {
        left: -40px;
        border-top-right-radius: 80px;
        border-bottom-right-radius: 80px;
        background-size: 24px 24px
    }
}

@media only screen and (min-width: 1200px) {
    .pagenav.prev {
        left: -30px;
        border-radius: 0;
        border-top-right-radius: 120px;
        border-bottom-right-radius: 120px;
        background: url(../img/arrow-left-white.svg) #000 no-repeat 12px 45px/20px 32px
    }
    .pagenav.prev:hover {
        left: 0
    }
}

@media only screen and (min-width: 1200px) {
    .navnextslideout {
        right: 0;
        -webkit-animation: navnextslideout 1.2s linear;
        animation: navnextslideout 1.2s linear
    }
}

@media only screen and (min-width: 1200px) {
    .navprevslideout {
        left: 0;
        -webkit-animation: navprevslideout 1.2s linear;
        animation: navprevslideout 1.2s linear
    }
}

@-webkit-keyframes navnextslideout {
    0% {
        right: 0;
        opacity: .5
    }
    80% {
        right: 0;
        opacity: .5
    }
    100% {
        right: -30px;
        opacity: .2
    }
}

@keyframes navnextslideout {
    0% {
        right: 0;
        opacity: .5
    }
    80% {
        right: 0;
        opacity: .5
    }
    100% {
        right: -30px;
        opacity: .2
    }
}

@-webkit-keyframes navprevslideout {
    0% {
        left: 0;
        opacity: .5
    }
    80% {
        left: 0;
        opacity: .5
    }
    100% {
        left: -30px;
        opacity: .2
    }
}

@keyframes navprevslideout {
    0% {
        left: 0;
        opacity: .5
    }
    80% {
        left: 0;
        opacity: .5
    }
    100% {
        left: -30px;
        opacity: .2
    }
}

.nav:before {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 500;
    background: #000;
    content: '';
    width: 50px;
    height: 50px
}

@media print,
screen and (min-width: 40em) {
    .nav:before {
        width: 60px;
        height: 60px
    }
}

.nav button {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 600;
    display: block;
    cursor: pointer;
    text-indent: -9999px;
    background: #000;
    width: 50px;
    height: 50px
}

@media print,
screen and (min-width: 40em) {
    .nav button {
        width: 60px;
        height: 60px
    }
}

.nav button span {
    background: no-repeat center center/20px 16px;
    display: block;
    width: 50px;
    height: 50px
}

@media print,
screen and (min-width: 40em) {
    .nav button span {
        width: 60px;
        height: 60px
    }
}

.nav button.navcontents span {
    background-image: url(../img/menu.svg)
}

.nav button.navcontentsclose {
    display: none
}

.nav button.navcontentsclose span {
    background-image: url(../img/close.svg)
}

.nav button.navshare {
    right: 53px
}

@media print,
screen and (min-width: 40em) {
    .nav button.navshare {
        right: 63px
    }
}

.nav button.navshare span {
    background-image: url(../img/share.svg)
}

.navshare-dropdown {
    background: #000;
    color: #fff;
    border: 0;
    width: 50px;
    position: fixed;
    top: 50px;
    right: 53px;
    z-index: 500
}

@media print,
screen and (min-width: 40em) {
    .navshare-dropdown {
        width: 60px;
        top: 60px;
        right: 63px
    }
}

.navshare-dropdown a {
    display: block;
    height: 50px;
    background: no-repeat center center/20px 16px
}

@media print,
screen and (min-width: 40em) {
    .navshare-dropdown a {
        height: 60px
    }
}

.navshare-dropdown a.navshare-facebook {
    background-image: url(../img/facebook.svg);
    background-color: #3B5998
}

.navshare-dropdown a.navshare-twitter {
    background-image: url(../img/twitter.svg);
    background-color: #4099FF
}

.navshare-dropdown a.navshare-googleplus {
    background-image: url(../img/googleplus.svg);
    background-color: #D34836
}

.page-title {
    text-transform: uppercase;
    font-weight: 600;
    color: #333;
    line-height: 1.3
}

.page-title b,
.page-title strong {
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 700
}

.page-title span.page-title-logo {
    display: block;
    text-indent: -9999px;
    background: url(../img/logo-black.svg) no-repeat top left/contain;
    height: 16px
}

@media print,
screen and (min-width: 40em) {
    .page-title span.page-title-logo {
        height: 25px
    }
}

.page-lead {
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 0.9;
    font-size: 1.875rem
}

@media print,
screen and (min-width: 40em) {
    .page-lead {
        font-size: 3rem
    }
}

.page-lead span.page-lead-issue {
    display: block;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 600;
    line-height: 1.3;
    font-size: .75rem
}

@media print,
screen and (min-width: 40em) {
    .page-lead span.page-lead-issue {
        font-size: 1.125rem
    }
}

.menu-container {
    padding-top: 80px;
    padding-bottom: 80px;
    max-width: 950px;
    margin: 0 auto
}

@media print,
screen and (min-width: 40em) {
    .menu-container {
        padding-top: 100px;
        padding-bottom: 100px
    }
}

.menu-page-title {
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc;
    font-size: 1.125rem
}

.menu-page-title::before,
.menu-page-title::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}

.menu-page-title::after {
    clear: both
}

@media print,
screen and (min-width: 40em) {
    .menu-page-title {
        padding-bottom: 10px;
        margin-bottom: 60px
    }
}

.menu-page-title span.page-title-logo {
    height: 25px
}

@media print,
screen and (min-width: 40em) {
    .menu-page-title span.page-title-logo {
        float: left;
        width: 50%
    }
}

@media print,
screen and (min-width: 40em) {
    .menu-page-title .page-title-text {
        float: right
    }
}

.menu-main-links {
    border-bottom: 1px solid #ccc;
    margin-bottom: 15px
}

@media print,
screen and (min-width: 40em) {
    .menu-main-links {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap
    }
}

.menu-main-links .menu-main-links-title {
    font-size: 1.625rem;
    font-weight: 700;
    text-transform: uppercase;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 40em) {
    .menu-main-links .menu-main-links-title {
        font-size: 2rem;
        width: 50%;
        margin-right: 0;
        margin-left: 0
    }
}

@media print,
screen and (min-width: 64em) {
    .menu-main-links .menu-main-links-title {
        font-size: 2.25rem;
        width: 33.33333%;
        margin-right: 0;
        margin-left: 0
    }
}

.menu-main-links .menu-main-links-title:after {
    content: '';
    background: url(../img/arrow-right.svg) no-repeat center right/10px 10px;
    position: absolute;
    z-index: 2;
    width: 20px;
    height: 100%
}

.menu-content-list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-left: -.9375rem;
    margin-right: -.9375rem
}

.menu-content-list .menu-content-listitem {
    position: relative;
    z-index: 1;
    width: calc(100% - 1.875rem);
    margin-right: .9375rem;
    margin-left: .9375rem;
    padding: 15px 0;
    border-bottom: 1px solid #ccc
}

@media print,
screen and (min-width: 40em) {
    .menu-content-list .menu-content-listitem {
        width: calc(50% - 1.875rem);
        margin-right: .9375rem;
        margin-left: .9375rem
    }
}

@media print,
screen and (min-width: 64em) {
    .menu-content-list .menu-content-listitem {
        width: calc(33.33333% - 1.875rem);
        margin-right: .9375rem;
        margin-left: .9375rem
    }
}

.menu-content-list .menu-content-listitem .menu-content-listitem-image {
    max-width: 100px
}

.menu-content-list .menu-content-listitem .menu-content-listitem-image img {
    max-width: none;
    width: 80px;
    display: block
}

@media print,
screen and (min-width: 40em) {
    .menu-content-list .menu-content-listitem .menu-content-listitem-image img {
        width: 100px
    }
}

.menu-content-list .menu-content-listitem .menu-content-listitem-text {
    padding: 0 15px 0 15px
}

@media print,
screen and (min-width: 40em) {
    .menu-content-list .menu-content-listitem .menu-content-listitem-text {
        padding: 0 20px 0 15px
    }
}

.menu-content-list .menu-content-listitem .menu-content-listitem-text .menu-content-listitem-type {
    font-family: "didot_lt_stditalic";
    font-size: .75rem;
    margin: 0
}

.menu-content-list .menu-content-listitem .menu-content-listitem-text .menu-content-listitem-title {
    font-size: 1rem;
    font-weight: 800
}

@media print,
screen and (min-width: 40em) {
    .menu-content-list .menu-content-listitem .menu-content-listitem-text .menu-content-listitem-title {
        font-size: 1.125rem
    }
}

.menu-content-list .menu-content-listitem .menu-page-numbers {
    position: absolute;
    right: 0;
    font-size: 1.375rem;
    font-family: "didot_lt_stdregular"
}

video.bgvid {
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    background: url(//brownthomas.a.bigcontent.io/v1/static/summer-butterfly-mobile-2) no-repeat center center/cover
}

@media print,
screen and (min-width: 40em) {
    video.bgvid {
        background-image: url(//i1.adis.ws/v/brown_thomas/summer-butterfly-video-720p?qlt=100&unsharp=0,1,1,7)
    }
}

video.bgvid.article-page-media-video {
    position: absolute
}

.advert-page-video video.bgvid {
    background: none;
    position: absolute;
    width: 100%;
    height: 100%;
    min-height: 0;
    min-width: 0;
    z-index: 1
}

@media screen and (max-width: 39.9375em) {
    video.bgvid {
        display: none
    }
}

.cover-page {
    height: 100vh;
    background: url(//brownthomas.a.bigcontent.io/v1/static/summer-butterfly-mobile-2) no-repeat center center/cover;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 40em) {
    .cover-page {
        background-image: url(//i1.adis.ws/v/brown_thomas/summer-butterfly-video-720p?qlt=100&unsharp=0,1,1,7)
    }
}

.cover-page .cover-page-wrapper {
    padding-top: .9375rem;
    padding-bottom: .9375rem;
    padding-left: .9375rem;
    padding-right: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .cover-page .cover-page-wrapper {
        padding-top: 1.875rem;
        padding-bottom: 1.875rem;
        padding-left: 1.875rem;
        padding-right: 1.875rem
    }
}

.cover-page .cover-page-title {
    color: #fff;
    text-shadow: 0 2px 10px rgba(51, 51, 51, 0.2), 0 0 2px rgba(0, 0, 0, 0.1);
    font-size: 1.25rem
}

@media print,
screen and (min-width: 40em) {
    .cover-page .cover-page-title {
        font-size: 3rem
    }
}

@media screen and (min-width: 87.5em) {
    .cover-page .cover-page-title {
        font-size: 3.75rem
    }
}

.cover-page .cover-page-title span.page-title-logo {
    background-image: url(../img/logo.svg);
    width: 100%;
    height: 18px
}

@media only screen and (min-width: 375px) {
    .cover-page .cover-page-title span.page-title-logo {
        height: 23px
    }
}

@media only screen and (min-width: 400px) {
    .cover-page .cover-page-title span.page-title-logo {
        height: 27px
    }
}

@media print,
screen and (min-width: 40em) {
    .cover-page .cover-page-title span.page-title-logo {
        width: 565px;
        height: 55px
    }
}

@media screen and (min-width: 87.5em) {
    .cover-page .cover-page-title span.page-title-logo {
        width: 700px;
        height: 68px
    }
}

.cover-page .cover-page-lead {
    position: absolute;
    z-index: 2;
    bottom: 60px;
    left: 0;
    width: 70%;
    margin-bottom: .9375rem;
    margin-left: .9375rem;
    font-size: 3rem;
    color: #fff;
    text-shadow: 0 2px 10px rgba(51, 51, 51, 0.2), 0 0 2px rgba(0, 0, 0, 0.1)
}

@media print,
screen and (min-width: 40em) {
    .cover-page .cover-page-lead {
        bottom: 0
    }
}

@media print,
screen and (min-width: 40em) {
    .cover-page .cover-page-lead {
        margin-bottom: 1.875rem;
        margin-left: 1.875rem
    }
}

@media print,
screen and (min-width: 40em) {
    .cover-page .cover-page-lead {
        font-size: 100px
    }
}

.cover-page .cover-page-lead span.page-lead-issue {
    font-size: 1.25rem
}

@media print,
screen and (min-width: 40em) {
    .cover-page .cover-page-lead span.page-lead-issue {
        font-size: 3rem
    }
}

.feature-page .feature-page-title {
    font-size: .875rem
}

@media print,
screen and (min-width: 64em) {
    .feature-page .feature-page-title {
        font-size: 1.375rem
    }
}

.feature-page .feature-page-sidebar {
    padding-top: .9375rem;
    padding-bottom: .9375rem;
    padding-left: .9375rem;
    padding-right: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .feature-page .feature-page-sidebar {
        padding-top: 1.875rem;
        padding-bottom: 1.875rem;
        padding-left: 1.875rem;
        padding-right: 1.875rem
    }
}

@media print,
screen and (min-width: 64em) {
    .feature-page .feature-page-content-grid {
        height: 100vh
    }
}

@media screen and (max-width: 63.9375em) {
    .feature-page .feature-page-content-grid {
        width: auto !important
    }
}

@media print,
screen and (min-width: 64em) {
    .feature-page .feature-page-content-grid .feature-page-content-grid-item {
        width: 250px
    }
}

.feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-image {
    background: no-repeat top center/cover
}

@media screen and (max-width: 63.9375em) {
    .feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-image {
        width: 33.33333%
    }
}

.feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text {
    height: 200px;
    padding-top: .9375rem;
    padding-bottom: .9375rem;
    padding-left: .9375rem;
    padding-right: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text {
        height: 250px
    }
}

@media screen and (max-width: 63.9375em) {
    .feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text {
        width: 66.66667%
    }
}

@media print,
screen and (min-width: 40em) {
    .feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text {
        padding-top: 1.875rem;
        padding-bottom: 1.875rem;
        padding-left: 1.875rem;
        padding-right: 1.875rem
    }
}

.feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text .feature-type {
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    margin: 0
}

.feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text .feature-title {
    font-size: 1.125rem;
    font-weight: 800
}

@media only screen and (min-width: 375px) {
    .feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text .feature-title {
        font-size: 1.375rem
    }
}

.feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text .feature-copy {
    font-size: .75rem
}

@media only screen and (min-width: 375px) {
    .feature-page .feature-page-content-grid .feature-page-content-grid-item .feature-page-content-grid-item-text .feature-copy {
        font-size: .875rem
    }
}

.feature-page .feature-page-content-grid .feature-page-content-grid-item:nth-child(odd) .feature-page-content-grid-item-text {
    background: #F6F6F6
}

.article-page {
    position: relative;
    z-index: 1
}

.article-page .article-page-media {
    position: relative;
    height: 500px;
    background: no-repeat top center/cover
}

@media print,
screen and (min-width: 40em) {
    .article-page .article-page-media {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-page .article-page-media {
        height: 100vh
    }
}

.article-page .article-page-media.article-page-video {
    overflow: hidden;
    z-index: 1
}

.article-page .article-page-content {
    position: relative;
    padding-top: .9375rem;
    padding-bottom: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .article-page .article-page-content {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem
    }
}

@media print,
screen and (min-width: 64em) {
    .article-page .article-page-content {
        padding-top: 6.25rem;
        padding-bottom: 6.25rem
    }
}

.article-page .article-page-content .article-page-content-inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem
}

@media print,
screen and (min-width: 64em) {
    .article-page .article-page-content {
        height: 100vh
    }
}

.article-page .article-page-content .article-type {
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    margin: 0
}

.article-page .article-page-content .article-title {
    font-size: 2.5rem;
    font-weight: 800
}

@media print,
screen and (min-width: 40em) {
    .article-page .article-page-content .article-title {
        font-size: 3.5rem
    }
}

@media screen and (min-width: 87.5em) {
    .article-page .article-page-content .article-title {
        font-size: 4rem
    }
}

.article-page .article-page-content .article-standfirst {
    font-family: "didot_lt_stdregular";
    font-size: 1rem
}

@media print,
screen and (min-width: 40em) {
    .article-page .article-page-content .article-standfirst {
        font-size: 1.125rem
    }
}

@media screen and (min-width: 87.5em) {
    .article-page .article-page-content .article-standfirst {
        font-size: 1.375rem
    }
}

.article-page .article-page-content .article-standfirst strong,
.article-page .article-page-content .article-standfirst b {
    font-weight: normal;
    font-family: "didot_lt_stdbold"
}

.article-page .article-page-content .article-copy {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem
}

@media print,
screen and (min-width: 40em) {
    .article-page .article-page-content .article-copy {
        width: 83.33333%;
        margin-right: 0;
        margin-left: 0;
        margin-left: 16.66667%
    }
}

@media print,
screen and (min-width: 40em) {
    .article-page .article-page-content .article-copy p {
        font-size: 1.125rem
    }
}

@media screen and (min-width: 87.5em) {
    .article-page .article-page-content .article-copy p {
        font-size: 1.375rem
    }
}

.article-page .article-page-content .article-page-image {
    padding-top: 1.875rem;
    padding-bottom: 2.5rem
}

.article-page .article-page-content blockquote {
    font-family: "didot_lt_stditalic";
    font-size: 1.375rem;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem
}

@media print,
screen and (min-width: 40em) {
    .article-page .article-page-content blockquote {
        font-size: 1.75rem
    }
}

@media screen and (min-width: 87.5em) {
    .article-page .article-page-content blockquote {
        font-size: 2.25rem
    }
}

.article-page .article-page-content blockquote p:before {
    content: "\201C"
}

.article-page .article-page-content blockquote p:after {
    content: "\201D"
}

.article-page .article-page-content blockquote cite {
    text-align: right;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-style: normal
}

.stack-template {
    position: relative;
    z-index: 1
}

@media screen and (max-width: 63.9375em) {
    .stack-template .grid-x.swap-columns {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
    .stack-template .grid-x.swap-columns .article-page-content {
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
}

.stack-template .article-page-media {
    position: relative;
    height: 500px;
    background: no-repeat top center/cover
}

@media print,
screen and (min-width: 40em) {
    .stack-template .article-page-media {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .stack-template .article-page-media {
        height: 100vh
    }
}

.stack-template .article-page-content {
    position: relative;
    padding-top: .9375rem;
    padding-bottom: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .stack-template .article-page-content {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem
    }
}

@media print,
screen and (min-width: 64em) {
    .stack-template .article-page-content {
        padding-top: 6.25rem;
        padding-bottom: 6.25rem
    }
}

.stack-template .article-page-content .article-page-content-inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem
}

@media print,
screen and (min-width: 64em) {
    .stack-template .article-page-content {
        height: auto
    }
}

.stack-template .article-page-content .article-type {
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    margin: 0
}

.stack-template .article-page-content .article-title {
    font-size: 2.5rem;
    font-weight: 800
}

@media print,
screen and (min-width: 40em) {
    .stack-template .article-page-content .article-title {
        font-size: 3.5rem
    }
}

@media screen and (min-width: 87.5em) {
    .stack-template .article-page-content .article-title {
        font-size: 4rem
    }
}

.stack-template .article-page-content .article-standfirst {
    font-family: "didot_lt_stdregular";
    font-size: 1rem
}

@media print,
screen and (min-width: 40em) {
    .stack-template .article-page-content .article-standfirst {
        font-size: 1.125rem
    }
}

@media screen and (min-width: 87.5em) {
    .stack-template .article-page-content .article-standfirst {
        font-size: 1.375rem
    }
}

.stack-template .article-page-content .article-standfirst strong,
.stack-template .article-page-content .article-standfirst b {
    font-weight: normal;
    font-family: "didot_lt_stdbold"
}

.stack-template .article-page-content .article-copy {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem
}

@media print,
screen and (min-width: 40em) {
    .stack-template .article-page-content .article-copy {
        width: 83.33333%;
        margin-right: 0;
        margin-left: 0;
        margin-left: 16.66667%
    }
}

@media print,
screen and (min-width: 40em) {
    .stack-template .article-page-content .article-copy p {
        font-size: 1.125rem
    }
}

@media screen and (min-width: 87.5em) {
    .stack-template .article-page-content .article-copy p {
        font-size: 1.375rem
    }
}

.stack-template .article-page-content .article-page-image {
    padding-top: 1.875rem;
    padding-bottom: 2.5rem
}

.stack-template .article-page-content blockquote {
    font-family: "didot_lt_stditalic";
    font-size: 1.375rem;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem
}

@media print,
screen and (min-width: 40em) {
    .stack-template .article-page-content blockquote {
        font-size: 1.75rem
    }
}

@media screen and (min-width: 87.5em) {
    .stack-template .article-page-content blockquote {
        font-size: 2.25rem
    }
}

.stack-template .article-page-content blockquote p:before {
    content: "\201C"
}

.stack-template .article-page-content blockquote p:after {
    content: "\201D"
}

.stack-template .article-page-content blockquote cite {
    text-align: right;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-style: normal
}

.article-productstack {
    width: 100%;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem
}

.article-productstack .article-productstack-txt {
    text-align: center;
    padding: 0 10px;
    max-width: 250px;
    margin: 0 auto
}

.article-productstack .article-productstack-txt .article-productstack-title {
    font-size: .875rem;
    text-transform: none;
    font-weight: 600;
    font-family: "aktiv-grotesk-extended", sans-serif;
    margin-bottom: 10px
}

@media print,
screen and (min-width: 40em) {
    .article-productstack .article-productstack-txt .article-productstack-title {
        font-size: 1rem
    }
}

.article-productstack .article-productstack-txt .article-productstack-desc {
    font-size: .75rem;
    line-height: 1.3;
    color: #666
}

@media print,
screen and (min-width: 40em) {
    .article-productstack .article-productstack-txt .article-productstack-desc {
        font-size: .875rem
    }
}

.article-productstack .article-productstack-txt .button {
    margin: 0
}

@media screen and (max-width: 39.9375em) {
    .article-productstack .article-productstack-txt .button {
        font-size: .625rem;
        padding: 12px 12px
    }
}

.article-productcarousel {
    width: 100%;
    padding-bottom: 1.875rem
}

.article-productcarousel .article-productcarousel-item .article-productcarousel-img {
    margin-bottom: 30px
}

.article-productcarousel .article-productcarousel-item .article-productcarousel-txt {
    text-align: center;
    padding: 0 10px;
    max-width: 250px;
    margin: 0 auto
}

.article-productcarousel .article-productcarousel-item .article-productcarousel-txt .article-productcarousel-txt-wrapper {
    min-height: 70px
}

.article-productcarousel .article-productcarousel-item .article-productcarousel-txt .article-productcarousel-title {
    font-size: .875rem;
    text-transform: none;
    font-weight: 600;
    font-family: "aktiv-grotesk-extended", sans-serif;
    margin-bottom: 10px
}

@media print,
screen and (min-width: 40em) {
    .article-productcarousel .article-productcarousel-item .article-productcarousel-txt .article-productcarousel-title {
        font-size: 1rem
    }
}

.article-productcarousel .article-productcarousel-item .article-productcarousel-txt .article-productcarousel-desc {
    font-size: .75rem;
    line-height: 1.3;
    color: #666
}

@media print,
screen and (min-width: 40em) {
    .article-productcarousel .article-productcarousel-item .article-productcarousel-txt .article-productcarousel-desc {
        font-size: .875rem
    }
}

.article-productcarousel .article-productcarousel-item .article-productcarousel-txt .button {
    margin: 0
}

.article-productcarousel .slick-dots {
    margin: 30px auto;
    display: block
}

.article-slideout {
    background: #F6F6F6;
    border-top: 1px solid #ddd;
    position: fixed;
    left: 0;
    bottom: 0;
    height: 210px;
    padding-top: .9375rem;
    padding-left: .9375rem
}

.article-slideout.mirrored {
    left: auto;
    right: 0
}

.article-slideout.mirrored .close-slideout {
    left: 1em;
    right: auto
}

@media print,
screen and (min-width: 40em) {
    .article-slideout {
        padding-top: 1.875rem;
        padding-left: 1.875rem
    }
}

@media print,
screen and (min-width: 40em) {
    .article-slideout {
        height: 315px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-slideout {
        background: #fff;
        top: 0;
        bottom: auto;
        height: 100%;
        padding-bottom: .9375rem;
        padding-left: .9375rem;
        padding-right: .9375rem;
        padding-top: 80px
    }
}

@media print,
screen and (min-width: 64em) and (min-width: 40em) {
    .article-slideout {
        padding-bottom: 1.875rem;
        padding-left: 1.875rem;
        padding-right: 1.875rem
    }
}

@media print,
screen and (min-width: 64em) {
    .article-slideout>.grid-x {
        height: 100%
    }
}

.article-slideout .article-slideout-cta {
    text-align: center;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    margin: 0 0 10px 0
}

@media print,
screen and (min-width: 64em) {
    .article-slideout .article-slideout-cta {
        font-size: 1.375rem;
        margin: 0 0 20px 0;
        padding-bottom: 50px;
        border-bottom: 1px solid #eee;
        position: relative;
        z-index: 1
    }
    .article-slideout .article-slideout-cta:after {
        content: '';
        position: absolute;
        z-index: 0;
        width: 100%;
        height: 50px;
        left: 0;
        bottom: 0;
        background: url(../img/chevron-down.svg) no-repeat center center/20px 20px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-slideout .article-slideout-container {
        width: auto !important
    }
}

.article-slideout .article-slideout-item {
    width: 130px;
    display: block;
    padding-right: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .article-slideout .article-slideout-item {
        width: 215px
    }
}

@media print,
screen and (min-width: 40em) {
    .article-slideout .article-slideout-item {
        padding-right: 1.875rem
    }
}

@media print,
screen and (min-width: 64em) {
    .article-slideout .article-slideout-item {
        padding: 0;
        width: 100%
    }
}

.article-slideout .article-slideout-item .article-slideout-img {
    margin-bottom: 5px;
    background: #fff
}

@media print,
screen and (min-width: 40em) {
    .article-slideout .article-slideout-item .article-slideout-img {
        margin-bottom: 10px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-slideout .article-slideout-item .article-slideout-img {
        margin-bottom: 15px
    }
}

.article-slideout .article-slideout-item .article-slideout-img img {
    display: block;
    max-height: 100px;
    margin: 0 auto
}

@media print,
screen and (min-width: 40em) {
    .article-slideout .article-slideout-item .article-slideout-img img {
        max-height: 170px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-slideout .article-slideout-item .article-slideout-img img {
        max-height: none
    }
}

.article-slideout .article-slideout-item .article-slideout-txt {
    text-align: center;
    padding: 0 10px;
    max-width: 250px;
    margin: 0 auto
}

.article-slideout .article-slideout-item .article-slideout-txt .article-slideout-title {
    font-size: .875rem;
    text-transform: none;
    font-weight: 600;
    font-family: "aktiv-grotesk-extended", sans-serif;
    margin: 0
}

@media print,
screen and (min-width: 40em) {
    .article-slideout .article-slideout-item .article-slideout-txt .article-slideout-title {
        font-size: 1rem
    }
}

@media print,
screen and (min-width: 64em) {
    .article-slideout .article-slideout-item .article-slideout-txt .article-slideout-title {
        margin-bottom: 10px
    }
}

.article-slideout .article-slideout-item .article-slideout-txt .article-slideout-desc {
    font-size: .75rem;
    line-height: 1.3;
    color: #666
}

@media print,
screen and (min-width: 40em) {
    .article-slideout .article-slideout-item .article-slideout-txt .article-slideout-desc {
        font-size: .875rem
    }
}

.article-slideout .article-slideout-item .article-slideout-txt .button {
    margin: 0
}

.article-page-media-slider-pagination {
    background: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: absolute;
    z-index: 2;
    text-align: center;
    line-height: 50px;
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    white-space: nowrap;
    right: 20px;
    top: 430px
}

@media screen and (max-width: 63.9375em) {
    .article-page-media-slider-pagination {
        display: none
    }
}

@media print,
screen and (min-width: 40em) {
    .article-page-media-slider-pagination {
        top: 630px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-page-media-slider-pagination {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 1rem;
        bottom: 20px;
        top: auto;
        right: 20px
    }
}

@media print,
screen and (min-width: 64em) {
    .mirrored .article-page-media-slider-pagination {
        right: auto;
        left: 20px
    }
}

.article-page-media-slider {
    height: 500px;
    opacity: 0
}

@media print,
screen and (min-width: 40em) {
    .article-page-media-slider {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-page-media-slider {
        height: 100vh
    }
}

.article-page-media-slider.slick-initialized {
    opacity: 1
}

.article-page-media-slider .article-page-media-slider-item {
    height: 500px;
    position: relative;
    z-index: 1;
    background: no-repeat top center/cover
}

@media print,
screen and (min-width: 40em) {
    .article-page-media-slider .article-page-media-slider-item {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-page-media-slider .article-page-media-slider-item {
        height: 100vh
    }
}

.article-page-media-slider .slick-dots {
    position: absolute;
    z-index: 3;
    top: 488px;
    left: 50%;
    width: auto;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media print,
screen and (min-width: 40em) {
    .article-page-media-slider .slick-dots {
        top: 788px
    }
}

@media print,
screen and (min-width: 64em) {
    .article-page-media-slider .slick-dots {
        top: auto;
        bottom: 20px
    }
}

.stack-template-media-slider-pagination {
    background: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: absolute;
    z-index: 2;
    text-align: center;
    line-height: 50px;
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    white-space: nowrap;
    right: 20px;
    top: 430px
}

@media screen and (max-width: 63.9375em) {
    .stack-template-media-slider-pagination {
        display: none
    }
}

@media print,
screen and (min-width: 40em) {
    .stack-template-media-slider-pagination {
        top: 630px
    }
}

@media print,
screen and (min-width: 64em) {
    .stack-template-media-slider-pagination {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 1rem;
        bottom: 20px;
        top: auto;
        right: 20px
    }
}

@media print,
screen and (min-width: 64em) {
    .mirrored .stack-template-media-slider-pagination {
        right: auto;
        left: 20px
    }
}

.stack-template-media-slider {
    height: 500px;
    opacity: 0
}

@media print,
screen and (min-width: 40em) {
    .stack-template-media-slider {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .stack-template-media-slider {
        height: 100vh
    }
}

.stack-template-media-slider.slick-initialized {
    opacity: 1
}

.stack-template-media-slider .stack-template-media-slider-item {
    height: 500px;
    position: relative;
    z-index: 1;
    background: no-repeat center center/cover
}

@media print,
screen and (min-width: 40em) {
    .stack-template-media-slider .stack-template-media-slider-item {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .stack-template-media-slider .stack-template-media-slider-item {
        height: 100vh
    }
}

.stack-template-media-slider .slick-dots {
    position: absolute;
    z-index: 3;
    top: 488px;
    left: 50%;
    width: auto;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media print,
screen and (min-width: 40em) {
    .stack-template-media-slider .slick-dots {
        top: 788px
    }
}

@media print,
screen and (min-width: 64em) {
    .stack-template-media-slider .slick-dots {
        top: auto;
        bottom: 20px
    }
}

.article-page-inlinevideo {
    position: relative;
    z-index: 1;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-top: 1.875rem;
    margin-bottom: 2.5rem
}

.article-page-inlinevideo .article-page-inlinevideo-iframe {
    width: 100%;
    height: 100%;
    position: absolute
}

.eightytwenty-page {
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page {
        height: 100vh
    }
}

.eightytwenty-page .slick-dots {
    position: absolute;
    z-index: 3;
    top: calc(3/4*100vw - 12px);
    left: 50%;
    width: auto;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page .slick-dots {
        top: auto;
        bottom: 20px
    }
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page.xmirrored .slick-dots {
        left: 25%
    }
}

.eightytwenty-page .eightytwenty-page-slider-pagination {
    background: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: absolute;
    z-index: 2;
    text-align: center;
    line-height: 50px;
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    white-space: nowrap;
    right: 20px;
    top: calc(3/4*100vw - 70px)
}

@media screen and (max-width: 63.9375em) {
    .eightytwenty-page .eightytwenty-page-slider-pagination {
        display: none
    }
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page .eightytwenty-page-slider-pagination {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 1rem;
        margin-left: -80px;
        bottom: 20px;
        top: auto;
        left: 75%;
        right: auto
    }
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page.mirrored .eightytwenty-page-slider-pagination {
        margin-right: -80px;
        right: 75%;
        left: auto
    }
}

.eightytwenty-page .eightytwenty-page-media {
    background: #eee;
    height: calc(3/4*100vw);
    transition: all linear .2s;
    opacity: 0
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page .eightytwenty-page-media {
        height: 100vh
    }
}

.eightytwenty-page .eightytwenty-page-media.slick-initialized {
    opacity: 1
}

.eightytwenty-page .eightytwenty-page-media-item {
    height: calc(3/4*100vw);
    position: relative;
    z-index: 1;
    background: no-repeat center center/cover
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page .eightytwenty-page-media-item {
        height: 100vh
    }
}

.eightytwenty-page .eightytwenty-page-content {
    padding-top: .9375rem;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    transition: all linear .2s;
    opacity: 0
}

@media print,
screen and (min-width: 40em) {
    .eightytwenty-page .eightytwenty-page-content {
        padding-top: 3.125rem
    }
}

@media print,
screen and (min-width: 64em) {
    .eightytwenty-page .eightytwenty-page-content {
        padding-top: 6.25rem;
        padding-bottom: 6.25rem;
        height: 100vh;
        overflow-y: auto;
        max-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
}

.eightytwenty-page .eightytwenty-page-content.slick-initialized {
    opacity: 1
}

.eightytwenty-page .eightytwenty-type {
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    margin: 0
}

.eightytwenty-page .eightytwenty-title {
    font-size: 1.375rem
}

@media screen and (min-width: 87.5em) {
    .eightytwenty-page .eightytwenty-title {
        font-size: 2.5rem
    }
}

.eightytwenty-page .eightytwenty-copy p {
    color: #666;
    font-size: 1rem
}

@media screen and (min-width: 87.5em) {
    .eightytwenty-page .eightytwenty-copy p {
        font-size: 1.125rem
    }
}

.fiftyfifty-page {
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 64em) {
    .fiftyfifty-page {
        height: 100vh
    }
}

.fiftyfifty-page .slick-dots {
    position: absolute;
    z-index: 3;
    top: 488px;
    left: 50%;
    width: auto;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .slick-dots {
        top: 788px
    }
}

@media print,
screen and (min-width: 64em) {
    .fiftyfifty-page .slick-dots {
        top: auto;
        bottom: 20px
    }
}

.fiftyfifty-page .fiftyfifty-page-slider-pagination {
    background: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: absolute;
    z-index: 2;
    text-align: center;
    line-height: 50px;
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    white-space: nowrap;
    right: 20px;
    top: 430px
}

@media screen and (max-width: 63.9375em) {
    .fiftyfifty-page .fiftyfifty-page-slider-pagination {
        display: none
    }
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-page-slider-pagination {
        top: 730px
    }
}

@media print,
screen and (min-width: 64em) {
    .fiftyfifty-page .fiftyfifty-page-slider-pagination {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 1rem;
        margin-left: -80px;
        bottom: 20px;
        top: auto;
        left: 50%;
        right: auto
    }
}

@media print,
screen and (min-width: 64em) {
    .fiftyfifty-page.mirrored .fiftyfifty-page-slider-pagination {
        margin-right: -80px;
        right: 50%;
        left: auto
    }
}

.fiftyfifty-page .fiftyfifty-page-media {
    background: #eee;
    height: 500px;
    transition: all linear .2s;
    opacity: 0
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-page-media {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .fiftyfifty-page .fiftyfifty-page-media {
        height: 100vh
    }
}

.fiftyfifty-page .fiftyfifty-page-media.slick-initialized {
    opacity: 1
}

.fiftyfifty-page .fiftyfifty-page-media-item {
    height: 500px;
    position: relative;
    z-index: 1;
    background: no-repeat top center/cover
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-page-media-item {
        height: 800px
    }
}

@media print,
screen and (min-width: 64em) {
    .fiftyfifty-page .fiftyfifty-page-media-item {
        height: 100vh
    }
}

.fiftyfifty-page .fiftyfifty-page-content {
    padding-top: .9375rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    transition: all linear .2s;
    opacity: 0
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-page-content {
        padding-top: 3.125rem
    }
}

@media print,
screen and (min-width: 64em) {
    .fiftyfifty-page .fiftyfifty-page-content {
        padding-top: 6.25rem;
        padding-bottom: 6.25rem;
        height: 100vh;
        overflow-y: auto;
        max-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-stype: -ms-autohiding-scrollbar
    }
}

.fiftyfifty-page .fiftyfifty-page-content.slick-initialized {
    opacity: 1
}

.fiftyfifty-page .fiftyfifty-type {
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    margin: 0
}

.fiftyfifty-page .fiftyfifty-standfirst {
    font-family: "didot_lt_stdregular";
    font-size: 1rem
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-standfirst {
        font-size: 1.125rem
    }
}

@media screen and (min-width: 87.5em) {
    .fiftyfifty-page .fiftyfifty-standfirst {
        font-size: 1.375rem
    }
}

.fiftyfifty-page .fiftyfifty-standfirst strong,
.fiftyfifty-page .fiftyfifty-standfirst b {
    font-weight: normal;
    font-family: "didot_lt_stdbold"
}

.fiftyfifty-page .fiftyfifty-title {
    font-size: 2.5rem;
    font-weight: 800
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-title {
        font-size: 3.5rem
    }
}

@media screen and (min-width: 87.5em) {
    .fiftyfifty-page .fiftyfifty-title {
        font-size: 4rem
    }
}

.fiftyfifty-page .fiftyfifty-copy {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-copy {
        width: 83.33333%;
        margin-right: 0;
        margin-left: 0;
        margin-left: 16.66667%
    }
}

@media print,
screen and (min-width: 40em) {
    .fiftyfifty-page .fiftyfifty-copy p {
        font-size: 1.125rem
    }
}

@media screen and (min-width: 87.5em) {
    .fiftyfifty-page .fiftyfifty-copy p {
        font-size: 1.375rem
    }
}

.fiftyfifty-page .fiftyfifty-image {
    padding-top: 1.875rem;
    padding-bottom: 2.5rem
}

.fullpage {
    position: relative;
    z-index: 1
}

.fullpage-pagination {
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    white-space: nowrap;
    color: #fff;
    position: relative;
    padding-bottom: 50px;
    background: url(../img/chevron-down-white.svg) no-repeat center center/20px 20px;
    display: block
}

.fullpage-pagination.endpag {
    background: none
}

.fullpage-container {
    height: 100%;
    height: 100vh;
    background: no-repeat top center/cover;
    position: relative;
    z-index: 1
}

.fullpage-container .fullpage-content {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    text-align: center;
    padding-top: 100px;
    padding-bottom: 70px;
    padding-left: 1.5625rem;
    padding-right: 1.5625rem
}

@media print,
screen and (min-width: 64em) {
    .fullpage-container .fullpage-content {
        padding-left: .9375rem;
        padding-right: .9375rem
    }
}

@media screen and (min-width: 87.5em) {
    .fullpage-container .fullpage-content {
        padding-bottom: .9375rem
    }
}

@media screen and (min-width: 87.5em) and (min-width: 40em) {
    .fullpage-container .fullpage-content {
        padding-bottom: 1.875rem
    }
}

.fullpage-container .fullpage-content .fullpage-content-title {
    color: #fff;
    text-shadow: 0 2px 10px rgba(51, 51, 51, 0.2), 0 0 2px rgba(0, 0, 0, 0.1);
    margin: 0
}

@media screen and (min-width: 87.5em) {
    .fullpage-container .fullpage-content .fullpage-content-title {
        font-size: 4.5rem
    }
}

.fullpage-container .fullpage-content .fullpage-content-copy {
    color: #fff;
    text-shadow: 0 2px 10px rgba(51, 51, 51, 0.2), 0 0 2px rgba(0, 0, 0, 0.1)
}

.fullpage-container .fullpage-content .fullpage-content-copy p {
    font-size: .875rem
}

@media print,
screen and (min-width: 40em) {
    .fullpage-container .fullpage-content .fullpage-content-copy p {
        font-size: 1.25rem
    }
}

.fullpage-inlinevideo-wrapper {
    width: 65%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto
}

.fullpage-inlinevideo {
    position: relative;
    z-index: 1;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden
}

.fullpage-inlinevideo .fullpage-inlinevideo-iframe {
    width: 100%;
    height: 100%;
    position: absolute
}

.horizontalscroll {
    padding-top: 80px;
    padding-bottom: 60px
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll {
        padding: 0;
        padding-left: .9375rem
    }
}

.horizontalscroll .horizontalscroll-page-text {
    padding-top: .9375rem;
    padding-left: .9375rem;
    padding-right: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-page-text {
        padding-top: 1.875rem
    }
}

.horizontalscroll .horizontalscroll-page-text .horizontalscroll-page-type {
    font-family: "didot_lt_stditalic";
    font-size: .875rem;
    margin: 0
}

.horizontalscroll .horizontalscroll-page-text .horizontalscroll-page-title {
    font-size: 1.375rem
}

@media print,
screen and (min-width: 64em) {
    .horizontalscroll .horizontalscroll-page-text .horizontalscroll-page-title {
        font-size: 2.25rem
    }
}

@media screen and (min-width: 87.5em) {
    .horizontalscroll .horizontalscroll-page-text .horizontalscroll-page-title {
        font-size: 2.75rem
    }
}

.horizontalscroll .horizontalscroll-page-text .horizontalscroll-page-copy p {
    color: #666
}

@media print,
screen and (min-width: 64em) {
    .horizontalscroll .horizontalscroll-page-text .horizontalscroll-page-copy p {
        font-size: 1.125rem
    }
}

@media screen and (min-width: 87.5em) {
    .horizontalscroll .horizontalscroll-page-text .horizontalscroll-page-copy p {
        font-size: 1.375rem
    }
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content {
        height: 100vh
    }
}

.horizontalscroll .horizontalscroll-content .scroll-element.scroll-y {
    display: none !important
}

@media screen and (max-width: 39.9375em) {
    .horizontalscroll .horizontalscroll-content-grid {
        width: auto !important
    }
}

.horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item {
    padding-top: .9375rem;
    padding-left: .9375rem;
    padding-right: .9375rem
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item {
        padding-top: 1.875rem
    }
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item {
        width: 512px
    }
}

@media print,
screen and (min-width: 64em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item {
        width: 360px
    }
}

@media screen and (min-width: 87.5em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item {
        width: 400px
    }
}

@media screen and (min-width: 118.75em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item {
        width: 580px
    }
}

@media screen and (max-width: 39.9375em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-image {
        width: 41.66667%
    }
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-image.stack {
        height: 634px
    }
}

@media print,
screen and (min-width: 64em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-image.stack {
        height: 487px
    }
}

@media screen and (min-width: 87.5em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-image.stack {
        height: 487px
    }
}

@media screen and (min-width: 118.75em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-image.stack {
        height: 724px
    }
}

.horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-image img {
    width: 100%
}

.horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text {
    padding: 0 0 0 15px
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text {
        padding: 15px 0 0 0
    }
}

@media screen and (max-width: 39.9375em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text {
        width: 58.33333%
    }
}

.horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text .horizontalscroll-type {
    font-family: "didot_lt_stditalic";
    font-size: .75rem;
    margin: 0
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text .horizontalscroll-type {
        font-size: .875rem
    }
}

.horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text .horizontalscroll-title {
    font-size: 1rem;
    font-weight: 800
}

@media screen and (max-width: 39.9375em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text .horizontalscroll-title {
        margin: 0 0 10px 0
    }
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text .horizontalscroll-title {
        font-size: 1.375rem
    }
}

.horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text .horizontalscroll-copy {
    font-size: .625rem
}

@media print,
screen and (min-width: 40em) {
    .horizontalscroll .horizontalscroll-content-grid .horizontalscroll-content-grid-item .horizontalscroll-content-grid-item-text .horizontalscroll-copy {
        font-size: .875rem
    }
}

.hotspot-img {
    padding-top: .9375rem;
    padding-right: .9375rem;
    padding-bottom: .9375rem;
    padding-left: .9375rem;
    height: 100%;
    text-align: center
}

@media print,
screen and (min-width: 40em) {
    .hotspot-img {
        padding-top: 1.875rem;
        padding-right: 1.875rem;
        padding-bottom: 1.875rem;
        padding-left: 1.875rem
    }
}

.hotspot-img .hotspot-img-wrapper {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin: 0 auto;
    height: 100%
}

.hotspot-img img {
    display: block;
    max-height: 100%
}

.hotspot-img .hotspots {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url(../img/plus.svg) no-repeat center center/16px 16px;
    background-color: rgba(255, 255, 255, 0.9);
    position: absolute;
    z-index: 2;
    cursor: pointer;
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease-in-out
}

@media print,
screen and (min-width: 40em) {
    .hotspot-img .hotspots {
        width: 40px;
        height: 40px
    }
}

.hotspot-img .hotspots:hover {
    background-color: #fff
}

.reveal.full.hotspot-reveal {
    top: 0 !important
}

@media print,
screen and (min-width: 64em) {
    .reveal.full.hotspot-reveal {
        width: 50% !important;
        left: auto !important;
        right: 0 !important
    }
}

html.is-reveal-open,
html.is-reveal-open body {
    position: relative
}

.hotspot-reveal-item {
    height: 100%
}

.hotspot-reveal-item .hotspot-reveal-img {
    max-width: 300px;
    margin: 0 auto 30px auto;
    display: block
}

.hotspot-reveal-item .hotspot-reveal-txt {
    text-align: center;
    padding: 0 10px;
    max-width: 250px;
    margin: 0 auto
}

.hotspot-reveal-item .hotspot-reveal-txt .hotspot-reveal-title {
    font-size: .875rem;
    text-transform: none;
    font-weight: 600;
    font-family: "aktiv-grotesk-extended", sans-serif;
    margin-bottom: 10px
}

@media print,
screen and (min-width: 40em) {
    .hotspot-reveal-item .hotspot-reveal-txt .hotspot-reveal-title {
        font-size: 1rem
    }
}

.hotspot-reveal-item .hotspot-reveal-txt .hotspot-reveal-desc {
    font-size: .75rem;
    line-height: 1.3;
    color: #666;
    height: 50px
}

@media print,
screen and (min-width: 40em) {
    .hotspot-reveal-item .hotspot-reveal-txt .hotspot-reveal-desc {
        font-size: .875rem
    }
}

.hotspot-reveal-item .hotspot-reveal-txt .button {
    margin: 0
}

.product-reveal {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar
}

@media print,
screen and (min-width: 40em) {
    .product-reveal {
        max-height: 95%
    }
}

@media screen and (max-width: 39.9375em) {
    .product-reveal-wrapper {
        padding-top: 30px
    }
}

.product-reveal-item {
    margin-bottom: 30px
}

.product-reveal-item .button {
    display: block
}

.product-reveal-item-img {
    width: 100%
}

@media screen and (max-width: 39.9375em) {
    .product-reveal-item-img {
        margin-bottom: 30px
    }
}

@media print,
screen and (min-width: 40em) {
    .product-reveal-item-txt {
        padding: 0 0 0 30px
    }
}

.product-reveal-item-title {
    font-size: 1.125rem;
    text-transform: none;
    font-weight: 600;
    font-family: "aktiv-grotesk-extended", sans-serif;
    margin-bottom: 10px
}

@media print,
screen and (min-width: 40em) {
    .product-reveal-item-title {
        font-size: 1.25rem
    }
}

.product-reveal-item-desc {
    line-height: 1.3;
    color: #666
}

.bg-left-top {
    background-position: left top
}

.bg-left-center {
    background-position: left center
}

.bg-left-bottom {
    background-position: left bottom
}

.bg-right-top {
    background-position: right top
}

.bg-right-center {
    background-position: right center
}

.bg-right-bottom {
    background-position: right bottom
}

.bg-center-top {
    background-position: center top
}

.bg-center-center {
    background-position: center center
}

.bg-center-bottom {
    background-position: center bottom
}

.advert-page {
    height: 100vh;
    text-align: center;
    background: #fff;
    position: relative;
    z-index: 1
}

.advert-page .advert-page-title {
    background: #fff;
    font-size: .875rem;
    padding: 5px 0;
    position: absolute;
    width: 100%;
    top: 0
}

.advert-page .advert-page-title p {
    margin: 0
}

.advert-page img {
    display: inline-block;
    margin: 0 auto;
    max-width: 80%;
    max-height: 80vh
}

.advert-page-video {
    position: relative;
    z-index: 1;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 0 auto;
    max-width: 80%
}

.temp-placeholder-title {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.page-numbers {
    position: absolute;
    top: 0;
    padding: 15px 0 0 5px;
    border-left: 1px solid #ccc;
    color: #ccc;
    margin-left: 10px;
    line-height: 1
}

@media print,
screen and (min-width: 40em) {
    .page-numbers {
        margin-left: 2.5rem;
        margin-right: 2.5rem;
        padding: 40px 0 0 10px
    }
}

.image-caption {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    text-align: center;
    line-height: 30px;
    background-color: rgba(255, 255, 255, 0.9);
    position: absolute;
    z-index: 2;
    left: 20px;
    top: 20px;
    cursor: pointer;
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.3);
    font-family: "didot_lt_stditalic";
    font-size: 1.25rem;
    transition: all 0.3s ease-in-out
}

@media print,
screen and (min-width: 40em) {
    .image-caption {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 1.5rem
    }
}

.image-caption:hover {
    background-color: #fff
}

.image-caption-text {
    background: rgba(51, 51, 51, 0.6);
    padding: 5px 10px;
    border: 0;
    top: 55px !important;
    left: 20px !important;
    color: #fff
}

@media screen and (max-width: 39.9375em) {
    .image-caption-text {
        width: 50%
    }
}

@media print,
screen and (min-width: 40em) {
    .image-caption-text {
        top: 65px !important
    }
}

.image-caption-text a {
    color: #fff
}

.nopad {
    padding: 0 !important
}

.pad {
    padding: 30px
}

.pad-side {
    padding: 0 30px
}

.pad-left {
    padding-left: 30px
}

.pad-right {
    padding-right: 30px
}

.pad-top {
    padding-top: 30px
}

.pad-bottom {
    padding-bottom: 30px
}

.pad-topbottom {
    padding: 30px 0
}

.thickpad {
    padding: 60px
}

.thickpad-side {
    padding: 0 60px
}

.thickpad-left {
    padding-left: 60px
}

.thickpad-right {
    padding-right: 60px
}

.thickpad-top {
    padding-top: 60px
}

.thickpad-bottom {
    padding-bottom: 60px
}

.thickpad-topbottom {
    padding: 60px 0
}

.thickerpad {
    padding: 90px
}

.thickerpad-side {
    padding: 0 90px
}

.thickerpad-left {
    padding-left: 90px
}

.thickerpad-right {
    padding-right: 90px
}

.thickerpad-top {
    padding-top: 90px
}

.thickerpad-bottom {
    padding-bottom: 90px
}

.thickerpad-topbottom {
    padding: 90px 0
}

.thinpad {
    padding: 20px
}

.thinpad-side {
    padding: 0 20px
}

.thinpad-left {
    padding-left: 20px
}

.thinpad-right {
    padding-right: 20px
}

.thinpad-top {
    padding-top: 20px
}

.thinpad-bottom {
    padding-bottom: 20px
}

.thinpad-topbottom {
    padding: 20px 0
}

.mediumpad {
    padding: 45px
}

.mediumpad-side {
    padding: 0 45px
}

.mediumpad-left {
    padding-left: 45px
}

.mediumpad-right {
    padding-right: 45px
}

.mediumpad-top {
    padding-top: 45px
}

.mediumpad-bottom {
    padding-bottom: 45px
}

.mediumpad-topbottom {
    padding: 45px 0
}

.nomarg {
    margin: 0 !important
}

.marg {
    margin: 30px
}

.marg-side {
    margin: 0 30px
}

.marg-left {
    margin-left: 30px
}

.marg-right {
    margin-right: 30px
}

.marg-top {
    margin-top: 30px
}

.marg-bottom {
    margin-bottom: 30px
}

.marg-topbottom {
    margin: 30px 0
}

.thickmarg {
    margin: 60px
}

.thickmarg-side {
    margin: 0 60px
}

.thickmarg-left {
    margin-left: 60px
}

.thickmarg-right {
    margin-right: 60px
}

.thickmarg-top {
    margin-top: 60px
}

.thickmarg-bottom {
    margin-bottom: 60px
}

.thickmarg-topbottom {
    margin: 60px 0
}

.thickermarg {
    margin: 90px
}

.thickermarg-side {
    margin: 0 90px
}

.thickermarg-left {
    margin-left: 90px
}

.thickermarg-right {
    margin-right: 90px
}

.thickermarg-top {
    margin-top: 90px
}

.thickermarg-bottom {
    margin-bottom: 90px
}

.thickermarg-topbottom {
    margin: 90px 0
}

.thinmarg {
    margin: 20px
}

.thinmarg-side {
    margin: 0 20px
}

.thinmarg-left {
    margin-left: 20px
}

.thinmarg-right {
    margin-right: 20px
}

.thinmarg-top {
    margin-top: 20px
}

.thinmarg-bottom {
    margin-bottom: 20px
}

.thinmarg-topbottom {
    margin: 20px 0
}

.mediummarg {
    margin: 45px
}

.mediummarg-side {
    margin: 0 45px
}

.mediummarg-left {
    margin-left: 45px
}

.mediummarg-right {
    margin-right: 45px
}

.mediummarg-top {
    margin-top: 45px
}

.mediummarg-bottom {
    margin-bottom: 45px
}

.mediummarg-topbottom {
    margin: 45px 0
}

.BT-quote {
    font-family: "didot_lt_stditalic";
    text-align: center
}

@media print,
screen and (min-width: 40em) {
    .BT-quote {
        font-size: 1.5em !important
    }
}

.stack-template-media-slider-item.slick-slide.slick-current.slick-active {
    background-position: top
}

cite {
    color: #2d84a0
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir="rtl"] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 40px;
    width: 40px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: .75
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .75
}

.slick-prev:before,
.slick-next:before {
    font-size: 30px;
    line-height: 1;
    color: #666;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'laura' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none
}

.slick-prev {
    left: 0
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: 0
}

.slick-prev:before {
    content: ""
}

[dir="rtl"] .slick-prev:before {
    content: ""
}

.slick-next {
    right: 0
}

[dir="rtl"] .slick-next {
    left: 0;
    right: auto
}

.slick-next:before {
    content: ""
}

[dir="rtl"] .slick-next:before {
    content: ""
}

.slick-dotted.slick-slider {
    margin-bottom: 0
}

.slick-dots {
    list-style: none;
    display: inline-block;
    text-align: center;
    padding: 0;
    margin: 0;
    background: #fff;
    border-radius: 12px;
    line-height: 1;
    padding: 0 3px;
    height: 25px
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 25px;
    width: 20px;
    margin: 0;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    box-shadow: none;
    border: 0;
    background: transparent;
    display: block;
    height: 25px;
    width: 20px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: .75
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "•";
    width: 20px;
    height: 25px;
    font-family: "slick";
    font-size: 33.33333px;
    line-height: 25px;
    text-align: center;
    color: #A7A7A7;
    opacity: .75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    color: #333;
    opacity: 1;
    font-size: 40px
}


/*!
 * fullPage 2.9.4
 * https://github.com/alvarotrigo/fullPage.js
 * MIT licensed
 *
 * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo
 */

html.fp-enabled,
.fp-enabled body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent
}

#superContainer {
    height: 100%;
    position: relative;
    -ms-touch-action: none;
    touch-action: none
}

.fp-section {
    position: relative;
    box-sizing: border-box
}

.fp-slide {
    float: left
}

.fp-slide,
.fp-slidesContainer {
    height: 100%;
    display: block
}

.fp-slides {
    z-index: 1;
    height: 100%;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease-out
}

.fp-section.fp-table,
.fp-slide.fp-table {
    display: table;
    table-layout: fixed;
    width: 100%
}

.fp-tableCell {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 100%
}

.fp-slidesContainer {
    float: left;
    position: relative
}

.fp-controlArrow {
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
    position: absolute;
    z-index: 4;
    top: 50%;
    cursor: pointer;
    width: 0;
    height: 0;
    border-style: solid;
    margin-top: -38px;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.fp-controlArrow.fp-prev {
    left: 15px;
    width: 0;
    border-width: 38.5px 34px 38.5px 0;
    border-color: transparent #fff transparent transparent
}

.fp-controlArrow.fp-next {
    right: 15px;
    border-width: 38.5px 0 38.5px 34px;
    border-color: transparent transparent transparent #fff
}

.fp-scrollable {
    overflow: hidden;
    position: relative
}

.fp-scroller {
    overflow: hidden
}

.iScrollIndicator {
    border: 0 !important
}

.fp-notransition {
    transition: none !important
}

#fp-nav {
    position: fixed;
    z-index: 100;
    margin-top: -32px;
    bottom: 10px;
    background: #fff;
    padding: 3px 0;
    border-radius: 12px;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0)
}

@media screen and (max-width: 63.9375em) {
    #fp-nav {
        display: none
    }
}

@media print,
screen and (min-width: 64em) {
    #fp-nav {
        bottom: 20px
    }
}

#fp-nav.right {
    right: 5px
}

@media print,
screen and (min-width: 64em) {
    #fp-nav.right {
        right: 20px
    }
}

#fp-nav.left {
    left: 5px
}

@media print,
screen and (min-width: 64em) {
    #fp-nav.left {
        left: 10px
    }
}

.fp-slidesNav {
    position: absolute;
    z-index: 4;
    left: 50%;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.fp-slidesNav.bottom {
    bottom: 17px
}

.fp-slidesNav.top {
    top: 17px
}

#fp-nav ul,
.fp-slidesNav ul {
    margin: 0;
    padding: 0
}

#fp-nav ul li,
.fp-slidesNav ul li {
    display: block;
    width: 12px;
    height: 12px;
    margin: 7px;
    position: relative
}

.fp-slidesNav ul li {
    display: inline-block
}

#fp-nav ul li a,
.fp-slidesNav ul li a {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    cursor: pointer;
    text-decoration: none
}

#fp-nav ul li a.active span,
.fp-slidesNav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li:hover a.active span {
    height: 12px;
    width: 12px;
    margin: -6px 0 0 -6px;
    border-radius: 50%;
    background: #333
}

#fp-nav ul li a span,
.fp-slidesNav ul li a span {
    border-radius: 50%;
    position: absolute;
    z-index: 1;
    height: 8px;
    width: 8px;
    border: 0;
    background: #ccc;
    left: 50%;
    top: 50%;
    margin: -4px 0 0 -4px;
    transition: all 0.1s ease-in-out
}

#fp-nav ul li:hover a span,
.fp-slidesNav ul li:hover a span {
    background: #666
}

#fp-nav ul li .fp-tooltip {
    position: absolute;
    top: -2px;
    color: #fff;
    font-size: 14px;
    font-family: arial, helvetica, sans-serif;
    white-space: nowrap;
    max-width: 220px;
    overflow: hidden;
    display: block;
    opacity: 0;
    width: 0;
    cursor: pointer
}

#fp-nav ul li:hover .fp-tooltip,
#fp-nav.fp-show-active a.active+.fp-tooltip {
    transition: opacity 0.2s ease-in;
    width: auto;
    opacity: 1
}

#fp-nav ul li .fp-tooltip.right {
    right: 20px
}

#fp-nav ul li .fp-tooltip.left {
    left: 20px
}

.fp-auto-height.fp-section,
.fp-auto-height .fp-slide,
.fp-auto-height .fp-tableCell {
    height: auto !important
}

.fp-responsive .fp-auto-height-responsive.fp-section,
.fp-responsive .fp-auto-height-responsive .fp-slide,
.fp-responsive .fp-auto-height-responsive .fp-tableCell {
    height: auto !important
}

@media print,
screen and (min-width: 64em) {
    .bb-bookblock {
        position: relative;
        z-index: 100;
        width: 100%;
        height: 100%;
        -webkit-perspective: 2000px;
        perspective: 2000px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }
}

.bb-page {
    position: absolute;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.bb-vertical .bb-page {
    width: 50%;
    height: 100%;
    left: 50%;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center
}

.bb-horizontal .bb-page {
    width: 100%;
    height: 50%;
    top: 50%;
    -webkit-transform-origin: center top;
    -ms-transform-origin: center top;
    transform-origin: center top
}

.bb-page>div,
.bb-outer,
.bb-content,
.bb-inner {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.bb-vertical .bb-content {
    width: 200%
}

.bb-horizontal .bb-content {
    height: 200%
}

.bb-page>div {
    width: 100%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.bb-vertical .bb-back {
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg)
}

.bb-horizontal .bb-back {
    -webkit-transform: rotateX(-180deg);
    transform: rotateX(-180deg)
}

.bb-outer {
    width: 100%;
    overflow: hidden;
    z-index: 999
}

.bb-overlay,
.bb-flipoverlay {
    background-color: rgba(0, 0, 0, 0.7);
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    opacity: 0
}

.bb-flipoverlay {
    background-color: rgba(0, 0, 0, 0.2)
}

.bb-bookblock.bb-vertical>div.bb-page:first-child,
.bb-bookblock.bb-vertical>div.bb-page:first-child .bb-back {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

.bb-bookblock.bb-horizontal>div.bb-page:first-child,
.bb-bookblock.bb-horizontal>div.bb-page:first-child .bb-back {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg)
}

.bb-content {
    background: #fff
}

.bb-vertical .bb-front .bb-content {
    left: -100%
}

.bb-horizontal .bb-front .bb-content {
    top: -100%
}

.bb-vertical .bb-flip-next,
.bb-vertical .bb-flip-initial {
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg)
}

.bb-vertical .bb-flip-prev {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg)
}

.bb-horizontal .bb-flip-next,
.bb-horizontal .bb-flip-initial {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg)
}

.bb-horizontal .bb-flip-prev {
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg)
}

.bb-vertical .bb-flip-next-end {
    -webkit-transform: rotateY(-15deg);
    transform: rotateY(-15deg)
}

.bb-vertical .bb-flip-prev-end {
    -webkit-transform: rotateY(-165deg);
    transform: rotateY(-165deg)
}

.bb-horizontal .bb-flip-next-end {
    -webkit-transform: rotateX(15deg);
    transform: rotateX(15deg)
}

.bb-horizontal .bb-flip-prev-end {
    -webkit-transform: rotateX(165deg);
    transform: rotateX(165deg)
}

.bb-item {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff
}

.no-js .bb-bookblock,
.no-js ul.bb-custom-grid li {
    width: auto;
    height: auto
}

.no-js .bb-item {
    display: block;
    position: relative
}

.bb-custom-wrapper {
    width: 100%;
    height: 100%;
    position: relative
}

.bb-custom-wrapper .bb-bookblock {
    width: 100%;
    height: 100%;
    -webkit-perspective: 2000px;
    perspective: 2000px
}

.bb-custom-side {
    width: 50%;
    float: left;
    height: 100%;
    overflow: hidden;
    background: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.bb-custom-firstpage h1 {
    font-size: 2.625em;
    line-height: 1.3;
    margin: 0;
    font-weight: 300;
    background: #fff
}

.bb-custom-firstpage h1 span {
    display: block;
    font-size: 60%;
    opacity: 0.3;
    padding: 0 0 0.6em 0.1em
}

.bb-custom-firstpage {
    text-align: center;
    padding-top: 15%;
    width: 50%;
    float: left;
    height: 100%
}

.bb-custom-side p {
    padding: 8%;
    font-size: 1.8em;
    font-weight: 300
}

.bb-custom-wrapper h3 {
    font-size: 1.4em;
    font-weight: 300;
    margin: 0.4em 0 1em
}

.bb-custom-wrapper>nav {
    width: 100%;
    height: 40px;
    margin: 1em auto 0;
    position: fixed;
    bottom: 20px;
    z-index: 1000;
    text-align: center
}

.bb-custom-wrapper>nav a {
    display: inline-block;
    width: 40px;
    height: 40px;
    text-align: center;
    border-radius: 2px;
    background: #1baede;
    color: #fff;
    font-size: 0;
    margin: 2px
}

.bb-custom-wrapper>nav a:hover {
    opacity: 0.6
}

.no-js .bb-custom-wrapper {
    height: auto
}

.no-js .bb-custom-content {
    height: 470px
}

@media screen and (max-width: 61.75em) {
    .bb-custom-side {
        font-size: 70%
    }
}

@media screen and (max-width: 33em) {
    .bb-custom-side {
        font-size: 60%
    }
}

.scroll-wrapper {
    overflow: hidden !important;
    padding: 0 !important;
    position: relative
}

.scroll-wrapper>.scroll-content {
    border: none !important;
    height: auto;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none !important;
    overflow: scroll !important;
    padding: 0;
    position: relative !important;
    top: 0;
    width: auto !important
}

.scroll-wrapper>.scroll-content::-webkit-scrollbar {
    height: 0;
    width: 0
}

.scroll-element {
    display: none
}

.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
    display: block
}

.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
    cursor: default
}

.scroll-textarea {
    border: 1px solid #cccccc;
    border-top-color: #999999
}

.scroll-textarea>.scroll-content {
    overflow: hidden !important
}

.scroll-textarea>.scroll-content>textarea {
    border: none !important;
    height: 100% !important;
    margin: 0;
    max-height: none !important;
    max-width: none !important;
    overflow: scroll !important;
    outline: none;
    padding: 2px;
    position: relative !important;
    top: 0;
    width: 100% !important
}

.scroll-textarea>.scroll-content>textarea::-webkit-scrollbar {
    height: 0;
    width: 0
}

.scrollbar-inner>.scroll-element,
.scrollbar-inner>.scroll-element div {
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 10
}

.scrollbar-inner>.scroll-element div {
    display: block;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%
}

.scrollbar-inner>.scroll-element.scroll-x {
    bottom: 2px;
    height: 8px;
    left: 0;
    width: 100%
}

.scrollbar-inner>.scroll-element.scroll-y {
    height: 100%;
    right: 2px;
    top: 0;
    width: 8px
}

.scrollbar-inner>.scroll-element .scroll-element_outer {
    overflow: hidden
}

.scrollbar-inner>.scroll-element .scroll-element_outer,
.scrollbar-inner>.scroll-element .scroll-element_track,
.scrollbar-inner>.scroll-element .scroll-bar {
    border-radius: 8px
}

.scrollbar-inner>.scroll-element .scroll-element_track,
.scrollbar-inner>.scroll-element .scroll-bar {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
    filter: alpha(opacity=40);
    opacity: 0.4
}

.scrollbar-inner>.scroll-element .scroll-element_track {
    background-color: #e0e0e0
}

.scrollbar-inner>.scroll-element .scroll-bar {
    background-color: #c2c2c2
}

.scrollbar-inner>.scroll-element:hover .scroll-bar {
    background-color: #919191
}

.scrollbar-inner>.scroll-element.scroll-draggable .scroll-bar {
    background-color: #919191
}

.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
    left: -12px
}

.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
    top: -12px
}

.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
    left: -12px
}

.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
    top: -12px
}

.scrollbar-outer>.scroll-element,
.scrollbar-outer>.scroll-element div {
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 10
}

.scrollbar-outer>.scroll-element {
    background-color: #ffffff
}

.scrollbar-outer>.scroll-element div {
    display: block;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%
}

.scrollbar-outer>.scroll-element.scroll-x {
    bottom: 0;
    height: 12px;
    left: 0;
    width: 100%
}

.scrollbar-outer>.scroll-element.scroll-y {
    height: 100%;
    right: 0;
    top: 0;
    width: 12px
}

.scrollbar-outer>.scroll-element.scroll-x .scroll-element_outer {
    height: 8px;
    top: 2px
}

.scrollbar-outer>.scroll-element.scroll-y .scroll-element_outer {
    left: 2px;
    width: 8px
}

.scrollbar-outer>.scroll-element .scroll-element_outer {
    overflow: hidden
}

.scrollbar-outer>.scroll-element .scroll-element_track {
    background-color: #eeeeee
}

.scrollbar-outer>.scroll-element .scroll-element_outer,
.scrollbar-outer>.scroll-element .scroll-element_track,
.scrollbar-outer>.scroll-element .scroll-bar {
    border-radius: 8px
}

.scrollbar-outer>.scroll-element .scroll-bar {
    background-color: #d9d9d9
}

.scrollbar-outer>.scroll-element .scroll-bar:hover {
    background-color: #c2c2c2
}

.scrollbar-outer>.scroll-element.scroll-draggable .scroll-bar {
    background-color: #919191
}

.scrollbar-outer>.scroll-content.scroll-scrolly_visible {
    left: -12px;
    margin-left: 12px
}

.scrollbar-outer>.scroll-content.scroll-scrollx_visible {
    top: -12px;
    margin-top: 12px
}

.scrollbar-outer>.scroll-element.scroll-x .scroll-bar {
    min-width: 10px
}

.scrollbar-outer>.scroll-element.scroll-y .scroll-bar {
    min-height: 10px
}

.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
    left: -14px
}

.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
    top: -14px
}

.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
    left: -14px
}

.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
    top: -14px
}

.scrollbar-macosx>.scroll-element,
.scrollbar-macosx>.scroll-element div {
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 10
}

.scrollbar-macosx>.scroll-element div {
    display: block;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%
}

.scrollbar-macosx>.scroll-element .scroll-element_track {
    display: none
}

.scrollbar-macosx>.scroll-element .scroll-bar {
    background-color: #6C6E71;
    display: block;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
    border-radius: 7px;
    transition: opacity 0.2s linear
}

.scrollbar-macosx:hover>.scroll-element .scroll-bar,
.scrollbar-macosx>.scroll-element.scroll-draggable .scroll-bar {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    filter: alpha(opacity=70);
    opacity: 0.7
}

.scrollbar-macosx>.scroll-element.scroll-x {
    bottom: 0px;
    height: 0px;
    left: 0;
    min-width: 100%;
    overflow: visible;
    width: 100%
}

.scrollbar-macosx>.scroll-element.scroll-y {
    height: 100%;
    min-height: 100%;
    right: 0px;
    top: 0;
    width: 0px
}

.scrollbar-macosx>.scroll-element.scroll-x .scroll-bar {
    height: 7px;
    min-width: 10px;
    top: -9px
}

.scrollbar-macosx>.scroll-element.scroll-y .scroll-bar {
    left: -9px;
    min-height: 10px;
    width: 7px
}

.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_outer {
    left: 2px
}

.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_size {
    left: -4px
}

.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_outer {
    top: 2px
}

.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_size {
    top: -4px
}

.scrollbar-macosx>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
    left: -11px
}

.scrollbar-macosx>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
    top: -11px
}

.scrollbar-light>.scroll-element,
.scrollbar-light>.scroll-element div {
    border: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    z-index: 10
}

.scrollbar-light>.scroll-element {
    background-color: #ffffff
}

.scrollbar-light>.scroll-element div {
    display: block;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%
}

.scrollbar-light>.scroll-element .scroll-element_outer {
    border-radius: 10px
}

.scrollbar-light>.scroll-element .scroll-element_size {
    background: #dbdbdb;
    background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+");
    background: linear-gradient(to right, #dbdbdb 0%, #e8e8e8 100%);
    border-radius: 10px
}

.scrollbar-light>.scroll-element.scroll-x {
    bottom: 0;
    height: 17px;
    left: 0;
    min-width: 100%;
    width: 100%
}

.scrollbar-light>.scroll-element.scroll-y {
    height: 100%;
    min-height: 100%;
    right: 0;
    top: 0;
    width: 17px
}

.scrollbar-light>.scroll-element .scroll-bar {
    background: #fefefe;
    background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+");
    background: linear-gradient(to right, #fefefe 0%, #f5f5f5 100%);
    border: 1px solid #dbdbdb;
    border-radius: 10px
}

.scrollbar-light>.scroll-content.scroll-scrolly_visible {
    left: -17px;
    margin-left: 17px
}

.scrollbar-light>.scroll-content.scroll-scrollx_visible {
    top: -17px;
    margin-top: 17px
}

.scrollbar-light>.scroll-element.scroll-x .scroll-bar {
    height: 10px;
    min-width: 10px;
    top: 0px
}

.scrollbar-light>.scroll-element.scroll-y .scroll-bar {
    left: 0px;
    min-height: 10px;
    width: 10px
}

.scrollbar-light>.scroll-element.scroll-x .scroll-element_outer {
    height: 12px;
    left: 2px;
    top: 2px
}

.scrollbar-light>.scroll-element.scroll-x .scroll-element_size {
    left: -4px
}

.scrollbar-light>.scroll-element.scroll-y .scroll-element_outer {
    left: 2px;
    top: 2px;
    width: 12px
}

.scrollbar-light>.scroll-element.scroll-y .scroll-element_size {
    top: -4px
}

.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
    left: -19px
}

.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
    top: -19px
}

.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
    left: -19px
}

.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
    top: -19px
}

.scrollbar-rail>.scroll-element,
.scrollbar-rail>.scroll-element div {
    border: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    z-index: 10
}

.scrollbar-rail>.scroll-element {
    background-color: #ffffff
}

.scrollbar-rail>.scroll-element div {
    display: block;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%
}

.scrollbar-rail>.scroll-element .scroll-element_size {
    background-color: #999;
    background-color: rgba(0, 0, 0, 0.2)
}

.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-element_size {
    background-color: #666;
    background-color: rgba(0, 0, 0, 0.4)
}

.scrollbar-rail>.scroll-element.scroll-x {
    bottom: 0;
    height: 17px;
    left: 0;
    min-width: 100%;
    padding: 3px 0 2px;
    width: 100%
}

.scrollbar-rail>.scroll-element.scroll-y {
    height: 100%;
    min-height: 100%;
    padding: 0 2px 0 3px;
    right: 0;
    top: 0;
    width: 12px
}

.scrollbar-rail>.scroll-element .scroll-bar {
    background-color: #666;
    border-radius: 2px;
    cursor: pointer
}

.scrollbar-rail>.scroll-content.scroll-scrolly_visible {
    left: -17px;
    margin-left: 17px
}

.scrollbar-rail>.scroll-content.scroll-scrollx_visible {
    margin-top: 17px;
    top: -17px
}

.scrollbar-rail>.scroll-element.scroll-x .scroll-bar {
    height: 10px;
    min-width: 10px;
    top: 1px
}

.scrollbar-rail>.scroll-element.scroll-y .scroll-bar {
    left: 1px;
    min-height: 10px;
    width: 10px
}

.scrollbar-rail>.scroll-element.scroll-x .scroll-element_outer {
    height: 15px;
    left: 5px
}

.scrollbar-rail>.scroll-element.scroll-x .scroll-element_size {
    height: 2px;
    left: -10px;
    top: 5px
}

.scrollbar-rail>.scroll-element.scroll-y .scroll-element_outer {
    top: 5px;
    width: 15px
}

.scrollbar-rail>.scroll-element.scroll-y .scroll-element_size {
    left: 5px;
    top: -10px;
    width: 2px
}

.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
    left: -25px
}

.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
    top: -25px
}

.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
    left: -25px
}

.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
    top: -25px
}

.scrollbar-dynamic>.scroll-element,
.scrollbar-dynamic>.scroll-element div {
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 10
}

.scrollbar-dynamic>.scroll-element div {
    display: block;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%
}

.scrollbar-dynamic>.scroll-element.scroll-x {
    bottom: 2px;
    height: 7px;
    left: 0;
    min-width: 100%;
    width: 100%
}

.scrollbar-dynamic>.scroll-element.scroll-y {
    height: 100%;
    min-height: 100%;
    right: 2px;
    top: 0;
    width: 7px
}

.scrollbar-dynamic>.scroll-element .scroll-element_outer {
    opacity: 0.3;
    border-radius: 12px
}

.scrollbar-dynamic>.scroll-element .scroll-element_size {
    background-color: #cccccc;
    opacity: 0;
    border-radius: 12px;
    transition: opacity 0.2s
}

.scrollbar-dynamic>.scroll-element .scroll-bar {
    background-color: #6c6e71;
    border-radius: 7px
}

.scrollbar-dynamic>.scroll-element.scroll-x .scroll-bar {
    bottom: 0;
    height: 7px;
    min-width: 24px;
    top: auto
}

.scrollbar-dynamic>.scroll-element.scroll-y .scroll-bar {
    left: auto;
    min-height: 24px;
    right: 0;
    width: 7px
}

.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_outer {
    bottom: 0;
    top: auto;
    left: 2px;
    transition: height 0.2s
}

.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_outer {
    left: auto;
    right: 0;
    top: 2px;
    transition: width 0.2s
}

.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_size {
    left: -4px
}

.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_size {
    top: -4px
}

.scrollbar-dynamic>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
    left: -11px
}

.scrollbar-dynamic>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
    top: -11px
}

.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer,
.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer {
    overflow: hidden;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    filter: alpha(opacity=70);
    opacity: 0.7
}

.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-element_size,
.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size {
    opacity: 1
}

.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-bar,
.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-bar {
    height: 100%;
    width: 100%;
    border-radius: 12px
}

.scrollbar-dynamic>.scroll-element.scroll-x:hover .scroll-element_outer,
.scrollbar-dynamic>.scroll-element.scroll-x.scroll-draggable .scroll-element_outer {
    height: 20px;
    min-height: 7px
}

.scrollbar-dynamic>.scroll-element.scroll-y:hover .scroll-element_outer,
.scrollbar-dynamic>.scroll-element.scroll-y.scroll-draggable .scroll-element_outer {
    min-width: 7px;
    width: 20px
}

.scrollbar-chrome>.scroll-element,
.scrollbar-chrome>.scroll-element div {
    border: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    z-index: 10
}

.scrollbar-chrome>.scroll-element {
    background-color: #ffffff
}

.scrollbar-chrome>.scroll-element div {
    display: block;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%
}

.scrollbar-chrome>.scroll-element .scroll-element_track {
    background: #f1f1f1;
    border: 1px solid #dbdbdb
}

.scrollbar-chrome>.scroll-element.scroll-x {
    bottom: 0;
    height: 16px;
    left: 0;
    min-width: 100%;
    width: 100%
}

.scrollbar-chrome>.scroll-element.scroll-y {
    height: 100%;
    min-height: 100%;
    right: 0;
    top: 0;
    width: 16px
}

.scrollbar-chrome>.scroll-element .scroll-bar {
    background-color: #d9d9d9;
    border: 1px solid #bdbdbd;
    cursor: default;
    border-radius: 2px
}

.scrollbar-chrome>.scroll-element .scroll-bar:hover {
    background-color: #c2c2c2;
    border-color: #a9a9a9
}

.scrollbar-chrome>.scroll-element.scroll-draggable .scroll-bar {
    background-color: #919191;
    border-color: #7e7e7e
}

.scrollbar-chrome>.scroll-content.scroll-scrolly_visible {
    left: -16px;
    margin-left: 16px
}

.scrollbar-chrome>.scroll-content.scroll-scrollx_visible {
    top: -16px;
    margin-top: 16px
}

.scrollbar-chrome>.scroll-element.scroll-x .scroll-bar {
    height: 8px;
    min-width: 10px;
    top: 3px
}

.scrollbar-chrome>.scroll-element.scroll-y .scroll-bar {
    left: 3px;
    min-height: 10px;
    width: 8px
}

.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_outer {
    border-left: 1px solid #dbdbdb
}

.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_track {
    height: 14px;
    left: -3px
}

.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_size {
    height: 14px;
    left: -4px
}

.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_outer {
    border-top: 1px solid #dbdbdb
}

.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_track {
    top: -3px;
    width: 14px
}

.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_size {
    top: -4px;
    width: 14px
}

.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
    left: -19px
}

.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
    top: -19px
}

.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
    left: -19px
}

.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
    top: -19px
}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfc3R5bGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiX2ljb25zLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfY3VzdG9tLnNjc3MiLCJfc2xpY2suc2NzcyIsIl9mdWxscGFnZS5zY3NzIiwiX2Jvb2tibG9jay5zY3NzIiwiX3Njcm9sbGJhci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhHQ0VRLDJDQ2lLMkIsaURDaEIxQixXQXRHRSxVQUNELGFBQ0UsQ0FBQSxDQUFBLGlFQ0ZWLEtBQWlFLHVCQzVCaEQsaUJEa0RFLDBCQUVPLDZCQUNJLENBQUEsS0FDM0IsUUFZQyxDQUFNLHdDQVlSLGFBQ1csQ0FBQSxHQUNWLGNFbEZRLGVGb0dHLENBQUEsa0JBbUZaLGFBQ1csQ0FBQSxPQUNWLGVDNUtXLENBQUEsR0R5TFgsdUJBUWEsU0FDTixnQkFDSSxDQUFBLEtBQ1gsYUFPVSxDQUFBLElBQ1YsaUNBbUJjLGFBQ0YsQ0FBQSxFQUFJLDZCQWNHLG9DQUNZLENBQUEsaUJBUy9CLGVBQ0MsQ0FBYSxZQWFYLG1CQUNhLDBCQUNFLGdDQUNBLENBQUEsU0FRbkIsbUJBQ2UsQ0FBQSxTQVFmLGtCQUNlLENBQUEsY0FVZixpQ0FDZSxhQUNGLENBQUEsSUFDWixpQkFPYSxDQUFBLEtBQ2Isc0JBT21CLFVBQ1gsQ0FBQSxNQUNSLGFBT1ksQ0FBQSxRQVNiLGNBQ2EsY0FDQSxrQkFDRCx1QkFDTSxDQUFBLElBQ2pCLGNBR1MsQ0FBQSxJQUNULFVBR00sQ0FBQSxZQWFQLG9CQUNXLENBQUEsc0JBT0EsYUFDQSxRQUNULENBQU0sSUFDUCxpQkFPZSxDQUFBLGVBT1IsZUFDSSxDQUFBLHNDQWlCWix1QkN4WmUsZUQwWkYsaUJBS0ksUUFFZixDQUFNLE9BQ1AsZ0JBT1csQ0FBQSxjQVNaLG1CQUNrQixDQUFBLDJEQVlaLHlCQUNnQixDQUFBLDhIQVluQixrQkFDZSxTQUNkLENBQU8sa0hBT1IsNkJBQ1UsQ0FBQSxNQUNWLGdCQVFTLENBQUEsaUNBU04sc0JBQ1EsU0FDWixDQUFPLHNGQVFNLFdBQ0wsQ0FBQSxnQkFRSiw2QkFDZ0IsbUJBQ0osQ0FBQSx5RkFPZix1QkFDcUIsQ0FBQSw2QkFDckIsMEJBU21CLFlBQ2QsQ0FBQSxTQUNQLHlCQU9TLGFBQ0EsNkJBQ0MsQ0FBQSxPQUNWLHNCQVVhLGNBQ0gsZUFDRSxVQUNKLGNBQ0Esa0JBQ00sQ0FBQSxTQUNkLHFCQVFVLHVCQUNPLENBQUEsU0FDakIsYUFPVyxDQUFBLFFBQ1gsYUFZVSxDQUFBLFFBQ1YsaUJBT1UsQ0FBQSxLQUNWLGFBT1UsQ0FBQSxPQXFCVixvQkFZVSxDQUFBLFNBQ1YsWUFPVSxDQUFBLFNBWVgsWUFDVyxDQUFBLGVBQ1YsNkVHdGhCWSxDQUFBLEtBQ2Qsc0JBR2EsY0NqQ0csQ0FBQSxxQkR3Q2hCLGtCQUNhLENBQUEsS0FDYixTQUlPLFVBQ0MsZ0JDM0RILG1DQWRtQixnQkFSTCxnQkFvQ0YsV0FmWixtQ0RzRXNCLGlDQUNDLENBQUEsSUFFNUIscUJBSVUsc0JBQ08sZUFHTCxZQUNILDhCQUNnQixDQUFBLFNBQ3pCLFlBSVMsZ0JBQ0ksZUFDWixDQUFhLE9BQ2Qsc0JBSWEsV0FDTCxlQUNQLENBQWEsNkdBU2IseUJBQ2EsQ0FBQSxPQUNaLFVBTU0sd0JBQUEsQUFDSyxxQkFETCxBQUNLLGdCQUFBLFNBQ04sZ0JBQ08sdUJBQ0QsY0FDRCxXQXZHUSxDQUFBLGdDQWdHckIsU0VSRSxDQUFPLElBQ1IsYUZvQlcsQ0FBQSxzQ0FRWixtQkFDZSxDQUFBLFlBQ2Qsd0JBSVUsQ0FBQSxXQUNWLHVCQUdVLENBQUEsZ0JBQ1YsdUJHak5nQyxzQkFBQSxnQkN3RHZCLGFDdEVGLENBQUEsMkNWaUp5QixnQld2SmpDLHVCSG9CaUMscUJBQUEsQ0FBQSxDQUFBLHNCR3BCbEIsdUJIb0JrQixzQkFBQSxlR2hCRixhREV2QixDQUFBLDJDVmlKeUIsc0JXdkpsQix1QkhvQmtCLHFCQUFBLENBQUEsQ0FBQSxxQkdwQmxCLGdCSDZCYyxlQUFBLGVHckJFLGFERnZCLENBQUEsUUNHTCxxQkFBQSxBRFdNLG9CQ1hOLEFEV00sYUFBQSwyQkFBQSxBQUZRLHVCQUVSLEFBRlEsa0JBQUEsQ0FBQSxNQ0hoQixzQkFBQSxBQ3VCTyxrQkR2QlAsQUN1Qk8sY0FBQSxlQUNNLGNBQ0QsVUFpQ21CLENBQUEsV0R4RDNCLHFCQUFBLEFDMEJHLGlCRDFCSCxBQzBCRyxZQUFBLENBQUEsYUQxQkgsc0JBQUEsQUM2Qkcsa0JEN0JILEFDNkJHLGFBQUEsQ0FBQSxjRGZKLFVDbUNhLENBQUEsZ0JEL0JiLFVDbUNhLENBQUEseVBEbkIySix3QkFBQSxBQUMxSiw2QkFEMEosQUFDMUosZUFBQSxDQUFBLDJDWG1HZSx1UVdwR3dKLHdCQUFBLEFBQ3ZLLDZCQUR1SyxBQUN2SyxlQUFBLENBQUEsQ0FBQSwyQ1htR2UseVBXcEcySSx3QkFBQSxBQUMxSiw2QkFEMEosQUFDMUosZUFBQSxDQUFBLENBQUEsc0NYd0dTLHVRV3pHOEosd0JBQUEsQUFDdkssNkJBRHVLLEFBQ3ZLLGVBQUEsQ0FBQSxDQUFBLHdDWHdHUyxxUld6RzJLLHdCQUFBLEFBQ3BMLDZCQURvTCxBQUNwTCxlQUFBLENBQUEsQ0FBQSxpQkFvQkosY0NDa0IsQ0FBQSxpQkREbEIsZUNDa0IsQ0FBQSxpQkREbEIsU0NDa0IsQ0FBQSxpQkREbEIsZUNDa0IsQ0FBQSxpQkREbEIsZUNDa0IsQ0FBQSxpQkREbEIsU0NDa0IsQ0FBQSxpQkREbEIsZUNDa0IsQ0FBQSxpQkREbEIsZUNDa0IsQ0FBQSxpQkREbEIsU0NDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsVUNDa0IsQ0FBQSwyQ1o4RUMscUJXNUZuQixxQkFBQSxBQ2hCTixpQkRnQk0sQUNoQk4sYUFBQSxVQXVCUyxDQUFBLHVCREZILHNCQUFBLEFDbEJOLGtCRGtCTSxBQ2xCTixjQUFBLFVBd0JTLENBQUEsa0JERUgsY0NDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsU0NDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsU0NDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsU0NDa0IsQ0FBQSxtQkREbEIsZUNDa0IsQ0FBQSxtQkREbEIsZUNDa0IsQ0FBQSxtQkREbEIsVUNDa0IsQ0FBQSxDQUFBLDJDWjhFQyxvQlc1Rm5CLHFCQUFBLEFDaEJOLGlCRGdCTSxBQ2hCTixhQUFBLFVBdUJTLENBQUEsc0JERkgsc0JBQUEsQUNsQk4sa0JEa0JNLEFDbEJOLGNBQUEsVUF3QlMsQ0FBQSxpQkRFSCxjQ0NrQixDQUFBLGlCRERsQixlQ0NrQixDQUFBLGlCRERsQixTQ0NrQixDQUFBLGlCRERsQixlQ0NrQixDQUFBLGlCRERsQixlQ0NrQixDQUFBLGlCRERsQixTQ0NrQixDQUFBLGlCRERsQixlQ0NrQixDQUFBLGlCRERsQixlQ0NrQixDQUFBLGlCRERsQixTQ0NrQixDQUFBLGtCRERsQixlQ0NrQixDQUFBLGtCRERsQixlQ0NrQixDQUFBLGtCRERsQixVQ0NrQixDQUFBLENBQUEsc0NabUZMLHFCV2pHYixxQkFBQSxBQ2hCTixpQkRnQk0sQUNoQk4sYUFBQSxVQXVCUyxDQUFBLHVCREZILHNCQUFBLEFDbEJOLGtCRGtCTSxBQ2xCTixjQUFBLFVBd0JTLENBQUEsa0JERUgsY0NDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsU0NDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsU0NDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsZUNDa0IsQ0FBQSxrQkREbEIsU0NDa0IsQ0FBQSxtQkREbEIsZUNDa0IsQ0FBQSxtQkREbEIsZUNDa0IsQ0FBQSxtQkREbEIsVUNDa0IsQ0FBQSxDQUFBLHdDWm1GTCxzQldqR2IscUJBQUEsQUNoQk4saUJEZ0JNLEFDaEJOLGFBQUEsVUF1QlMsQ0FBQSx3QkRGSCxzQkFBQSxBQ2xCTixrQkRrQk0sQUNsQk4sY0FBQSxVQXdCUyxDQUFBLG1CREVILGNDQ2tCLENBQUEsbUJERGxCLGVDQ2tCLENBQUEsbUJERGxCLFNDQ2tCLENBQUEsbUJERGxCLGVDQ2tCLENBQUEsbUJERGxCLGVDQ2tCLENBQUEsbUJERGxCLFNDQ2tCLENBQUEsbUJERGxCLGVDQ2tCLENBQUEsbUJERGxCLGVDQ2tCLENBQUEsbUJERGxCLFNDQ2tCLENBQUEsb0JERGxCLGVDQ2tCLENBQUEsb0JERGxCLGVDQ2tCLENBQUEsb0JERGxCLFVDQ2tCLENBQUEsQ0FBQSxrQ0RNRixVQUNyQixDQUFBLGtDQUlxQixXQUNwQixDQUFBLGVBQ1Qsc0JIbEVnQyxzQkFBQSxDQUFBLDJDUm1JQSxlV3BDakMsc0JIL0ZpQyxzQkFBQSxDQUFBLENBQUEscUJHbUc3Qiw0QkN6RGtDLHFCSmpDUCxxQkFBQSxDQUFBLDJDUjBIRSxxQld6QnpCLDJCQ2hFOEIscUJKakNQLHFCQUFBLENBQUEsQ0FBQSxxQkc4RDdCLFVDekJlLENBQUEsdUJENkJmLFVDekJlLENBQUEsd0JEaUNiLCtCQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELDBCQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELDBCQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELDBCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDJCQzlCb0QsQ0FBQSwyQ1o4RXZCLHFCVzVEL0IsVUN6QmUsQ0FBQSx1QkQ2QmYsVUN6QmUsQ0FBQSx3QkRpQ2IsOEJDOUJvRCxDQUFBLHdCRDhCcEQsK0JDOUJvRCxDQUFBLHdCRDhCcEQseUJDOUJvRCxDQUFBLHdCRDhCcEQsK0JDOUJvRCxDQUFBLHdCRDhCcEQsK0JDOUJvRCxDQUFBLHdCRDhCcEQseUJDOUJvRCxDQUFBLHdCRDhCcEQsK0JDOUJvRCxDQUFBLHdCRDhCcEQsK0JDOUJvRCxDQUFBLHdCRDhCcEQseUJDOUJvRCxDQUFBLHlCRDhCcEQsK0JDOUJvRCxDQUFBLHlCRDhCcEQsK0JDOUJvRCxDQUFBLHlCRDhCcEQsMEJDOUJvRCxDQUFBLDRCRGtCdEQsVUN6QmUsQ0FBQSw4QkQ2QmYsVUN6QmUsQ0FBQSx5QkRpQ2IsOEJDOUJvRCxDQUFBLHlCRDhCcEQsK0JDOUJvRCxDQUFBLHlCRDhCcEQseUJDOUJvRCxDQUFBLHlCRDhCcEQsK0JDOUJvRCxDQUFBLHlCRDhCcEQsK0JDOUJvRCxDQUFBLHlCRDhCcEQseUJDOUJvRCxDQUFBLHlCRDhCcEQsK0JDOUJvRCxDQUFBLHlCRDhCcEQsK0JDOUJvRCxDQUFBLHlCRDhCcEQseUJDOUJvRCxDQUFBLDBCRDhCcEQsK0JDOUJvRCxDQUFBLDBCRDhCcEQsK0JDOUJvRCxDQUFBLDBCRDhCcEQsMEJDOUJvRCxDQUFBLENBQUEsMkNaOEV2QiwyQlc1RC9CLFVDekJlLENBQUEsNkJENkJmLFVDekJlLENBQUEsd0JEaUNiLDhCQzlCb0QsQ0FBQSx3QkQ4QnBELCtCQzlCb0QsQ0FBQSx3QkQ4QnBELHlCQzlCb0QsQ0FBQSx3QkQ4QnBELCtCQzlCb0QsQ0FBQSx3QkQ4QnBELCtCQzlCb0QsQ0FBQSx3QkQ4QnBELHlCQzlCb0QsQ0FBQSx3QkQ4QnBELCtCQzlCb0QsQ0FBQSx3QkQ4QnBELCtCQzlCb0QsQ0FBQSx3QkQ4QnBELHlCQzlCb0QsQ0FBQSx5QkQ4QnBELCtCQzlCb0QsQ0FBQSx5QkQ4QnBELCtCQzlCb0QsQ0FBQSx5QkQ4QnBELDBCQzlCb0QsQ0FBQSxDQUFBLHNDWm1GN0IsNEJXakV6QixVQ3pCZSxDQUFBLDhCRDZCZixVQ3pCZSxDQUFBLHlCRGlDYiw4QkM5Qm9ELENBQUEseUJEOEJwRCwrQkM5Qm9ELENBQUEseUJEOEJwRCx5QkM5Qm9ELENBQUEseUJEOEJwRCwrQkM5Qm9ELENBQUEseUJEOEJwRCwrQkM5Qm9ELENBQUEseUJEOEJwRCx5QkM5Qm9ELENBQUEseUJEOEJwRCwrQkM5Qm9ELENBQUEseUJEOEJwRCwrQkM5Qm9ELENBQUEseUJEOEJwRCx5QkM5Qm9ELENBQUEsMEJEOEJwRCwrQkM5Qm9ELENBQUEsMEJEOEJwRCwrQkM5Qm9ELENBQUEsMEJEOEJwRCwwQkM5Qm9ELENBQUEsQ0FBQSx3Q1ptRjdCLDZCV2pFekIsVUN6QmUsQ0FBQSwrQkQ2QmYsVUN6QmUsQ0FBQSwwQkRpQ2IsOEJDOUJvRCxDQUFBLDBCRDhCcEQsK0JDOUJvRCxDQUFBLDBCRDhCcEQseUJDOUJvRCxDQUFBLDBCRDhCcEQsK0JDOUJvRCxDQUFBLDBCRDhCcEQsK0JDOUJvRCxDQUFBLDBCRDhCcEQseUJDOUJvRCxDQUFBLDBCRDhCcEQsK0JDOUJvRCxDQUFBLDBCRDhCcEQsK0JDOUJvRCxDQUFBLDBCRDhCcEQseUJDOUJvRCxDQUFBLDJCRDhCcEQsK0JDOUJvRCxDQUFBLDJCRDhCcEQsK0JDOUJvRCxDQUFBLDJCRDhCcEQsMEJDOUJvRCxDQUFBLENBQUEsZ0NEaUZ0RCx1Qkh0SStCLHFCQUFBLENBQUEsMkNSbUlBLGdDV0cvQix1Qkh0SStCLHFCQUFBLENBQUEsQ0FBQSwyQ0dtSWpDLHVCSG5JaUMscUJBQUEsQ0FBQSwyQ1JtSUEsMkNXQWpDLHVCSG5JaUMscUJBQUEsQ0FBQSxDQUFBLHNCR2lKN0IsdUJIako2QixxQkFBQSxDQUFBLDJDUm1JQSxzQldjN0IsdUJIako2QixxQkFBQSxDQUFBLENBQUEsa0JLSDdCLFVEd0Q0QixDQUFBLGtCQ3hENUIsU0R3RDRCLENBQUEsa0JDeEQ1QixlRHdENEIsQ0FBQSxrQkN4RDVCLFNEd0Q0QixDQUFBLGtCQ3hENUIsU0R3RDRCLENBQUEsa0JDeEQ1QixlRHdENEIsQ0FBQSxrQkN4RDVCLGVEd0Q0QixDQUFBLGtCQ3hENUIsV0R3RDRCLENBQUEsMkNaOEVDLG1CYXRJN0IsVUR3RDRCLENBQUEsbUJDeEQ1QixTRHdENEIsQ0FBQSxtQkN4RDVCLGVEd0Q0QixDQUFBLG1CQ3hENUIsU0R3RDRCLENBQUEsbUJDeEQ1QixTRHdENEIsQ0FBQSxtQkN4RDVCLGVEd0Q0QixDQUFBLG1CQ3hENUIsZUR3RDRCLENBQUEsbUJDeEQ1QixXRHdENEIsQ0FBQSxDQUFBLDJDWjhFQyxrQmF0STdCLFVEd0Q0QixDQUFBLGtCQ3hENUIsU0R3RDRCLENBQUEsa0JDeEQ1QixlRHdENEIsQ0FBQSxrQkN4RDVCLFNEd0Q0QixDQUFBLGtCQ3hENUIsU0R3RDRCLENBQUEsa0JDeEQ1QixlRHdENEIsQ0FBQSxrQkN4RDVCLGVEd0Q0QixDQUFBLGtCQ3hENUIsV0R3RDRCLENBQUEsQ0FBQSxzQ1ptRkwsbUJhM0l2QixVRHdENEIsQ0FBQSxtQkN4RDVCLFNEd0Q0QixDQUFBLG1CQ3hENUIsZUR3RDRCLENBQUEsbUJDeEQ1QixTRHdENEIsQ0FBQSxtQkN4RDVCLFNEd0Q0QixDQUFBLG1CQ3hENUIsZUR3RDRCLENBQUEsbUJDeEQ1QixlRHdENEIsQ0FBQSxtQkN4RDVCLFdEd0Q0QixDQUFBLENBQUEsd0NabUZMLG9CYTNJdkIsVUR3RDRCLENBQUEsb0JDeEQ1QixTRHdENEIsQ0FBQSxvQkN4RDVCLGVEd0Q0QixDQUFBLG9CQ3hENUIsU0R3RDRCLENBQUEsb0JDeEQ1QixTRHdENEIsQ0FBQSxvQkN4RDVCLGVEd0Q0QixDQUFBLG9CQ3hENUIsZUR3RDRCLENBQUEsb0JDeEQ1QixXRHdENEIsQ0FBQSxDQUFBLGdDQ3hENUIsMkJEd0RvRCxDQUFBLGdDQ3hEcEQsMEJEd0RvRCxDQUFBLGdDQ3hEcEQsZ0NEd0RvRCxDQUFBLGdDQ3hEcEQsMEJEd0RvRCxDQUFBLGdDQ3hEcEQsMEJEd0RvRCxDQUFBLGdDQ3hEcEQsZ0NEd0RvRCxDQUFBLGdDQ3hEcEQsZ0NEd0RvRCxDQUFBLGdDQ3hEcEQsNEJEd0RvRCxDQUFBLDJDWjhFdkIsZ0NhdEk3QiwyQkR3RG9ELENBQUEsZ0NDeERwRCwwQkR3RG9ELENBQUEsZ0NDeERwRCxnQ0R3RG9ELENBQUEsZ0NDeERwRCwwQkR3RG9ELENBQUEsZ0NDeERwRCwwQkR3RG9ELENBQUEsZ0NDeERwRCxnQ0R3RG9ELENBQUEsZ0NDeERwRCxnQ0R3RG9ELENBQUEsZ0NDeERwRCw0QkR3RG9ELENBQUEsaUNDeERwRCwwQkR3RG9ELENBQUEsaUNDeERwRCx5QkR3RG9ELENBQUEsaUNDeERwRCwrQkR3RG9ELENBQUEsaUNDeERwRCx5QkR3RG9ELENBQUEsaUNDeERwRCx5QkR3RG9ELENBQUEsaUNDeERwRCwrQkR3RG9ELENBQUEsaUNDeERwRCwrQkR3RG9ELENBQUEsaUNDeERwRCwyQkR3RG9ELENBQUEsQ0FBQSwyQ1o4RXZCLGdDYXRJN0IsMEJEd0RvRCxDQUFBLGdDQ3hEcEQseUJEd0RvRCxDQUFBLGdDQ3hEcEQsK0JEd0RvRCxDQUFBLGdDQ3hEcEQseUJEd0RvRCxDQUFBLGdDQ3hEcEQseUJEd0RvRCxDQUFBLGdDQ3hEcEQsK0JEd0RvRCxDQUFBLGdDQ3hEcEQsK0JEd0RvRCxDQUFBLGdDQ3hEcEQsMkJEd0RvRCxDQUFBLENBQUEsc0NabUY3QixpQ2EzSXZCLDBCRHdEb0QsQ0FBQSxpQ0N4RHBELHlCRHdEb0QsQ0FBQSxpQ0N4RHBELCtCRHdEb0QsQ0FBQSxpQ0N4RHBELHlCRHdEb0QsQ0FBQSxpQ0N4RHBELHlCRHdEb0QsQ0FBQSxpQ0N4RHBELCtCRHdEb0QsQ0FBQSxpQ0N4RHBELCtCRHdEb0QsQ0FBQSxpQ0N4RHBELDJCRHdEb0QsQ0FBQSxDQUFBLHdDWm1GN0Isa0NhM0l2QiwwQkR3RG9ELENBQUEsa0NDeERwRCx5QkR3RG9ELENBQUEsa0NDeERwRCwrQkR3RG9ELENBQUEsa0NDeERwRCx5QkR3RG9ELENBQUEsa0NDeERwRCx5QkR3RG9ELENBQUEsa0NDeERwRCwrQkR3RG9ELENBQUEsa0NDeERwRCwrQkR3RG9ELENBQUEsa0NDeERwRCwyQkR3RG9ELENBQUEsQ0FBQSx1QkQwSXBELGVHdk1rQixhQUFoQixDQUFnQiw2QkFHaEIsZUFFa0IsYUFBaEIsQ0FBZ0IsZ0NBc0JaLGNGa0NvQixDQUFBLGdDRWxDcEIsZUZrQ29CLENBQUEsZ0NFbENwQixTRmtDb0IsQ0FBQSxnQ0VsQ3BCLGVGa0NvQixDQUFBLGdDRWxDcEIsZUZrQ29CLENBQUEsZ0NFbENwQixTRmtDb0IsQ0FBQSxnQ0VsQ3BCLGVGa0NvQixDQUFBLGdDRWxDcEIsZUZrQ29CLENBQUEsZ0NFbENwQixTRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixVRmtDb0IsQ0FBQSwyQ1o4RUMsaUNjaEhyQixjRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsU0ZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsU0ZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsU0ZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsVUZrQ29CLENBQUEsQ0FBQSwyQ1o4RUMsZ0NjaEhyQixjRmtDb0IsQ0FBQSxnQ0VsQ3BCLGVGa0NvQixDQUFBLGdDRWxDcEIsU0ZrQ29CLENBQUEsZ0NFbENwQixlRmtDb0IsQ0FBQSxnQ0VsQ3BCLGVGa0NvQixDQUFBLGdDRWxDcEIsU0ZrQ29CLENBQUEsZ0NFbENwQixlRmtDb0IsQ0FBQSxnQ0VsQ3BCLGVGa0NvQixDQUFBLGdDRWxDcEIsU0ZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsVUZrQ29CLENBQUEsQ0FBQSxzQ1ptRkwsaUNjckhmLGNGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixTRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixTRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixTRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixVRmtDb0IsQ0FBQSxDQUFBLHdDWm1GTCxrQ2NySGYsY0ZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFNGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFNGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFNGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixlRmtDb0IsQ0FBQSxtQ0VsQ3BCLFVGa0NvQixDQUFBLENBQUEsd0JEZ0o1QixlR3RLa0IsYUFBaEIsQ0FBZ0IsOEJBR2hCLGdCQUVtQixjQUFqQixDQUFpQiwyQ2QrRlEsd0JXNEQ3QixlR3ZNa0IsYUFBaEIsQ0FBZ0IsOEJBR2hCLGVBRWtCLGFBQWhCLENBQWdCLENBQVMsMkNkc0lBLGlDY3pIckIsY0YyQ29CLENBQUEsaUNFM0NwQixlRjJDb0IsQ0FBQSxpQ0UzQ3BCLFNGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixlRjJDb0IsQ0FBQSxpQ0UzQ3BCLFNGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixlRjJDb0IsQ0FBQSxpQ0UzQ3BCLFNGMkNvQixDQUFBLGtDRTNDcEIsZUYyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLFVGMkNvQixDQUFBLENBQUEsMkNaOEVDLGtDY2hIckIsY0ZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFNGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFNGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFNGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixlRmtDb0IsQ0FBQSxtQ0VsQ3BCLFVGa0NvQixDQUFBLENBQUEsMkNaOEVDLGlDY2hIckIsY0ZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLFNGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLFNGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLFNGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFVGa0NvQixDQUFBLENBQUEsc0NabUZMLGtDY3JIZixjRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsU0ZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsU0ZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsU0ZrQ29CLENBQUEsbUNFbENwQixlRmtDb0IsQ0FBQSxtQ0VsQ3BCLGVGa0NvQixDQUFBLG1DRWxDcEIsVUZrQ29CLENBQUEsQ0FBQSx3Q1ptRkwsbUNjckhmLGNGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixTRmtDb0IsQ0FBQSxtQ0VsQ3BCLGVGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixTRmtDb0IsQ0FBQSxtQ0VsQ3BCLGVGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixTRmtDb0IsQ0FBQSxvQ0VsQ3BCLGVGa0NvQixDQUFBLG9DRWxDcEIsZUZrQ29CLENBQUEsb0NFbENwQixVRmtDb0IsQ0FBQSxDQUFBLDJDWjhFQyx5QldrRTdCLGVHdEtrQixhQUFoQixDQUFnQiwrQkFHaEIsZ0JBRW1CLGNBQWpCLENBQWlCLENBQVUsMkNkK0ZGLHVCVzREN0IsZUd2TWtCLGFBQWhCLENBQWdCLDZCQUdoQixlQUVrQixhQUFoQixDQUFnQixDQUFTLDJDZHNJQSxnQ2N6SHJCLGNGMkNvQixDQUFBLGdDRTNDcEIsZUYyQ29CLENBQUEsZ0NFM0NwQixTRjJDb0IsQ0FBQSxnQ0UzQ3BCLGVGMkNvQixDQUFBLGdDRTNDcEIsZUYyQ29CLENBQUEsZ0NFM0NwQixTRjJDb0IsQ0FBQSxnQ0UzQ3BCLGVGMkNvQixDQUFBLGdDRTNDcEIsZUYyQ29CLENBQUEsZ0NFM0NwQixTRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixVRjJDb0IsQ0FBQSxDQUFBLDJDWjhFQyxpQ2N6SHJCLGNGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixTRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixTRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixTRjJDb0IsQ0FBQSxrQ0UzQ3BCLGVGMkNvQixDQUFBLGtDRTNDcEIsZUYyQ29CLENBQUEsa0NFM0NwQixVRjJDb0IsQ0FBQSxDQUFBLDJDWjhFQyxnQ2NoSHJCLGNGa0NvQixDQUFBLGdDRWxDcEIsZUZrQ29CLENBQUEsZ0NFbENwQixTRmtDb0IsQ0FBQSxnQ0VsQ3BCLGVGa0NvQixDQUFBLGdDRWxDcEIsZUZrQ29CLENBQUEsZ0NFbENwQixTRmtDb0IsQ0FBQSxnQ0VsQ3BCLGVGa0NvQixDQUFBLGdDRWxDcEIsZUZrQ29CLENBQUEsZ0NFbENwQixTRmtDb0IsQ0FBQSxpQ0VsQ3BCLGVGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixVRmtDb0IsQ0FBQSxDQUFBLHNDWm1GTCxpQ2NySGYsY0ZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLFNGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLFNGa0NvQixDQUFBLGlDRWxDcEIsZUZrQ29CLENBQUEsaUNFbENwQixlRmtDb0IsQ0FBQSxpQ0VsQ3BCLFNGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLFVGa0NvQixDQUFBLENBQUEsd0NabUZMLGtDY3JIZixjRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsU0ZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsU0ZrQ29CLENBQUEsa0NFbENwQixlRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsU0ZrQ29CLENBQUEsbUNFbENwQixlRmtDb0IsQ0FBQSxtQ0VsQ3BCLGVGa0NvQixDQUFBLG1DRWxDcEIsVUZrQ29CLENBQUEsQ0FBQSwyQ1o4RUMsd0JXa0U3QixlR3RLa0IsYUFBaEIsQ0FBZ0IsOEJBR2hCLGdCQUVtQixjQUFqQixDQUFpQixDQUFVLHNDZG9HUix3Qld1RHZCLGVHdk1rQixhQUFoQixDQUFnQiw4QkFHaEIsZUFFa0IsYUFBaEIsQ0FBZ0IsQ0FBUyxzQ2QySU4saUNjOUhmLGNGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixTRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixTRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsZUYyQ29CLENBQUEsaUNFM0NwQixTRjJDb0IsQ0FBQSxrQ0UzQ3BCLGVGMkNvQixDQUFBLGtDRTNDcEIsZUYyQ29CLENBQUEsa0NFM0NwQixVRjJDb0IsQ0FBQSxDQUFBLHNDWm1GTCxrQ2M5SGYsY0YyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLFNGMkNvQixDQUFBLGtDRTNDcEIsZUYyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLFNGMkNvQixDQUFBLGtDRTNDcEIsZUYyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLFNGMkNvQixDQUFBLG1DRTNDcEIsZUYyQ29CLENBQUEsbUNFM0NwQixlRjJDb0IsQ0FBQSxtQ0UzQ3BCLFVGMkNvQixDQUFBLENBQUEsc0NabUZMLGlDYzlIZixjRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsU0YyQ29CLENBQUEsaUNFM0NwQixlRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsU0YyQ29CLENBQUEsaUNFM0NwQixlRjJDb0IsQ0FBQSxpQ0UzQ3BCLGVGMkNvQixDQUFBLGlDRTNDcEIsU0YyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLGVGMkNvQixDQUFBLGtDRTNDcEIsVUYyQ29CLENBQUEsQ0FBQSxzQ1ptRkwsa0NjckhmLGNGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixTRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixTRmtDb0IsQ0FBQSxrQ0VsQ3BCLGVGa0NvQixDQUFBLGtDRWxDcEIsZUZrQ29CLENBQUEsa0NFbENwQixTRmtDb0IsQ0FBQSxtQ0VsQ3BCLGVGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixVRmtDb0IsQ0FBQSxDQUFBLHdDWm1GTCxtQ2NySGYsY0ZrQ29CLENBQUEsbUNFbENwQixlRmtDb0IsQ0FBQSxtQ0VsQ3BCLFNGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixlRmtDb0IsQ0FBQSxtQ0VsQ3BCLFNGa0NvQixDQUFBLG1DRWxDcEIsZUZrQ29CLENBQUEsbUNFbENwQixlRmtDb0IsQ0FBQSxtQ0VsQ3BCLFNGa0NvQixDQUFBLG9DRWxDcEIsZUZrQ29CLENBQUEsb0NFbENwQixlRmtDb0IsQ0FBQSxvQ0VsQ3BCLFVGa0NvQixDQUFBLENBQUEsc0NabUZMLHlCVzZEdkIsZUd0S2tCLGFBQWhCLENBQWdCLCtCQUdoQixnQkFFbUIsY0FBakIsQ0FBaUIsQ0FBVSx3Q2RvR1IseUJXdUR2QixlR3ZNa0IsYUFBaEIsQ0FBZ0IsK0JBR2hCLGVBRWtCLGFBQWhCLENBQWdCLENBQVMsd0NkMklOLGtDYzlIZixjRjJDb0IsQ0FBQSxrQ0UzQ3BCLGVGMkNvQixDQUFBLGtDRTNDcEIsU0YyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLGVGMkNvQixDQUFBLGtDRTNDcEIsU0YyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLGVGMkNvQixDQUFBLGtDRTNDcEIsU0YyQ29CLENBQUEsbUNFM0NwQixlRjJDb0IsQ0FBQSxtQ0UzQ3BCLGVGMkNvQixDQUFBLG1DRTNDcEIsVUYyQ29CLENBQUEsQ0FBQSx3Q1ptRkwsbUNjOUhmLGNGMkNvQixDQUFBLG1DRTNDcEIsZUYyQ29CLENBQUEsbUNFM0NwQixTRjJDb0IsQ0FBQSxtQ0UzQ3BCLGVGMkNvQixDQUFBLG1DRTNDcEIsZUYyQ29CLENBQUEsbUNFM0NwQixTRjJDb0IsQ0FBQSxtQ0UzQ3BCLGVGMkNvQixDQUFBLG1DRTNDcEIsZUYyQ29CLENBQUEsbUNFM0NwQixTRjJDb0IsQ0FBQSxvQ0UzQ3BCLGVGMkNvQixDQUFBLG9DRTNDcEIsZUYyQ29CLENBQUEsb0NFM0NwQixVRjJDb0IsQ0FBQSxDQUFBLHdDWm1GTCxrQ2M5SGYsY0YyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLFNGMkNvQixDQUFBLGtDRTNDcEIsZUYyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLFNGMkNvQixDQUFBLGtDRTNDcEIsZUYyQ29CLENBQUEsa0NFM0NwQixlRjJDb0IsQ0FBQSxrQ0UzQ3BCLFNGMkNvQixDQUFBLG1DRTNDcEIsZUYyQ29CLENBQUEsbUNFM0NwQixlRjJDb0IsQ0FBQSxtQ0UzQ3BCLFVGMkNvQixDQUFBLENBQUEsd0NabUZMLG1DYzlIZixjRjJDb0IsQ0FBQSxtQ0UzQ3BCLGVGMkNvQixDQUFBLG1DRTNDcEIsU0YyQ29CLENBQUEsbUNFM0NwQixlRjJDb0IsQ0FBQSxtQ0UzQ3BCLGVGMkNvQixDQUFBLG1DRTNDcEIsU0YyQ29CLENBQUEsbUNFM0NwQixlRjJDb0IsQ0FBQSxtQ0UzQ3BCLGVGMkNvQixDQUFBLG1DRTNDcEIsU0YyQ29CLENBQUEsb0NFM0NwQixlRjJDb0IsQ0FBQSxvQ0UzQ3BCLGVGMkNvQixDQUFBLG9DRTNDcEIsVUYyQ29CLENBQUEsQ0FBQSx3Q1ptRkwsb0NjckhmLGNGa0NvQixDQUFBLG9DRWxDcEIsZUZrQ29CLENBQUEsb0NFbENwQixTRmtDb0IsQ0FBQSxvQ0VsQ3BCLGVGa0NvQixDQUFBLG9DRWxDcEIsZUZrQ29CLENBQUEsb0NFbENwQixTRmtDb0IsQ0FBQSxvQ0VsQ3BCLGVGa0NvQixDQUFBLG9DRWxDcEIsZUZrQ29CLENBQUEsb0NFbENwQixTRmtDb0IsQ0FBQSxxQ0VsQ3BCLGVGa0NvQixDQUFBLHFDRWxDcEIsZUZrQ29CLENBQUEscUNFbENwQixVRmtDb0IsQ0FBQSxDQUFBLHdDWm1GTCwwQlc2RHZCLGVHdEtrQixhQUFoQixDQUFnQixnQ0FHaEIsZ0JBRW1CLGNBQWpCLENBQWlCLENBQVUsZ0JIK0svQixjSTFOa0IsQ0FBUSwrQko4TlQsK0JJOU5TLENBQUEsZ0JKME4xQixvQkkxTjBCLENBQUEsK0JKOE5ULHFDSTlOUyxDQUFBLGdCSjBOMUIscUJJMU4wQixDQUFBLCtCSjhOVCxzQ0k5TlMsQ0FBQSxnQkowTjFCLGVJMU4wQixDQUFBLCtCSjhOVCxnQ0k5TlMsQ0FBQSxnQkowTjFCLHFCSTFOMEIsQ0FBQSwrQko4TlQsc0NJOU5TLENBQUEsZ0JKME4xQixxQkkxTjBCLENBQUEsK0JKOE5ULHNDSTlOUyxDQUFBLGdCSjBOMUIsZUkxTjBCLENBQUEsK0JKOE5ULGdDSTlOUyxDQUFBLGdCSjBOMUIscUJJMU4wQixDQUFBLCtCSjhOVCxzQ0k5TlMsQ0FBQSxnQkowTjFCLHFCSTFOMEIsQ0FBQSwrQko4TlQsc0NJOU5TLENBQUEsZ0JKME4xQixlSTFOMEIsQ0FBQSwrQko4TlQsZ0NJOU5TLENBQUEsaUJKME4xQixxQkkxTjBCLENBQUEsZ0NKOE5ULHNDSTlOUyxDQUFBLGlCSjBOMUIscUJJMU4wQixDQUFBLGdDSjhOVCxzQ0k5TlMsQ0FBQSwyQ2YwSUcsaUJXZ0Y3QixjSTFOa0IsQ0FBUSxnQ0o4TlQsK0JJOU5TLENBQUEsaUJKME4xQixvQkkxTjBCLENBQUEsZ0NKOE5ULHFDSTlOUyxDQUFBLGlCSjBOMUIscUJJMU4wQixDQUFBLGdDSjhOVCxzQ0k5TlMsQ0FBQSxpQkowTjFCLGVJMU4wQixDQUFBLGdDSjhOVCxnQ0k5TlMsQ0FBQSxpQkowTjFCLHFCSTFOMEIsQ0FBQSxnQ0o4TlQsc0NJOU5TLENBQUEsaUJKME4xQixxQkkxTjBCLENBQUEsZ0NKOE5ULHNDSTlOUyxDQUFBLGlCSjBOMUIsZUkxTjBCLENBQUEsZ0NKOE5ULGdDSTlOUyxDQUFBLGlCSjBOMUIscUJJMU4wQixDQUFBLGdDSjhOVCxzQ0k5TlMsQ0FBQSxpQkowTjFCLHFCSTFOMEIsQ0FBQSxnQ0o4TlQsc0NJOU5TLENBQUEsaUJKME4xQixlSTFOMEIsQ0FBQSxnQ0o4TlQsZ0NJOU5TLENBQUEsa0JKME4xQixxQkkxTjBCLENBQUEsaUNKOE5ULHNDSTlOUyxDQUFBLGtCSjBOMUIscUJJMU4wQixDQUFBLGlDSjhOVCxzQ0k5TlMsQ0FBQSxDQUFBLDJDZjBJRyxnQldnRjdCLGNJMU5rQixDQUFRLCtCSjhOVCwrQkk5TlMsQ0FBQSxnQkowTjFCLG9CSTFOMEIsQ0FBQSwrQko4TlQscUNJOU5TLENBQUEsZ0JKME4xQixxQkkxTjBCLENBQUEsK0JKOE5ULHNDSTlOUyxDQUFBLGdCSjBOMUIsZUkxTjBCLENBQUEsK0JKOE5ULGdDSTlOUyxDQUFBLGdCSjBOMUIscUJJMU4wQixDQUFBLCtCSjhOVCxzQ0k5TlMsQ0FBQSxnQkowTjFCLHFCSTFOMEIsQ0FBQSwrQko4TlQsc0NJOU5TLENBQUEsZ0JKME4xQixlSTFOMEIsQ0FBQSwrQko4TlQsZ0NJOU5TLENBQUEsZ0JKME4xQixxQkkxTjBCLENBQUEsK0JKOE5ULHNDSTlOUyxDQUFBLGdCSjBOMUIscUJJMU4wQixDQUFBLCtCSjhOVCxzQ0k5TlMsQ0FBQSxnQkowTjFCLGVJMU4wQixDQUFBLCtCSjhOVCxnQ0k5TlMsQ0FBQSxpQkowTjFCLHFCSTFOMEIsQ0FBQSxnQ0o4TlQsc0NJOU5TLENBQUEsaUJKME4xQixxQkkxTjBCLENBQUEsZ0NKOE5ULHNDSTlOUyxDQUFBLENBQUEsc0NmK0lILGlCVzJFdkIsY0kxTmtCLENBQVEsZ0NKOE5ULCtCSTlOUyxDQUFBLGlCSjBOMUIsb0JJMU4wQixDQUFBLGdDSjhOVCxxQ0k5TlMsQ0FBQSxpQkowTjFCLHFCSTFOMEIsQ0FBQSxnQ0o4TlQsc0NJOU5TLENBQUEsaUJKME4xQixlSTFOMEIsQ0FBQSxnQ0o4TlQsZ0NJOU5TLENBQUEsaUJKME4xQixxQkkxTjBCLENBQUEsZ0NKOE5ULHNDSTlOUyxDQUFBLGlCSjBOMUIscUJJMU4wQixDQUFBLGdDSjhOVCxzQ0k5TlMsQ0FBQSxpQkowTjFCLGVJMU4wQixDQUFBLGdDSjhOVCxnQ0k5TlMsQ0FBQSxpQkowTjFCLHFCSTFOMEIsQ0FBQSxnQ0o4TlQsc0NJOU5TLENBQUEsaUJKME4xQixxQkkxTjBCLENBQUEsZ0NKOE5ULHNDSTlOUyxDQUFBLGlCSjBOMUIsZUkxTjBCLENBQUEsZ0NKOE5ULGdDSTlOUyxDQUFBLGtCSjBOMUIscUJJMU4wQixDQUFBLGlDSjhOVCxzQ0k5TlMsQ0FBQSxrQkowTjFCLHFCSTFOMEIsQ0FBQSxpQ0o4TlQsc0NJOU5TLENBQUEsQ0FBQSx3Q2YrSUgsa0JXMkV2QixjSTFOa0IsQ0FBUSxpQ0o4TlQsK0JJOU5TLENBQUEsa0JKME4xQixvQkkxTjBCLENBQUEsaUNKOE5ULHFDSTlOUyxDQUFBLGtCSjBOMUIscUJJMU4wQixDQUFBLGlDSjhOVCxzQ0k5TlMsQ0FBQSxrQkowTjFCLGVJMU4wQixDQUFBLGlDSjhOVCxnQ0k5TlMsQ0FBQSxrQkowTjFCLHFCSTFOMEIsQ0FBQSxpQ0o4TlQsc0NJOU5TLENBQUEsa0JKME4xQixxQkkxTjBCLENBQUEsaUNKOE5ULHNDSTlOUyxDQUFBLGtCSjBOMUIsZUkxTjBCLENBQUEsaUNKOE5ULGdDSTlOUyxDQUFBLGtCSjBOMUIscUJJMU4wQixDQUFBLGlDSjhOVCxzQ0k5TlMsQ0FBQSxrQkowTjFCLHFCSTFOMEIsQ0FBQSxpQ0o4TlQsc0NJOU5TLENBQUEsa0JKME4xQixlSTFOMEIsQ0FBQSxpQ0o4TlQsZ0NJOU5TLENBQUEsbUJKME4xQixxQkkxTjBCLENBQUEsa0NKOE5ULHNDSTlOUyxDQUFBLG1CSjBOMUIscUJJMU4wQixDQUFBLGtDSjhOVCxzQ0k5TlMsQ0FBQSxDQUFBLFFKZ1A5QixxQkFBQSxBRHpPUyxvQkN5T1QsQUR6T1MsYUFBQSxnQ0FBQSxBQUZjLDRCQUVkLEFBRmMsdUJBQUEsQ0FBQSxjQytPbkIsVUMxTVcsQ0FBQSxjRDhNWCxXQ25NYSxDQUFBLGdCRHVNYixXQ25NYSxDQUFBLHlQRGlOMkosd0JBQUEsQUFDMUosNkJBRDBKLEFBQzFKLGVBQUEsQ0FBQSwyQ1hqSWUsdVFXZ0l3Six3QkFBQSxBQUN2Syw2QkFEdUssQUFDdkssZUFBQSxDQUFBLENBQUEsMkNYakllLHlQV2dJMkksd0JBQUEsQUFDMUosNkJBRDBKLEFBQzFKLGVBQUEsQ0FBQSxDQUFBLHNDWDVIUyx1UVcySDhKLHdCQUFBLEFBQ3ZLLDZCQUR1SyxBQUN2SyxlQUFBLENBQUEsQ0FBQSx3Q1g1SFMscVJXMkgySyx3QkFBQSxBQUNwTCw2QkFEb0wsQUFDcEwsZUFBQSxDQUFBLENBQUEsaUJBbUJWLGVDbE93QixDQUFBLGlCRGtPeEIsZ0JDbE93QixDQUFBLGlCRGtPeEIsVUNsT3dCLENBQUEsaUJEa094QixnQkNsT3dCLENBQUEsaUJEa094QixnQkNsT3dCLENBQUEsaUJEa094QixVQ2xPd0IsQ0FBQSxpQkRrT3hCLGdCQ2xPd0IsQ0FBQSxpQkRrT3hCLGdCQ2xPd0IsQ0FBQSxpQkRrT3hCLFVDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsV0NsT3dCLENBQUEsMkNaOEVDLHFCV3VJekIscUJBQUEsQUNuUEEsaUJEbVBBLEFDblBBLGFBQUEsV0F1QlMsQ0FBQSx1QkRpT1QsV0M3TlMsQ0FBQSxrQkRxT1QsZUNsT3dCLENBQUEsa0JEa094QixnQkNsT3dCLENBQUEsa0JEa094QixVQ2xPd0IsQ0FBQSxrQkRrT3hCLGdCQ2xPd0IsQ0FBQSxrQkRrT3hCLGdCQ2xPd0IsQ0FBQSxrQkRrT3hCLFVDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsVUNsT3dCLENBQUEsbUJEa094QixnQkNsT3dCLENBQUEsbUJEa094QixnQkNsT3dCLENBQUEsbUJEa094QixXQ2xPd0IsQ0FBQSxDQUFBLDJDWjhFQyxvQld1SXpCLHFCQUFBLEFDblBBLGlCRG1QQSxBQ25QQSxhQUFBLFdBdUJTLENBQUEsc0JEaU9ULFdDN05TLENBQUEsaUJEcU9ULGVDbE93QixDQUFBLGlCRGtPeEIsZ0JDbE93QixDQUFBLGlCRGtPeEIsVUNsT3dCLENBQUEsaUJEa094QixnQkNsT3dCLENBQUEsaUJEa094QixnQkNsT3dCLENBQUEsaUJEa094QixVQ2xPd0IsQ0FBQSxpQkRrT3hCLGdCQ2xPd0IsQ0FBQSxpQkRrT3hCLGdCQ2xPd0IsQ0FBQSxpQkRrT3hCLFVDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsV0NsT3dCLENBQUEsQ0FBQSxzQ1ptRkwscUJXa0luQixxQkFBQSxBQ25QQSxpQkRtUEEsQUNuUEEsYUFBQSxXQXVCUyxDQUFBLHVCRGlPVCxXQzdOUyxDQUFBLGtCRHFPVCxlQ2xPd0IsQ0FBQSxrQkRrT3hCLGdCQ2xPd0IsQ0FBQSxrQkRrT3hCLFVDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsZ0JDbE93QixDQUFBLGtCRGtPeEIsVUNsT3dCLENBQUEsa0JEa094QixnQkNsT3dCLENBQUEsa0JEa094QixnQkNsT3dCLENBQUEsa0JEa094QixVQ2xPd0IsQ0FBQSxtQkRrT3hCLGdCQ2xPd0IsQ0FBQSxtQkRrT3hCLGdCQ2xPd0IsQ0FBQSxtQkRrT3hCLFdDbE93QixDQUFBLENBQUEsd0NabUZMLHNCV2tJbkIscUJBQUEsQUNuUEEsaUJEbVBBLEFDblBBLGFBQUEsV0F1QlMsQ0FBQSx3QkRpT1QsV0M3TlMsQ0FBQSxtQkRxT1QsZUNsT3dCLENBQUEsbUJEa094QixnQkNsT3dCLENBQUEsbUJEa094QixVQ2xPd0IsQ0FBQSxtQkRrT3hCLGdCQ2xPd0IsQ0FBQSxtQkRrT3hCLGdCQ2xPd0IsQ0FBQSxtQkRrT3hCLFVDbE93QixDQUFBLG1CRGtPeEIsZ0JDbE93QixDQUFBLG1CRGtPeEIsZ0JDbE93QixDQUFBLG1CRGtPeEIsVUNsT3dCLENBQUEsb0JEa094QixnQkNsT3dCLENBQUEsb0JEa094QixnQkNsT3dCLENBQUEsb0JEa094QixXQ2xPd0IsQ0FBQSxDQUFBLGdDRDZPNUIscUJIbFM2Qix1QkFBQSxDQUFBLDJDUm1JQSxnQ1crSjdCLHFCSGxTNkIsdUJBQUEsQ0FBQSxDQUFBLHNCR3VTM0IscUJIdlMyQix1QkFBQSxDQUFBLDJDUm1JQSxzQldvSzNCLHFCSHZTMkIsdUJBQUEsQ0FBQSxDQUFBLGVHK0ZqQyxxQkgvRmlDLHVCQUFBLENBQUEsMkNSbUlBLGVXcENqQyxxQkgvRmlDLHVCQUFBLENBQUEsQ0FBQSxxQkdtRzdCLDZCQ3pEa0Msb0JKakNQLHNCQUFBLENBQUEsMkNSMEhFLHFCV3pCekIsNEJDaEU4QixvQkpqQ1Asc0JBQUEsQ0FBQSxDQUFBLHFCRzhEN0IsV0N6QmUsQ0FBQSx1QkQ2QmYsV0N6QmUsQ0FBQSx3QkRpQ2IsZ0NDOUJvRCxDQUFBLHdCRDhCcEQsaUNDOUJvRCxDQUFBLHdCRDhCcEQsMkJDOUJvRCxDQUFBLHdCRDhCcEQsaUNDOUJvRCxDQUFBLHdCRDhCcEQsaUNDOUJvRCxDQUFBLHdCRDhCcEQsMkJDOUJvRCxDQUFBLHdCRDhCcEQsaUNDOUJvRCxDQUFBLHdCRDhCcEQsaUNDOUJvRCxDQUFBLHdCRDhCcEQsMkJDOUJvRCxDQUFBLHlCRDhCcEQsaUNDOUJvRCxDQUFBLHlCRDhCcEQsaUNDOUJvRCxDQUFBLHlCRDhCcEQsNEJDOUJvRCxDQUFBLDJDWjhFdkIscUJXNUQvQixXQ3pCZSxDQUFBLHVCRDZCZixXQ3pCZSxDQUFBLHdCRGlDYiwrQkM5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCwwQkM5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCwwQkM5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCwwQkM5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCwyQkM5Qm9ELENBQUEsNEJEa0J0RCxXQ3pCZSxDQUFBLDhCRDZCZixXQ3pCZSxDQUFBLHlCRGlDYiwrQkM5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCwwQkM5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCwwQkM5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCwwQkM5Qm9ELENBQUEsMEJEOEJwRCxnQ0M5Qm9ELENBQUEsMEJEOEJwRCxnQ0M5Qm9ELENBQUEsMEJEOEJwRCwyQkM5Qm9ELENBQUEsQ0FBQSwyQ1o4RXZCLDJCVzVEL0IsV0N6QmUsQ0FBQSw2QkQ2QmYsV0N6QmUsQ0FBQSx3QkRpQ2IsK0JDOUJvRCxDQUFBLHdCRDhCcEQsZ0NDOUJvRCxDQUFBLHdCRDhCcEQsMEJDOUJvRCxDQUFBLHdCRDhCcEQsZ0NDOUJvRCxDQUFBLHdCRDhCcEQsZ0NDOUJvRCxDQUFBLHdCRDhCcEQsMEJDOUJvRCxDQUFBLHdCRDhCcEQsZ0NDOUJvRCxDQUFBLHdCRDhCcEQsZ0NDOUJvRCxDQUFBLHdCRDhCcEQsMEJDOUJvRCxDQUFBLHlCRDhCcEQsZ0NDOUJvRCxDQUFBLHlCRDhCcEQsZ0NDOUJvRCxDQUFBLHlCRDhCcEQsMkJDOUJvRCxDQUFBLENBQUEsc0NabUY3Qiw0QldqRXpCLFdDekJlLENBQUEsOEJENkJmLFdDekJlLENBQUEseUJEaUNiLCtCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDBCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDBCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDBCQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELDJCQzlCb0QsQ0FBQSxDQUFBLHdDWm1GN0IsNkJXakV6QixXQ3pCZSxDQUFBLCtCRDZCZixXQ3pCZSxDQUFBLDBCRGlDYiwrQkM5Qm9ELENBQUEsMEJEOEJwRCxnQ0M5Qm9ELENBQUEsMEJEOEJwRCwwQkM5Qm9ELENBQUEsMEJEOEJwRCxnQ0M5Qm9ELENB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Qm9ELENBQUEsd0JEOEJwRCxpQ0M5Qm9ELENBQUEsd0JEOEJwRCwyQkM5Qm9ELENBQUEseUJEOEJwRCxpQ0M5Qm9ELENBQUEseUJEOEJwRCxpQ0M5Qm9ELENBQUEseUJEOEJwRCw0QkM5Qm9ELENBQUEsMkNaOEV2QixxQlc1RC9CLFdDekJlLENBQUEsdUJENkJmLFdDekJlLENBQUEsd0JEaUNiLCtCQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELDBCQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELDBCQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELGdDQzlCb0QsQ0FBQSx3QkQ4QnBELDBCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDJCQzlCb0QsQ0FBQSw0QkRrQnRELFdDekJlLENBQUEsOEJENkJmLFdDekJlLENBQUEseUJEaUNiLCtCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDBCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDBCQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELGdDQzlCb0QsQ0FBQSx5QkQ4QnBELDBCQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELDJCQzlCb0QsQ0FBQSxDQUFBLDJDWjhFdkIsMkJXNUQvQixXQ3pCZSxDQUFBLDZCRDZCZixXQ3pCZSxDQUFBLHdCRGlDYiwrQkM5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCwwQkM5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCwwQkM5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCxnQ0M5Qm9ELENBQUEsd0JEOEJwRCwwQkM5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCxnQ0M5Qm9ELENBQUEseUJEOEJwRCwyQkM5Qm9ELENBQUEsQ0FBQSxzQ1ptRjdCLDRCV2pFekIsV0N6QmUsQ0FBQSw4QkQ2QmYsV0N6QmUsQ0FBQSx5QkRpQ2IsK0JDOUJvRCxDQUFBLHlCRDhCcEQsZ0NDOUJvRCxDQUFBLHlCRDhCcEQsMEJDOUJvRCxDQUFBLHlCRDhCcEQsZ0NDOUJvRCxDQUFBLHlCRDhCcEQsZ0NDOUJvRCxDQUFBLHlCRDhCcEQsMEJDOUJvRCxDQUFBLHlCRDhCcEQsZ0NDOUJvRCxDQUFBLHlCRDhCcEQsZ0NDOUJvRCxDQUFBLHlCRDhCcEQsMEJDOUJvRCxDQUFBLDBCRDhCcEQsZ0NDOUJvRCxDQUFBLDBCRDhCcEQsZ0NDOUJvRCxDQUFBLDBCRDhCcEQsMkJDOUJvRCxDQUFBLENBQUEsd0NabUY3Qiw2QldqRXpCLFdDekJlLENBQUEsK0JENkJmLFdDekJlLENBQUEsMEJEaUNiLCtCQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELDBCQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELDBCQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELGdDQzlCb0QsQ0FBQSwwQkQ4QnBELDBCQzlCb0QsQ0FBQSwyQkQ4QnBELGdDQzlCb0QsQ0FBQSwyQkQ4QnBELGdDQzlCb0QsQ0FBQSwyQkQ4QnBELDJCQzlCb0QsQ0FBQSxDQUFBLDBCRHlVM0MsNkJLM1hDLENBQUEsMkNoQmdJbUIsMEJXMlBwQiw0QkszWEMsQ0FBQSxDQUFBLDJDaEJnSW1CLDBCVzJQcEIsNEJLM1hDLENBQUEsQ0FBQSxzQ2hCcUlhLDBCV3NQZCw0QkszWEMsQ0FBQSxDQUFBLHdDaEJxSWEsMEJXc1BkLDRCSzNYQyxDQUFBLENBQUEsMkNoQmdJbUIsaUNXK1BmLDRCSy9YSixDQUFBLENBQUEsMkNoQmdJbUIsZ0NXK1BmLDRCSy9YSixDQUFBLENBQUEsc0NoQnFJYSxpQ1cwUFQsNEJLL1hKLENBQUEsQ0FBQSx3Q2hCcUlhLGtDVzBQVCw0QksvWEosQ0FBQSxDQUFBLG9FQzhPZCxTQUNRLFNBQ04sQ0FBTyxFQUFJLG1CWDVFVyxrQldtRlgsZ0JYcEZRLGlDQUVJLENBQUEsS1d3RnZCLGtCQUVZLG1CQUNDLENBQUEsU0FJVCxnQlgxTmEsbUJXNk5KLENBQUEsTUFDZCxjWHZHZSxtQlc0R0QsQ0FBQSwwQ0FTWCx3Q1hwT3lCLGtCQXVGWCxnQkE5RkQsY0FnR0osaUNBcUJTLENBQUEsa0hXNkhwQixjQUNhLFVYcE9ILENBQUEsT1c4T0YsbUJSblBBLGNRbVFXLGFBUUQsb0JYbkxDLENBQUEsT1cySlgsa0JSblBBLGNRbVFXLGFBUUQsb0JYbkxDLENBQUEsT1cySlgsb0JSblBBLGNRbVFXLGFBUUQsb0JYbkxDLENBQUEsT1cySlgsbUJSblBBLGNRbVFXLGFBUUQsb0JYbkxDLENBQUEsT1cySlgsb0JSblBBLGNRbVFXLGFBUUQsb0JYbkxDLENBQUEsT1cySlgsZVJuUEEsY1FtUVcsYUFRRCxvQlhuTEMsQ0FBQSwyQ05iWSxPaUJ3S3ZCLGNSblBBLENBQUEsT1FtUEEsZ0JSblBBLENBQUEsT1FtUEEsbUJSblBBLENBQUEsT1FtUEEsbUJSblBBLENBQUEsT1FtUEEsaUJSblBBLENBQUEsT1FtUEEsY1JuUEEsQ0FBQSxDQUFBLEVRb1JILG9CQU9RLFdYbFJULHFCQWdIaUIsY1dzS2IsQ0FBQSxnQkFMVCxVWGxLa0IsQ0FBQSxNV2lMakIsUUFDRSxDQUFNLEdBQ1AsV0FLTSxnQlJoVEMsU1FtVEYsb0JYdExlLGFXeUxYLGVBQ0UsNkJYbFRGLGFXb1RWLENBQVcsU0FNYixtQlhoTndCLDRCQWtCSixlQW5CQyxDQUFBLEdXcU5wQixpQkFJWSxDQUFBLEdBQ1osb0JYdE1nQixvQkFGRCxDQUFBLEdXOE1mLG1CWDVNZ0IsQ0FBQSx3QldvTmIsb0JYbk5vQixlV3NOcEIsQ0FBYSxHQUNkLGtCWHROb0IsQ0FBQSxNVzZOckIsb0JY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Q0UsVUFDSixtQkFDTyx1QkFBQSxBQUNKLGNBQUEsQ0FBRSx1Q3NEekhYLHdCQUNXLENBQUEsMkM3RDREa0IsdUM2RDdEN0Isd0JBSWEsQ0FBQSxDQUFBLDBDN0R5RGdCLHVDNkQ3RDdCLHVCQVFhLENBQUEsQ0FBQSx1Q0FLYix1QkFDVyxDQUFBLDJDN0QrQ2tCLHVDNkRoRDdCLHVCQUlhLENBQUEsQ0FBQSwwQzdENENnQix1QzZEaEQ3Qix3QkFRYSxDQUFBLENBQUEsYUN0RFgsaUNBQUEsQUN4RU8sa0JEd0VQLEFDeEVPLHdCQUFBLENBQUEsY0R3RVAsK0JBQUEsQUN2RVEscUJEdUVSLEFDdkVRLHNCQUFBLENBQUEsZUR1RVIsc0NBQUEsQUN0RVMsc0JEc0VULEFDdEVTLDZCQUFBLENBQUEsY0RzRVQscUNBQUEsQUNyRVEseUJEcUVSLEFDckVRLDRCQUFBLENBQUEsZ0NENkVZLGlDQUFBLEFDaEZiLGtCRGdGYSxBQ2hGYix3QkFBQSxDQUFBLGlDRGdGYSwrQkFBQSxBQy9FWixxQkQrRVksQUMvRVosc0JBQUEsQ0FBQSxXRGlGTCwrQkFBQSxBQzNFRSxxQkQyRUYsQUMzRUUsc0JBQUEsQ0FBQSxnQkRtRkosOEJBQUEsQUNuRkksMEJEbUZKLEFDbkZJLHFCQUFBLENBQUEsY0RpRkwsNkJBQUEsQUNoRlEsbUJEZ0ZSLEFDaEZRLG9CQUFBLENBQUEsbUJEa0ZQLDRCQUFBLEFDbEZPLHdCRGtGUCxBQ2xGTyxtQkFBQSxDQUFBLGNEZ0ZSLDJCQUFBLEFDL0VRLHNCRCtFUixBQy9FUSxrQkFBQSxDQUFBLG1CRGlGUCwwQkFBQSxBQ2pGTywyQkRpRlAsQUNqRk8sMEJEaUZQLEFDakZPLGlCQUFBLENBQUEsZUQrRVIsNEJBQUEsQUM5RVMsdUJEOEVULEFDOUVTLG1CQUFBLENBQUEsb0JEZ0ZSLDJCQUFBLEFDaEZRLDRCRGdGUixBQ2hGUSwyQkRnRlIsQUNoRlEsa0JBQUEsQ0FBQSxxQkRvRlIsK0JBQUEsQUM3Rk8scUJENkZQLEFDN0ZPLHVCQUFBLDJCQUFBLEFBUUEsc0JBUkEsQUFRQSxtQkFBQSw2QkFBQSxBRDJGTywwQkMzRlAsQUQyRk8sb0JBQUEsQ0FBQSxlQUNoQixnQkFBQSxBQzlCRCxpQkQ4QkMsQUM5QkQsT0FBQSxDQUFBLGVEbUNJLGdCQUFBLEFDbkNKLGlCRG1DSSxBQ25DSixPQUFBLENBQUEsZURtQ0ksZ0JBQUEsQUNuQ0osaUJEbUNJLEFDbkNKLE9BQUEsQ0FBQSxlRG1DSSxnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGVEbUNJLGdCQUFBLEFDbkNKLGlCRG1DSSxBQ25DSixPQUFBLENBQUEsZURtQ0ksZ0JBQUEsQUNuQ0osaUJEbUNJLEFDbkNKLE9BQUEsQ0FBQSwyQy9EMEZpQyxnQjhEdkQ3QixnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGdCRG1DSSxnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGdCRG1DSSxnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGdCRG1DSSxnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGdCRG1DSSxnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGdCRG1DSSxnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLENBQUEsMkMvRDBGaUMsZThEdkQ3QixnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGVEbUNJLGdCQUFBLEFDbkNKLGlCRG1DSSxBQ25DSixPQUFBLENBQUEsZURtQ0ksZ0JBQUEsQUNuQ0osaUJEbUNJLEFDbkNKLE9BQUEsQ0FBQSxlRG1DSSxnQkFBQSxBQ25DSixpQkRtQ0ksQUNuQ0osT0FBQSxDQUFBLGVEbUNJLGdCQUFBLEFDbkNKLGlCRG1DSSxBQ25DSixPQUFBLENBQUEsZURtQ0ksZ0JBQUEsQUNuQ0osaUJEbUNJLEFDbkNKLE9BQUEsQ0FBQSxDQUFBLHNDL0QrRjJCLGdCOEQ1RHZCLGdCQUFBLEFDbkNKLGlCRG1DSSxBQ25DSixPQUFBLENBQUEsZ0JEbUNJLGdCQUFBLEFDbkNKLGlCRG1DSSxBQ25DSixPQUFBLENBQUEs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QSxDQUFBLDBCRjlCVCwwQkNBTSxrQ0FnQkEsZ0NBQUEsQUNjRyw0QkRkSCxBQ2NHLHdCQUFBLCtDQUFBLEFDdkJhLHVDRHVCYixBQ3ZCYSwwREFBQSxtQ0FBQSxBQUdGLDBCQUFBLENBQUEsMkNIRVYsbUNBQUEsQUVrQkQsK0JGbEJDLEFFa0JELDBCQUFBLENBQUEsMkJGOUJULDBCQ0FNLGtDQWdCQSxnQ0FBQSxBQ2NHLDRCRGRILEFDY0csd0JBQUEsK0NBQUEsQUN2QmEsdUNEdUJiLEFDdkJhLDBEQUFBLG1DQUFBLEFBR0YsMEJBQUEsQ0FBQSw0Q0hFVixtQ0FBQSxBRWtCRCwrQkZsQkMsQUVrQkQsMEJBQUEsQ0FBQSx3QkY5QlQsMEJDQU0sa0NBZ0JBLGdDQUFBLEFDY0csNEJEZEgsQUNjRyx3QkFBQSwrQ0FBQSxBQ3ZCYSx1Q0R1QmIsQUN2QmEsMERBQUEsbUNBQUEsQUFHRiwwQkFBQSxDQUFBLHlDSEVWLG9DQUFBLEFFa0JELGdDRmxCQyxBRWtCRCwyQkFBQSxDQUFBLDBCRjlCVCwwQkNBTSxrQ0FnQkEsZ0NBQUEsQUNjRyw0QkRkSCxBQ2NHLHdCQUFBLCtDQUFBLEFDdkJhLHVDRHVCYixBQ3ZCYSwwREFBQSxtQ0FBQSxBQUdGLDBCQUFBLENBQUEsMkNIRVYsb0NBQUEsQUVrQkQsZ0NGbEJDLEFFa0JELDJCQUFBLENBQUEsbUJGOUJULDBCQ0FNLGtDQWdCQSxVQ2dCUCwyQkVoQ3FCLENBQUEsb0NKWVYsU0VvQlgsQ0FBQSxvQkZoQ0MsMEJDQU0sa0NBZ0JBLFVDZ0JQLDJCRWhDcUIsQ0FBQSxxQ0pZVixTRW9CWCxDQUFBLDZCRmhDQywwQkNBTSxrQ0FnQkEsc0RBQUEsQUlyQkYsOENBQUEsNkJBQUEsQUhxQ0cseUJHckNILEFIcUNHLHFCQUFBLCtDQUFBLEFJekJlLHVDSnlCZixBSXpCZSwwREFBQSxTQUNyQixDQUFBLDhDTklTLG1EQUFBLEFLVXFCLDJDQUFBLFNDSjlCLENBQUEsK0JObEJELDBCQ0FNLGtDQWdCQSxzREFBQSxBSXBCQSw4Q0FBQSwrQkFBQSxBSGtDRywyQkdsQ0gsQUhrQ0csdUJBQUEsK0NBQUEsQUl2QmEsdUNKdUJiLEFJdkJhLDBEQUFBLFNBQ3JCLENBQUEsZ0ROSVMsbURBQUEsQUtVcUIsMkNBQUEsU0NKOUIsQ0FBQSxnQ05sQkQsMEJDQU0sa0NBZ0JBLHFEQUFBLEFJbkJDLDZDQUFBLGdDQUFBLEFIaUNFLDRCR2pDRixBSGlDRSx3QkFBQSwrQ0FBQSxBSXZCYSx1Q0p1QmIsQUl2QmEsMERBQUEsU0FDckIsQ0FBQSxpRE5JUyxtREFBQSxBS1VxQiwyQ0FBQSxTQ0o5QixDQUFBLDhCTmxCRCwwQkNBTSxrQ0FnQkEscURBQUEsQUlsQkQsNkNBQUEsOEJBQUEsQUhnQ0ksMEJHaENKLEFIZ0NJLHNCQUFBLCtDQUFBLEFJdkJhLHVDSnVCYixBSXZCYSwwREFBQSxTQUNyQixDQUFBLCtDTklTLG1EQUFBLEFLVXFCLDJDQUFBLFNDSjlCLENBQUEsa0NObEJELDBCQ0FNLGtDQWdCQSxzREFBQSxBSXJCRiw4Q0FBQSxnQ0FBQSxBSG1DSyw0QkduQ0wsQUhtQ0ssd0JBQUEsK0NBQUEsQUl2QmEsdUNKdUJiLEFJdkJhLDBEQUFBLFNBQ3JCLENBQUEsbUROSVMsbURBQUEsQUtVcUIsMkNBQUEsU0NKOUIsQ0FBQSxrQ05sQkQsMEJDQU0sa0NBZ0JBLHNEQUFBLEFJcEJBLDhDQUFBLGdDQUFBLEFIa0NHLDRCR2xDSCxBSGtDRyx3QkFBQSwrQ0FBQSxBSXZCYSx1Q0p1QmIsQUl2QmEsMERBQUEsU0FDckIsQ0FBQSxtRE5JUyxtREFBQSxBS1VxQiwyQ0FBQSxTQ0o5QixDQUFBLDhCTmxCRCwwQkNBTSxrQ0FnQkEsbURBQUEsQUlRMkIsMkNBQUEsNkJBQUEsQUhRMUIseUJHUjBCLEFIUTFCLHFCQUFBLCtDQUFBLEFJekJlLHVDSnlCZixBSXpCZSwwREFBQSxTQUNyQixDQUFBLCtDTklTLHNEQUFBLEFLakJOLDhDQUFBLFNDdUJILENBQUEsZ0NObEJELDBCQ0FNLGtDQWdCQSxtREFBQSxBSVEyQiwyQ0FBQSwrQkFBQSxBSE14QiwyQkdOd0IsQUhNeEIsdUJBQUEsK0NBQUEsQUl2QmEsdUNKdUJiLEFJdkJhLDBEQUFBLFNBQ3JCLENBQUEsaUROSVMsc0RBQUEsQUtoQkosOENBQUEsU0NzQkwsQ0FBQSxpQ05sQkQsMEJDQU0sa0NBZ0JBLG1EQUFBLEFJUTJCLDJDQUFBLGdDQUFBLEFITXhCLDRCR053QixBSE14Qix3QkFBQSwrQ0FBQSxBSXZCYSx1Q0p1QmIsQUl2QmEsMERBQUEsU0FDckIsQ0FBQSxrRE5JUyxxREFBQSxBS2ZILDZDQUFBLFNDcUJOLENBQUEsK0JObEJELDBCQ0FNLGtDQWdCQSxtREFBQSxBSVEyQiwyQ0FBQSw4QkFBQSxBSE14QiwwQkdOd0IsQUhNeEIsc0JBQUEsK0NBQUEsQUl2QmEsdUNKdUJiLEFJdkJhLDBEQUFBLFNBQ3JCLENBQUEsZ0ROSVMscURBQUEsQUtkTCw2Q0FBQSxTQ29CSixDQUFBLG1DTmxCRCwwQkNBTSxrQ0FnQkEsbURBQUEsQUlRMkIsMkNBQUEsZ0NBQUEsQUhNeEIsNEJHTndCLEFITXhCLHdCQUFBLCtDQUFBLEFJdkJhLHVDSnVCYixBSXZCYSwwREFBQSxTQUNyQixDQUFBLG9ETklTLHNEQUFBLEFLakJOLDhDQUFBLFNDdUJILENBQUEsbUNObEJELDBCQ0FNLGtDQWdCQSxtREFBQSxBSVEyQiwyQ0FBQSxnQ0FBQSxBSE14Qiw0QkdOd0IsQUhNeEIsd0JBQUEsK0NBQUEsQUl2QmEsdUNKdUJiLEFJdkJhLDBEQUFBLFNBQ3JCLENBQUEsb0ROSVMsc0RBQUEsQUtoQkosOENBQUEsU0NzQkwsQ0FBQSx1Qk5sQkQsMEJDQU0sa0NBZ0JBLDRCQUFBLEFDY0csd0JEZEgsQUNjRyxvQkFBQSwrQ0FBQSxBSzNCYSx1Q0wyQmIsQUszQmEsMERBQUEsU0FDckIsQ0FBQSx3Q1BRUywyQkFBQSxBRWtCRCx1QkZsQkMsQUVrQkQsbUJBQUEsU0toQlIsQ0FBQSx5QlBkRCwwQkNBTSxrQ0FnQkEsNkJBQUEsQUNjRyx5QkRkSCxBQ2NHLHFCQUFBLCtDQUFBLEFLM0JhLHVDTDJCYixBSzNCYSwwREFBQSxTQUNyQixDQUFBLDBDUFFTLDJCQUFBLEFFa0JELHVCRmxCQyxBRWtCRCxtQkFBQSxTS2hCUixDQUFBLHdCUGRELDBCQ0FNLGtDQWdCQSwyQkFBQSxBQ2NHLHVCRGRILEFDY0csbUJBQUEsK0NBQUEsQUszQmEsdUNMMkJiLEFLM0JhLDBEQUFBLFNBQ3JCLENBQUEseUNQUVMsNkJBQUEsQUVrQkQseUJGbEJDLEFFa0JELHFCQUFBLFNLaEJSLENBQUEsMEJQZEQsMEJDQU0sa0NBZ0JBLDJCQUFBLEFDY0csdUJEZEgsQUNjRyxtQkFBQSwrQ0FBQSxBSzNCYSx1Q0wyQmIsQUszQmEsMERBQUEsU0FDckIsQ0FBQSwyQ1BRUyw0QkFBQSxBRWtCRCx3QkZsQkMsQUVrQkQsb0JBQUEsU0toQlIsQ0FBQSxtQlBkRCwwQkNBTSxrQ0FnQkEsbUNBQUEsQUNjRywrQkRkSCxBQ2NHLDJCQUFBLCtDQUFBLEFNM0JhLHVDTjJCYixBTTNCYSwwREFBQSxTQUNyQixDQUFBLG9DUlFTLDRCQUFBLEFFa0JELHdCRmxCQyxBRWtCRCxvQkFBQSxTTWhCUixDQUFBLG9CUmRELDBCQ0FNLGtDQWdCQSw0QkFBQSxBQ2NHLHdCRGRILEFDY0csb0JBQUEsK0NBQUEsQU0zQmEsdUNOMkJiLEFNM0JhLDBEQUFBLFNBQ3JCLENBQUEscUNSUVMsa0NBQUEsQUVrQkQsOEJGbEJDLEFFa0JELDBCQUFBLFNNaEJSLENBQUEsdUJSZEQsMEJDQU0sa0NBZ0JBLGtDQUFBLEFDY0csOEJEZEgsQUNjRywwQkFBQSwrQ0FBQSxBTTNCYSx1Q04yQmIsQU0zQmEsMERBQUEsU0FDckIsQ0FBQSx3Q1JRUyw0QkFBQSxBRWtCRCx3QkZsQkMsQUVrQkQsb0JBQUEsU01oQlIsQ0FBQSx3QlJkRCwwQkNBTSxrQ0FnQkEsNEJBQUEsQUNjRyx3QkRkSCxBQ2NHLG9CQUFBLCtDQUFBLEFNM0JhLHVDTjJCYixBTTNCYSwwREFBQSxTQUNyQixDQUFBLHlDUlFTLG1DQUFBLEFFa0JELCtCRmxCQyxBRWtCRCwyQkFBQSxTTWhCUixDQUFBLE1SQUQsb0NTb0IrQixDQUFBLE1BQTlCLG9DQUE4QixDQUFBLFFBQWMsNENBTVAsQ0FBQSxNQUFyQywwQ0FB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LDJDUjBIRSxzQ0RnOUJqQyxvQlMxa0MrQixzQkFBQSxDQUFBLENBQUEsa0VUeWxDN0Isb0JTemxDNkIsb0JBQUEsQ0FBQSwyQ1IwSEUsc0NEZzlCakMsV0FxQlUsQ0FBRSxDQUFBLG9EQVNWLGlDTzFqQ1ksa0JHQ0osUVY0akNOLENBQUEscURBR0YsaUJVL2pDUSxlVmlrQ04sQ0FBVywyQ0N0L0JrQixxRERvL0IvQixnQlUvakNRLENBQUEsQ0FBQSxzQ1RnRmlCLHFERCsrQnpCLGNBU2EsQ1V4a0NMLENBQUEsMERWNmtDUixrQ08va0NhLGNQaWxDRixDVS9rQ0gsMkNUMkV1QiwwRERrZ0MvQixrQlU3a0NRLENBQUEsQ0FBQSxzQ1RnRmlCLDBERDYvQnpCLGtCVTdrQ1EsQ0FBQSxDQUFBLDZIVjZrQ1IsbUJBV2lCLDhCT3hsQ0gsQ0FBQSxvRFA4bENkLHFCUzdvQzZCLHVCQUFBLENBQUEsMkNSMEhFLG9ERG1oQy9CLGdCYWptQzhCLGVKNUM1QixjQUFBLHFCVGtwQ2UsQ0FBQSxDQUFBLDJDQ3hoQ2Msc0REbWhDL0Isa0JVOWxDUSxDQUFBLENBQUEsc0NUZ0ZpQixzREQ4Z0N6QixrQlU5bENRLENBQUEsQ0FBQSwwRFZvbkNSLHFCU25xQzZCLHFCQUFBLENBQUEsaURUd3FDN0IsaUNPMW5DWSxtQkdDSixvQkQvQ3FCLHNCQUFBLENBQUEsMkNSMEhFLGlERDhpQy9CLGlCVXpuQ1EsQ0FBQSxDQUFBLHNDVGdGaUIsaUREeWlDekIsaUJVem5DUSxDQUFBLENBQUEsMERWdW9DTCxlQUVXLENBQUEseURBRlgsZUFLVyxDQUFBLHNEQUlWLGlCQUNjLG1DT3JwQ0ssaUJQcXBDMkMsQ0FBQSxzQkFDN0QsV0FVQSxxQlMzc0N3Qix1QkFBQSxDQUFBLGdEVCtzQy9CLGtCQUNnQixlQUNILGdCQUNFLGFBQ0gsQ0FBQSw0RUFFUixrQlV0cUNNLG9CVjRxQ1ksZ0JBQ0wsbUNPanJDUSxrQlBtckNOLENBQUUsMkNDcG1DWSw0RUQybEM3QixjQUdjLENVenFDUixDQUFBLDJFVm1yQ04saUJVbnJDTSxnQlZ5ckNPLFVBQ04s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LGtCUDQxRGdDLGtCQUNqQixDTzcxRGYsZ0JQNjFEa0MsZ0JBQ3ZCLENPOTFEWCxtQlA4MUQ4QixtQkFDYixDTy8xRGpCLHNCUCsxRG9DLGNPLzFEcEMsQ0FBQSxTUGcyRGtDLFlBQ2xDLENPLzFESCxjUCsxRG1CLGNBQ1QsQ09oMkRWLGNQZzJEMEIsaUJBQ2IsQ09qMkRiLGVQaTJENkIsa0JBQ2QsQ09sMkRmLGFQazJEK0IsZ0JBQ3BCLENPbjJEWCxnQlBtMkQyQixtQkFDVixDT3AyRGpCLG1CUG8yRGlDLGNPcDJEakMsQ0FBQSxXUHEyRCtCLFlBQzFCLENPdjJESCxnQlB1MkRxQixjQUNYLENPeDJEVixnQlB3MkQ0QixpQkFDZixDT3oyRGIsaUJQeTJEK0Isa0JBQ2hCLENPMTJEZixlUDAyRGlDLGdCQUN0QixDTzMyRFgsa0JQMjJENkIsbUJBQ1osQ081MkRqQixxQlA0MkRtQyxjTzUyRG5DLENBQUEsUVA2MkRpQyxtQkFDaEMsQ0FBQSxNQUFhLFdBQ2pCLENPdnJGRSxXUHVyRmtCLGFBQ2IsQ094ckZMLFdQd3JGeUIsZ0JBQ2pCLENPenJGUixZUHlyRjRCLGlCQUNsQixDTzFyRlYsVVAwckY4QixlQUN4QixDTzNyRk4sYVAyckYwQixrQkFDZCxDTzVyRlosZ0JQNHJGZ0MsYU81ckZoQyxDQUFBLFdQNnJGOEIsV0FDM0IsQ094M0RILGdCUHczRG9CLGFBQ1YsQ096M0RWLGdCUHkzRDJCLGdCQUNkLENPMTNEYixpQlAwM0Q4QixpQkFDZixDTzMzRGYsZVAyM0RnQyxlQUNyQixDTzUzRFgsa0JQNDNENEIsa0JBQ1gsQ083M0RqQixxQlA2M0RrQyxhTzczRGxDLENBQUEsYVA4M0RnQyxXQUMzQixDTzkzREgsa0JQODNEc0IsYUFDWixDTy8zRFYsa0JQKzNENkIsZ0JBQ2hCLENPaDREYixtQlBnNERnQyxpQkFDakIsQ09qNERmLGlCUGk0RGtDLGVBQ3ZCLENPbDREWCxvQlBrNEQ4QixrQkFDYixDT240RGpCLHVCUG00RG9DLGFPbjREcEMsQ0FBQSxVUG80RGtDLFdBQ2xDLENPbjRESCxlUG00RG1CLGFB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QzdCLFNBQVksVUFBWSxDQUFJLHVGQUlMLFVBQVksQ0FBSSx1RkFDaEIsU0FBVyxDQUFJLHdGQUVkLFVBQVksQ0FBSSx3RkFDaEIsU0FBVyxDQUFJIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDMwMGksNDAwLDQwMGksNjAwLDYwMGksNzAwLDcwMGksODAwLDgwMGlcIik7QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5yZXZlYWwsLnJldmVhbC50aW55LC5yZXZlYWwuc21hbGwsLnJldmVhbC5sYXJnZXtyaWdodDphdXRvO2xlZnQ6YXV0bzttYXJnaW46MCBhdXRvfX0vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL2h0bWx7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjE1Oy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31oMXtmb250LXNpemU6MmVtO21hcmdpbjowLjY3ZW0gMH1maWdjYXB0aW9uLGZpZ3VyZXtkaXNwbGF5OmJsb2NrfWZpZ3VyZXttYXJnaW46MWVtIDQwcHh9aHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MDtvdmVyZmxvdzp2aXNpYmxlfW1haW57ZGlzcGxheTpibG9ja31wcmV7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLCBtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1he2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDpvYmplY3RzfWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZS13aWR0aDowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLCBtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1kZm57Zm9udC1zdHlsZTppdGFsaWN9bWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LTAuMjVlbX1zdXB7dG9wOi0wLjVlbX1hdWRpbyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9ja31hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lO2hlaWdodDowfWltZ3tib3JkZXItc3R5bGU6bm9uZX1zdmc6bm90KDpyb290KXtvdmVyZmxvdzpoaWRkZW59YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luOjB9YnV0dG9ue292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixodG1sIFt0eXBlPVwiYnV0dG9uXCJdLFt0eXBlPVwicmVzZXRcIl0sW3R5cGU9XCJzdWJtaXRcIl17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lcntib3JkZXItc3R5bGU6bm9uZTtwYWRkaW5nOjB9YnV0dG9uOi1tb3otZm9jdXNyaW5nLFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmd7b3V0bGluZToxcHggZG90dGVkIEJ1dHRvblRleHR9aW5wdXR7b3ZlcmZsb3c6dmlzaWJsZX1bdHlwZT1cImNoZWNrYm94XCJdLFt0eXBlPVwicmFkaW9cIl17Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1cInNlYXJjaFwiXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1maWVsZHNldHtib3JkZXI6MXB4IHNvbGlkICNjMGMwYzA7bWFyZ2luOjAgMnB4O3BhZGRpbmc6MC4zNWVtIDAuNjI1ZW0gMC43NWVtfWxlZ2VuZHtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3JtYWx9cHJvZ3Jlc3N7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0b31kZXRhaWxze2Rpc3BsYXk6YmxvY2t9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1tZW51e2Rpc3BsYXk6YmxvY2t9Y2FudmFze2Rpc3BsYXk6aW5saW5lLWJsb2NrfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX1baGlkZGVuXXtkaXNwbGF5Om5vbmV9LmZvdW5kYXRpb24tbXF7Zm9udC1mYW1pbHk6XCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9ODcuNWVtJnh4bGFyZ2U9MTE4Ljc1ZW1cIn1odG1se2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LXNpemU6MTAwJX0qLCo6OmJlZm9yZSwqOjphZnRlcntib3gtc2l6aW5nOmluaGVyaXR9Ym9keXttYXJnaW46MDtwYWRkaW5nOjA7YmFja2dyb3VuZDojZmZmO2ZvbnQtZmFtaWx5OlwiZnV0dXJhLXB0XCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40O2NvbG9yOiMzMzM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9aW1ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bzstbXMtaW50ZXJwb2xhdGlvbi1tb2RlOmJpY3ViaWN9dGV4dGFyZWF7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6MH1zZWxlY3R7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czowfS5tYXBfY2FudmFzIGltZywubWFwX2NhbnZhcyBlbWJlZCwubWFwX2NhbnZhcyBvYmplY3QsLm1xYS1kaXNwbGF5IGltZywubXFhLWRpc3BsYXkgZW1iZWQsLm1xYS1kaXNwbGF5IG9iamVjdHttYXgtd2lkdGg6bm9uZSAhaW1wb3J0YW50fWJ1dHRvbntwYWRkaW5nOjA7YXBwZWFyYW5jZTpub25lO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2xpbmUtaGVpZ2h0OjE7Y3Vyc29yOmF1dG99W2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbntvdXRsaW5lOjB9cHJle292ZXJmbG93OmF1dG99YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTppbmhlcml0fS5pcy12aXNpYmxle2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudH0uaXMtaGlkZGVue2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fS5ncmlkLWNvbnRhaW5lcntwYWRkaW5nLXJpZ2h0Oi45Mzc1cmVtO3BhZGRpbmctbGVmdDouOTM3NXJlbTttYXgtd2lkdGg6NzVyZW07bWFyZ2luOjAgYXV0b31AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MS44NzVyZW07cGFkZGluZy1sZWZ0OjEuODc1cmVtfX0uZ3JpZC1jb250YWluZXIuZmx1aWR7cGFkZGluZy1yaWdodDouOTM3NXJlbTtwYWRkaW5nLWxlZnQ6LjkzNzVyZW07bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjAgYXV0b31AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtY29udGFpbmVyLmZsdWlke3BhZGRpbmctcmlnaHQ6MS44NzVyZW07cGFkZGluZy1sZWZ0OjEuODc1cmVtfX0uZ3JpZC1jb250YWluZXIuZnVsbHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjAgYXV0b30uZ3JpZC14e2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6cm93IHdyYXB9LmNlbGx7ZmxleDowIDAgYXV0bzttaW4taGVpZ2h0OjBweDttaW4td2lkdGg6MHB4O3dpZHRoOjEwMCV9LmNlbGwuYXV0b3tmbGV4OjEgMSAwcHh9LmNlbGwuc2hyaW5re2ZsZXg6MCAwIGF1dG99LmdyaWQteD4uYXV0b3t3aWR0aDphdXRvfS5ncmlkLXg+LnNocmlua3t3aWR0aDphdXRvfS5ncmlkLXg+LnNtYWxsLXNocmluaywuZ3JpZC14Pi5zbWFsbC1mdWxsLC5ncmlkLXg+LnNtYWxsLTEsLmdyaWQteD4uc21hbGwtMiwuZ3JpZC14Pi5zbWFsbC0zLC5ncmlkLXg+LnNtYWxsLTQsLmdyaWQteD4uc21hbGwtNSwuZ3JpZC14Pi5zbWFsbC02LC5ncmlkLXg+LnNtYWxsLTcsLmdyaWQteD4uc21hbGwtOCwuZ3JpZC14Pi5zbWFsbC05LC5ncmlkLXg+LnNtYWxsLTEwLC5ncmlkLXg+LnNtYWxsLTExLC5ncmlkLXg+LnNtYWxsLTEye2ZsZXgtYmFzaXM6YXV0b31AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQteD4ubWVkaXVtLXNocmluaywuZ3JpZC14Pi5tZWRpdW0tZnVsbCwuZ3JpZC14Pi5tZWRpdW0tMSwuZ3JpZC14Pi5tZWRpdW0tMiwuZ3JpZC14Pi5tZWRpdW0tMywuZ3JpZC14Pi5tZWRpdW0tNCwuZ3JpZC14Pi5tZWRpdW0tNSwuZ3JpZC14Pi5tZWRpdW0tNiwuZ3JpZC14Pi5tZWRpdW0tNywuZ3JpZC14Pi5tZWRpdW0tOCwuZ3JpZC14Pi5tZWRpdW0tOSwuZ3JpZC14Pi5tZWRpdW0tMTAsLmdyaWQteD4ubWVkaXVtLTExLC5ncmlkLXg+Lm1lZGl1bS0xMntmbGV4LWJhc2lzOmF1dG99fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZ3JpZC14Pi5sYXJnZS1zaHJpbmssLmdyaWQteD4ubGFyZ2UtZnVsbCwuZ3JpZC14Pi5sYXJnZS0xLC5ncmlkLXg+LmxhcmdlLTIsLmdyaWQteD4ubGFyZ2UtMywuZ3JpZC14Pi5sYXJnZS00LC5ncmlkLXg+LmxhcmdlLTUsLmdyaWQteD4ubGFyZ2UtNiwuZ3JpZC14Pi5sYXJnZS03LC5ncmlkLXg+LmxhcmdlLTgsLmdyaWQteD4ubGFyZ2UtOSwuZ3JpZC14Pi5sYXJnZS0xMCwuZ3JpZC14Pi5sYXJnZS0xMSwuZ3JpZC14Pi5sYXJnZS0xMntmbGV4LWJhc2lzOmF1dG99fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmdyaWQteD4ueGxhcmdlLXNocmluaywuZ3JpZC14Pi54bGFyZ2UtZnVsbCwuZ3JpZC14Pi54bGFyZ2UtMSwuZ3JpZC14Pi54bGFyZ2UtMiwuZ3JpZC14Pi54bGFyZ2UtMywuZ3JpZC14Pi54bGFyZ2UtNCwuZ3JpZC14Pi54bGFyZ2UtNSwuZ3JpZC14Pi54bGFyZ2UtNiwuZ3JpZC14Pi54bGFyZ2UtNywuZ3JpZC14Pi54bGFyZ2UtOCwuZ3JpZC14Pi54bGFyZ2UtOSwuZ3JpZC14Pi54bGFyZ2UtMTAsLmdyaWQteD4ueGxhcmdlLTExLC5ncmlkLXg+LnhsYXJnZS0xMntmbGV4LWJhc2lzOmF1dG99fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsuZ3JpZC14Pi54eGxhcmdlLXNocmluaywuZ3JpZC14Pi54eGxhcmdlLWZ1bGwsLmdyaWQteD4ueHhsYXJnZS0xLC5ncmlkLXg+Lnh4bGFyZ2UtMiwuZ3JpZC14Pi54eGxhcmdlLTMsLmdyaWQteD4ueHhsYXJnZS00LC5ncmlkLXg+Lnh4bGFyZ2UtNSwuZ3JpZC14Pi54eGxhcmdlLTYsLmdyaWQteD4ueHhsYXJnZS03LC5ncmlkLXg+Lnh4bGFyZ2UtOCwuZ3JpZC14Pi54eGxhcmdlLTksLmdyaWQteD4ueHhsYXJnZS0xMCwuZ3JpZC14Pi54eGxhcmdlLTExLC5ncmlkLXg+Lnh4bGFyZ2UtMTJ7ZmxleC1iYXNpczphdXRvfX0uZ3JpZC14Pi5zbWFsbC0xe3dpZHRoOjguMzMzMzMlfS5ncmlkLXg+LnNtYWxsLTJ7d2lkdGg6MTYuNjY2NjclfS5ncmlkLXg+LnNtYWxsLTN7d2lkdGg6MjUlfS5ncmlkLXg+LnNtYWxsLTR7d2lkdGg6MzMuMzMzMzMlfS5ncmlkLXg+LnNtYWxsLTV7d2lkdGg6NDEuNjY2NjclfS5ncmlkLXg+LnNtYWxsLTZ7d2lkdGg6NTAlfS5ncmlkLXg+LnNtYWxsLTd7d2lkdGg6NTguMzMzMzMlfS5ncmlkLXg+LnNtYWxsLTh7d2lkdGg6NjYuNjY2NjclfS5ncmlkLXg+LnNtYWxsLTl7d2lkdGg6NzUlfS5ncmlkLXg+LnNtYWxsLTEwe3dpZHRoOjgzLjMzMzMzJX0uZ3JpZC14Pi5zbWFsbC0xMXt3aWR0aDo5MS42NjY2NyV9LmdyaWQteD4uc21hbGwtMTJ7d2lkdGg6MTAwJX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQteD4ubWVkaXVtLWF1dG97ZmxleDoxIDEgMHB4O3dpZHRoOmF1dG99LmdyaWQteD4ubWVkaXVtLXNocmlua3tmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG99LmdyaWQteD4ubWVkaXVtLTF7d2lkdGg6OC4zMzMzMyV9LmdyaWQteD4ubWVkaXVtLTJ7d2lkdGg6MTYuNjY2NjclfS5ncmlkLXg+Lm1lZGl1bS0ze3dpZHRoOjI1JX0uZ3JpZC14Pi5tZWRpdW0tNHt3aWR0aDozMy4zMzMzMyV9LmdyaWQteD4ubWVkaXVtLTV7d2lkdGg6NDEuNjY2NjclfS5ncmlkLXg+Lm1lZGl1bS02e3dpZHRoOjUwJX0uZ3JpZC14Pi5tZWRpdW0tN3t3aWR0aDo1OC4zMzMzMyV9LmdyaWQteD4ubWVkaXVtLTh7d2lkdGg6NjYuNjY2NjclfS5ncmlkLXg+Lm1lZGl1bS05e3dpZHRoOjc1JX0uZ3JpZC14Pi5tZWRpdW0tMTB7d2lkdGg6ODMuMzMzMzMlfS5ncmlkLXg+Lm1lZGl1bS0xMXt3aWR0aDo5MS42NjY2NyV9LmdyaWQteD4ubWVkaXVtLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZ3JpZC14Pi5sYXJnZS1hdXRve2ZsZXg6MSAxIDBweDt3aWR0aDphdXRvfS5ncmlkLXg+LmxhcmdlLXNocmlua3tmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG99LmdyaWQteD4ubGFyZ2UtMXt3aWR0aDo4LjMzMzMzJX0uZ3JpZC14Pi5sYXJnZS0ye3dpZHRoOjE2LjY2NjY3JX0uZ3JpZC14Pi5sYXJnZS0ze3dpZHRoOjI1JX0uZ3JpZC14Pi5sYXJnZS00e3dpZHRoOjMzLjMzMzMzJX0uZ3JpZC14Pi5sYXJnZS01e3dpZHRoOjQxLjY2NjY3JX0uZ3JpZC14Pi5sYXJnZS02e3dpZHRoOjUwJX0uZ3JpZC14Pi5sYXJnZS03e3dpZHRoOjU4LjMzMzMzJX0uZ3JpZC14Pi5sYXJnZS04e3dpZHRoOjY2LjY2NjY3JX0uZ3JpZC14Pi5sYXJnZS05e3dpZHRoOjc1JX0uZ3JpZC14Pi5sYXJnZS0xMHt3aWR0aDo4My4zMzMzMyV9LmdyaWQteD4ubGFyZ2UtMTF7d2lkdGg6OTEuNjY2NjclfS5ncmlkLXg+LmxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmdyaWQteD4ueGxhcmdlLWF1dG97ZmxleDoxIDEgMHB4O3dpZHRoOmF1dG99LmdyaWQteD4ueGxhcmdlLXNocmlua3tmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG99LmdyaWQteD4ueGxhcmdlLTF7d2lkdGg6OC4zMzMzMyV9LmdyaWQteD4ueGxhcmdlLTJ7d2lkdGg6MTYuNjY2NjclfS5ncmlkLXg+LnhsYXJnZS0ze3dpZHRoOjI1JX0uZ3JpZC14Pi54bGFyZ2UtNHt3aWR0aDozMy4zMzMzMyV9LmdyaWQteD4ueGxhcmdlLTV7d2lkdGg6NDEuNjY2NjclfS5ncmlkLXg+LnhsYXJnZS02e3dpZHRoOjUwJX0uZ3JpZC14Pi54bGFyZ2UtN3t3aWR0aDo1OC4zMzMzMyV9LmdyaWQteD4ueGxhcmdlLTh7d2lkdGg6NjYuNjY2NjclfS5ncmlkLXg+LnhsYXJnZS05e3dpZHRoOjc1JX0uZ3JpZC14Pi54bGFyZ2UtMTB7d2lkdGg6ODMuMzMzMzMlfS5ncmlkLXg+LnhsYXJnZS0xMXt3aWR0aDo5MS42NjY2NyV9LmdyaWQteD4ueGxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsuZ3JpZC14Pi54eGxhcmdlLWF1dG97ZmxleDoxIDEgMHB4O3dpZHRoOmF1dG99LmdyaWQteD4ueHhsYXJnZS1zaHJpbmt7ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvfS5ncmlkLXg+Lnh4bGFyZ2UtMXt3aWR0aDo4LjMzMzMzJX0uZ3JpZC14Pi54eGxhcmdlLTJ7d2lkdGg6MTYuNjY2NjclfS5ncmlkLXg+Lnh4bGFyZ2UtM3t3aWR0aDoyNSV9LmdyaWQteD4ueHhsYXJnZS00e3dpZHRoOjMzLjMzMzMzJX0uZ3JpZC14Pi54eGxhcmdlLTV7d2lkdGg6NDEuNjY2NjclfS5ncmlkLXg+Lnh4bGFyZ2UtNnt3aWR0aDo1MCV9LmdyaWQteD4ueHhsYXJnZS03e3dpZHRoOjU4LjMzMzMzJX0uZ3JpZC14Pi54eGxhcmdlLTh7d2lkdGg6NjYuNjY2NjclfS5ncmlkLXg+Lnh4bGFyZ2UtOXt3aWR0aDo3NSV9LmdyaWQteD4ueHhsYXJnZS0xMHt3aWR0aDo4My4zMzMzMyV9LmdyaWQteD4ueHhsYXJnZS0xMXt3aWR0aDo5MS42NjY2NyV9LmdyaWQteD4ueHhsYXJnZS0xMnt3aWR0aDoxMDAlfX0uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCk+LmNlbGx7d2lkdGg6YXV0b30uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSk+LmNlbGx7aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXh7bWFyZ2luLWxlZnQ6LS45Mzc1cmVtO21hcmdpbi1yaWdodDotLjkzNzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5ncmlkLW1hcmdpbi14e21hcmdpbi1sZWZ0Oi0xLjg3NXJlbTttYXJnaW4tcmlnaHQ6LTEuODc1cmVtfX0uZ3JpZC1tYXJnaW4teD4uY2VsbHt3aWR0aDpjYWxjKDEwMCUgLSAxLjg3NXJlbSk7bWFyZ2luLWxlZnQ6LjkzNzVyZW07bWFyZ2luLXJpZ2h0Oi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC1tYXJnaW4teD4uY2VsbHt3aWR0aDpjYWxjKDEwMCUgLSAzLjc1cmVtKTttYXJnaW4tbGVmdDoxLjg3NXJlbTttYXJnaW4tcmlnaHQ6MS44NzVyZW19fS5ncmlkLW1hcmdpbi14Pi5hdXRve3dpZHRoOmF1dG99LmdyaWQtbWFyZ2luLXg+LnNocmlua3t3aWR0aDphdXRvfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC0xe3dpZHRoOmNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTJ7d2lkdGg6Y2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTN7d2lkdGg6Y2FsYygyNSUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTR7d2lkdGg6Y2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTV7d2lkdGg6Y2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTZ7d2lkdGg6Y2FsYyg1MCUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTd7d2lkdGg6Y2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTh7d2lkdGg6Y2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTl7d2lkdGg6Y2FsYyg3NSUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTEwe3dpZHRoOmNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC0xMXt3aWR0aDpjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teD4uc21hbGwtMTJ7d2lkdGg6Y2FsYygxMDAlIC0gMS44NzVyZW0pfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC1tYXJnaW4teD4uYXV0b3t3aWR0aDphdXRvfS5ncmlkLW1hcmdpbi14Pi5zaHJpbmt7d2lkdGg6YXV0b30uZ3JpZC1tYXJnaW4teD4uc21hbGwtMXt3aWR0aDpjYWxjKDguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTJ7d2lkdGg6Y2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4uc21hbGwtM3t3aWR0aDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC00e3dpZHRoOmNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTV7d2lkdGg6Y2FsYyg0MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4uc21hbGwtNnt3aWR0aDpjYWxjKDUwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC03e3dpZHRoOmNhbGMoNTguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLTh7d2lkdGg6Y2FsYyg2Ni42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4uc21hbGwtOXt3aWR0aDpjYWxjKDc1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC0xMHt3aWR0aDpjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC0xMXt3aWR0aDpjYWxjKDkxLjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC0xMnt3aWR0aDpjYWxjKDEwMCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLWF1dG97d2lkdGg6YXV0b30uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLXNocmlua3t3aWR0aDphdXRvfS5ncmlkLW1hcmdpbi14Pi5tZWRpdW0tMXt3aWR0aDpjYWxjKDguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS0ye3dpZHRoOmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS0ze3dpZHRoOmNhbGMoMjUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS00e3dpZHRoOmNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS01e3dpZHRoOmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS02e3dpZHRoOmNhbGMoNTAlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS03e3dpZHRoOmNhbGMoNTguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS04e3dpZHRoOmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS05e3dpZHRoOmNhbGMoNzUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS0xMHt3aWR0aDpjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5tZWRpdW0tMTF7d2lkdGg6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLTEye3dpZHRoOmNhbGMoMTAwJSAtIDMuNzVyZW0pfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmdyaWQtbWFyZ2luLXg+LmxhcmdlLWF1dG97d2lkdGg6YXV0b30uZ3JpZC1tYXJnaW4teD4ubGFyZ2Utc2hyaW5re3dpZHRoOmF1dG99LmdyaWQtbWFyZ2luLXg+LmxhcmdlLTF7d2lkdGg6Y2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5sYXJnZS0ye3dpZHRoOmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLTN7d2lkdGg6Y2FsYygyNSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ubGFyZ2UtNHt3aWR0aDpjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5sYXJnZS01e3dpZHRoOmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLTZ7d2lkdGg6Y2FsYyg1MCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ubGFyZ2UtN3t3aWR0aDpjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi5sYXJnZS04e3dpZHRoOmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLTl7d2lkdGg6Y2FsYyg3NSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ubGFyZ2UtMTB7d2lkdGg6Y2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ubGFyZ2UtMTF7d2lkdGg6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ubGFyZ2UtMTJ7d2lkdGg6Y2FsYygxMDAlIC0gMy43NXJlbSl9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmdyaWQtbWFyZ2luLXg+LnhsYXJnZS1hdXRve3dpZHRoOmF1dG99LmdyaWQtbWFyZ2luLXg+LnhsYXJnZS1zaHJpbmt7d2lkdGg6YXV0b30uZ3JpZC1tYXJnaW4teD4ueGxhcmdlLTF7d2lkdGg6Y2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtMnt3aWR0aDpjYWxjKDE2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtM3t3aWR0aDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtNHt3aWR0aDpjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtNXt3aWR0aDpjYWxjKDQxLjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtNnt3aWR0aDpjYWxjKDUwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtN3t3aWR0aDpjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtOHt3aWR0aDpjYWxjKDY2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtOXt3aWR0aDpjYWxjKDc1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2UtMTB7d2lkdGg6Y2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ueGxhcmdlLTExe3dpZHRoOmNhbGMoOTEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+LnhsYXJnZS0xMnt3aWR0aDpjYWxjKDEwMCUgLSAzLjc1cmVtKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLWF1dG97d2lkdGg6YXV0b30uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS1zaHJpbmt7d2lkdGg6YXV0b30uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS0xe3dpZHRoOmNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS0ye3dpZHRoOmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2UtM3t3aWR0aDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLTR7d2lkdGg6Y2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS01e3dpZHRoOmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2UtNnt3aWR0aDpjYWxjKDUwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLTd7d2lkdGg6Y2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS04e3dpZHRoOmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2UtOXt3aWR0aDpjYWxjKDc1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLTEwe3dpZHRoOmNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2UtMTF7d2lkdGg6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS0xMnt3aWR0aDpjYWxjKDEwMCUgLSAzLjc1cmVtKX19LmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteHttYXJnaW4tcmlnaHQ6LS45Mzc1cmVtO21hcmdpbi1sZWZ0Oi0uOTM3NXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteHttYXJnaW4tcmlnaHQ6LTEuODc1cmVtO21hcmdpbi1sZWZ0Oi0xLjg3NXJlbX19LmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCk+LmdyaWQtcGFkZGluZy14e21hcmdpbi1yaWdodDotLjkzNzVyZW07bWFyZ2luLWxlZnQ6LS45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKT4uZ3JpZC1wYWRkaW5nLXh7bWFyZ2luLXJpZ2h0Oi0xLjg3NXJlbTttYXJnaW4tbGVmdDotMS44NzVyZW19fS5ncmlkLXBhZGRpbmcteD4uY2VsbHtwYWRkaW5nLXJpZ2h0Oi45Mzc1cmVtO3BhZGRpbmctbGVmdDouOTM3NXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtcGFkZGluZy14Pi5jZWxse3BhZGRpbmctcmlnaHQ6MS44NzVyZW07cGFkZGluZy1sZWZ0OjEuODc1cmVtfX0uc21hbGwtdXAtMT4uY2VsbHt3aWR0aDoxMDAlfS5zbWFsbC11cC0yPi5jZWxse3dpZHRoOjUwJX0uc21hbGwtdXAtMz4uY2VsbHt3aWR0aDozMy4zMzMzMyV9LnNtYWxsLXVwLTQ+LmNlbGx7d2lkdGg6MjUlfS5zbWFsbC11cC01Pi5jZWxse3dpZHRoOjIwJX0uc21hbGwtdXAtNj4uY2VsbHt3aWR0aDoxNi42NjY2NyV9LnNtYWxsLXVwLTc+LmNlbGx7d2lkdGg6MTQuMjg1NzElfS5zbWFsbC11cC04Pi5jZWxse3dpZHRoOjEyLjUlfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubWVkaXVtLXVwLTE+LmNlbGx7d2lkdGg6MTAwJX0ubWVkaXVtLXVwLTI+LmNlbGx7d2lkdGg6NTAlfS5tZWRpdW0tdXAtMz4uY2VsbHt3aWR0aDozMy4zMzMzMyV9Lm1lZGl1bS11cC00Pi5jZWxse3dpZHRoOjI1JX0ubWVkaXVtLXVwLTU+LmNlbGx7d2lkdGg6MjAlfS5tZWRpdW0tdXAtNj4uY2VsbHt3aWR0aDoxNi42NjY2NyV9Lm1lZGl1bS11cC03Pi5jZWxse3dpZHRoOjE0LjI4NTcxJX0ubWVkaXVtLXVwLTg+LmNlbGx7d2lkdGg6MTIuNSV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubGFyZ2UtdXAtMT4uY2VsbHt3aWR0aDoxMDAlfS5sYXJnZS11cC0yPi5jZWxse3dpZHRoOjUwJX0ubGFyZ2UtdXAtMz4uY2VsbHt3aWR0aDozMy4zMzMzMyV9LmxhcmdlLXVwLTQ+LmNlbGx7d2lkdGg6MjUlfS5sYXJnZS11cC01Pi5jZWxse3dpZHRoOjIwJX0ubGFyZ2UtdXAtNj4uY2VsbHt3aWR0aDoxNi42NjY2NyV9LmxhcmdlLXVwLTc+LmNlbGx7d2lkdGg6MTQuMjg1NzElfS5sYXJnZS11cC04Pi5jZWxse3dpZHRoOjEyLjUlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey54bGFyZ2UtdXAtMT4uY2VsbHt3aWR0aDoxMDAlfS54bGFyZ2UtdXAtMj4uY2VsbHt3aWR0aDo1MCV9LnhsYXJnZS11cC0zPi5jZWxse3dpZHRoOjMzLjMzMzMzJX0ueGxhcmdlLXVwLTQ+LmNlbGx7d2lkdGg6MjUlfS54bGFyZ2UtdXAtNT4uY2VsbHt3aWR0aDoyMCV9LnhsYXJnZS11cC02Pi5jZWxse3dpZHRoOjE2LjY2NjY3JX0ueGxhcmdlLXVwLTc+LmNlbGx7d2lkdGg6MTQuMjg1NzElfS54bGFyZ2UtdXAtOD4uY2VsbHt3aWR0aDoxMi41JX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey54eGxhcmdlLXVwLTE+LmNlbGx7d2lkdGg6MTAwJX0ueHhsYXJnZS11cC0yPi5jZWxse3dpZHRoOjUwJX0ueHhsYXJnZS11cC0zPi5jZWxse3dpZHRoOjMzLjMzMzMzJX0ueHhsYXJnZS11cC00Pi5jZWxse3dpZHRoOjI1JX0ueHhsYXJnZS11cC01Pi5jZWxse3dpZHRoOjIwJX0ueHhsYXJnZS11cC02Pi5jZWxse3dpZHRoOjE2LjY2NjY3JX0ueHhsYXJnZS11cC03Pi5jZWxse3dpZHRoOjE0LjI4NTcxJX0ueHhsYXJnZS11cC04Pi5jZWxse3dpZHRoOjEyLjUlfX0uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xPi5jZWxse3dpZHRoOmNhbGMoMTAwJSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yPi5jZWxse3dpZHRoOmNhbGMoNTAlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTM+LmNlbGx7d2lkdGg6Y2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXguc21hbGwtdXAtND4uY2VsbHt3aWR0aDpjYWxjKDI1JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01Pi5jZWxse3dpZHRoOmNhbGMoMjAlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTY+LmNlbGx7d2lkdGg6Y2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNz4uY2VsbHt3aWR0aDpjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04Pi5jZWxse3dpZHRoOmNhbGMoMTIuNSUgLSAxLjg3NXJlbSl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTE+LmNlbGx7d2lkdGg6Y2FsYygxMDAlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTI+LmNlbGx7d2lkdGg6Y2FsYyg1MCUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMz4uY2VsbHt3aWR0aDpjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00Pi5jZWxse3dpZHRoOmNhbGMoMjUlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTU+LmNlbGx7d2lkdGg6Y2FsYygyMCUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNj4uY2VsbHt3aWR0aDpjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03Pi5jZWxse3dpZHRoOmNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTg+LmNlbGx7d2lkdGg6Y2FsYygxMi41JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMT4uY2VsbHt3aWR0aDpjYWxjKDEwMCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMj4uY2VsbHt3aWR0aDpjYWxjKDUwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zPi5jZWxse3dpZHRoOmNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQ+LmNlbGx7d2lkdGg6Y2FsYygyNSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNT4uY2VsbHt3aWR0aDpjYWxjKDIwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02Pi5jZWxse3dpZHRoOmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTc+LmNlbGx7d2lkdGg6Y2FsYygxNC4yODU3MSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOD4uY2VsbHt3aWR0aDpjYWxjKDEyLjUlIC0gMy43NXJlbSl9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xPi5jZWxse3dpZHRoOmNhbGMoMTAwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTI+LmNlbGx7d2lkdGg6Y2FsYyg1MCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zPi5jZWxse3dpZHRoOmNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtND4uY2VsbHt3aWR0aDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTU+LmNlbGx7d2lkdGg6Y2FsYygyMCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02Pi5jZWxse3dpZHRoOmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNz4uY2VsbHt3aWR0aDpjYWxjKDE0LjI4NTcxJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTg+LmNlbGx7d2lkdGg6Y2FsYygxMi41JSAtIDMuNzVyZW0pfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xPi5jZWxse3dpZHRoOmNhbGMoMTAwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yPi5jZWxse3dpZHRoOmNhbGMoNTAlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTM+LmNlbGx7d2lkdGg6Y2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtND4uY2VsbHt3aWR0aDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01Pi5jZWxse3dpZHRoOmNhbGMoMjAlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTY+LmNlbGx7d2lkdGg6Y2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNz4uY2VsbHt3aWR0aDpjYWxjKDE0LjI4NTcxJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04Pi5jZWxse3dpZHRoOmNhbGMoMTIuNSUgLSAzLjc1cmVtKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMT4uY2VsbHt3aWR0aDpjYWxjKDEwMCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTI+LmNlbGx7d2lkdGg6Y2FsYyg1MCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTM+LmNlbGx7d2lkdGg6Y2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQ+LmNlbGx7d2lkdGg6Y2FsYygyNSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTU+LmNlbGx7d2lkdGg6Y2FsYygyMCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTY+LmNlbGx7d2lkdGg6Y2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTc+LmNlbGx7d2lkdGg6Y2FsYygxNC4yODU3MSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTg+LmNlbGx7d2lkdGg6Y2FsYygxMi41JSAtIDMuNzVyZW0pfX0uc21hbGwtbWFyZ2luLWNvbGxhcHNle21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uY2VsbHttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTF7d2lkdGg6OC4zMzMzMyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMnt3aWR0aDoxNi42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtM3t3aWR0aDoyNSV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtNHt3aWR0aDozMy4zMzMzMyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtNXt3aWR0aDo0MS42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtNnt3aWR0aDo1MCV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtN3t3aWR0aDo1OC4zMzMzMyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtOHt3aWR0aDo2Ni42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtOXt3aWR0aDo3NSV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMTB7d2lkdGg6ODMuMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTExe3dpZHRoOjkxLjY2NjY3JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0xMnt3aWR0aDoxMDAlfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuc21hbGwtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMXt3aWR0aDo4LjMzMzMzJX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMnt3aWR0aDoxNi42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTN7d2lkdGg6MjUlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS00e3dpZHRoOjMzLjMzMzMzJX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tNXt3aWR0aDo0MS42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTZ7d2lkdGg6NTAlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS03e3dpZHRoOjU4LjMzMzMzJX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tOHt3aWR0aDo2Ni42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTl7d2lkdGg6NzUlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0xMHt3aWR0aDo4My4zMzMzMyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTExe3dpZHRoOjkxLjY2NjY3JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMTJ7d2lkdGg6MTAwJX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTF7d2lkdGg6OC4zMzMzMyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtMnt3aWR0aDoxNi42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtM3t3aWR0aDoyNSV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNHt3aWR0aDozMy4zMzMzMyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNXt3aWR0aDo0MS42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNnt3aWR0aDo1MCV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtN3t3aWR0aDo1OC4zMzMzMyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtOHt3aWR0aDo2Ni42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtOXt3aWR0aDo3NSV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtMTB7d2lkdGg6ODMuMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTExe3dpZHRoOjkxLjY2NjY3JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0xMnt3aWR0aDoxMDAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0ye3dpZHRoOjE2LjY2NjY3JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtM3t3aWR0aDoyNSV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS01e3dpZHRoOjQxLjY2NjY3JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtNnt3aWR0aDo1MCV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS04e3dpZHRoOjY2LjY2NjY3JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtOXt3aWR0aDo3NSV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtMTF7d2lkdGg6OTEuNjY2NjclfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xMnt3aWR0aDoxMDAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtMnt3aWR0aDoxNi42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0ze3dpZHRoOjI1JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtNXt3aWR0aDo0MS42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS02e3dpZHRoOjUwJX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS5zbWFsbC1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtOHt3aWR0aDo2Ni42NjY2NyV9LnNtYWxsLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS05e3dpZHRoOjc1JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTExe3dpZHRoOjkxLjY2NjY3JX0uc21hbGwtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTEye3dpZHRoOjEwMCV9fS5zbWFsbC1wYWRkaW5nLWNvbGxhcHNle21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9LnNtYWxsLXBhZGRpbmctY29sbGFwc2U+LmNlbGx7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubWVkaXVtLW1hcmdpbi1jb2xsYXBzZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5jZWxse21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMXt3aWR0aDo4LjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMnt3aWR0aDoxNi42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTN7d2lkdGg6MjUlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC00e3dpZHRoOjMzLjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtNXt3aWR0aDo0MS42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTZ7d2lkdGg6NTAlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC03e3dpZHRoOjU4LjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtOHt3aWR0aDo2Ni42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTl7d2lkdGg6NzUlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0xMHt3aWR0aDo4My4zMzMzMyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTExe3dpZHRoOjkxLjY2NjY3JX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMTJ7d2lkdGg6MTAwJX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMXt3aWR0aDo4LjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTJ7d2lkdGg6MTYuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tM3t3aWR0aDoyNSV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS00e3dpZHRoOjMzLjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTV7d2lkdGg6NDEuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tNnt3aWR0aDo1MCV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS03e3dpZHRoOjU4LjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTh7d2lkdGg6NjYuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tOXt3aWR0aDo3NSV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0xMHt3aWR0aDo4My4zMzMzMyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0xMXt3aWR0aDo5MS42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0xMnt3aWR0aDoxMDAlfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTF7d2lkdGg6OC4zMzMzMyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTJ7d2lkdGg6MTYuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0ze3dpZHRoOjI1JX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNHt3aWR0aDozMy4zMzMzMyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTV7d2lkdGg6NDEuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS02e3dpZHRoOjUwJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtN3t3aWR0aDo1OC4zMzMzMyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTh7d2lkdGg6NjYuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS05e3dpZHRoOjc1JX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtMTB7d2lkdGg6ODMuMzMzMzMlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0xMXt3aWR0aDo5MS42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtMnt3aWR0aDoxNi42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0ze3dpZHRoOjI1JX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtNXt3aWR0aDo0MS42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS02e3dpZHRoOjUwJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtOHt3aWR0aDo2Ni42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS05e3dpZHRoOjc1JX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTExe3dpZHRoOjkxLjY2NjY3JX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTJ7d2lkdGg6MTYuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTN7d2lkdGg6MjUlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTV7d2lkdGg6NDEuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTZ7d2lkdGg6NTAlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTh7d2lkdGg6NjYuNjY2NjclfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTl7d2lkdGg6NzUlfS5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ubWVkaXVtLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xMXt3aWR0aDo5MS42NjY2NyV9Lm1lZGl1bS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtMTJ7d2lkdGg6MTAwJX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZT4uY2VsbHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubGFyZ2UtbWFyZ2luLWNvbGxhcHNle21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uY2VsbHttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMXt3aWR0aDo4LjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0ye3dpZHRoOjE2LjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0ze3dpZHRoOjI1JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC00e3dpZHRoOjMzLjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC01e3dpZHRoOjQxLjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC02e3dpZHRoOjUwJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC03e3dpZHRoOjU4LjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC04e3dpZHRoOjY2LjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC05e3dpZHRoOjc1JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0xMHt3aWR0aDo4My4zMzMzMyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMTF7d2lkdGg6OTEuNjY2NjclfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMXt3aWR0aDo4LjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMnt3aWR0aDoxNi42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTN7d2lkdGg6MjUlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS00e3dpZHRoOjMzLjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tNXt3aWR0aDo0MS42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTZ7d2lkdGg6NTAlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS03e3dpZHRoOjU4LjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tOHt3aWR0aDo2Ni42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTl7d2lkdGg6NzUlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0xMHt3aWR0aDo4My4zMzMzMyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTExe3dpZHRoOjkxLjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMTJ7d2lkdGg6MTAwJX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTF7d2lkdGg6OC4zMzMzMyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtMnt3aWR0aDoxNi42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtM3t3aWR0aDoyNSV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNHt3aWR0aDozMy4zMzMzMyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNXt3aWR0aDo0MS42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNnt3aWR0aDo1MCV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtN3t3aWR0aDo1OC4zMzMzMyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtOHt3aWR0aDo2Ni42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtOXt3aWR0aDo3NSV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtMTB7d2lkdGg6ODMuMzMzMzMlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTExe3dpZHRoOjkxLjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0xMnt3aWR0aDoxMDAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0ye3dpZHRoOjE2LjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtM3t3aWR0aDoyNSV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS01e3dpZHRoOjQxLjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtNnt3aWR0aDo1MCV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS04e3dpZHRoOjY2LjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtOXt3aWR0aDo3NSV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtMTF7d2lkdGg6OTEuNjY2NjclfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xMnt3aWR0aDoxMDAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtMnt3aWR0aDoxNi42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0ze3dpZHRoOjI1JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtNXt3aWR0aDo0MS42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS02e3dpZHRoOjUwJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS5sYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtOHt3aWR0aDo2Ni42NjY2NyV9LmxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS05e3dpZHRoOjc1JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTExe3dpZHRoOjkxLjY2NjY3JX0ubGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubGFyZ2UtcGFkZGluZy1jb2xsYXBzZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlPi5jZWxse3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsueGxhcmdlLW1hcmdpbi1jb2xsYXBzZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5jZWxse21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTF7d2lkdGg6OC4zMzMzMyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTJ7d2lkdGg6MTYuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0ze3dpZHRoOjI1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtNHt3aWR0aDozMy4zMzMzMyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTV7d2lkdGg6NDEuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC02e3dpZHRoOjUwJX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtN3t3aWR0aDo1OC4zMzMzMyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTh7d2lkdGg6NjYuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC05e3dpZHRoOjc1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMTB7d2lkdGg6ODMuMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0xMXt3aWR0aDo5MS42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0xe3dpZHRoOjguMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMnt3aWR0aDoxNi42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0ze3dpZHRoOjI1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTR7d2lkdGg6MzMuMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tNXt3aWR0aDo0MS42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS02e3dpZHRoOjUwJX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTd7d2lkdGg6NTguMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tOHt3aWR0aDo2Ni42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS05e3dpZHRoOjc1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTEwe3dpZHRoOjgzLjMzMzMzJX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTExe3dpZHRoOjkxLjY2NjY3JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTF7d2lkdGg6OC4zMzMzMyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTJ7d2lkdGg6MTYuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0ze3dpZHRoOjI1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNHt3aWR0aDozMy4zMzMzMyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTV7d2lkdGg6NDEuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS02e3dpZHRoOjUwJX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtN3t3aWR0aDo1OC4zMzMzMyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTh7d2lkdGg6NjYuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS05e3dpZHRoOjc1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtMTB7d2lkdGg6ODMuMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0xMXt3aWR0aDo5MS42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtMnt3aWR0aDoxNi42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0ze3dpZHRoOjI1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtNXt3aWR0aDo0MS42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS02e3dpZHRoOjUwJX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtOHt3aWR0aDo2Ni42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS05e3dpZHRoOjc1JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTExe3dpZHRoOjkxLjY2NjY3JX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTJ7d2lkdGg6MTYuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTN7d2lkdGg6MjUlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTV7d2lkdGg6NDEuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTZ7d2lkdGg6NTAlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTh7d2lkdGg6NjYuNjY2NjclfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTl7d2lkdGg6NzUlfS54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ueGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xMXt3aWR0aDo5MS42NjY2NyV9LnhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtMTJ7d2lkdGg6MTAwJX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsueGxhcmdlLXBhZGRpbmctY29sbGFwc2V7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ueGxhcmdlLXBhZGRpbmctY29sbGFwc2U+LmNlbGx7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNle21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5jZWxse21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTF7d2lkdGg6OC4zMzMzMyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC0ye3dpZHRoOjE2LjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTN7d2lkdGg6MjUlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtNHt3aWR0aDozMy4zMzMzMyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC01e3dpZHRoOjQxLjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTZ7d2lkdGg6NTAlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtN3t3aWR0aDo1OC4zMzMzMyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5zbWFsbC04e3dpZHRoOjY2LjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnNtYWxsLTl7d2lkdGg6NzUlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMTB7d2lkdGg6ODMuMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMTF7d2lkdGg6OTEuNjY2NjclfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4uc21hbGwtMTJ7d2lkdGg6MTAwJX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTF7d2lkdGg6OC4zMzMzMyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMnt3aWR0aDoxNi42NjY2NyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tM3t3aWR0aDoyNSV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tNHt3aWR0aDozMy4zMzMzMyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tNXt3aWR0aDo0MS42NjY2NyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tNnt3aWR0aDo1MCV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tN3t3aWR0aDo1OC4zMzMzMyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tOHt3aWR0aDo2Ni42NjY2NyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tOXt3aWR0aDo3NSV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5tZWRpdW0tMTB7d2lkdGg6ODMuMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubWVkaXVtLTExe3dpZHRoOjkxLjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lm1lZGl1bS0xMnt3aWR0aDoxMDAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0xe3dpZHRoOjguMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtMnt3aWR0aDoxNi42NjY2NyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS0ze3dpZHRoOjI1JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtNXt3aWR0aDo0MS42NjY2NyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS02e3dpZHRoOjUwJX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ubGFyZ2UtOHt3aWR0aDo2Ni42NjY2NyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi5sYXJnZS05e3dpZHRoOjc1JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTExe3dpZHRoOjkxLjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LmxhcmdlLTEye3dpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTJ7d2lkdGg6MTYuNjY2NjclfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTN7d2lkdGg6MjUlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTV7d2lkdGg6NDEuNjY2NjclfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTZ7d2lkdGg6NTAlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTh7d2lkdGg6NjYuNjY2NjclfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTl7d2lkdGg6NzUlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+LnhsYXJnZS0xMXt3aWR0aDo5MS42NjY2NyV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54bGFyZ2UtMTJ7d2lkdGg6MTAwJX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xe3dpZHRoOjguMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0ye3dpZHRoOjE2LjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtM3t3aWR0aDoyNSV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTR7d2lkdGg6MzMuMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS01e3dpZHRoOjQxLjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtNnt3aWR0aDo1MCV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTd7d2lkdGg6NTguMzMzMzMlfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS04e3dpZHRoOjY2LjY2NjY3JX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtOXt3aWR0aDo3NSV9Lnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlPi54eGxhcmdlLTEwe3dpZHRoOjgzLjMzMzMzJX0ueHhsYXJnZS1tYXJnaW4tY29sbGFwc2U+Lnh4bGFyZ2UtMTF7d2lkdGg6OTEuNjY2NjclfS54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZT4ueHhsYXJnZS0xMnt3aWR0aDoxMDAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS54eGxhcmdlLXBhZGRpbmctY29sbGFwc2U+LmNlbGx7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX0uc21hbGwtb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MCV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC0we21hcmdpbi1sZWZ0OmNhbGMoMCUgKyAuOTM3NXJlbSl9LnNtYWxsLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC1vZmZzZXQtMXttYXJnaW4tbGVmdDpjYWxjKDguMzMzMzMlICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC0ye21hcmdpbi1sZWZ0OmNhbGMoMTYuNjY2NjclICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC0ze21hcmdpbi1sZWZ0OmNhbGMoMjUlICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC00e21hcmdpbi1sZWZ0OmNhbGMoMzMuMzMzMzMlICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC01e21hcmdpbi1sZWZ0OmNhbGMoNDEuNjY2NjclICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC02e21hcmdpbi1sZWZ0OmNhbGMoNTAlICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC03e21hcmdpbi1sZWZ0OmNhbGMoNTguMzMzMzMlICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC04e21hcmdpbi1sZWZ0OmNhbGMoNjYuNjY2NjclICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC05e21hcmdpbi1sZWZ0OmNhbGMoNzUlICsgLjkzNzVyZW0pfS5zbWFsbC1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi5zbWFsbC1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6Y2FsYyg4My4zMzMzMyUgKyAuOTM3NXJlbSl9LnNtYWxsLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LnNtYWxsLW9mZnNldC0xMXttYXJnaW4tbGVmdDpjYWxjKDkxLjY2NjY3JSArIC45Mzc1cmVtKX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lZGl1bS1vZmZzZXQtMHttYXJnaW4tbGVmdDowJX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLW9mZnNldC0we21hcmdpbi1sZWZ0OmNhbGMoMCUgKyAxLjg3NXJlbSl9Lm1lZGl1bS1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzJX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLW9mZnNldC0xe21hcmdpbi1sZWZ0OmNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSl9Lm1lZGl1bS1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS1vZmZzZXQtMnttYXJnaW4tbGVmdDpjYWxjKDE2LjY2NjY3JSArIDEuODc1cmVtKX0ubWVkaXVtLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLW9mZnNldC0ze21hcmdpbi1sZWZ0OmNhbGMoMjUlICsgMS44NzVyZW0pfS5tZWRpdW0tb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi5tZWRpdW0tb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6Y2FsYygzMy4zMzMzMyUgKyAxLjg3NXJlbSl9Lm1lZGl1bS1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS1vZmZzZXQtNXttYXJnaW4tbGVmdDpjYWxjKDQxLjY2NjY3JSArIDEuODc1cmVtKX0ubWVkaXVtLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLW9mZnNldC02e21hcmdpbi1sZWZ0OmNhbGMoNTAlICsgMS44NzVyZW0pfS5tZWRpdW0tb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi5tZWRpdW0tb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6Y2FsYyg1OC4zMzMzMyUgKyAxLjg3NXJlbSl9Lm1lZGl1bS1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS1vZmZzZXQtOHttYXJnaW4tbGVmdDpjYWxjKDY2LjY2NjY3JSArIDEuODc1cmVtKX0ubWVkaXVtLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLW9mZnNldC05e21hcmdpbi1sZWZ0OmNhbGMoNzUlICsgMS44NzVyZW0pfS5tZWRpdW0tb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzJX0uZ3JpZC1tYXJnaW4teD4ubWVkaXVtLW9mZnNldC0xMHttYXJnaW4tbGVmdDpjYWxjKDgzLjMzMzMzJSArIDEuODc1cmVtKX0ubWVkaXVtLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lm1lZGl1bS1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6Y2FsYyg5MS42NjY2NyUgKyAxLjg3NXJlbSl9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubGFyZ2Utb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MCV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC0we21hcmdpbi1sZWZ0OmNhbGMoMCUgKyAxLjg3NXJlbSl9LmxhcmdlLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi5sYXJnZS1vZmZzZXQtMXttYXJnaW4tbGVmdDpjYWxjKDguMzMzMzMlICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC0ye21hcmdpbi1sZWZ0OmNhbGMoMTYuNjY2NjclICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC0ze21hcmdpbi1sZWZ0OmNhbGMoMjUlICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC00e21hcmdpbi1sZWZ0OmNhbGMoMzMuMzMzMzMlICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC01e21hcmdpbi1sZWZ0OmNhbGMoNDEuNjY2NjclICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC02e21hcmdpbi1sZWZ0OmNhbGMoNTAlICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC03e21hcmdpbi1sZWZ0OmNhbGMoNTguMzMzMzMlICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC04e21hcmdpbi1sZWZ0OmNhbGMoNjYuNjY2NjclICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC05e21hcmdpbi1sZWZ0OmNhbGMoNzUlICsgMS44NzVyZW0pfS5sYXJnZS1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi5sYXJnZS1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6Y2FsYyg4My4zMzMzMyUgKyAxLjg3NXJlbSl9LmxhcmdlLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+LmxhcmdlLW9mZnNldC0xMXttYXJnaW4tbGVmdDpjYWxjKDkxLjY2NjY3JSArIDEuODc1cmVtKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsueGxhcmdlLW9mZnNldC0we21hcmdpbi1sZWZ0OjAlfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2Utb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6Y2FsYygwJSArIDEuODc1cmVtKX0ueGxhcmdlLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2Utb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6Y2FsYyg4LjMzMzMzJSArIDEuODc1cmVtKX0ueGxhcmdlLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY3JX0uZ3JpZC1tYXJnaW4teD4ueGxhcmdlLW9mZnNldC0ye21hcmdpbi1sZWZ0OmNhbGMoMTYuNjY2NjclICsgMS44NzVyZW0pfS54bGFyZ2Utb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2Utb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6Y2FsYygyNSUgKyAxLjg3NXJlbSl9LnhsYXJnZS1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+LnhsYXJnZS1vZmZzZXQtNHttYXJnaW4tbGVmdDpjYWxjKDMzLjMzMzMzJSArIDEuODc1cmVtKX0ueGxhcmdlLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY3JX0uZ3JpZC1tYXJnaW4teD4ueGxhcmdlLW9mZnNldC01e21hcmdpbi1sZWZ0OmNhbGMoNDEuNjY2NjclICsgMS44NzVyZW0pfS54bGFyZ2Utb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2Utb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6Y2FsYyg1MCUgKyAxLjg3NXJlbSl9LnhsYXJnZS1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+LnhsYXJnZS1vZmZzZXQtN3ttYXJnaW4tbGVmdDpjYWxjKDU4LjMzMzMzJSArIDEuODc1cmVtKX0ueGxhcmdlLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY3JX0uZ3JpZC1tYXJnaW4teD4ueGxhcmdlLW9mZnNldC04e21hcmdpbi1sZWZ0OmNhbGMoNjYuNjY2NjclICsgMS44NzVyZW0pfS54bGFyZ2Utb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2Utb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6Y2FsYyg3NSUgKyAxLjg3NXJlbSl9LnhsYXJnZS1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMlfS5ncmlkLW1hcmdpbi14Pi54bGFyZ2Utb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OmNhbGMoODMuMzMzMzMlICsgMS44NzVyZW0pfS54bGFyZ2Utb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY3JX0uZ3JpZC1tYXJnaW4teD4ueGxhcmdlLW9mZnNldC0xMXttYXJnaW4tbGVmdDpjYWxjKDkxLjY2NjY3JSArIDEuODc1cmVtKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey54eGxhcmdlLW9mZnNldC0we21hcmdpbi1sZWZ0OjAlfS5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLW9mZnNldC0we21hcmdpbi1sZWZ0OmNhbGMoMCUgKyAxLjg3NXJlbSl9Lnh4bGFyZ2Utb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2Utb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6Y2FsYyg4LjMzMzMzJSArIDEuODc1cmVtKX0ueHhsYXJnZS1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2Utb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6Y2FsYygxNi42NjY2NyUgKyAxLjg3NXJlbSl9Lnh4bGFyZ2Utb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLW9mZnNldC0ze21hcmdpbi1sZWZ0OmNhbGMoMjUlICsgMS44NzVyZW0pfS54eGxhcmdlLW9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzJX0uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS1vZmZzZXQtNHttYXJnaW4tbGVmdDpjYWxjKDMzLjMzMzMzJSArIDEuODc1cmVtKX0ueHhsYXJnZS1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2Utb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6Y2FsYyg0MS42NjY2NyUgKyAxLjg3NXJlbSl9Lnh4bGFyZ2Utb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLW9mZnNldC02e21hcmdpbi1sZWZ0OmNhbGMoNTAlICsgMS44NzVyZW0pfS54eGxhcmdlLW9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzJX0uZ3JpZC1tYXJnaW4teD4ueHhsYXJnZS1vZmZzZXQtN3ttYXJnaW4tbGVmdDpjYWxjKDU4LjMzMzMzJSArIDEuODc1cmVtKX0ueHhsYXJnZS1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2Utb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6Y2FsYyg2Ni42NjY2NyUgKyAxLjg3NXJlbSl9Lnh4bGFyZ2Utb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5ncmlkLW1hcmdpbi14Pi54eGxhcmdlLW9mZnNldC05e21hcmdpbi1sZWZ0OmNhbGMoNzUlICsgMS44NzVyZW0pfS54eGxhcmdlLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMyV9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2Utb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OmNhbGMoODMuMzMzMzMlICsgMS44NzVyZW0pfS54eGxhcmdlLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NyV9LmdyaWQtbWFyZ2luLXg+Lnh4bGFyZ2Utb2Zmc2V0LTExe21hcmdpbi1sZWZ0OmNhbGMoOTEuNjY2NjclICsgMS44NzVyZW0pfX0uZ3JpZC15e2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6Y29sdW1uIG5vd3JhcH0uZ3JpZC15Pi5jZWxse3dpZHRoOmF1dG99LmdyaWQteT4uYXV0b3toZWlnaHQ6YXV0b30uZ3JpZC15Pi5zaHJpbmt7aGVpZ2h0OmF1dG99LmdyaWQteT4uc21hbGwtc2hyaW5rLC5ncmlkLXk+LnNtYWxsLWZ1bGwsLmdyaWQteT4uc21hbGwtMSwuZ3JpZC15Pi5zbWFsbC0yLC5ncmlkLXk+LnNtYWxsLTMsLmdyaWQteT4uc21hbGwtNCwuZ3JpZC15Pi5zbWFsbC01LC5ncmlkLXk+LnNtYWxsLTYsLmdyaWQteT4uc21hbGwtNywuZ3JpZC15Pi5zbWFsbC04LC5ncmlkLXk+LnNtYWxsLTksLmdyaWQteT4uc21hbGwtMTAsLmdyaWQteT4uc21hbGwtMTEsLmdyaWQteT4uc21hbGwtMTJ7ZmxleC1iYXNpczphdXRvfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC15Pi5tZWRpdW0tc2hyaW5rLC5ncmlkLXk+Lm1lZGl1bS1mdWxsLC5ncmlkLXk+Lm1lZGl1bS0xLC5ncmlkLXk+Lm1lZGl1bS0yLC5ncmlkLXk+Lm1lZGl1bS0zLC5ncmlkLXk+Lm1lZGl1bS00LC5ncmlkLXk+Lm1lZGl1bS01LC5ncmlkLXk+Lm1lZGl1bS02LC5ncmlkLXk+Lm1lZGl1bS03LC5ncmlkLXk+Lm1lZGl1bS04LC5ncmlkLXk+Lm1lZGl1bS05LC5ncmlkLXk+Lm1lZGl1bS0xMCwuZ3JpZC15Pi5tZWRpdW0tMTEsLmdyaWQteT4ubWVkaXVtLTEye2ZsZXgtYmFzaXM6YXV0b319QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5ncmlkLXk+LmxhcmdlLXNocmluaywuZ3JpZC15Pi5sYXJnZS1mdWxsLC5ncmlkLXk+LmxhcmdlLTEsLmdyaWQteT4ubGFyZ2UtMiwuZ3JpZC15Pi5sYXJnZS0zLC5ncmlkLXk+LmxhcmdlLTQsLmdyaWQteT4ubGFyZ2UtNSwuZ3JpZC15Pi5sYXJnZS02LC5ncmlkLXk+LmxhcmdlLTcsLmdyaWQteT4ubGFyZ2UtOCwuZ3JpZC15Pi5sYXJnZS05LC5ncmlkLXk+LmxhcmdlLTEwLC5ncmlkLXk+LmxhcmdlLTExLC5ncmlkLXk+LmxhcmdlLTEye2ZsZXgtYmFzaXM6YXV0b319QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuZ3JpZC15Pi54bGFyZ2Utc2hyaW5rLC5ncmlkLXk+LnhsYXJnZS1mdWxsLC5ncmlkLXk+LnhsYXJnZS0xLC5ncmlkLXk+LnhsYXJnZS0yLC5ncmlkLXk+LnhsYXJnZS0zLC5ncmlkLXk+LnhsYXJnZS00LC5ncmlkLXk+LnhsYXJnZS01LC5ncmlkLXk+LnhsYXJnZS02LC5ncmlkLXk+LnhsYXJnZS03LC5ncmlkLXk+LnhsYXJnZS04LC5ncmlkLXk+LnhsYXJnZS05LC5ncmlkLXk+LnhsYXJnZS0xMCwuZ3JpZC15Pi54bGFyZ2UtMTEsLmdyaWQteT4ueGxhcmdlLTEye2ZsZXgtYmFzaXM6YXV0b319QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey5ncmlkLXk+Lnh4bGFyZ2Utc2hyaW5rLC5ncmlkLXk+Lnh4bGFyZ2UtZnVsbCwuZ3JpZC15Pi54eGxhcmdlLTEsLmdyaWQteT4ueHhsYXJnZS0yLC5ncmlkLXk+Lnh4bGFyZ2UtMywuZ3JpZC15Pi54eGxhcmdlLTQsLmdyaWQteT4ueHhsYXJnZS01LC5ncmlkLXk+Lnh4bGFyZ2UtNiwuZ3JpZC15Pi54eGxhcmdlLTcsLmdyaWQteT4ueHhsYXJnZS04LC5ncmlkLXk+Lnh4bGFyZ2UtOSwuZ3JpZC15Pi54eGxhcmdlLTEwLC5ncmlkLXk+Lnh4bGFyZ2UtMTEsLmdyaWQteT4ueHhsYXJnZS0xMntmbGV4LWJhc2lzOmF1dG99fS5ncmlkLXk+LnNtYWxsLTF7aGVpZ2h0OjguMzMzMzMlfS5ncmlkLXk+LnNtYWxsLTJ7aGVpZ2h0OjE2LjY2NjY3JX0uZ3JpZC15Pi5zbWFsbC0ze2hlaWdodDoyNSV9LmdyaWQteT4uc21hbGwtNHtoZWlnaHQ6MzMuMzMzMzMlfS5ncmlkLXk+LnNtYWxsLTV7aGVpZ2h0OjQxLjY2NjY3JX0uZ3JpZC15Pi5zbWFsbC02e2hlaWdodDo1MCV9LmdyaWQteT4uc21hbGwtN3toZWlnaHQ6NTguMzMzMzMlfS5ncmlkLXk+LnNtYWxsLTh7aGVpZ2h0OjY2LjY2NjY3JX0uZ3JpZC15Pi5zbWFsbC05e2hlaWdodDo3NSV9LmdyaWQteT4uc21hbGwtMTB7aGVpZ2h0OjgzLjMzMzMzJX0uZ3JpZC15Pi5zbWFsbC0xMXtoZWlnaHQ6OTEuNjY2NjclfS5ncmlkLXk+LnNtYWxsLTEye2hlaWdodDoxMDAlfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC15Pi5tZWRpdW0tYXV0b3tmbGV4OjEgMSAwcHg7aGVpZ2h0OmF1dG99LmdyaWQteT4ubWVkaXVtLXNocmlua3toZWlnaHQ6YXV0b30uZ3JpZC15Pi5tZWRpdW0tMXtoZWlnaHQ6OC4zMzMzMyV9LmdyaWQteT4ubWVkaXVtLTJ7aGVpZ2h0OjE2LjY2NjY3JX0uZ3JpZC15Pi5tZWRpdW0tM3toZWlnaHQ6MjUlfS5ncmlkLXk+Lm1lZGl1bS00e2hlaWdodDozMy4zMzMzMyV9LmdyaWQteT4ubWVkaXVtLTV7aGVpZ2h0OjQxLjY2NjY3JX0uZ3JpZC15Pi5tZWRpdW0tNntoZWlnaHQ6NTAlfS5ncmlkLXk+Lm1lZGl1bS03e2hlaWdodDo1OC4zMzMzMyV9LmdyaWQteT4ubWVkaXVtLTh7aGVpZ2h0OjY2LjY2NjY3JX0uZ3JpZC15Pi5tZWRpdW0tOXtoZWlnaHQ6NzUlfS5ncmlkLXk+Lm1lZGl1bS0xMHtoZWlnaHQ6ODMuMzMzMzMlfS5ncmlkLXk+Lm1lZGl1bS0xMXtoZWlnaHQ6OTEuNjY2NjclfS5ncmlkLXk+Lm1lZGl1bS0xMntoZWlnaHQ6MTAwJX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5ncmlkLXk+LmxhcmdlLWF1dG97ZmxleDoxIDEgMHB4O2hlaWdodDphdXRvfS5ncmlkLXk+LmxhcmdlLXNocmlua3toZWlnaHQ6YXV0b30uZ3JpZC15Pi5sYXJnZS0xe2hlaWdodDo4LjMzMzMzJX0uZ3JpZC15Pi5sYXJnZS0ye2hlaWdodDoxNi42NjY2NyV9LmdyaWQteT4ubGFyZ2UtM3toZWlnaHQ6MjUlfS5ncmlkLXk+LmxhcmdlLTR7aGVpZ2h0OjMzLjMzMzMzJX0uZ3JpZC15Pi5sYXJnZS01e2hlaWdodDo0MS42NjY2NyV9LmdyaWQteT4ubGFyZ2UtNntoZWlnaHQ6NTAlfS5ncmlkLXk+LmxhcmdlLTd7aGVpZ2h0OjU4LjMzMzMzJX0uZ3JpZC15Pi5sYXJnZS04e2hlaWdodDo2Ni42NjY2NyV9LmdyaWQteT4ubGFyZ2UtOXtoZWlnaHQ6NzUlfS5ncmlkLXk+LmxhcmdlLTEwe2hlaWdodDo4My4zMzMzMyV9LmdyaWQteT4ubGFyZ2UtMTF7aGVpZ2h0OjkxLjY2NjY3JX0uZ3JpZC15Pi5sYXJnZS0xMntoZWlnaHQ6MTAwJX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuZ3JpZC15Pi54bGFyZ2UtYXV0b3tmbGV4OjEgMSAwcHg7aGVpZ2h0OmF1dG99LmdyaWQteT4ueGxhcmdlLXNocmlua3toZWlnaHQ6YXV0b30uZ3JpZC15Pi54bGFyZ2UtMXtoZWlnaHQ6OC4zMzMzMyV9LmdyaWQteT4ueGxhcmdlLTJ7aGVpZ2h0OjE2LjY2NjY3JX0uZ3JpZC15Pi54bGFyZ2UtM3toZWlnaHQ6MjUlfS5ncmlkLXk+LnhsYXJnZS00e2hlaWdodDozMy4zMzMzMyV9LmdyaWQteT4ueGxhcmdlLTV7aGVpZ2h0OjQxLjY2NjY3JX0uZ3JpZC15Pi54bGFyZ2UtNntoZWlnaHQ6NTAlfS5ncmlkLXk+LnhsYXJnZS03e2hlaWdodDo1OC4zMzMzMyV9LmdyaWQteT4ueGxhcmdlLTh7aGVpZ2h0OjY2LjY2NjY3JX0uZ3JpZC15Pi54bGFyZ2UtOXtoZWlnaHQ6NzUlfS5ncmlkLXk+LnhsYXJnZS0xMHtoZWlnaHQ6ODMuMzMzMzMlfS5ncmlkLXk+LnhsYXJnZS0xMXtoZWlnaHQ6OTEuNjY2NjclfS5ncmlkLXk+LnhsYXJnZS0xMntoZWlnaHQ6MTAwJX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey5ncmlkLXk+Lnh4bGFyZ2UtYXV0b3tmbGV4OjEgMSAwcHg7aGVpZ2h0OmF1dG99LmdyaWQteT4ueHhsYXJnZS1zaHJpbmt7aGVpZ2h0OmF1dG99LmdyaWQteT4ueHhsYXJnZS0xe2hlaWdodDo4LjMzMzMzJX0uZ3JpZC15Pi54eGxhcmdlLTJ7aGVpZ2h0OjE2LjY2NjY3JX0uZ3JpZC15Pi54eGxhcmdlLTN7aGVpZ2h0OjI1JX0uZ3JpZC15Pi54eGxhcmdlLTR7aGVpZ2h0OjMzLjMzMzMzJX0uZ3JpZC15Pi54eGxhcmdlLTV7aGVpZ2h0OjQxLjY2NjY3JX0uZ3JpZC15Pi54eGxhcmdlLTZ7aGVpZ2h0OjUwJX0uZ3JpZC15Pi54eGxhcmdlLTd7aGVpZ2h0OjU4LjMzMzMzJX0uZ3JpZC15Pi54eGxhcmdlLTh7aGVpZ2h0OjY2LjY2NjY3JX0uZ3JpZC15Pi54eGxhcmdlLTl7aGVpZ2h0Ojc1JX0uZ3JpZC15Pi54eGxhcmdlLTEwe2hlaWdodDo4My4zMzMzMyV9LmdyaWQteT4ueHhsYXJnZS0xMXtoZWlnaHQ6OTEuNjY2NjclfS5ncmlkLXk+Lnh4bGFyZ2UtMTJ7aGVpZ2h0OjEwMCV9fS5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXl7bWFyZ2luLXRvcDotLjkzNzVyZW07bWFyZ2luLWJvdHRvbTotLjkzNzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXl7bWFyZ2luLXRvcDotMS44NzVyZW07bWFyZ2luLWJvdHRvbTotMS44NzVyZW19fS5ncmlkLXBhZGRpbmcteT4uY2VsbHtwYWRkaW5nLXRvcDouOTM3NXJlbTtwYWRkaW5nLWJvdHRvbTouOTM3NXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtcGFkZGluZy15Pi5jZWxse3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjEuODc1cmVtfX0uZ3JpZC1tYXJnaW4teXttYXJnaW4tdG9wOi0uOTM3NXJlbTttYXJnaW4tYm90dG9tOi0uOTM3NXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtbWFyZ2luLXl7bWFyZ2luLXRvcDotMS44NzVyZW07bWFyZ2luLWJvdHRvbTotMS44NzVyZW19fS5ncmlkLW1hcmdpbi15Pi5jZWxse2hlaWdodDpjYWxjKDEwMCUgLSAxLjg3NXJlbSk7bWFyZ2luLXRvcDouOTM3NXJlbTttYXJnaW4tYm90dG9tOi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC1tYXJnaW4teT4uY2VsbHtoZWlnaHQ6Y2FsYygxMDAlIC0gMy43NXJlbSk7bWFyZ2luLXRvcDoxLjg3NXJlbTttYXJnaW4tYm90dG9tOjEuODc1cmVtfX0uZ3JpZC1tYXJnaW4teT4uYXV0b3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4uc2hyaW5re2hlaWdodDphdXRvfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0xe2hlaWdodDpjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0ye2hlaWdodDpjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtM3toZWlnaHQ6Y2FsYygyNSUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTR7aGVpZ2h0OmNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC01e2hlaWdodDpjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtNntoZWlnaHQ6Y2FsYyg1MCUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTd7aGVpZ2h0OmNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC04e2hlaWdodDpjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtOXtoZWlnaHQ6Y2FsYyg3NSUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTEwe2hlaWdodDpjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtMTF7aGVpZ2h0OmNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0xMntoZWlnaHQ6Y2FsYygxMDAlIC0gMS44NzVyZW0pfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC1tYXJnaW4teT4uYXV0b3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4uc2hyaW5re2hlaWdodDphdXRvfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0xe2hlaWdodDpjYWxjKDguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTJ7aGVpZ2h0OmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTN7aGVpZ2h0OmNhbGMoMjUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTR7aGVpZ2h0OmNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTV7aGVpZ2h0OmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTZ7aGVpZ2h0OmNhbGMoNTAlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTd7aGVpZ2h0OmNhbGMoNTguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTh7aGVpZ2h0OmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTl7aGVpZ2h0OmNhbGMoNzUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTEwe2hlaWdodDpjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0xMXtoZWlnaHQ6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtMTJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tYXV0b3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLXNocmlua3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTF7aGVpZ2h0OmNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTJ7aGVpZ2h0OmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS0ze2hlaWdodDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tNHtoZWlnaHQ6Y2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTV7aGVpZ2h0OmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS02e2hlaWdodDpjYWxjKDUwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tN3toZWlnaHQ6Y2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTh7aGVpZ2h0OmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS05e2hlaWdodDpjYWxjKDc1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tMTB7aGVpZ2h0OmNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS0xMXtoZWlnaHQ6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTEye2hlaWdodDpjYWxjKDEwMCUgLSAzLjc1cmVtKX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5ncmlkLW1hcmdpbi15Pi5sYXJnZS1hdXRve2hlaWdodDphdXRvfS5ncmlkLW1hcmdpbi15Pi5sYXJnZS1zaHJpbmt7aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTF7aGVpZ2h0OmNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtMntoZWlnaHQ6Y2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtM3toZWlnaHQ6Y2FsYygyNSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtNHtoZWlnaHQ6Y2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtNXtoZWlnaHQ6Y2FsYyg0MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtNntoZWlnaHQ6Y2FsYyg1MCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtN3toZWlnaHQ6Y2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtOHtoZWlnaHQ6Y2FsYyg2Ni42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtOXtoZWlnaHQ6Y2FsYyg3NSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtMTB7aGVpZ2h0OmNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTExe2hlaWdodDpjYWxjKDkxLjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5sYXJnZS0xMntoZWlnaHQ6Y2FsYygxMDAlIC0gMy43NXJlbSl9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS1hdXRve2hlaWdodDphdXRvfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2Utc2hyaW5re2hlaWdodDphdXRvfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtMXtoZWlnaHQ6Y2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtMntoZWlnaHQ6Y2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTN7aGVpZ2h0OmNhbGMoMjUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS00e2hlaWdodDpjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtNXtoZWlnaHQ6Y2FsYyg0MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTZ7aGVpZ2h0OmNhbGMoNTAlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS03e2hlaWdodDpjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtOHtoZWlnaHQ6Y2FsYyg2Ni42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTl7aGVpZ2h0OmNhbGMoNzUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS0xMHtoZWlnaHQ6Y2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTExe2hlaWdodDpjYWxjKDkxLjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtMTJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDMuNzVyZW0pfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtYXV0b3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS1zaHJpbmt7aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtMXtoZWlnaHQ6Y2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLTJ7aGVpZ2h0OmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtM3toZWlnaHQ6Y2FsYygyNSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS00e2hlaWdodDpjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLTV7aGVpZ2h0OmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtNntoZWlnaHQ6Y2FsYyg1MCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS03e2hlaWdodDpjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLTh7aGVpZ2h0OmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtOXtoZWlnaHQ6Y2FsYyg3NSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS0xMHtoZWlnaHQ6Y2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS0xMXtoZWlnaHQ6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS0xMntoZWlnaHQ6Y2FsYygxMDAlIC0gMy43NXJlbSl9fS5ncmlkLWZyYW1le292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXdyYXA6bm93cmFwO2FsaWduLWl0ZW1zOnN0cmV0Y2g7d2lkdGg6MTAwdnd9LmNlbGwgLmdyaWQtZnJhbWV7d2lkdGg6MTAwJX0uY2VsbC1ibG9ja3tvdmVyZmxvdy14OmF1dG87bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eXBlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0uY2VsbC1ibG9jay15e292ZXJmbG93LXk6YXV0bzttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eXBlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0uY2VsbC1ibG9jay1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtaGVpZ2h0OjEwMCV9LmNlbGwtYmxvY2stY29udGFpbmVyPi5ncmlkLXh7bWF4LWhlaWdodDoxMDAlO2ZsZXgtd3JhcDpub3dyYXB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZWRpdW0tZ3JpZC1mcmFtZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ZmxleC13cmFwOm5vd3JhcDthbGlnbi1pdGVtczpzdHJldGNoO3dpZHRoOjEwMHZ3fS5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZXt3aWR0aDoxMDAlfS5tZWRpdW0tY2VsbC1ibG9ja3tvdmVyZmxvdy14OmF1dG87bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eXBlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0ubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlfS5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXI+LmdyaWQteHttYXgtaGVpZ2h0OjEwMCU7ZmxleC13cmFwOm5vd3JhcH0ubWVkaXVtLWNlbGwtYmxvY2steXtvdmVyZmxvdy15OmF1dG87bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlwZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubGFyZ2UtZ3JpZC1mcmFtZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ZmxleC13cmFwOm5vd3JhcDthbGlnbi1pdGVtczpzdHJldGNoO3dpZHRoOjEwMHZ3fS5jZWxsIC5sYXJnZS1ncmlkLWZyYW1le3dpZHRoOjEwMCV9LmxhcmdlLWNlbGwtYmxvY2t7b3ZlcmZsb3cteDphdXRvO21heC13aWR0aDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlwZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlfS5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lcj4uZ3JpZC14e21heC1oZWlnaHQ6MTAwJTtmbGV4LXdyYXA6bm93cmFwfS5sYXJnZS1jZWxsLWJsb2NrLXl7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDstbXMtb3ZlcmZsb3ctc3R5cGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey54bGFyZ2UtZ3JpZC1mcmFtZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ZmxleC13cmFwOm5vd3JhcDthbGlnbi1pdGVtczpzdHJldGNoO3dpZHRoOjEwMHZ3fS5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZXt3aWR0aDoxMDAlfS54bGFyZ2UtY2VsbC1ibG9ja3tvdmVyZmxvdy14OmF1dG87bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eXBlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0ueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlfS54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXI+LmdyaWQteHttYXgtaGVpZ2h0OjEwMCU7ZmxleC13cmFwOm5vd3JhcH0ueGxhcmdlLWNlbGwtYmxvY2steXtvdmVyZmxvdy15OmF1dG87bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlwZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsueHhsYXJnZS1ncmlkLWZyYW1le292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXdyYXA6bm93cmFwO2FsaWduLWl0ZW1zOnN0cmV0Y2g7d2lkdGg6MTAwdnd9LmNlbGwgLnh4bGFyZ2UtZ3JpZC1mcmFtZXt3aWR0aDoxMDAlfS54eGxhcmdlLWNlbGwtYmxvY2t7b3ZlcmZsb3cteDphdXRvO21heC13aWR0aDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlwZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9Lnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtaGVpZ2h0OjEwMCV9Lnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXI+LmdyaWQteHttYXgtaGVpZ2h0OjEwMCU7ZmxleC13cmFwOm5vd3JhcH0ueHhsYXJnZS1jZWxsLWJsb2NrLXl7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDstbXMtb3ZlcmZsb3ctc3R5cGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyfX0uZ3JpZC15LmdyaWQtZnJhbWV7d2lkdGg6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ZmxleC13cmFwOm5vd3JhcDthbGlnbi1pdGVtczpzdHJldGNoO2hlaWdodDoxMDB2aH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZXt3aWR0aDphdXRvO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXdyYXA6bm93cmFwO2FsaWduLWl0ZW1zOnN0cmV0Y2g7aGVpZ2h0OjEwMHZofX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmdyaWQteS5sYXJnZS1ncmlkLWZyYW1le3dpZHRoOmF1dG87b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtd3JhcDpub3dyYXA7YWxpZ24taXRlbXM6c3RyZXRjaDtoZWlnaHQ6MTAwdmh9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZXt3aWR0aDphdXRvO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXdyYXA6bm93cmFwO2FsaWduLWl0ZW1zOnN0cmV0Y2g7aGVpZ2h0OjEwMHZofX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7LmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWV7d2lkdGg6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ZmxleC13cmFwOm5vd3JhcDthbGlnbi1pdGVtczpzdHJldGNoO2hlaWdodDoxMDB2aH19LmNlbGwgLmdyaWQteS5ncmlkLWZyYW1le2hlaWdodDoxMDAlfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1le2hlaWdodDoxMDAlfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1le2hlaWdodDoxMDAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWV7aGVpZ2h0OjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsuY2VsbCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZXtoZWlnaHQ6MTAwJX19LmdyaWQtbWFyZ2luLXl7bWFyZ2luLXRvcDotLjkzNzVyZW07bWFyZ2luLWJvdHRvbTotLjkzNzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5ncmlkLW1hcmdpbi15e21hcmdpbi10b3A6LTEuODc1cmVtO21hcmdpbi1ib3R0b206LTEuODc1cmVtfX0uZ3JpZC1tYXJnaW4teT4uY2VsbHtoZWlnaHQ6Y2FsYygxMDAlIC0gMS44NzVyZW0pO21hcmdpbi10b3A6LjkzNzVyZW07bWFyZ2luLWJvdHRvbTouOTM3NXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtbWFyZ2luLXk+LmNlbGx7aGVpZ2h0OmNhbGMoMTAwJSAtIDMuNzVyZW0pO21hcmdpbi10b3A6MS44NzVyZW07bWFyZ2luLWJvdHRvbToxLjg3NXJlbX19LmdyaWQtbWFyZ2luLXk+LmF1dG97aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXk+LnNocmlua3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4uc21hbGwtMXtoZWlnaHQ6Y2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtMntoZWlnaHQ6Y2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTN7aGVpZ2h0OmNhbGMoMjUlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC00e2hlaWdodDpjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtNXtoZWlnaHQ6Y2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTZ7aGVpZ2h0OmNhbGMoNTAlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC03e2hlaWdodDpjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtOHtoZWlnaHQ6Y2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTl7aGVpZ2h0OmNhbGMoNzUlIC0gMS44NzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0xMHtoZWlnaHQ6Y2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTExe2hlaWdodDpjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtMTJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDEuODc1cmVtKX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtbWFyZ2luLXk+LmF1dG97aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXk+LnNocmlua3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4uc21hbGwtMXtoZWlnaHQ6Y2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0ye2hlaWdodDpjYWxjKDE2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0ze2hlaWdodDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC00e2hlaWdodDpjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC01e2hlaWdodDpjYWxjKDQxLjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC02e2hlaWdodDpjYWxjKDUwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC03e2hlaWdodDpjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC04e2hlaWdodDpjYWxjKDY2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC05e2hlaWdodDpjYWxjKDc1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5zbWFsbC0xMHtoZWlnaHQ6Y2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4uc21hbGwtMTF7aGVpZ2h0OmNhbGMoOTEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnNtYWxsLTEye2hlaWdodDpjYWxjKDEwMCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLWF1dG97aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS1zaHJpbmt7aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS0xe2hlaWdodDpjYWxjKDguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS0ye2hlaWdodDpjYWxjKDE2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tM3toZWlnaHQ6Y2FsYygyNSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTR7aGVpZ2h0OmNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS01e2hlaWdodDpjYWxjKDQxLjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tNntoZWlnaHQ6Y2FsYyg1MCUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTd7aGVpZ2h0OmNhbGMoNTguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS04e2hlaWdodDpjYWxjKDY2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tOXtoZWlnaHQ6Y2FsYyg3NSUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubWVkaXVtLTEwe2hlaWdodDpjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5tZWRpdW0tMTF7aGVpZ2h0OmNhbGMoOTEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lm1lZGl1bS0xMntoZWlnaHQ6Y2FsYygxMDAlIC0gMy43NXJlbSl9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZ3JpZC1tYXJnaW4teT4ubGFyZ2UtYXV0b3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4ubGFyZ2Utc2hyaW5re2hlaWdodDphdXRvfS5ncmlkLW1hcmdpbi15Pi5sYXJnZS0xe2hlaWdodDpjYWxjKDguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTJ7aGVpZ2h0OmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTN7aGVpZ2h0OmNhbGMoMjUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTR7aGVpZ2h0OmNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTV7aGVpZ2h0OmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTZ7aGVpZ2h0OmNhbGMoNTAlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTd7aGVpZ2h0OmNhbGMoNTguMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTh7aGVpZ2h0OmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTl7aGVpZ2h0OmNhbGMoNzUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LmxhcmdlLTEwe2hlaWdodDpjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi5sYXJnZS0xMXtoZWlnaHQ6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ubGFyZ2UtMTJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDMuNzVyZW0pfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtYXV0b3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLXNocmlua3toZWlnaHQ6YXV0b30uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTF7aGVpZ2h0OmNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTJ7aGVpZ2h0OmNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS0ze2hlaWdodDpjYWxjKDI1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtNHtoZWlnaHQ6Y2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTV7aGVpZ2h0OmNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS02e2hlaWdodDpjYWxjKDUwJSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtN3toZWlnaHQ6Y2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTh7aGVpZ2h0OmNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS05e2hlaWdodDpjYWxjKDc1JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54bGFyZ2UtMTB7aGVpZ2h0OmNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+LnhsYXJnZS0xMXtoZWlnaHQ6Y2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueGxhcmdlLTEye2hlaWdodDpjYWxjKDEwMCUgLSAzLjc1cmVtKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4Ljc1ZW0pey5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLWF1dG97aGVpZ2h0OmF1dG99LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2Utc2hyaW5re2hlaWdodDphdXRvfS5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLTF7aGVpZ2h0OmNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS0ye2hlaWdodDpjYWxjKDE2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLTN7aGVpZ2h0OmNhbGMoMjUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtNHtoZWlnaHQ6Y2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS01e2hlaWdodDpjYWxjKDQxLjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLTZ7aGVpZ2h0OmNhbGMoNTAlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtN3toZWlnaHQ6Y2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKX0uZ3JpZC1tYXJnaW4teT4ueHhsYXJnZS04e2hlaWdodDpjYWxjKDY2LjY2NjY3JSAtIDMuNzVyZW0pfS5ncmlkLW1hcmdpbi15Pi54eGxhcmdlLTl7aGVpZ2h0OmNhbGMoNzUlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtMTB7aGVpZ2h0OmNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtMTF7aGVpZ2h0OmNhbGMoOTEuNjY2NjclIC0gMy43NXJlbSl9LmdyaWQtbWFyZ2luLXk+Lnh4bGFyZ2UtMTJ7aGVpZ2h0OmNhbGMoMTAwJSAtIDMuNzVyZW0pfX0uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15e2hlaWdodDpjYWxjKDEwMHZoICsgMS44NzVyZW0pfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15e2hlaWdodDpjYWxjKDEwMHZoICsgMy43NXJlbSl9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15e2hlaWdodDpjYWxjKDEwMHZoICsgMy43NXJlbSl9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teXtoZWlnaHQ6Y2FsYygxMDB2aCArIDMuNzVyZW0pfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7LmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teXtoZWlnaHQ6Y2FsYygxMDB2aCArIDMuNzVyZW0pfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWV7aGVpZ2h0OmNhbGMoMTAwdmggKyAzLjc1cmVtKX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWV7aGVpZ2h0OmNhbGMoMTAwdmggKyAzLjc1cmVtKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZXtoZWlnaHQ6Y2FsYygxMDB2aCArIDMuNzVyZW0pfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7LmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1le2hlaWdodDpjYWxjKDEwMHZoICsgMy43NXJlbSl9fWRpdixkbCxkdCxkZCx1bCxvbCxsaSxoMSxoMixoMyxoNCxoNSxoNixwcmUsZm9ybSxwLGJsb2NrcXVvdGUsdGgsdGR7bWFyZ2luOjA7cGFkZGluZzowfXB7bWFyZ2luLWJvdHRvbToxcmVtO2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNDt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHl9ZW0saXtmb250LXN0eWxlOml0YWxpYztsaW5lLWhlaWdodDppbmhlcml0fXN0cm9uZyxie2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDppbmhlcml0fXNtYWxse2ZvbnQtc2l6ZTo4MCU7bGluZS1oZWlnaHQ6aW5oZXJpdH1oMSwuaDEsaDIsLmgyLGgzLC5oMyxoNCwuaDQsaDUsLmg1LGg2LC5oNntmb250LWZhbWlseTpcImZ1dHVyYS1wdC1ib2xkXCIsc2Fucy1zZXJpZjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7Y29sb3I6aW5oZXJpdDt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHl9aDEgc21hbGwsLmgxIHNtYWxsLGgyIHNtYWxsLC5oMiBzbWFsbCxoMyBzbWFsbCwuaDMgc21hbGwsaDQgc21hbGwsLmg0IHNtYWxsLGg1IHNtYWxsLC5oNSBzbWFsbCxoNiBzbWFsbCwuaDYgc21hbGx7bGluZS1oZWlnaHQ6MDtjb2xvcjojZWVlfWgxLC5oMXtmb250LXNpemU6MS42MjVyZW07bGluZS1oZWlnaHQ6MTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxLjJyZW19aDIsLmgye2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MS4ycmVtfWgzLC5oM3tmb250LXNpemU6MS4xODc1cmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MS4ycmVtfWg0LC5oNHtmb250LXNpemU6MS4xMjVyZW07bGluZS1oZWlnaHQ6MTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxLjJyZW19aDUsLmg1e2ZvbnQtc2l6ZToxLjA2MjVyZW07bGluZS1oZWlnaHQ6MTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxLjJyZW19aDYsLmg2e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MS4ycmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXtoMSwuaDF7Zm9udC1zaXplOjNyZW19aDIsLmgye2ZvbnQtc2l6ZToyLjVyZW19aDMsLmgze2ZvbnQtc2l6ZToxLjkzNzVyZW19aDQsLmg0e2ZvbnQtc2l6ZToxLjU2MjVyZW19aDUsLmg1e2ZvbnQtc2l6ZToxLjI1cmVtfWg2LC5oNntmb250LXNpemU6MXJlbX19YXtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOiMzMzM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9YTpob3ZlcixhOmZvY3Vze2NvbG9yOiM5OTl9YSBpbWd7Ym9yZGVyOjB9aHJ7Y2xlYXI6Ym90aDttYXgtd2lkdGg6NzVyZW07aGVpZ2h0OjA7bWFyZ2luOjEuMjVyZW0gYXV0bztib3JkZXItdG9wOjA7Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTtib3JkZXItbGVmdDowfXVsLG9sLGRse21hcmdpbi1ib3R0b206MXJlbTtsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bGluZS1oZWlnaHQ6MS40fWxpe2ZvbnQtc2l6ZTppbmhlcml0fXVse21hcmdpbi1sZWZ0OjEuMjVyZW07bGlzdC1zdHlsZS10eXBlOmRpc2N9b2x7bWFyZ2luLWxlZnQ6MS4yNXJlbX11bCB1bCxvbCB1bCx1bCBvbCxvbCBvbHttYXJnaW4tbGVmdDoxLjI1cmVtO21hcmdpbi1ib3R0b206MH1kbHttYXJnaW4tYm90dG9tOjFyZW19ZGwgZHR7bWFyZ2luLWJvdHRvbTouM3JlbTtmb250LXdlaWdodDo2MDB9YmxvY2txdW90ZXttYXJnaW46MCAwIDFyZW07cGFkZGluZzowO2JvcmRlci1sZWZ0Om5vbmV9YmxvY2txdW90ZSxibG9ja3F1b3RlIHB7bGluZS1oZWlnaHQ6MS40O2NvbG9yOiMzMzN9Y2l0ZXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjojMzMzfWNpdGU6YmVmb3Jle2NvbnRlbnQ6XCLigJQgXCJ9YWJicixhYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgIzMzMztjdXJzb3I6aGVscDt0ZXh0LWRlY29yYXRpb246bm9uZX1maWd1cmV7bWFyZ2luOjB9Y29kZXtwYWRkaW5nOi4xMjVyZW0gLjMxMjVyZW0gLjA2MjVyZW07Ym9yZGVyOjFweCBzb2xpZCAjZWVlO2JhY2tncm91bmQtY29sb3I6I0Y2RjZGNjtmb250LWZhbWlseTpDb25zb2xhcyxcIkxpYmVyYXRpb24gTW9ub1wiLENvdXJpZXIsbW9ub3NwYWNlO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojMzMzfWtiZHttYXJnaW46MDtwYWRkaW5nOi4xMjVyZW0gLjI1cmVtIDA7YmFja2dyb3VuZC1jb2xvcjojRjZGNkY2O2ZvbnQtZmFtaWx5OkNvbnNvbGFzLFwiTGliZXJhdGlvbiBNb25vXCIsQ291cmllcixtb25vc3BhY2U7Y29sb3I6IzMzM30uc3ViaGVhZGVye21hcmdpbi10b3A6LjJyZW07bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40O2NvbG9yOiNkZGR9LmxlYWR7Zm9udC1zaXplOjEyNSU7bGluZS1oZWlnaHQ6MS42fS5zdGF0e2ZvbnQtc2l6ZToyLjVyZW07bGluZS1oZWlnaHQ6MX1wKy5zdGF0e21hcmdpbi10b3A6LTFyZW19dWwubm8tYnVsbGV0LG9sLm5vLWJ1bGxldHttYXJnaW4tbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS50ZXh0LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0udGV4dC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lZGl1bS10ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5tZWRpdW0tdGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS5tZWRpdW0tdGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1lZGl1bS10ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmxhcmdlLXRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LmxhcmdlLXRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0ubGFyZ2UtdGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LmxhcmdlLXRleHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnhsYXJnZS10ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS54bGFyZ2UtdGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS54bGFyZ2UtdGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnhsYXJnZS10ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lnh4bGFyZ2UtdGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0ueHhsYXJnZS10ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9Lnh4bGFyZ2UtdGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnh4bGFyZ2UtdGV4dC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeX19LnNob3ctZm9yLXByaW50e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fUBtZWRpYSBwcmludHsqe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDtjb2xvcjpibGFjayAhaW1wb3J0YW50O3RleHQtc2hhZG93Om5vbmUgIWltcG9ydGFudH0uc2hvdy1mb3ItcHJpbnR7ZGlzcGxheTpibG9jayAhaW1wb3J0YW50fS5oaWRlLWZvci1wcmludHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH10YWJsZS5zaG93LWZvci1wcmludHtkaXNwbGF5OnRhYmxlICFpbXBvcnRhbnR9dGhlYWQuc2hvdy1mb3ItcHJpbnR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudH10Ym9keS5zaG93LWZvci1wcmludHtkaXNwbGF5OnRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50fXRyLnNob3ctZm9yLXByaW50e2Rpc3BsYXk6dGFibGUtcm93ICFpbXBvcnRhbnR9dGQuc2hvdy1mb3ItcHJpbnR7ZGlzcGxheTp0YWJsZS1jZWxsICFpbXBvcnRhbnR9dGguc2hvdy1mb3ItcHJpbnR7ZGlzcGxheTp0YWJsZS1jZWxsICFpbXBvcnRhbnR9YSxhOnZpc2l0ZWR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hW2hyZWZdOmFmdGVye2NvbnRlbnQ6XCIgKFwiIGF0dHIoaHJlZikgXCIpXCJ9LmlyIGE6YWZ0ZXIsYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixhW2hyZWZePScjJ106YWZ0ZXJ7Y29udGVudDonJ31hYmJyW3RpdGxlXTphZnRlcntjb250ZW50OlwiIChcIiBhdHRyKHRpdGxlKSBcIilcIn1wcmUsYmxvY2txdW90ZXtib3JkZXI6MXB4IHNvbGlkICNkZGQ7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9dHIsaW1ne3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfWltZ3ttYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50fUBwYWdle21hcmdpbjowLjVjbX1wLGgyLGgze29ycGhhbnM6Mzt3aWRvd3M6M31oMixoM3twYWdlLWJyZWFrLWFmdGVyOmF2b2lkfS5wcmludC1icmVhay1pbnNpZGV7cGFnZS1icmVhay1pbnNpZGU6YXV0b319LmJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgMCAxcmVtIDA7Zm9udC1mYW1pbHk6aW5oZXJpdDtwYWRkaW5nOjEycHggMjRweDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsY29sb3IgMC4yNXMgZWFzZS1vdXQ7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MTt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7Y29sb3I6I2ZmZn1bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbntvdXRsaW5lOjB9LmJ1dHRvbjpob3ZlciwuYnV0dG9uOmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzJiMmIyYjtjb2xvcjojZmZmfS5idXR0b24udGlueXtmb250LXNpemU6LjZyZW19LmJ1dHRvbi5zbWFsbHtmb250LXNpemU6Ljc1cmVtfS5idXR0b24ubGFyZ2V7Zm9udC1zaXplOjEuMjVyZW19LmJ1dHRvbi5leHBhbmRlZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0uYnV0dG9uLnByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojMzMzO2NvbG9yOiNmZmZ9LmJ1dHRvbi5wcmltYXJ5OmhvdmVyLC5idXR0b24ucHJpbWFyeTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMyOTI5Mjk7Y29sb3I6I2ZmZn0uYnV0dG9uLnNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOiM3Njc2NzY7Y29sb3I6I2ZmZn0uYnV0dG9uLnNlY29uZGFyeTpob3ZlciwuYnV0dG9uLnNlY29uZGFyeTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiM1ZTVlNWU7Y29sb3I6I2ZmZn0uYnV0dG9uLnN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojM2FkYjc2O2NvbG9yOiMzMzN9LmJ1dHRvbi5zdWNjZXNzOmhvdmVyLC5idXR0b24uc3VjY2Vzczpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMyMmJiNWI7Y29sb3I6IzMzM30uYnV0dG9uLndhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmZhZTAwO2NvbG9yOiMzMzN9LmJ1dHRvbi53YXJuaW5nOmhvdmVyLC5idXR0b24ud2FybmluZzpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiNjYzhiMDA7Y29sb3I6IzMzM30uYnV0dG9uLmFsZXJ0e2JhY2tncm91bmQtY29sb3I6I2NjNGIzNztjb2xvcjojZmZmfS5idXR0b24uYWxlcnQ6aG92ZXIsLmJ1dHRvbi5hbGVydDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiNhNTNiMmE7Y29sb3I6I2ZmZn0uYnV0dG9uLmRpc2FibGVkLC5idXR0b25bZGlzYWJsZWRde29wYWNpdHk6LjI1O2N1cnNvcjpub3QtYWxsb3dlZH0uYnV0dG9uLmRpc2FibGVkLC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywuYnV0dG9uW2Rpc2FibGVkXSwuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwuYnV0dG9uW2Rpc2FibGVkXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7Y29sb3I6I2ZmZn0uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeXtvcGFjaXR5Oi4yNTtjdXJzb3I6bm90LWFsbG93ZWR9LmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMzMzO2NvbG9yOiNmZmZ9LmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5e29wYWNpdHk6LjI1O2N1cnNvcjpub3QtYWxsb3dlZH0uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiM3Njc2NzY7Y29sb3I6I2ZmZn0uYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzc3tvcGFjaXR5Oi4yNTtjdXJzb3I6bm90LWFsbG93ZWR9LmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojM2FkYjc2O2NvbG9yOiMzMzN9LmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmd7b3BhY2l0eTouMjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5idXR0b24uZGlzYWJsZWQud2FybmluZywuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2ZmYWUwMDtjb2xvcjojMzMzfS5idXR0b24uZGlzYWJsZWQuYWxlcnQsLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnR7b3BhY2l0eTouMjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5idXR0b24uZGlzYWJsZWQuYWxlcnQsLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2NjNGIzNztjb2xvcjojZmZmfS5idXR0b24uaG9sbG93e2JvcmRlcjoxcHggc29saWQgIzMzMztjb2xvcjojMzMzfS5idXR0b24uaG9sbG93LC5idXR0b24uaG9sbG93OmhvdmVyLC5idXR0b24uaG9sbG93OmZvY3Vze2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnV0dG9uLmhvbGxvdzpob3ZlciwuYnV0dG9uLmhvbGxvdzpmb2N1c3tib3JkZXItY29sb3I6IzFhMWExYTtjb2xvcjojMWExYTFhfS5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjMzMzO2NvbG9yOiMzMzN9LmJ1dHRvbi5ob2xsb3cucHJpbWFyeXtib3JkZXI6MXB4IHNvbGlkICMzMzM7Y29sb3I6IzMzM30uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMxYTFhMWE7Y29sb3I6IzFhMWExYX0uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjMzMzO2NvbG9yOiMzMzN9LmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5e2JvcmRlcjoxcHggc29saWQgIzc2NzY3Njtjb2xvcjojNzY3Njc2fS5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMzYjNiM2I7Y29sb3I6IzNiM2IzYn0uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICM3Njc2NzY7Y29sb3I6Izc2NzY3Nn0uYnV0dG9uLmhvbGxvdy5zdWNjZXNze2JvcmRlcjoxcHggc29saWQgIzNhZGI3Njtjb2xvcjojM2FkYjc2fS5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c3tib3JkZXItY29sb3I6IzE1NzUzOTtjb2xvcjojMTU3NTM5fS5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICMzYWRiNzY7Y29sb3I6IzNhZGI3Nn0uYnV0dG9uLmhvbGxvdy53YXJuaW5ne2JvcmRlcjoxcHggc29saWQgI2ZmYWUwMDtjb2xvcjojZmZhZTAwfS5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c3tib3JkZXItY29sb3I6IzgwNTcwMDtjb2xvcjojODA1NzAwfS5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXXtib3JkZXI6MXB4IHNvbGlkICNmZmFlMDA7Y29sb3I6I2ZmYWUwMH0uYnV0dG9uLmhvbGxvdy5hbGVydHtib3JkZXI6MXB4IHNvbGlkICNjYzRiMzc7Y29sb3I6I2NjNGIzN30uYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c3tib3JkZXItY29sb3I6IzY3MjUxYTtjb2xvcjojNjcyNTFhfS5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjY2M0YjM3O2NvbG9yOiNjYzRiMzd9LmJ1dHRvbi5jbGVhcntib3JkZXI6MXB4IHNvbGlkICMzMzM7Y29sb3I6IzMzM30uYnV0dG9uLmNsZWFyLC5idXR0b24uY2xlYXI6aG92ZXIsLmJ1dHRvbi5jbGVhcjpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uY2xlYXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi5jbGVhcjpob3ZlciwuYnV0dG9uLmNsZWFyOmZvY3Vze2JvcmRlci1jb2xvcjojMWExYTFhO2NvbG9yOiMxYTFhMWF9LmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRde2JvcmRlcjoxcHggc29saWQgIzMzMztjb2xvcjojMzMzfS5idXR0b24uY2xlYXIsLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyOmhvdmVyLC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhcjpmb2N1cywuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRde2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnV0dG9uLmNsZWFyLnByaW1hcnl7Ym9yZGVyOjFweCBzb2xpZCAjMzMzO2NvbG9yOiMzMzN9LmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c3tib3JkZXItY29sb3I6IzFhMWExYTtjb2xvcjojMWExYTFhfS5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRde2JvcmRlcjoxcHggc29saWQgIzMzMztjb2xvcjojMzMzfS5idXR0b24uY2xlYXIucHJpbWFyeSwuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRde2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnV0dG9uLmNsZWFyLnNlY29uZGFyeXtib3JkZXI6MXB4IHNvbGlkICM3Njc2NzY7Y29sb3I6Izc2NzY3Nn0uYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c3tib3JkZXItY29sb3I6IzNiM2IzYjtjb2xvcjojM2IzYjNifS5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjNzY3Njc2O2NvbG9yOiM3Njc2NzZ9LmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uY2xlYXIuc3VjY2Vzc3tib3JkZXI6MXB4IHNvbGlkICMzYWRiNzY7Y29sb3I6IzNhZGI3Nn0uYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjojMTU3NTM5O2NvbG9yOiMxNTc1Mzl9LmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjM2FkYjc2O2NvbG9yOiMzYWRiNzZ9LmJ1dHRvbi5jbGVhci5zdWNjZXNzLC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uY2xlYXIud2FybmluZ3tib3JkZXI6MXB4IHNvbGlkICNmZmFlMDA7Y29sb3I6I2ZmYWUwMH0uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3Vze2JvcmRlci1jb2xvcjojODA1NzAwO2NvbG9yOiM4MDU3MDB9LmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyOjFweCBzb2xpZCAjZmZhZTAwO2NvbG9yOiNmZmFlMDB9LmJ1dHRvbi5jbGVhci53YXJuaW5nLC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24uY2xlYXIuYWxlcnR7Ym9yZGVyOjFweCBzb2xpZCAjY2M0YjM3O2NvbG9yOiNjYzRiMzd9LmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3Vze2JvcmRlci1jb2xvcjojNjcyNTFhO2NvbG9yOiM2NzI1MWF9LmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRde2JvcmRlcjoxcHggc29saWQgI2NjNGIzNztjb2xvcjojY2M0YjM3fS5idXR0b24uY2xlYXIuYWxlcnQsLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRde2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnV0dG9uLmRyb3Bkb3duOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IC40ZW07Y29udGVudDonJztib3JkZXItYm90dG9tLXdpZHRoOjA7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MC40ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6cmlnaHQ7bWFyZ2luLWxlZnQ6MjRweH0uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjojMzMzfS5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVye2JvcmRlci10b3AtY29sb3I6IzMzM30uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVye2JvcmRlci10b3AtY29sb3I6Izc2NzY3Nn0uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlcntib3JkZXItdG9wLWNvbG9yOiMzYWRiNzZ9LmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjojZmZhZTAwfS5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlcntib3JkZXItdG9wLWNvbG9yOiNjYzRiMzd9LmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlcnt0b3A6LTAuMWVtO2Zsb2F0Om5vbmU7bWFyZ2luLWxlZnQ6MH1hLmJ1dHRvbjpob3ZlcixhLmJ1dHRvbjpmb2N1c3t0ZXh0LWRlY29yYXRpb246bm9uZX1bdHlwZT0ndGV4dCddLFt0eXBlPSdwYXNzd29yZCddLFt0eXBlPSdkYXRlJ10sW3R5cGU9J2RhdGV0aW1lJ10sW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sW3R5cGU9J21vbnRoJ10sW3R5cGU9J3dlZWsnXSxbdHlwZT0nZW1haWwnXSxbdHlwZT0nbnVtYmVyJ10sW3R5cGU9J3NlYXJjaCddLFt0eXBlPSd0ZWwnXSxbdHlwZT0ndGltZSddLFt0eXBlPSd1cmwnXSxbdHlwZT0nY29sb3InXSx0ZXh0YXJlYXtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO2hlaWdodDoyLjMzNzVyZW07bWFyZ2luOjAgMCAxcmVtO3BhZGRpbmc6LjVyZW07Ym9yZGVyOjFweCBzb2xpZCAjZWVlO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSg1MSw1MSw1MSwwLjEpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojMzMzO3RyYW5zaXRpb246Ym94LXNoYWRvdyAwLjVzLGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDthcHBlYXJhbmNlOm5vbmV9W3R5cGU9J3RleHQnXTpmb2N1cyxbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxbdHlwZT0nZGF0ZSddOmZvY3VzLFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLFt0eXBlPSdtb250aCddOmZvY3VzLFt0eXBlPSd3ZWVrJ106Zm9jdXMsW3R5cGU9J2VtYWlsJ106Zm9jdXMsW3R5cGU9J251bWJlciddOmZvY3VzLFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxbdHlwZT0ndGVsJ106Zm9jdXMsW3R5cGU9J3RpbWUnXTpmb2N1cyxbdHlwZT0ndXJsJ106Zm9jdXMsW3R5cGU9J2NvbG9yJ106Zm9jdXMsdGV4dGFyZWE6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgI2RkZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgNXB4ICNlZWU7dHJhbnNpdGlvbjpib3gtc2hhZG93IDAuNXMsYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0fXRleHRhcmVhe21heC13aWR0aDoxMDAlfXRleHRhcmVhW3Jvd3Nde2hlaWdodDphdXRvfWlucHV0OjpwbGFjZWhvbGRlcix0ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7Y29sb3I6I2VlZX1pbnB1dDpkaXNhYmxlZCxpbnB1dFtyZWFkb25seV0sdGV4dGFyZWE6ZGlzYWJsZWQsdGV4dGFyZWFbcmVhZG9ubHlde2JhY2tncm91bmQtY29sb3I6I0Y2RjZGNjtjdXJzb3I6bm90LWFsbG93ZWR9W3R5cGU9J3N1Ym1pdCddLFt0eXBlPSdidXR0b24nXXthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyLXJhZGl1czowfWlucHV0W3R5cGU9J3NlYXJjaCdde2JveC1zaXppbmc6Ym9yZGVyLWJveH1bdHlwZT0nZmlsZSddLFt0eXBlPSdjaGVja2JveCddLFt0eXBlPSdyYWRpbydde21hcmdpbjowIDAgMXJlbX1bdHlwZT0nY2hlY2tib3gnXStsYWJlbCxbdHlwZT0ncmFkaW8nXStsYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTttYXJnaW4tbGVmdDouNXJlbTttYXJnaW4tcmlnaHQ6MXJlbTttYXJnaW4tYm90dG9tOjB9W3R5cGU9J2NoZWNrYm94J10rbGFiZWxbZm9yXSxbdHlwZT0ncmFkaW8nXStsYWJlbFtmb3Jde2N1cnNvcjpwb2ludGVyfWxhYmVsPlt0eXBlPSdjaGVja2JveCddLGxhYmVsPlt0eXBlPSdyYWRpbydde21hcmdpbi1yaWdodDouNXJlbX1bdHlwZT0nZmlsZSdde3dpZHRoOjEwMCV9bGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46MDtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS44O2NvbG9yOiMzMzN9bGFiZWwubWlkZGxle21hcmdpbjowIDAgMXJlbTtwYWRkaW5nOi41NjI1cmVtIDB9LmhlbHAtdGV4dHttYXJnaW4tdG9wOi0uNXJlbTtmb250LXNpemU6LjgxMjVyZW07Zm9udC1zdHlsZTppdGFsaWM7Y29sb3I6IzMzM30uaW5wdXQtZ3JvdXB7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToxcmVtO2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmlucHV0LWdyb3VwPjpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgMCAwIDB9LmlucHV0LWdyb3VwPjpsYXN0LWNoaWxkPip7Ym9yZGVyLXJhZGl1czowIDAgMCAwfS5pbnB1dC1ncm91cC1sYWJlbCwuaW5wdXQtZ3JvdXAtZmllbGQsLmlucHV0LWdyb3VwLWJ1dHRvbiwuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCwuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiwuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVse21hcmdpbjowO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5wdXQtZ3JvdXAtbGFiZWx7cGFkZGluZzowIDFyZW07Ym9yZGVyOjFweCBzb2xpZCAjZWVlO2JhY2tncm91bmQ6I0Y2RjZGNjtjb2xvcjojMzMzO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzthbGlnbi1pdGVtczpjZW50ZXJ9LmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxke2JvcmRlci1yaWdodDowfS5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxke2JvcmRlci1sZWZ0OjB9LmlucHV0LWdyb3VwLWZpZWxke2JvcmRlci1yYWRpdXM6MDtmbGV4OjEgMSAwcHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9LmlucHV0LWdyb3VwLWJ1dHRvbntwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG99LmlucHV0LWdyb3VwLWJ1dHRvbiBhLC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbHtoZWlnaHQ6YXV0bzthbGlnbi1zZWxmOnN0cmV0Y2g7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO2ZvbnQtc2l6ZToxcmVtfWZpZWxkc2V0e21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MH1sZWdlbmR7bWF4LXdpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbTouNXJlbX0uZmllbGRzZXR7bWFyZ2luOjEuMTI1cmVtIDA7cGFkZGluZzoxLjI1cmVtO2JvcmRlcjoxcHggc29saWQgI2VlZX0uZmllbGRzZXQgbGVnZW5ke21hcmdpbjowO21hcmdpbi1sZWZ0Oi0uMTg3NXJlbTtwYWRkaW5nOjAgLjE4NzVyZW19c2VsZWN0e2hlaWdodDoyLjMzNzVyZW07bWFyZ2luOjAgMCAxcmVtO3BhZGRpbmc6LjVyZW07YXBwZWFyYW5jZTpub25lO2JvcmRlcjoxcHggc29saWQgI2VlZTtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojMzMzO2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgyMjEsIDIyMSwgMjIxJTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgLTFyZW0gY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6OXB4IDZweDtwYWRkaW5nLXJpZ2h0OjEuNXJlbTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgMC41cyxib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXR9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCl7c2VsZWN0e2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PVwiKX19c2VsZWN0OmZvY3Vze291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICNkZGQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JveC1zaGFkb3c6MCAwIDVweCAjZWVlO3RyYW5zaXRpb246Ym94LXNoYWRvdyAwLjVzLGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dH1zZWxlY3Q6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojRjZGNkY2O2N1cnNvcjpub3QtYWxsb3dlZH1zZWxlY3Q6Oi1tcy1leHBhbmR7ZGlzcGxheTpub25lfXNlbGVjdFttdWx0aXBsZV17aGVpZ2h0OmF1dG87YmFja2dyb3VuZC1pbWFnZTpub25lfS5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpe2JvcmRlci1jb2xvcjojY2M0YjM3O2JhY2tncm91bmQtY29sb3I6I2ZhZWRlYn0uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXJ7Y29sb3I6I2NjNGIzN30uaXMtaW52YWxpZC1sYWJlbHtjb2xvcjojY2M0YjM3fS5mb3JtLWVycm9ye2Rpc3BsYXk6bm9uZTttYXJnaW4tdG9wOi0uNXJlbTttYXJnaW4tYm90dG9tOjFyZW07Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6I2NjNGIzN30uZm9ybS1lcnJvci5pcy12aXNpYmxle2Rpc3BsYXk6YmxvY2t9LmFjY29yZGlvbnttYXJnaW4tbGVmdDowO2JhY2tncm91bmQ6I2ZmZjtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxle2N1cnNvcjpub3QtYWxsb3dlZH0uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQ+OmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAwIDAgMH0uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZD46bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgMCAwIDB9LmFjY29yZGlvbi10aXRsZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MS4yNXJlbSAxcmVtO2JvcmRlcjoxcHggc29saWQgI0Y2RjZGNjtib3JkZXItYm90dG9tOjA7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxO2NvbG9yOiMzMzN9Omxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpPi5hY2NvcmRpb24tdGl0bGV7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI0Y2RjZGNjtib3JkZXItcmFkaXVzOjAgMCAwIDB9LmFjY29yZGlvbi10aXRsZTpob3ZlciwuYWNjb3JkaW9uLXRpdGxlOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I0Y2RjZGNn0uYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDoxcmVtO21hcmdpbi10b3A6LTAuNXJlbTtjb250ZW50OicrJ30uaXMtYWN0aXZlPi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZXtjb250ZW50OidcXDIwMTMnfS5hY2NvcmRpb24tY29udGVudHtkaXNwbGF5Om5vbmU7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgI0Y2RjZGNjtib3JkZXItYm90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzN9Omxhc3QtY2hpbGQ+LmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI0Y2RjZGNn0uYWNjb3JkaW9uLW1lbnUgbGl7d2lkdGg6MTAwJX0uYWNjb3JkaW9uLW1lbnUgYXtwYWRkaW5nOjAuN3JlbSAxcmVtfS5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYXtwYWRkaW5nOjAuN3JlbSAxcmVtfS5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51e21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjFyZW19LmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnV7bWFyZ2luLXJpZ2h0OjFyZW07bWFyZ2luLWxlZnQ6MH0uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSk+YXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSk+YTo6YWZ0ZXJ7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlcjppbnNldCA2cHg7Y29udGVudDonJztib3JkZXItYm90dG9tLXdpZHRoOjA7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6IzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTNweDtyaWdodDoxcmVtfS5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ+YTo6YWZ0ZXJ7bGVmdDphdXRvO3JpZ2h0OjFyZW19LmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ+YTo6YWZ0ZXJ7cmlnaHQ6YXV0bztsZWZ0OjFyZW19LmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddPmE6OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOjUwJSA1MCV9LmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudHtwb3NpdGlvbjpyZWxhdGl2ZX0uaGFzLXN1Ym1lbnUtdG9nZ2xlPmF7bWFyZ2luLXJpZ2h0OjQwcHh9LnN1Ym1lbnUtdG9nZ2xle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Y3Vyc29yOnBvaW50ZXI7d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0uc3VibWVudS10b2dnbGU6OmFmdGVye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLWJvdHRvbS13aWR0aDowO2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7dG9wOjA7Ym90dG9tOjA7bWFyZ2luOmF1dG99LnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXJ7dHJhbnNmb3JtOnNjYWxlWSgtMSk7dHJhbnNmb3JtLW9yaWdpbjo1MCUgNTAlfS5zdWJtZW51LXRvZ2dsZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7d2hpdGUtc3BhY2U6bm93cmFwO2NsaXAtcGF0aDppbnNldCg1MCUpO2JvcmRlcjowfS5iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6Mi4xZW07cGFkZGluZzouM2VtO2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtc2l6ZTouNnJlbTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiMzMzM7Y29sb3I6I2ZmZn0uYmFkZ2UucHJpbWFyeXtiYWNrZ3JvdW5kOiMzMzM7Y29sb3I6I2ZmZn0uYmFkZ2Uuc2Vjb25kYXJ5e2JhY2tncm91bmQ6Izc2NzY3Njtjb2xvcjojZmZmfS5iYWRnZS5zdWNjZXNze2JhY2tncm91bmQ6IzNhZGI3Njtjb2xvcjojMzMzfS5iYWRnZS53YXJuaW5ne2JhY2tncm91bmQ6I2ZmYWUwMDtjb2xvcjojMzMzfS5iYWRnZS5hbGVydHtiYWNrZ3JvdW5kOiNjYzRiMzc7Y29sb3I6I2ZmZn0uYnJlYWRjcnVtYnN7bWFyZ2luOjAgMCAxcmVtIDA7bGlzdC1zdHlsZTpub25lfS5icmVhZGNydW1iczo6YmVmb3JlLC5icmVhZGNydW1iczo6YWZ0ZXJ7ZGlzcGxheTp0YWJsZTtjb250ZW50OicgJztmbGV4LWJhc2lzOjA7b3JkZXI6MX0uYnJlYWRjcnVtYnM6OmFmdGVye2NsZWFyOmJvdGh9LmJyZWFkY3J1bWJzIGxpe2Zsb2F0OmxlZnQ7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOiMzMzM7Y3Vyc29yOmRlZmF1bHQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlcntwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MCAuNzVyZW07b3BhY2l0eToxO2NvbnRlbnQ6XCIvXCI7Y29sb3I6I2VlZX0uYnJlYWRjcnVtYnMgYXtjb2xvcjojMzMzfS5icmVhZGNydW1icyBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmJyZWFkY3J1bWJzIC5kaXNhYmxlZHtjb2xvcjojZWVlO2N1cnNvcjpub3QtYWxsb3dlZH0uYnV0dG9uLWdyb3Vwe21hcmdpbi1ib3R0b206MXJlbTtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDthbGlnbi1pdGVtczpzdHJldGNofS5idXR0b24tZ3JvdXA6OmJlZm9yZSwuYnV0dG9uLWdyb3VwOjphZnRlcntkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6JyAnO2ZsZXgtYmFzaXM6MDtvcmRlcjoxfS5idXR0b24tZ3JvdXA6OmFmdGVye2NsZWFyOmJvdGh9LmJ1dHRvbi1ncm91cCAuYnV0dG9ue21hcmdpbjowO21hcmdpbi1yaWdodDoxcHg7bWFyZ2luLWJvdHRvbToxcHg7Zm9udC1zaXplOjFyZW07ZmxleDowIDAgYXV0b30uYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbntmb250LXNpemU6LjZyZW19LmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9ue2ZvbnQtc2l6ZTouNzVyZW19LmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9ue2ZvbnQtc2l6ZToxLjI1cmVtfS5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbntmbGV4OjEgMSAwcHh9LmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b257YmFja2dyb3VuZC1jb2xvcjojMzMzO2NvbG9yOiNmZmZ9LmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMjkyOTI5O2NvbG9yOiNmZmZ9LmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiM3Njc2NzY7Y29sb3I6I2ZmZn0uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojNWU1ZTVlO2NvbG9yOiNmZmZ9LmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b257YmFja2dyb3VuZC1jb2xvcjojM2FkYjc2O2NvbG9yOiMzMzN9LmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojMjJiYjViO2NvbG9yOiMzMzN9LmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZhZTAwO2NvbG9yOiMzMzN9LmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojY2M4YjAwO2NvbG9yOiMzMzN9LmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2NjNGIzNztjb2xvcjojZmZmfS5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojYTUzYjJhO2NvbG9yOiNmZmZ9LmJ1dHRvbi1ncm91cC5zdGFja2VkLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW17ZmxleC13cmFwOndyYXB9LmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b257ZmxleDowIDAgMTAwJX0uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbntmbGV4OjEgMSAwcHg7bWFyZ2luLWJvdHRvbTowfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbntmbGV4OjEgMSAwcHg7bWFyZ2luLWJvdHRvbTowfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWR7ZGlzcGxheTpibG9ja30uYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b257ZGlzcGxheTpibG9jazttYXJnaW4tcmlnaHQ6MH19LmNhbGxvdXR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjAgMCAxcmVtIDA7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSg1MSw1MSw1MSwwLjI1KTtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzN9LmNhbGxvdXQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uY2FsbG91dD46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmNhbGxvdXQucHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6IzMzM30uY2FsbG91dC5zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjojZWFlYWVhO2NvbG9yOiMzMzN9LmNhbGxvdXQuc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiNlMWZhZWE7Y29sb3I6IzMzM30uY2FsbG91dC53YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZmZjNkOTtjb2xvcjojMzMzfS5jYWxsb3V0LmFsZXJ0e2JhY2tncm91bmQtY29sb3I6I2Y3ZTRlMTtjb2xvcjojMzMzfS5jYWxsb3V0LnNtYWxse3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1ib3R0b206LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5jYWxsb3V0Lmxhcmdle3BhZGRpbmctdG9wOjNyZW07cGFkZGluZy1yaWdodDozcmVtO3BhZGRpbmctYm90dG9tOjNyZW07cGFkZGluZy1sZWZ0OjNyZW19LmNhcmR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWdyb3c6MTttYXJnaW4tYm90dG9tOjFyZW07Ym9yZGVyOjFweCBzb2xpZCAjRjZGNkY2O2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzpub25lO292ZXJmbG93OmhpZGRlbjtjb2xvcjojMzMzfS5jYXJkPjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uY2FyZC1kaXZpZGVye2ZsZXg6MCAxIGF1dG87ZGlzcGxheTpmbGV4O3BhZGRpbmc6MXJlbTtiYWNrZ3JvdW5kOiNGNkY2RjZ9LmNhcmQtZGl2aWRlcj46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmNhcmQtc2VjdGlvbntmbGV4OjEgMCBhdXRvO3BhZGRpbmc6MXJlbX0uY2FyZC1zZWN0aW9uPjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uY2FyZC1pbWFnZXttaW4taGVpZ2h0OjFweH0uY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMzMzM7Y3Vyc29yOnBvaW50ZXJ9W2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b257b3V0bGluZTowfS5jbG9zZS1idXR0b246aG92ZXIsLmNsb3NlLWJ1dHRvbjpmb2N1c3tjb2xvcjojZGRkfS5jbG9zZS1idXR0b24uc21hbGx7cmlnaHQ6MC42NnJlbTt0b3A6MC4zM2VtO2ZvbnQtc2l6ZToxLjVlbTtsaW5lLWhlaWdodDoxfS5jbG9zZS1idXR0b24sLmNsb3NlLWJ1dHRvbi5tZWRpdW17cmlnaHQ6MXJlbTt0b3A6MC41cmVtO2ZvbnQtc2l6ZToyZW07bGluZS1oZWlnaHQ6MX0ubWVudXtwYWRkaW5nOjA7bWFyZ2luOjA7bGlzdC1zdHlsZTpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcH1bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGl7b3V0bGluZTowfS5tZW51IGEsLm1lbnUgLmJ1dHRvbntsaW5lLWhlaWdodDoxO3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowLjdyZW0gMXJlbX0ubWVudSBpbnB1dCwubWVudSBzZWxlY3QsLm1lbnUgYSwubWVudSBidXR0b257bWFyZ2luLWJvdHRvbTowfS5tZW51IGlucHV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5tZW51LC5tZW51Lmhvcml6b250YWx7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246cm93fS5tZW51LnZlcnRpY2Fse2ZsZXgtd3JhcDpub3dyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tZW51LmV4cGFuZGVkIGxpe2ZsZXg6MSAxIDBweH0ubWVudS5zaW1wbGV7YWxpZ24taXRlbXM6Y2VudGVyfS5tZW51LnNpbXBsZSBsaStsaXttYXJnaW4tbGVmdDoxcmVtfS5tZW51LnNpbXBsZSBhe3BhZGRpbmc6MH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lbnUubWVkaXVtLWhvcml6b250YWx7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246cm93fS5tZW51Lm1lZGl1bS12ZXJ0aWNhbHtmbGV4LXdyYXA6bm93cmFwO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWVudS5tZWRpdW0tZXhwYW5kZWQgbGl7ZmxleDoxIDEgMHB4fS5tZW51Lm1lZGl1bS1zaW1wbGUgbGl7ZmxleDoxIDEgMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7Lm1lbnUubGFyZ2UtaG9yaXpvbnRhbHtmbGV4LXdyYXA6d3JhcDtmbGV4LWRpcmVjdGlvbjpyb3d9Lm1lbnUubGFyZ2UtdmVydGljYWx7ZmxleC13cmFwOm5vd3JhcDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lm1lbnUubGFyZ2UtZXhwYW5kZWQgbGl7ZmxleDoxIDEgMHB4fS5tZW51LmxhcmdlLXNpbXBsZSBsaXtmbGV4OjEgMSAwcHh9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7Lm1lbnUueGxhcmdlLWhvcml6b250YWx7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246cm93fS5tZW51LnhsYXJnZS12ZXJ0aWNhbHtmbGV4LXdyYXA6bm93cmFwO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWVudS54bGFyZ2UtZXhwYW5kZWQgbGl7ZmxleDoxIDEgMHB4fS5tZW51LnhsYXJnZS1zaW1wbGUgbGl7ZmxleDoxIDEgMHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lm1lbnUueHhsYXJnZS1ob3Jpem9udGFse2ZsZXgtd3JhcDp3cmFwO2ZsZXgtZGlyZWN0aW9uOnJvd30ubWVudS54eGxhcmdlLXZlcnRpY2Fse2ZsZXgtd3JhcDpub3dyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tZW51Lnh4bGFyZ2UtZXhwYW5kZWQgbGl7ZmxleDoxIDEgMHB4fS5tZW51Lnh4bGFyZ2Utc2ltcGxlIGxpe2ZsZXg6MSAxIDBweH19Lm1lbnUubmVzdGVke21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjFyZW19Lm1lbnUuaWNvbnMgYXtkaXNwbGF5OmZsZXh9Lm1lbnUuaWNvbi10b3AgYSwubWVudS5pY29uLXJpZ2h0IGEsLm1lbnUuaWNvbi1ib3R0b20gYSwubWVudS5pY29uLWxlZnQgYXtkaXNwbGF5OmZsZXh9Lm1lbnUuaWNvbi1sZWZ0IGxpIGF7ZmxleC1mbG93OnJvdyBub3dyYXB9Lm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLC5tZW51Lmljb24tbGVmdCBsaSBhIGksLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3Zne21hcmdpbi1yaWdodDouMjVyZW19Lm1lbnUuaWNvbi1yaWdodCBsaSBhe2ZsZXgtZmxvdzpyb3cgbm93cmFwfS5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2Z3ttYXJnaW4tbGVmdDouMjVyZW19Lm1lbnUuaWNvbi10b3AgbGkgYXtmbGV4LWZsb3c6Y29sdW1uIG5vd3JhcH0ubWVudS5pY29uLXRvcCBsaSBhIGltZywubWVudS5pY29uLXRvcCBsaSBhIGksLm1lbnUuaWNvbi10b3AgbGkgYSBzdmd7YWxpZ24tc2VsZjpzdHJldGNoO21hcmdpbi1ib3R0b206LjI1cmVtO3RleHQtYWxpZ246Y2VudGVyfS5tZW51Lmljb24tYm90dG9tIGxpIGF7ZmxleC1mbG93OmNvbHVtbiBub3dyYXB9Lm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3Zne2FsaWduLXNlbGY6c3RyZXRjaDttYXJnaW4tYm90dG9tOi4yNXJlbTt0ZXh0LWFsaWduOmNlbnRlcn0ubWVudSAuaXMtYWN0aXZlPmF7YmFja2dyb3VuZDojMzMzO2NvbG9yOiNmZmZ9Lm1lbnUgLmFjdGl2ZT5he2JhY2tncm91bmQ6IzMzMztjb2xvcjojZmZmfS5tZW51LmFsaWduLWxlZnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm1lbnUuYWxpZ24tcmlnaHQgbGl7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaXtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246cmlnaHR9Lm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGl7dGV4dC1hbGlnbjpyaWdodH0ubWVudS5hbGlnbi1yaWdodCAubmVzdGVke21hcmdpbi1yaWdodDoxcmVtO21hcmdpbi1sZWZ0OjB9Lm1lbnUuYWxpZ24tY2VudGVyIGxpe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubWVudSAubWVudS10ZXh0e3BhZGRpbmc6MC43cmVtIDFyZW07Zm9udC13ZWlnaHQ6Ym9sZDtsaW5lLWhlaWdodDoxO2NvbG9yOmluaGVyaXR9Lm1lbnUtY2VudGVyZWQ+Lm1lbnV7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWVudS1jZW50ZXJlZD4ubWVudSBsaXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWVudS1jZW50ZXJlZD4ubWVudSBsaSAuc3VibWVudSBsaXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bHtkaXNwbGF5Om5vbmV9Lm1lbnUtaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MjBweDtoZWlnaHQ6MTZweDtjdXJzb3I6cG9pbnRlcn0ubWVudS1pY29uOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoycHg7YmFja2dyb3VuZDojZmZmO2JveC1zaGFkb3c6MCA3cHggMCAjZmZmLDAgMTRweCAwICNmZmY7Y29udGVudDonJ30ubWVudS1pY29uOmhvdmVyOjphZnRlcntiYWNrZ3JvdW5kOiNlZWU7Ym94LXNoYWRvdzowIDdweCAwICNlZWUsMCAxNHB4IDAgI2VlZX0ubWVudS1pY29uLmRhcmt7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjIwcHg7aGVpZ2h0OjE2cHg7Y3Vyc29yOnBvaW50ZXJ9Lm1lbnUtaWNvbi5kYXJrOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoycHg7YmFja2dyb3VuZDojMzMzO2JveC1zaGFkb3c6MCA3cHggMCAjMzMzLDAgMTRweCAwICMzMzM7Y29udGVudDonJ30ubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVye2JhY2tncm91bmQ6I2RkZDtib3gtc2hhZG93OjAgN3B4IDAgI2RkZCwwIDE0cHggMCAjZGRkfS5pcy1kcmlsbGRvd257cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5pcy1kcmlsbGRvd24gbGl7ZGlzcGxheTpibG9ja30uaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0e3RyYW5zaXRpb246aGVpZ2h0IDAuNXN9LmRyaWxsZG93biBhe3BhZGRpbmc6MC43cmVtIDFyZW07YmFja2dyb3VuZDojZmZmfS5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MTAwJTt6LWluZGV4Oi0xO3dpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmO3RyYW5zaXRpb246dHJhbnNmb3JtIDAuMTVzIGxpbmVhcn0uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmV7ei1pbmRleDoxO2Rpc3BsYXk6YmxvY2s7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmd7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9LmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYXtwYWRkaW5nOjAuN3JlbSAxcmVtfS5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3Vze21pbi1oZWlnaHQ6MTAwJX0uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQ+YXtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQ+YTo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi02cHg7cmlnaHQ6MXJlbTtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfS5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50PmE6OmFmdGVye2xlZnQ6YXV0bztyaWdodDoxcmVtO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzN9LmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50PmE6OmFmdGVye3JpZ2h0OmF1dG87bGVmdDoxcmVtO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnR9LmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2s+YTo6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQtd2lkdGg6MDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXJpZ2h0OjAuNzVyZW07Ym9yZGVyLWxlZnQtd2lkdGg6MH0uZHJvcGRvd24tcGFuZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwO3dpZHRoOjMwMHB4O3BhZGRpbmc6MXJlbTt2aXNpYmlsaXR5OmhpZGRlbjtkaXNwbGF5Om5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjZWVlO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Zm9udC1zaXplOjFyZW19LmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZ3tkaXNwbGF5OmJsb2NrfS5kcm9wZG93bi1wYW5lLmlzLW9wZW57dmlzaWJpbGl0eTp2aXNpYmxlO2Rpc3BsYXk6YmxvY2t9LmRyb3Bkb3duLXBhbmUudGlueXt3aWR0aDoxMDBweH0uZHJvcGRvd24tcGFuZS5zbWFsbHt3aWR0aDoyMDBweH0uZHJvcGRvd24tcGFuZS5sYXJnZXt3aWR0aDo0MDBweH0uZHJvcGRvd24ubWVudT5saS5vcGVucy1sZWZ0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3RvcDoxMDAlO3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wZG93bi5tZW51PmxpLm9wZW5zLXJpZ2h0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3RvcDoxMDAlO3JpZ2h0OmF1dG87bGVmdDowfS5kcm9wZG93bi5tZW51PmxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50PmF7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoxLjVyZW19LmRyb3Bkb3duLm1lbnU+bGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ+YTo6YWZ0ZXJ7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlcjppbnNldCA2cHg7Y29udGVudDonJztib3JkZXItYm90dG9tLXdpZHRoOjA7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6IzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtyaWdodDo1cHg7bGVmdDphdXRvO21hcmdpbi10b3A6LTNweH0uZHJvcGRvd24ubWVudSBhe3BhZGRpbmc6MC43cmVtIDFyZW19W2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGF7b3V0bGluZTowfS5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmU+YXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMzMzN9Lm5vLWpzIC5kcm9wZG93bi5tZW51IHVse2Rpc3BsYXk6bm9uZX0uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnV7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0uZHJvcGRvd24ubWVudS52ZXJ0aWNhbD5saSAuaXMtZHJvcGRvd24tc3VibWVudXt0b3A6MH0uZHJvcGRvd24ubWVudS52ZXJ0aWNhbD5saS5vcGVucy1sZWZ0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3JpZ2h0OjEwMCU7bGVmdDphdXRvO3RvcDowfS5kcm9wZG93bi5tZW51LnZlcnRpY2FsPmxpLm9wZW5zLXJpZ2h0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3JpZ2h0OmF1dG87bGVmdDoxMDAlfS5kcm9wZG93bi5tZW51LnZlcnRpY2FsPmxpPmE6OmFmdGVye3JpZ2h0OjE0cHh9LmRyb3Bkb3duLm1lbnUudmVydGljYWw+bGkub3BlbnMtbGVmdD5hOjphZnRlcntyaWdodDphdXRvO2xlZnQ6NXB4O2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnR9LmRyb3Bkb3duLm1lbnUudmVydGljYWw+bGkub3BlbnMtcmlnaHQ+YTo6YWZ0ZXJ7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlcjppbnNldCA2cHg7Y29udGVudDonJztib3JkZXItcmlnaHQtd2lkdGg6MDtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzM31AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWw+bGkub3BlbnMtbGVmdD4uaXMtZHJvcGRvd24tc3VibWVudXt0b3A6MTAwJTtyaWdodDowO2xlZnQ6YXV0b30uZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbD5saS5vcGVucy1yaWdodD4uaXMtZHJvcGRvd24tc3VibWVudXt0b3A6MTAwJTtyaWdodDphdXRvO2xlZnQ6MH0uZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbD5saS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudD5he3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MS41cmVtfS5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsPmxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50PmE6OmFmdGVye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLWJvdHRvbS13aWR0aDowO2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7cmlnaHQ6NXB4O2xlZnQ6YXV0bzttYXJnaW4tdG9wOi0zcHh9LmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsPmxpIC5pcy1kcm9wZG93bi1zdWJtZW51e3RvcDowfS5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbD5saS5vcGVucy1sZWZ0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3JpZ2h0OjEwMCU7bGVmdDphdXRvO3RvcDowfS5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbD5saS5vcGVucy1yaWdodD4uaXMtZHJvcGRvd24tc3VibWVudXtyaWdodDphdXRvO2xlZnQ6MTAwJX0uZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWw+bGk+YTo6YWZ0ZXJ7cmlnaHQ6MTRweH0uZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWw+bGkub3BlbnMtbGVmdD5hOjphZnRlcntyaWdodDphdXRvO2xlZnQ6NXB4O2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnR9LmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsPmxpLm9wZW5zLXJpZ2h0PmE6OmFmdGVye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzN9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsPmxpLm9wZW5zLWxlZnQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7dG9wOjEwMCU7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbD5saS5vcGVucy1yaWdodD4uaXMtZHJvcGRvd24tc3VibWVudXt0b3A6MTAwJTtyaWdodDphdXRvO2xlZnQ6MH0uZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsPmxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50PmF7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoxLjVyZW19LmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbD5saS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudD5hOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1ib3R0b20td2lkdGg6MDtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3JpZ2h0OjVweDtsZWZ0OmF1dG87bWFyZ2luLXRvcDotM3B4fS5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsPmxpIC5pcy1kcm9wZG93bi1zdWJtZW51e3RvcDowfS5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsPmxpLm9wZW5zLWxlZnQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7cmlnaHQ6MTAwJTtsZWZ0OmF1dG87dG9wOjB9LmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWw+bGkub3BlbnMtcmlnaHQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7cmlnaHQ6YXV0bztsZWZ0OjEwMCV9LmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWw+bGk+YTo6YWZ0ZXJ7cmlnaHQ6MTRweH0uZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbD5saS5vcGVucy1sZWZ0PmE6OmFmdGVye3JpZ2h0OmF1dG87bGVmdDo1cHg7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlcjppbnNldCA2cHg7Y29udGVudDonJztib3JkZXItbGVmdC13aWR0aDowO2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgIzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0uZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbD5saS5vcGVucy1yaWdodD5hOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsPmxpLm9wZW5zLWxlZnQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7dG9wOjEwMCU7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWw+bGkub3BlbnMtcmlnaHQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7dG9wOjEwMCU7cmlnaHQ6YXV0bztsZWZ0OjB9LmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWw+bGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ+YXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0uZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbD5saS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudD5hOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1ib3R0b20td2lkdGg6MDtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3JpZ2h0OjVweDtsZWZ0OmF1dG87bWFyZ2luLXRvcDotM3B4fS5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbD5saSAuaXMtZHJvcGRvd24tc3VibWVudXt0b3A6MH0uZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWw+bGkub3BlbnMtbGVmdD4uaXMtZHJvcGRvd24tc3VibWVudXtyaWdodDoxMDAlO2xlZnQ6YXV0bzt0b3A6MH0uZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWw+bGkub3BlbnMtcmlnaHQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7cmlnaHQ6YXV0bztsZWZ0OjEwMCV9LmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsPmxpPmE6OmFmdGVye3JpZ2h0OjE0cHh9LmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsPmxpLm9wZW5zLWxlZnQ+YTo6YWZ0ZXJ7cmlnaHQ6YXV0bztsZWZ0OjVweDtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbD5saS5vcGVucy1yaWdodD5hOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7LmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsPmxpLm9wZW5zLWxlZnQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7dG9wOjEwMCU7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsPmxpLm9wZW5zLXJpZ2h0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3RvcDoxMDAlO3JpZ2h0OmF1dG87bGVmdDowfS5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbD5saS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudD5he3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MS41cmVtfS5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbD5saS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudD5hOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1ib3R0b20td2lkdGg6MDtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3JpZ2h0OjVweDtsZWZ0OmF1dG87bWFyZ2luLXRvcDotM3B4fS5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWw+bGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnV7dG9wOjB9LmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbD5saS5vcGVucy1sZWZ0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3JpZ2h0OjEwMCU7bGVmdDphdXRvO3RvcDowfS5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWw+bGkub3BlbnMtcmlnaHQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7cmlnaHQ6YXV0bztsZWZ0OjEwMCV9LmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbD5saT5hOjphZnRlcntyaWdodDoxNHB4fS5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWw+bGkub3BlbnMtbGVmdD5hOjphZnRlcntyaWdodDphdXRvO2xlZnQ6NXB4O2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgNnB4O2NvbnRlbnQ6Jyc7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnR9LmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbD5saS5vcGVucy1yaWdodD5hOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfX0uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWJ7dG9wOjEwMCU7cmlnaHQ6MDtsZWZ0OmF1dG99LmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWx7d2lkdGg6MTAwcHh9LmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHR7ZmxvYXQ6cmlnaHR9LmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50e3Bvc2l0aW9uOnJlbGF0aXZlfS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0OjVweDtsZWZ0OmF1dG87bWFyZ2luLXRvcDotNnB4fS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lcj4uaXMtZHJvcGRvd24tc3VibWVudXt0b3A6MTAwJTtsZWZ0OmF1dG99LmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnV7cmlnaHQ6MTAwJTtsZWZ0OmF1dG99LmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0Pi5pcy1kcm9wZG93bi1zdWJtZW51e3JpZ2h0OmF1dG87bGVmdDoxMDAlfS5pcy1kcm9wZG93bi1zdWJtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MTAwJTt6LWluZGV4OjE7ZGlzcGxheTpub25lO21pbi13aWR0aDoyMDBweDtib3JkZXI6MXB4IHNvbGlkICNlZWU7YmFja2dyb3VuZDojZmZmfS5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhe3BhZGRpbmc6MC43cmVtIDFyZW19LmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50PmE6OmFmdGVye3JpZ2h0OjE0cHh9LmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQ+YTo6YWZ0ZXJ7cmlnaHQ6YXV0bztsZWZ0OjVweDtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodD5hOjphZnRlcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IDZweDtjb250ZW50OicnO2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfS5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51e21hcmdpbi10b3A6LTFweH0uaXMtZHJvcGRvd24tc3VibWVudT5saXt3aWR0aDoxMDAlfS5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5yZXNwb25zaXZlLWVtYmVkLC5mbGV4LXZpZGVve3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDowO21hcmdpbi1ib3R0b206MXJlbTtwYWRkaW5nLWJvdHRvbTo3NSU7b3ZlcmZsb3c6aGlkZGVufS5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSwucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sLmZsZXgtdmlkZW8gaWZyYW1lLC5mbGV4LXZpZGVvIG9iamVjdCwuZmxleC12aWRlbyBlbWJlZCwuZmxleC12aWRlbyB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLC5mbGV4LXZpZGVvLndpZGVzY3JlZW57cGFkZGluZy1ib3R0b206NTYuMjUlfS5sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjAuMzMzMzNyZW0gMC41cmVtO2JvcmRlci1yYWRpdXM6MDtmb250LXNpemU6LjhyZW07bGluZS1oZWlnaHQ6MTt3aGl0ZS1zcGFjZTpub3dyYXA7Y3Vyc29yOmRlZmF1bHQ7YmFja2dyb3VuZDojMzMzO2NvbG9yOiNmZmZ9LmxhYmVsLnByaW1hcnl7YmFja2dyb3VuZDojMzMzO2NvbG9yOiNmZmZ9LmxhYmVsLnNlY29uZGFyeXtiYWNrZ3JvdW5kOiM3Njc2NzY7Y29sb3I6I2ZmZn0ubGFiZWwuc3VjY2Vzc3tiYWNrZ3JvdW5kOiMzYWRiNzY7Y29sb3I6IzMzM30ubGFiZWwud2FybmluZ3tiYWNrZ3JvdW5kOiNmZmFlMDA7Y29sb3I6IzMzM30ubGFiZWwuYWxlcnR7YmFja2dyb3VuZDojY2M0YjM3O2NvbG9yOiNmZmZ9Lm1lZGlhLW9iamVjdHtkaXNwbGF5OmZsZXg7bWFyZ2luLWJvdHRvbToxcmVtO2ZsZXgtd3JhcDpub3dyYXB9Lm1lZGlhLW9iamVjdCBpbWd7bWF4LXdpZHRoOm5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKXsubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbHtmbGV4LXdyYXA6d3JhcH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKXsubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb257cGFkZGluZzowO3BhZGRpbmctYm90dG9tOjFyZW07ZmxleC1iYXNpczoxMDAlO21heC13aWR0aDoxMDAlfS5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWd7d2lkdGg6MTAwJX19Lm1lZGlhLW9iamVjdC1zZWN0aW9ue2ZsZXg6MCAxIGF1dG99Lm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MXJlbX0ubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSl7cGFkZGluZy1sZWZ0OjFyZW19Lm1lZGlhLW9iamVjdC1zZWN0aW9uPjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9ue2ZsZXg6MSAxIDBweH0uaXMtb2ZmLWNhbnZhcy1vcGVue292ZXJmbG93OmhpZGRlbn0uanMtb2ZmLWNhbnZhcy1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjExO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLHZpc2liaWxpdHkgLjVzIGVhc2U7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMjUpO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdzpoaWRkZW59LmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGV9LmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZXtjdXJzb3I6cG9pbnRlcn0uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9LmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVke3Bvc2l0aW9uOmZpeGVkfS5vZmYtY2FudmFzLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5vZmYtY2FudmFze3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjVzIGVhc2U7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2dyb3VuZDojZmZmfVtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhc3tvdXRsaW5lOjB9Lm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoe3otaW5kZXg6MTJ9Lm9mZi1jYW52YXMuaXMtY2xvc2Vke3Zpc2liaWxpdHk6aGlkZGVufS5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcHt6LWluZGV4OjEzfS5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVue2JveC1zaGFkb3c6bm9uZX0ub2ZmLWNhbnZhcy5pcy1vcGVue3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwgMCl9Lm9mZi1jYW52YXMtYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNXMgZWFzZTtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZ3JvdW5kOiNmZmZ9W2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRle291dGxpbmU6MH0ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2h7ei1pbmRleDoxMn0ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWR7dmlzaWJpbGl0eTpoaWRkZW59Lm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwe3otaW5kZXg6MTN9Lm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW57Ym94LXNoYWRvdzpub25lfS5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAwKX0ucG9zaXRpb24tbGVmdHt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvO3dpZHRoOjI1MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yNTBweCl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wb3NpdGlvbi1sZWZ0e3dpZHRoOjI1MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yNTBweCl9fS5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUwcHgpfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnR7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1MHB4KX19Lm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVue3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwgMCl9Lm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNTBweCl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2h7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjUwcHgpfX0ucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2h7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAwIHJnYmEoNTEsNTEsNTEsMC4yNSl9LnBvc2l0aW9uLXJpZ2h0e3RvcDowO3JpZ2h0OjA7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvO3dpZHRoOjI1MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI1MHB4KX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnBvc2l0aW9uLXJpZ2h0e3dpZHRoOjI1MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI1MHB4KX19Lm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNTBweCl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHR7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjUwcHgpfX0ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVue3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwgMCl9Lm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2h7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1MHB4KX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2h7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1MHB4KX19LnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDAgcmdiYSg1MSw1MSw1MSwwLjI1KX0ucG9zaXRpb24tdG9we3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bztoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wb3NpdGlvbi10b3B7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfX0ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9we3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX19Lm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAwKX0ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2h7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKX19LnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2h7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAwIHJnYmEoNTEsNTEsNTEsMC4yNSl9LnBvc2l0aW9uLWJvdHRvbXtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wb3NpdGlvbi1ib3R0b217aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9fS5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9te3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKX19Lm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAwKX0ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2h7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2h7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfX0ucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDAgcmdiYSg1MSw1MSw1MSwwLjI1KX0ub2ZmLWNhbnZhcy1jb250ZW50e3RyYW5zZm9ybTpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBlYXNlO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaHt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsIDApfS5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3Blbnt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsIDApfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bXt0cmFuc2Zvcm06bm9uZTt6LWluZGV4OjEyO3RyYW5zaXRpb246bm9uZTt2aXNpYmlsaXR5OnZpc2libGV9LnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bXt0cmFuc2Zvcm06bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdHttYXJnaW4tbGVmdDoyNTBweH0ucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnR7bWFyZ2luLWxlZnQ6MjUwcHh9LnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVte3RyYW5zZm9ybTpub25lO3otaW5kZXg6MTI7dHJhbnNpdGlvbjpub25lO3Zpc2liaWxpdHk6dmlzaWJsZX0ucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW17dHJhbnNmb3JtOm5vbmV9Lm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0e21hcmdpbi1yaWdodDoyNTBweH0ucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1yaWdodDoyNTBweH0ucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVte3RyYW5zZm9ybTpub25lO3otaW5kZXg6MTI7dHJhbnNpdGlvbjpub25lO3Zpc2liaWxpdHk6dmlzaWJsZX0ucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b257ZGlzcGxheTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bXt0cmFuc2Zvcm06bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9we21hcmdpbi10b3A6MjUwcHh9LnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnR7bWFyZ2luLXRvcDoyNTBweH0ucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVte3RyYW5zZm9ybTpub25lO3otaW5kZXg6MTI7dHJhbnNpdGlvbjpub25lO3Zpc2liaWxpdHk6dmlzaWJsZX0ucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b257ZGlzcGxheTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bXt0cmFuc2Zvcm06bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9te21hcmdpbi1ib3R0b206MjUwcHh9LnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnR7bWFyZ2luLWJvdHRvbToyNTBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2V7dHJhbnNmb3JtOm5vbmU7ei1pbmRleDoxMjt0cmFuc2l0aW9uOm5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlfS5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdle3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0e21hcmdpbi1sZWZ0OjI1MHB4fS5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1sZWZ0OjI1MHB4fS5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdle3RyYW5zZm9ybTpub25lO3otaW5kZXg6MTI7dHJhbnNpdGlvbjpub25lO3Zpc2liaWxpdHk6dmlzaWJsZX0ucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdle3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodHttYXJnaW4tcmlnaHQ6MjUwcHh9LnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1yaWdodDoyNTBweH0ucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2V7dHJhbnNmb3JtOm5vbmU7ei1pbmRleDoxMjt0cmFuc2l0aW9uOm5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlfS5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZXt0cmFuc2Zvcm06bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9we21hcmdpbi10b3A6MjUwcHh9LnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudHttYXJnaW4tdG9wOjI1MHB4fS5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZXt0cmFuc2Zvcm06bm9uZTt6LWluZGV4OjEyO3RyYW5zaXRpb246bm9uZTt2aXNpYmlsaXR5OnZpc2libGV9LnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b257ZGlzcGxheTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdle3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b217bWFyZ2luLWJvdHRvbToyNTBweH0ucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1ib3R0b206MjUwcHh9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2V7dHJhbnNmb3JtOm5vbmU7ei1pbmRleDoxMjt0cmFuc2l0aW9uOm5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlfS5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b257ZGlzcGxheTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2V7dHJhbnNmb3JtOm5vbmV9Lm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnR7bWFyZ2luLWxlZnQ6MjUwcHh9LnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1sZWZ0OjI1MHB4fS5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZXt0cmFuc2Zvcm06bm9uZTt6LWluZGV4OjEyO3RyYW5zaXRpb246bm9uZTt2aXNpYmlsaXR5OnZpc2libGV9LnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b257ZGlzcGxheTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdle3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodHttYXJnaW4tcmlnaHQ6MjUwcHh9LnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudHttYXJnaW4tcmlnaHQ6MjUwcHh9LnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZXt0cmFuc2Zvcm06bm9uZTt6LWluZGV4OjEyO3RyYW5zaXRpb246bm9uZTt2aXNpYmlsaXR5OnZpc2libGV9LnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2V7dHJhbnNmb3JtOm5vbmV9Lm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcHttYXJnaW4tdG9wOjI1MHB4fS5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi10b3A6MjUwcHh9LnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZXt0cmFuc2Zvcm06bm9uZTt6LWluZGV4OjEyO3RyYW5zaXRpb246bm9uZTt2aXNpYmlsaXR5OnZpc2libGV9LnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2V7dHJhbnNmb3JtOm5vbmV9Lm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbXttYXJnaW4tYm90dG9tOjI1MHB4fS5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1ib3R0b206MjUwcHh9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2V7dHJhbnNmb3JtOm5vbmU7ei1pbmRleDoxMjt0cmFuc2l0aW9uOm5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlfS5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZXt0cmFuc2Zvcm06bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdHttYXJnaW4tbGVmdDoyNTBweH0ucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1sZWZ0OjI1MHB4fS5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2V7dHJhbnNmb3JtOm5vbmU7ei1pbmRleDoxMjt0cmFuc2l0aW9uOm5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlfS5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdle3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodHttYXJnaW4tcmlnaHQ6MjUwcHh9LnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnR7bWFyZ2luLXJpZ2h0OjI1MHB4fS5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdle3RyYW5zZm9ybTpub25lO3otaW5kZXg6MTI7dHJhbnNpdGlvbjpub25lO3Zpc2liaWxpdHk6dmlzaWJsZX0ucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdle3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3B7bWFyZ2luLXRvcDoyNTBweH0ucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnR7bWFyZ2luLXRvcDoyNTBweH0ucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZXt0cmFuc2Zvcm06bm9uZTt6LWluZGV4OjEyO3RyYW5zaXRpb246bm9uZTt2aXNpYmlsaXR5OnZpc2libGV9LnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZXt0cmFuc2Zvcm06bm9uZX0ub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9te21hcmdpbi1ib3R0b206MjUwcHh9LnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50e21hcmdpbi1ib3R0b206MjUwcHh9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bXt2aXNpYmlsaXR5OnZpc2libGU7aGVpZ2h0OmF1dG87cG9zaXRpb246c3RhdGljO2JhY2tncm91bmQ6aW5oZXJpdDt3aWR0aDppbmhlcml0O292ZXJmbG93OmluaGVyaXQ7dHJhbnNpdGlvbjppbmhlcml0fS5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbXtib3gtc2hhZG93Om5vbmU7dHJhbnNmb3JtOm5vbmV9Lm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdle3Zpc2liaWxpdHk6dmlzaWJsZTtoZWlnaHQ6YXV0bztwb3NpdGlvbjpzdGF0aWM7YmFja2dyb3VuZDppbmhlcml0O3dpZHRoOmluaGVyaXQ7b3ZlcmZsb3c6aW5oZXJpdDt0cmFuc2l0aW9uOmluaGVyaXR9Lm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b217Ym94LXNoYWRvdzpub25lO3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7Lm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2V7dmlzaWJpbGl0eTp2aXNpYmxlO2hlaWdodDphdXRvO3Bvc2l0aW9uOnN0YXRpYztiYWNrZ3JvdW5kOmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtvdmVyZmxvdzppbmhlcml0O3RyYW5zaXRpb246aW5oZXJpdH0ub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b217Ym94LXNoYWRvdzpub25lO3RyYW5zZm9ybTpub25lfS5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b257ZGlzcGxheTpub25lfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdle3Zpc2liaWxpdHk6dmlzaWJsZTtoZWlnaHQ6YXV0bztwb3NpdGlvbjpzdGF0aWM7YmFja2dyb3VuZDppbmhlcml0O3dpZHRoOmluaGVyaXQ7b3ZlcmZsb3c6aW5oZXJpdDt0cmFuc2l0aW9uOmluaGVyaXR9Lm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWxlZnQsLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWJvdHRvbXtib3gtc2hhZG93Om5vbmU7dHJhbnNmb3JtOm5vbmV9Lm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b257ZGlzcGxheTpub25lfX0ub3JiaXR7cG9zaXRpb246cmVsYXRpdmV9Lm9yYml0LWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MDttYXJnaW46MDtsaXN0LXN0eWxlOm5vbmU7b3ZlcmZsb3c6aGlkZGVufS5vcmJpdC1zbGlkZXt3aWR0aDoxMDAlfS5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmV7dG9wOjA7bGVmdDowfS5vcmJpdC1maWd1cmV7bWFyZ2luOjB9Lm9yYml0LWltYWdle3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjB9Lm9yYml0LWNhcHRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjA7cGFkZGluZzoxcmVtO2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwwLjUpO2NvbG9yOiNmZmZ9Lm9yYml0LXByZXZpb3VzLC5vcmJpdC1uZXh0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDoxMDtwYWRkaW5nOjFyZW07Y29sb3I6I2ZmZn1bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dHtvdXRsaW5lOjB9Lm9yYml0LXByZXZpb3VzOmhvdmVyLC5vcmJpdC1uZXh0OmhvdmVyLC5vcmJpdC1wcmV2aW91czphY3RpdmUsLm9yYml0LW5leHQ6YWN0aXZlLC5vcmJpdC1wcmV2aW91czpmb2N1cywub3JiaXQtbmV4dDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsMC41KX0ub3JiaXQtcHJldmlvdXN7bGVmdDowfS5vcmJpdC1uZXh0e2xlZnQ6YXV0bztyaWdodDowfS5vcmJpdC1idWxsZXRze3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6LjhyZW07bWFyZ2luLWJvdHRvbTouOHJlbTt0ZXh0LWFsaWduOmNlbnRlcn1bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHN7b3V0bGluZTowfS5vcmJpdC1idWxsZXRzIGJ1dHRvbnt3aWR0aDoxLjJyZW07aGVpZ2h0OjEuMnJlbTttYXJnaW46LjFyZW07Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9LnBhZ2luYXRpb257bWFyZ2luLWxlZnQ6MDttYXJnaW4tYm90dG9tOjFyZW19LnBhZ2luYXRpb246OmJlZm9yZSwucGFnaW5hdGlvbjo6YWZ0ZXJ7ZGlzcGxheTp0YWJsZTtjb250ZW50OicgJztmbGV4LWJhc2lzOjA7b3JkZXI6MX0ucGFnaW5hdGlvbjo6YWZ0ZXJ7Y2xlYXI6Ym90aH0ucGFnaW5hdGlvbiBsaXttYXJnaW4tcmlnaHQ6LjA2MjVyZW07Ym9yZGVyLXJhZGl1czowO2ZvbnQtc2l6ZTouODc1cmVtO2Rpc3BsYXk6bm9uZX0ucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxke2Rpc3BsYXk6aW5saW5lLWJsb2NrfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucGFnaW5hdGlvbiBsaXtkaXNwbGF5OmlubGluZS1ibG9ja319LnBhZ2luYXRpb24gYSwucGFnaW5hdGlvbiBidXR0b257ZGlzcGxheTpibG9jaztwYWRkaW5nOi4xODc1cmVtIC42MjVyZW07Ym9yZGVyLXJhZGl1czowO2NvbG9yOiMzMzN9LnBhZ2luYXRpb24gYTpob3ZlciwucGFnaW5hdGlvbiBidXR0b246aG92ZXJ7YmFja2dyb3VuZDojRjZGNkY2fS5wYWdpbmF0aW9uIC5jdXJyZW50e3BhZGRpbmc6LjE4NzVyZW0gLjYyNXJlbTtiYWNrZ3JvdW5kOiMzMzM7Y29sb3I6I2ZmZjtjdXJzb3I6ZGVmYXVsdH0ucGFnaW5hdGlvbiAuZGlzYWJsZWR7cGFkZGluZzouMTg3NXJlbSAuNjI1cmVtO2NvbG9yOiNlZWU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXJ7cGFkZGluZzouMTg3NXJlbSAuNjI1cmVtO2NvbnRlbnQ6J1xcMjAyNic7Y29sb3I6IzMzM30ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6MC41cmVtO2NvbnRlbnQ6J1xcMDBhYid9LnBhZ2luYXRpb24tbmV4dCBhOjphZnRlciwucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDowLjVyZW07Y29udGVudDonXFwwMGJiJ30ucHJvZ3Jlc3N7aGVpZ2h0OjFyZW07bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9LnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVye2JhY2tncm91bmQtY29sb3I6IzMzM30ucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlcntiYWNrZ3JvdW5kLWNvbG9yOiM3Njc2NzZ9LnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVye2JhY2tncm91bmQtY29sb3I6IzNhZGI3Nn0ucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZhZTAwfS5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXJ7YmFja2dyb3VuZC1jb2xvcjojY2M0YjM3fS5wcm9ncmVzcy1tZXRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzMzM30ucHJvZ3Jlc3MtbWV0ZXItdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjA7Zm9udC1zaXplOjAuNzVyZW07Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0uc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDouNXJlbTttYXJnaW4tdG9wOjEuMjVyZW07bWFyZ2luLWJvdHRvbToyLjI1cmVtO2JhY2tncm91bmQtY29sb3I6I0Y2RjZGNjtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO3RvdWNoLWFjdGlvbjpub25lfS5zbGlkZXItZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0Oi41cmVtO2JhY2tncm91bmQtY29sb3I6I2VlZTt0cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2UtaW4tb3V0fS5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZ3t0cmFuc2l0aW9uOmFsbCAwcyBsaW5lYXJ9LnNsaWRlci1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtsZWZ0OjA7ei1pbmRleDoxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEuNHJlbTtoZWlnaHQ6MS40cmVtO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7dHJhbnNpdGlvbjphbGwgMC4ycyBlYXNlLWluLW91dDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufVtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZXtvdXRsaW5lOjB9LnNsaWRlci1oYW5kbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMmIyYjJifS5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5ne3RyYW5zaXRpb246YWxsIDBzIGxpbmVhcn0uc2xpZGVyLmRpc2FibGVkLC5zbGlkZXJbZGlzYWJsZWRde29wYWNpdHk6LjI1O2N1cnNvcjpub3QtYWxsb3dlZH0uc2xpZGVyLnZlcnRpY2Fse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOi41cmVtO2hlaWdodDoxMi41cmVtO21hcmdpbjowIDEuMjVyZW07dHJhbnNmb3JtOnNjYWxlKDEsIC0xKX0uc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbHt0b3A6MDt3aWR0aDouNXJlbTttYXgtaGVpZ2h0OjEwMCV9LnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjUwJTt3aWR0aDoxLjRyZW07aGVpZ2h0OjEuNHJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0uc3RpY2t5LWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZX0uc3RpY2t5e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCl9LnN0aWNreS5pcy1zdHVja3twb3NpdGlvbjpmaXhlZDt6LWluZGV4OjU7d2lkdGg6MTAwJX0uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcHt0b3A6MH0uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbXtib3R0b206MH0uc3RpY2t5LmlzLWFuY2hvcmVke3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0OmF1dG87bGVmdDphdXRvfS5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9te2JvdHRvbTowfWJvZHkuaXMtcmV2ZWFsLW9wZW57b3ZlcmZsb3c6aGlkZGVufWh0bWwuaXMtcmV2ZWFsLW9wZW4saHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5e21pbi1oZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246Zml4ZWQ7dXNlci1zZWxlY3Q6bm9uZX0ucmV2ZWFsLW92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDA1O2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsMC40NSk7b3ZlcmZsb3cteTpzY3JvbGx9LnJldmVhbHt6LWluZGV4OjEwMDY7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTpub25lO3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MTAwcHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0bztvdmVyZmxvdy15OmF1dG99W2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWx7b3V0bGluZTowfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucmV2ZWFse21pbi1oZWlnaHQ6MH19LnJldmVhbCAuY29sdW1ue21pbi13aWR0aDowfS5yZXZlYWw+Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucmV2ZWFse3dpZHRoOjYwMHB4O21heC13aWR0aDo3NXJlbX19LnJldmVhbC5jb2xsYXBzZXtwYWRkaW5nOjB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5yZXZlYWwudGlueXt3aWR0aDozMCU7bWF4LXdpZHRoOjc1cmVtfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnJldmVhbC5zbWFsbHt3aWR0aDo1MCU7bWF4LXdpZHRoOjc1cmVtfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnJldmVhbC5sYXJnZXt3aWR0aDo5MCU7bWF4LXdpZHRoOjc1cmVtfX0ucmV2ZWFsLmZ1bGx7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7bWF4LXdpZHRoOm5vbmU7aGVpZ2h0OjEwMCU7aGVpZ2h0OjEwMHZoO21pbi1oZWlnaHQ6MTAwdmg7bWFyZ2luLWxlZnQ6MDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKXsucmV2ZWFse3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO2hlaWdodDoxMDAlO2hlaWdodDoxMDB2aDttaW4taGVpZ2h0OjEwMHZoO21hcmdpbi1sZWZ0OjA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowfX0ucmV2ZWFsLndpdGhvdXQtb3ZlcmxheXtwb3NpdGlvbjpmaXhlZH0uc3dpdGNoe2hlaWdodDoycmVtO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206MXJlbTtvdXRsaW5lOjA7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojZmZmO3VzZXItc2VsZWN0Om5vbmV9LnN3aXRjaC1pbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tYm90dG9tOjA7b3BhY2l0eTowfS5zd2l0Y2gtcGFkZGxle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6NHJlbTtoZWlnaHQ6MnJlbTtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZDojZWVlO3RyYW5zaXRpb246YWxsIDAuMjVzIGVhc2Utb3V0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcn1pbnB1dCsuc3dpdGNoLXBhZGRsZXttYXJnaW46MH0uc3dpdGNoLXBhZGRsZTo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNXJlbTtsZWZ0Oi4yNXJlbTtkaXNwbGF5OmJsb2NrO3dpZHRoOjEuNXJlbTtoZWlnaHQ6MS41cmVtO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZDojZmZmO3RyYW5zaXRpb246YWxsIDAuMjVzIGVhc2Utb3V0O2NvbnRlbnQ6Jyd9aW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxle2JhY2tncm91bmQ6IzMzM31pbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVye2xlZnQ6Mi4yNXJlbX1bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZXtvdXRsaW5lOjB9LnN3aXRjaC1hY3RpdmUsLnN3aXRjaC1pbmFjdGl2ZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5zd2l0Y2gtYWN0aXZle2xlZnQ6OCU7ZGlzcGxheTpub25lfWlucHV0OmNoZWNrZWQrbGFiZWw+LnN3aXRjaC1hY3RpdmV7ZGlzcGxheTpibG9ja30uc3dpdGNoLWluYWN0aXZle3JpZ2h0OjE1JX1pbnB1dDpjaGVja2VkK2xhYmVsPi5zd2l0Y2gtaW5hY3RpdmV7ZGlzcGxheTpub25lfS5zd2l0Y2gudGlueXtoZWlnaHQ6MS41cmVtfS5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZXt3aWR0aDozcmVtO2hlaWdodDoxLjVyZW07Zm9udC1zaXplOi42MjVyZW19LnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlcnt0b3A6LjI1cmVtO2xlZnQ6LjI1cmVtO3dpZHRoOjFyZW07aGVpZ2h0OjFyZW19LnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXJ7bGVmdDoxLjc1cmVtfS5zd2l0Y2guc21hbGx7aGVpZ2h0OjEuNzVyZW19LnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZXt3aWR0aDozLjVyZW07aGVpZ2h0OjEuNzVyZW07Zm9udC1zaXplOi43NXJlbX0uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlcnt0b3A6LjI1cmVtO2xlZnQ6LjI1cmVtO3dpZHRoOjEuMjVyZW07aGVpZ2h0OjEuMjVyZW19LnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVye2xlZnQ6MnJlbX0uc3dpdGNoLmxhcmdle2hlaWdodDoyLjVyZW19LnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZXt3aWR0aDo1cmVtO2hlaWdodDoyLjVyZW07Zm9udC1zaXplOjFyZW19LnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXJ7dG9wOi4yNXJlbTtsZWZ0Oi4yNXJlbTt3aWR0aDoycmVtO2hlaWdodDoycmVtfS5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlcntsZWZ0OjIuNzVyZW19dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlci1yYWRpdXM6MH10YWJsZSB0aGVhZCx0YWJsZSB0Ym9keSx0YWJsZSB0Zm9vdHtib3JkZXI6MXB4IHNvbGlkICNmMmYyZjI7YmFja2dyb3VuZC1jb2xvcjojZmZmfXRhYmxlIGNhcHRpb257cGFkZGluZzouNXJlbSAuNjI1cmVtIC42MjVyZW07Zm9udC13ZWlnaHQ6NjAwfXRhYmxlIHRoZWFke2JhY2tncm91bmQ6I2Y5ZjlmOTtjb2xvcjojMzMzfXRhYmxlIHRmb290e2JhY2tncm91bmQ6I2YyZjJmMjtjb2xvcjojMzMzfXRhYmxlIHRoZWFkIHRyLHRhYmxlIHRmb290IHRye2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9dGFibGUgdGhlYWQgdGgsdGFibGUgdGhlYWQgdGQsdGFibGUgdGZvb3QgdGgsdGFibGUgdGZvb3QgdGR7cGFkZGluZzouNXJlbSAuNjI1cmVtIC42MjVyZW07Zm9udC13ZWlnaHQ6NjAwO3RleHQtYWxpZ246bGVmdH10YWJsZSB0Ym9keSB0aCx0YWJsZSB0Ym9keSB0ZHtwYWRkaW5nOi41cmVtIC42MjVyZW0gLjYyNXJlbX10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbil7Ym9yZGVyLWJvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2YyZjJmMn10YWJsZS51bnN0cmlwZWQgdGJvZHl7YmFja2dyb3VuZC1jb2xvcjojZmZmfXRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0cntib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKXt0YWJsZS5zdGFjayB0aGVhZHtkaXNwbGF5Om5vbmV9dGFibGUuc3RhY2sgdGZvb3R7ZGlzcGxheTpub25lfXRhYmxlLnN0YWNrIHRyLHRhYmxlLnN0YWNrIHRoLHRhYmxlLnN0YWNrIHRke2Rpc3BsYXk6YmxvY2t9dGFibGUuc3RhY2sgdGR7Ym9yZGVyLXRvcDowfX10YWJsZS5zY3JvbGx7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0b310YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNGY0ZjR9dGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWRlZGVkfXRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX10YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWRlZGVkfS50YWJsZS1zY3JvbGx7b3ZlcmZsb3cteDphdXRvfS50YWJsZS1zY3JvbGwgdGFibGV7d2lkdGg6YXV0b30udGFic3ttYXJnaW46MDtib3JkZXI6MXB4IHNvbGlkICNGNkY2RjY7YmFja2dyb3VuZDojZmZmO2xpc3Qtc3R5bGUtdHlwZTpub25lfS50YWJzOjpiZWZvcmUsLnRhYnM6OmFmdGVye2Rpc3BsYXk6dGFibGU7Y29udGVudDonICc7ZmxleC1iYXNpczowO29yZGVyOjF9LnRhYnM6OmFmdGVye2NsZWFyOmJvdGh9LnRhYnMudmVydGljYWw+bGl7ZGlzcGxheTpibG9jaztmbG9hdDpub25lO3dpZHRoOmF1dG99LnRhYnMuc2ltcGxlPmxpPmF7cGFkZGluZzowfS50YWJzLnNpbXBsZT5saT5hOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LnRhYnMucHJpbWFyeXtiYWNrZ3JvdW5kOiMzMzN9LnRhYnMucHJpbWFyeT5saT5he2NvbG9yOiNmZmZ9LnRhYnMucHJpbWFyeT5saT5hOmhvdmVyLC50YWJzLnByaW1hcnk+bGk+YTpmb2N1c3tiYWNrZ3JvdW5kOiMzZDNkM2R9LnRhYnMtdGl0bGV7ZmxvYXQ6bGVmdH0udGFicy10aXRsZT5he2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxLjI1cmVtIDEuNXJlbTtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzMzM30udGFicy10aXRsZT5hOmhvdmVye2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMmMyYzJjfS50YWJzLXRpdGxlPmE6Zm9jdXMsLnRhYnMtdGl0bGU+YVthcmlhLXNlbGVjdGVkPSd0cnVlJ117YmFja2dyb3VuZDojRjZGNkY2O2NvbG9yOiMzMzN9LnRhYnMtY29udGVudHtib3JkZXI6MXB4IHNvbGlkICNGNkY2RjY7Ym9yZGVyLXRvcDowO2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMzMzO3RyYW5zaXRpb246YWxsIDAuNXMgZWFzZX0udGFicy1jb250ZW50LnZlcnRpY2Fse2JvcmRlcjoxcHggc29saWQgI0Y2RjZGNjtib3JkZXItbGVmdDowfS50YWJzLXBhbmVse2Rpc3BsYXk6bm9uZTtwYWRkaW5nOjFyZW19LnRhYnMtcGFuZWwuaXMtYWN0aXZle2Rpc3BsYXk6YmxvY2t9LnRodW1ibmFpbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjFyZW07Ym9yZGVyOnNvbGlkIDRweCAjZmZmO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDUxLDUxLDUxLDAuMik7bGluZS1oZWlnaHQ6MH1hLnRodW1ibmFpbHt0cmFuc2l0aW9uOmJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXR9YS50aHVtYm5haWw6aG92ZXIsYS50aHVtYm5haWw6Zm9jdXN7Ym94LXNoYWRvdzowIDAgNnB4IDFweCByZ2JhKDUxLDUxLDUxLDAuNSl9YS50aHVtYm5haWwgaW1hZ2V7Ym94LXNoYWRvdzpub25lfS50aXRsZS1iYXJ7cGFkZGluZzouNXJlbTtiYWNrZ3JvdW5kOiMzMzM7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6Y2VudGVyfS50aXRsZS1iYXIgLm1lbnUtaWNvbnttYXJnaW4tbGVmdDouMjVyZW07bWFyZ2luLXJpZ2h0Oi4yNXJlbX0udGl0bGUtYmFyLWxlZnQsLnRpdGxlLWJhci1yaWdodHtmbGV4OjEgMSAwcHh9LnRpdGxlLWJhci1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS50aXRsZS1iYXItdGl0bGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtd2VpZ2h0OmJvbGR9Lmhhcy10aXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWJvdHRvbTpkb3R0ZWQgMXB4ICNkZGQ7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpoZWxwfS50b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDEwMCUgKyAuNjQ5NXJlbSk7ei1pbmRleDoxMjAwO21heC13aWR0aDoxMHJlbTtwYWRkaW5nOi43NXJlbTtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZC1jb2xvcjojMzMzO2ZvbnQtc2l6ZTo4MCU7Y29sb3I6I2ZmZn0udG9vbHRpcDo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlfS50b29sdGlwLmJvdHRvbTo6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgLjc1cmVtO2NvbnRlbnQ6Jyc7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzM7Ym90dG9tOjEwMCV9LnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3Jle2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS50b29sdGlwLnRvcDo6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6aW5zZXQgLjc1cmVtO2NvbnRlbnQ6Jyc7Ym9yZGVyLWJvdHRvbS13aWR0aDowO2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7dG9wOjEwMCU7Ym90dG9tOmF1dG99LnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3Jle2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS50b29sdGlwLmxlZnQ6OmJlZm9yZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IC43NXJlbTtjb250ZW50OicnO2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzO2xlZnQ6MTAwJX0udG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3Jle2JvdHRvbTphdXRvO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnRvb2x0aXAucmlnaHQ6OmJlZm9yZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyOmluc2V0IC43NXJlbTtjb250ZW50OicnO2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3JpZ2h0OjEwMCU7bGVmdDphdXRvfS50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3Jle2JvdHRvbTphdXRvO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmV7Ym90dG9tOmF1dG87dG9wOjEwJX0udG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZXtib3R0b206MTAlO3RvcDphdXRvfS50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZXtsZWZ0OjEwJTtyaWdodDphdXRvfS50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmV7bGVmdDphdXRvO3JpZ2h0OjEwJX0udG9wLWJhcntkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzouNXJlbTtmbGV4LXdyYXA6d3JhcH0udG9wLWJhciwudG9wLWJhciB1bHtiYWNrZ3JvdW5kLWNvbG9yOiNGNkY2RjZ9LnRvcC1iYXIgaW5wdXR7bWF4LXdpZHRoOjIwMHB4O21hcmdpbi1yaWdodDoxcmVtfS50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZHt3aWR0aDoxMDAlO21hcmdpbi1yaWdodDowfS50b3AtYmFyIGlucHV0LmJ1dHRvbnt3aWR0aDphdXRvfS50b3AtYmFyIC50b3AtYmFyLWxlZnQsLnRvcC1iYXIgLnRvcC1iYXItcmlnaHR7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnRvcC1iYXJ7ZmxleC13cmFwOm5vd3JhcH0udG9wLWJhciAudG9wLWJhci1sZWZ0e2ZsZXg6MSAxIGF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LnRvcC1iYXIgLnRvcC1iYXItcmlnaHR7ZmxleDowIDEgYXV0bzttYXJnaW4tbGVmdDphdXRvfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bXtmbGV4LXdyYXA6d3JhcH0udG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCwudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHR7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcuNDM3NWVtKXsudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZXtmbGV4LXdyYXA6d3JhcH0udG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0e2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOC42ODc1ZW0pey50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZXtmbGV4LXdyYXA6d3JhcH0udG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItbGVmdCwudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHR7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX19LnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZXtmbGV4LXdyYXA6d3JhcH0udG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLWxlZnQsLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodHtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS50b3AtYmFyLXRpdGxle2ZsZXg6MCAwIGF1dG87bWFyZ2luOjAuNXJlbSAxcmVtIDAuNXJlbSAwfS50b3AtYmFyLWxlZnQsLnRvcC1iYXItcmlnaHR7ZmxleDowIDAgYXV0b30uaGlkZXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSl7LmhpZGUtZm9yLXNtYWxsLW9ubHl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnNob3ctZm9yLXNtYWxsLW9ubHl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaGlkZS1mb3ItbWVkaXVte2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5zaG93LWZvci1tZWRpdW17ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey5oaWRlLWZvci1tZWRpdW0tb25seXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuc2hvdy1mb3ItbWVkaXVtLW9ubHl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuaGlkZS1mb3ItbGFyZ2V7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSl7LnNob3ctZm9yLWxhcmdle2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODcuNDM3NWVtKXsuaGlkZS1mb3ItbGFyZ2Utb25seXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5zaG93LWZvci1sYXJnZS1vbmx5e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5oaWRlLWZvci14bGFyZ2V7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3LjQzNzVlbSl7LnNob3ctZm9yLXhsYXJnZXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSBhbmQgKG1heC13aWR0aDogMTE4LjY4NzVlbSl7LmhpZGUtZm9yLXhsYXJnZS1vbmx5e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny40Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsuc2hvdy1mb3IteGxhcmdlLW9ubHl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsuaGlkZS1mb3IteHhsYXJnZXtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE4LjY4NzVlbSl7LnNob3ctZm9yLXh4bGFyZ2V7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsuaGlkZS1mb3IteHhsYXJnZS1vbmx5e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTguNjg3NWVtKXsuc2hvdy1mb3IteHhsYXJnZS1vbmx5e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX0uc2hvdy1mb3Itc3IsLnNob3ctb24tZm9jdXN7cG9zaXRpb246YWJzb2x1dGUgIWltcG9ydGFudDt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTt3aGl0ZS1zcGFjZTpub3dyYXA7Y2xpcC1wYXRoOmluc2V0KDUwJSk7Ym9yZGVyOjB9LnNob3ctb24tZm9jdXM6YWN0aXZlLC5zaG93LW9uLWZvY3VzOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50O3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG87d2hpdGUtc3BhY2U6bm9ybWFsO2NsaXAtcGF0aDpub25lfS5zaG93LWZvci1sYW5kc2NhcGUsLmhpZGUtZm9yLXBvcnRyYWl0e2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudH1AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSl7LnNob3ctZm9yLWxhbmRzY2FwZSwuaGlkZS1mb3ItcG9ydHJhaXR7ZGlzcGxheTpibG9jayAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KXsuc2hvdy1mb3ItbGFuZHNjYXBlLC5oaWRlLWZvci1wb3J0cmFpdHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudH19LmhpZGUtZm9yLWxhbmRzY2FwZSwuc2hvdy1mb3ItcG9ydHJhaXR7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9QG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpey5oaWRlLWZvci1sYW5kc2NhcGUsLnNob3ctZm9yLXBvcnRyYWl0e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KXsuaGlkZS1mb3ItbGFuZHNjYXBlLC5zaG93LWZvci1wb3J0cmFpdHtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnR9fS5hbGlnbi1yaWdodHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmFsaWduLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5hbGlnbi1qdXN0aWZ5e2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5hbGlnbi1zcGFjZWR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uYWxpZ24tcmlnaHQudmVydGljYWwubWVudT5saT5he2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnU+bGk+YXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5hbGlnbi10b3B7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uYWxpZ24tc2VsZi10b3B7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5hbGlnbi1ib3R0b217YWxpZ24taXRlbXM6ZmxleC1lbmR9LmFsaWduLXNlbGYtYm90dG9te2FsaWduLXNlbGY6ZmxleC1lbmR9LmFsaWduLW1pZGRsZXthbGlnbi1pdGVtczpjZW50ZXJ9LmFsaWduLXNlbGYtbWlkZGxle2FsaWduLXNlbGY6Y2VudGVyfS5hbGlnbi1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmFsaWduLXNlbGYtc3RyZXRjaHthbGlnbi1zZWxmOnN0cmV0Y2h9LmFsaWduLWNlbnRlci1taWRkbGV7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24tY29udGVudDpjZW50ZXJ9LnNtYWxsLW9yZGVyLTF7b3JkZXI6MX0uc21hbGwtb3JkZXItMntvcmRlcjoyfS5zbWFsbC1vcmRlci0ze29yZGVyOjN9LnNtYWxsLW9yZGVyLTR7b3JkZXI6NH0uc21hbGwtb3JkZXItNXtvcmRlcjo1fS5zbWFsbC1vcmRlci02e29yZGVyOjZ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZWRpdW0tb3JkZXItMXtvcmRlcjoxfS5tZWRpdW0tb3JkZXItMntvcmRlcjoyfS5tZWRpdW0tb3JkZXItM3tvcmRlcjozfS5tZWRpdW0tb3JkZXItNHtvcmRlcjo0fS5tZWRpdW0tb3JkZXItNXtvcmRlcjo1fS5tZWRpdW0tb3JkZXItNntvcmRlcjo2fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmxhcmdlLW9yZGVyLTF7b3JkZXI6MX0ubGFyZ2Utb3JkZXItMntvcmRlcjoyfS5sYXJnZS1vcmRlci0ze29yZGVyOjN9LmxhcmdlLW9yZGVyLTR7b3JkZXI6NH0ubGFyZ2Utb3JkZXItNXtvcmRlcjo1fS5sYXJnZS1vcmRlci02e29yZGVyOjZ9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnhsYXJnZS1vcmRlci0xe29yZGVyOjF9LnhsYXJnZS1vcmRlci0ye29yZGVyOjJ9LnhsYXJnZS1vcmRlci0ze29yZGVyOjN9LnhsYXJnZS1vcmRlci00e29yZGVyOjR9LnhsYXJnZS1vcmRlci01e29yZGVyOjV9LnhsYXJnZS1vcmRlci02e29yZGVyOjZ9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKXsueHhsYXJnZS1vcmRlci0xe29yZGVyOjF9Lnh4bGFyZ2Utb3JkZXItMntvcmRlcjoyfS54eGxhcmdlLW9yZGVyLTN7b3JkZXI6M30ueHhsYXJnZS1vcmRlci00e29yZGVyOjR9Lnh4bGFyZ2Utb3JkZXItNXtvcmRlcjo1fS54eGxhcmdlLW9yZGVyLTZ7b3JkZXI6Nn19LmZsZXgtY29udGFpbmVye2Rpc3BsYXk6ZmxleH0uZmxleC1jaGlsZC1hdXRve2ZsZXg6MSAxIGF1dG99LmZsZXgtY2hpbGQtZ3Jvd3tmbGV4OjEgMCBhdXRvfS5mbGV4LWNoaWxkLXNocmlua3tmbGV4OjAgMSBhdXRvfS5mbGV4LWRpci1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5mbGV4LWRpci1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0uZmxleC1kaXItY29sdW1ue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC1kaXItY29sdW1uLXJldmVyc2V7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZWRpdW0tZmxleC1jb250YWluZXJ7ZGlzcGxheTpmbGV4fS5tZWRpdW0tZmxleC1jaGlsZC1hdXRve2ZsZXg6MSAxIGF1dG99Lm1lZGl1bS1mbGV4LWNoaWxkLWdyb3d7ZmxleDoxIDAgYXV0b30ubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5re2ZsZXg6MCAxIGF1dG99Lm1lZGl1bS1mbGV4LWRpci1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2V7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9Lm1lZGl1bS1mbGV4LWRpci1jb2x1bW57ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2V7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubGFyZ2UtZmxleC1jb250YWluZXJ7ZGlzcGxheTpmbGV4fS5sYXJnZS1mbGV4LWNoaWxkLWF1dG97ZmxleDoxIDEgYXV0b30ubGFyZ2UtZmxleC1jaGlsZC1ncm93e2ZsZXg6MSAwIGF1dG99LmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5re2ZsZXg6MCAxIGF1dG99LmxhcmdlLWZsZXgtZGlyLXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5sYXJnZS1mbGV4LWRpci1jb2x1bW57ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsueGxhcmdlLWZsZXgtY29udGFpbmVye2Rpc3BsYXk6ZmxleH0ueGxhcmdlLWZsZXgtY2hpbGQtYXV0b3tmbGV4OjEgMSBhdXRvfS54bGFyZ2UtZmxleC1jaGlsZC1ncm93e2ZsZXg6MSAwIGF1dG99LnhsYXJnZS1mbGV4LWNoaWxkLXNocmlua3tmbGV4OjAgMSBhdXRvfS54bGFyZ2UtZmxleC1kaXItcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS54bGFyZ2UtZmxleC1kaXItY29sdW1ue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lnh4bGFyZ2UtZmxleC1jb250YWluZXJ7ZGlzcGxheTpmbGV4fS54eGxhcmdlLWZsZXgtY2hpbGQtYXV0b3tmbGV4OjEgMSBhdXRvfS54eGxhcmdlLWZsZXgtY2hpbGQtZ3Jvd3tmbGV4OjEgMCBhdXRvfS54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5re2ZsZXg6MCAxIGF1dG99Lnh4bGFyZ2UtZmxleC1kaXItcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0ueHhsYXJnZS1mbGV4LWRpci1jb2x1bW57ZmxleC1kaXJlY3Rpb246Y29sdW1ufS54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX0uc2xpZGUtaW4tZG93bi5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLCBvcGFjaXR5O2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlcnt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LnNsaWRlLWluLXVwLm11aS1lbnRlcnt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlcnt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9LnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmV7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX0uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZle3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLCBvcGFjaXR5O2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9LmZhZGUtaW4ubXVpLWVudGVye3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO29wYWNpdHk6MDt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmV7b3BhY2l0eToxfS5mYWRlLW91dC5tdWktbGVhdmV7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7b3BhY2l0eToxO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eX0uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmV7b3BhY2l0eTowfS5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO3RyYW5zZm9ybS1vcmlnaW46dG9wO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLCBvcGFjaXR5O29wYWNpdHk6MH0uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO29wYWNpdHk6MX0uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7b3BhY2l0eTowfS5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtvcGFjaXR5OjF9LmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlcnt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmJvdHRvbTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjB9LmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtvcGFjaXR5OjF9LmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLCBvcGFjaXR5O29wYWNpdHk6MH0uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtvcGFjaXR5OjF9LmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVye3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjB9LmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO29wYWNpdHk6MX0uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLCBvcGFjaXR5O29wYWNpdHk6MH0uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7b3BhY2l0eToxfS5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZle3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOnRvcDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjF9LmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7b3BhY2l0eTowfS5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmV7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7b3BhY2l0eToxfS5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7b3BhY2l0eTowfS5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZle3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmJvdHRvbTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjF9LmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9LmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZle3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7b3BhY2l0eToxfS5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO29wYWNpdHk6MH0uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZle3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjF9LmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtvcGFjaXR5OjB9LmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7b3BhY2l0eToxfS5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7b3BhY2l0eTowfS5zY2FsZS1pbi11cC5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnNjYWxlKC41KTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjB9LnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZle3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9LnNjYWxlLWluLWRvd24ubXVpLWVudGVye3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLCBvcGFjaXR5O29wYWNpdHk6MH0uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfS5zY2FsZS1vdXQtdXAubXVpLWxlYXZle3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjF9LnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoMS41KTtvcGFjaXR5OjB9LnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjUwMG1zO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7b3BhY2l0eToxfS5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MH0uc3Bpbi1pbi5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnJvdGF0ZSgtLjc1dHVybik7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7b3BhY2l0eTowfS5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZle3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfS5zcGluLW91dC5tdWktbGVhdmV7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjF9LnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZle3RyYW5zZm9ybTpyb3RhdGUoLjc1dHVybik7b3BhY2l0eTowfS5zcGluLWluLWNjdy5tdWktZW50ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo1MDBtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNmb3JtOnJvdGF0ZSguNzV0dXJuKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwgb3BhY2l0eTtvcGFjaXR5OjB9LnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZle3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfS5zcGluLW91dC1jY3cubXVpLWxlYXZle3RyYW5zaXRpb24tZHVyYXRpb246NTAwbXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sIG9wYWNpdHk7b3BhY2l0eToxfS5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmV7dHJhbnNmb3JtOnJvdGF0ZSgtLjc1dHVybik7b3BhY2l0eTowfS5zbG93e3RyYW5zaXRpb24tZHVyYXRpb246NzUwbXMgIWltcG9ydGFudH0uZmFzdHt0cmFuc2l0aW9uLWR1cmF0aW9uOjI1MG1zICFpbXBvcnRhbnR9LmxpbmVhcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXIgIWltcG9ydGFudH0uZWFzZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlICFpbXBvcnRhbnR9LmVhc2UtaW57dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbiAhaW1wb3J0YW50fS5lYXNlLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCAhaW1wb3J0YW50fS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dCAhaW1wb3J0YW50fS5ib3VuY2UtaW57dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnR9LmJvdW5jZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50fS5ib3VuY2UtaW4tb3V0e3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50fS5zaG9ydC1kZWxheXt0cmFuc2l0aW9uLWRlbGF5OjMwMG1zICFpbXBvcnRhbnR9LmxvbmctZGVsYXl7dHJhbnNpdGlvbi1kZWxheTo3MDBtcyAhaW1wb3J0YW50fS5zaGFrZXthbmltYXRpb24tbmFtZTpzaGFrZS03fUBrZXlmcmFtZXMgc2hha2UtN3swJSwxMCUsMjAlLDMwJSw0MCUsNTAlLDYwJSw3MCUsODAlLDkwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCg3JSl9NSUsMTUlLDI1JSwzNSUsNDUlLDU1JSw2NSUsNzUlLDg1JSw5NSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTclKX19LnNwaW4tY3d7YW5pbWF0aW9uLW5hbWU6c3Bpbi1jdy0xdHVybn1Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm57MCV7dHJhbnNmb3JtOnJvdGF0ZSgtMXR1cm4pfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX19LnNwaW4tY2N3e2FuaW1hdGlvbi1uYW1lOnNwaW4tY3ctMXR1cm59QGtleWZyYW1lcyBzcGluLWN3LTF0dXJuezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LndpZ2dsZXthbmltYXRpb24tbmFtZTp3aWdnbGUtN2RlZ31Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnezQwJSw1MCUsNjAle3RyYW5zZm9ybTpyb3RhdGUoN2RlZyl9MzUlLDQ1JSw1NSUsNjUle3RyYW5zZm9ybTpyb3RhdGUoLTdkZWcpfTAlLDMwJSw3MCUsMTAwJXt0cmFuc2Zvcm06cm90YXRlKDApfX0uc2hha2UsLnNwaW4tY3csLnNwaW4tY2N3LC53aWdnbGV7YW5pbWF0aW9uLWR1cmF0aW9uOjUwMG1zfS5pbmZpbml0ZXthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS5zbG93e2FuaW1hdGlvbi1kdXJhdGlvbjo3NTBtcyAhaW1wb3J0YW50fS5mYXN0e2FuaW1hdGlvbi1kdXJhdGlvbjoyNTBtcyAhaW1wb3J0YW50fS5saW5lYXJ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXIgIWltcG9ydGFudH0uZWFzZXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UgIWltcG9ydGFudH0uZWFzZS1pbnthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4gIWltcG9ydGFudH0uZWFzZS1vdXR7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCAhaW1wb3J0YW50fS5lYXNlLWluLW91dHthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0ICFpbXBvcnRhbnR9LmJvdW5jZS1pbnthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50fS5ib3VuY2Utb3V0e2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50fS5ib3VuY2UtaW4tb3V0e2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnR9LnNob3J0LWRlbGF5e2FuaW1hdGlvbi1kZWxheTozMDBtcyAhaW1wb3J0YW50fS5sb25nLWRlbGF5e2FuaW1hdGlvbi1kZWxheTo3MDBtcyAhaW1wb3J0YW50fS5pY29uLXNwaW57LXdlYmtpdC1hbmltYXRpb246aWNvbi1zcGluIDAuNHMgbm9ybWFsIGxpbmVhcjthbmltYXRpb246aWNvbi1zcGluIDAuNHMgbm9ybWFsIGxpbmVhcjstd2Via2l0LWZpbHRlcjpibHVyKDApfUAtd2Via2l0LWtleWZyYW1lcyBpY29uLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9fUBrZXlmcmFtZXMgaWNvbi1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfX0uaWNvbi1zcGluMnstd2Via2l0LWFuaW1hdGlvbjppY29uLXNwaW4yIDAuNHMgbm9ybWFsIGxpbmVhcjthbmltYXRpb246aWNvbi1zcGluMiAwLjRzIG5vcm1hbCBsaW5lYXI7LXdlYmtpdC1maWx0ZXI6Ymx1cigwKX1ALXdlYmtpdC1rZXlmcmFtZXMgaWNvbi1zcGluMnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX19QGtleWZyYW1lcyBpY29uLXNwaW4yezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidkaWRvdF9sdF9zdGRpdGFsaWMnO3NyYzp1cmwoXCIuLi9mb250cy9kaWRvdGx0c3RkLWl0YWxpYy13ZWJmb250LmVvdFwiKTtzcmM6dXJsKFwiLi4vZm9udHMvZGlkb3RsdHN0ZC1pdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLHVybChcIi4uL2ZvbnRzL2RpZG90bHRzdGQtaXRhbGljLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzL2RpZG90bHRzdGQtaXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLHVybChcIi4uL2ZvbnRzL2RpZG90bHRzdGQtaXRhbGljLXdlYmZvbnQuc3ZnI2RpZG90X2x0X3N0ZGl0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J2RpZG90X2x0X3N0ZGJvbGQnO3NyYzp1cmwoXCIuLi9mb250cy9kaWRvdGx0c3RkLWJvbGQtd2ViZm9udC5lb3RcIik7c3JjOnVybChcIi4uL2ZvbnRzL2RpZG90bHRzdGQtYm9sZC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksdXJsKFwiLi4vZm9udHMvZGlkb3RsdHN0ZC1ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzL2RpZG90bHRzdGQtYm9sZC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoXCIuLi9mb250cy9kaWRvdGx0c3RkLWJvbGQtd2ViZm9udC5zdmcjZGlkb3RfbHRfc3RkYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J2RpZG90X2x0X3N0ZHJlZ3VsYXInO3NyYzp1cmwoXCIuLi9mb250cy9kaWRvdGx0c3RkLXJvbWFuLXdlYmZvbnQuZW90XCIpO3NyYzp1cmwoXCIuLi9mb250cy9kaWRvdGx0c3RkLXJvbWFuLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSx1cmwoXCIuLi9mb250cy9kaWRvdGx0c3RkLXJvbWFuLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybChcIi4uL2ZvbnRzL2RpZG90bHRzdGQtcm9tYW4td2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksdXJsKFwiLi4vZm9udHMvZGlkb3RsdHN0ZC1yb21hbi13ZWJmb250LnN2ZyNkaWRvdF9sdF9zdGRyZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWx9aDEsaDIsaDMsaDQsaDUsaDZ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyPi5ncmlkLXh7aGVpZ2h0OjEwMCU7ZmxleDoxfX1odG1sLGJvZHl7aGVpZ2h0OjEwMCV9OmZvY3Vze291dGxpbmU6bm9uZX1hey13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0fWE6Zm9jdXMsYTpob3ZlcixhOmFjdGl2ZXtvdXRsaW5lOm5vbmV9YS5mYW5jeS1saW5re2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAwfWEuZmFuY3ktbGluazpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX1hLnVuZGVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Zm9udC13ZWlnaHQ6NDAwfWEudW5kZXI6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJ1dHRvbnt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2xldHRlci1zcGFjaW5nOjFweDstd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5idXR0b24uZXhwYW5kZWQtZm9yLXNtYWxse3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja319LmJ1dHRvbi53aGl0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDAwO2JvcmRlci1jb2xvcjojMDAwfS5idXR0b24uY29taW5nLXNvb257YmFja2dyb3VuZDojRjZGNkY2O2JvcmRlcjoxcHggc29saWQgI2RkZH0uYnV0dG9uOmhvdmVye29wYWNpdHk6MC41fS56b29tLWluey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAycyBlYXNlLW91dDstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnMgZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnMgZWFzZS1vdXQ7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAycyBlYXNlLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAycyBlYXNlLW91dDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjA0LCAxLjA0KTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjA0LCAxLjA0KTstby10cmFuc2Zvcm06c2NhbGUoMS4wNCwgMS4wNCk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjA0LCAxLjA0KTt0cmFuc2Zvcm06c2NhbGUoMS4wNCwgMS4wNCl9LmJhcmJhLWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmZ9LnByZWxvYWRlcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ei1pbmRleDoyMDAwfS5wcmVsb2FkZXI6YWZ0ZXJ7Y29udGVudDonJzttYXJnaW46YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7YmFja2dyb3VuZDp1cmwoLi4vaW1nL2J0LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7ZGlzcGxheTpibG9jaztvcGFjaXR5OjAuMjthbmltYXRpb246ZmxpY2tlckFuaW1hdGlvbiAxLjVzIGluZmluaXRlIGxpbmVhcn1Aa2V5ZnJhbWVzIGZsaWNrZXJBbmltYXRpb257MCV7b3BhY2l0eTowLjJ9NTAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MC4yfX0uYW5pbWF0ZS1mbGlja2Vye2FuaW1hdGlvbjpmbGlja2VyQW5pbWF0aW9uIDFzIGluZmluaXRlfS5wYWdlbmF2e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MzAwO2JvdHRvbToxNXB4O3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucGFnZW5hdnt3aWR0aDo4MHB4O2hlaWdodDo4MHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnBhZ2VuYXZ7Ym90dG9tOmF1dG87cG9zaXRpb246Zml4ZWQ7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpey5wYWdlbmF2e3dpZHRoOjYwcHg7aGVpZ2h0OjEyMHB4O29wYWNpdHk6MC40fX0ucGFnZW5hdjpob3ZlcntvcGFjaXR5OjAuOH0ucGFnZW5hdi5uZXh0e3JpZ2h0Oi0zMHB4O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NjBweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjYwcHg7YmFja2dyb3VuZDp1cmwoLi4vaW1nL2Fycm93LXJpZ2h0LXdoaXRlLnN2ZykgcmdiYSgwLDAsMCwwLjIpIG5vLXJlcGVhdCAyNSUgNTAlLzE2cHggMTZweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnBhZ2VuYXYubmV4dHtyaWdodDotNDBweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjgwcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4MHB4O2JhY2tncm91bmQtc2l6ZToyNHB4IDI0cHh9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KXsucGFnZW5hdi5uZXh0e3JpZ2h0Oi0zMHB4O2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEyMHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTIwcHg7YmFja2dyb3VuZDp1cmwoLi4vaW1nL2Fycm93LXJpZ2h0LXdoaXRlLnN2ZykgIzAwMCBuby1yZXBlYXQgMzBweCA0NXB4LzIwcHggMzJweH0ucGFnZW5hdi5uZXh0OmhvdmVye3JpZ2h0OjB9fS5wYWdlbmF2LnByZXZ7bGVmdDotMzBweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo2MHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjYwcHg7YmFja2dyb3VuZDp1cmwoLi4vaW1nL2Fycm93LWxlZnQtd2hpdGUuc3ZnKSByZ2JhKDAsMCwwLDAuMikgbm8tcmVwZWF0IDc1JSA1MCUvMTZweCAxNnB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucGFnZW5hdi5wcmV2e2xlZnQ6LTQwcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ODBweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo4MHB4O2JhY2tncm91bmQtc2l6ZToyNHB4IDI0cHh9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KXsucGFnZW5hdi5wcmV2e2xlZnQ6LTMwcHg7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjEyMHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEyMHB4O2JhY2tncm91bmQ6dXJsKC4uL2ltZy9hcnJvdy1sZWZ0LXdoaXRlLnN2ZykgIzAwMCBuby1yZXBlYXQgMTJweCA0NXB4LzIwcHggMzJweH0ucGFnZW5hdi5wcmV2OmhvdmVye2xlZnQ6MH19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpey5uYXZuZXh0c2xpZGVvdXR7cmlnaHQ6MDthbmltYXRpb246bmF2bmV4dHNsaWRlb3V0IDEuMnMgbGluZWFyfX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCl7Lm5hdnByZXZzbGlkZW91dHtsZWZ0OjA7YW5pbWF0aW9uOm5hdnByZXZzbGlkZW91dCAxLjJzIGxpbmVhcn19QGtleWZyYW1lcyBuYXZuZXh0c2xpZGVvdXR7MCV7cmlnaHQ6MDtvcGFjaXR5Oi41fTgwJXtyaWdodDowO29wYWNpdHk6LjV9MTAwJXtyaWdodDotMzBweDtvcGFjaXR5Oi4yfX1Aa2V5ZnJhbWVzIG5hdnByZXZzbGlkZW91dHswJXtsZWZ0OjA7b3BhY2l0eTouNX04MCV7bGVmdDowO29wYWNpdHk6LjV9MTAwJXtsZWZ0Oi0zMHB4O29wYWNpdHk6LjJ9fS5uYXY6YmVmb3Jle3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7ei1pbmRleDo1MDA7YmFja2dyb3VuZDojMDAwO2NvbnRlbnQ6Jyc7d2lkdGg6NTBweDtoZWlnaHQ6NTBweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm5hdjpiZWZvcmV7d2lkdGg6NjBweDtoZWlnaHQ6NjBweH19Lm5hdiBidXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDt6LWluZGV4OjYwMDtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3RleHQtaW5kZW50Oi05OTk5cHg7YmFja2dyb3VuZDojMDAwO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHh9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5uYXYgYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHh9fS5uYXYgYnV0dG9uIHNwYW57YmFja2dyb3VuZDpuby1yZXBlYXQgY2VudGVyIGNlbnRlci8yMHB4IDE2cHg7ZGlzcGxheTpibG9jazt3aWR0aDo1MHB4O2hlaWdodDo1MHB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubmF2IGJ1dHRvbiBzcGFue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHh9fS5uYXYgYnV0dG9uLm5hdmNvbnRlbnRzIHNwYW57YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL21lbnUuc3ZnKX0ubmF2IGJ1dHRvbi5uYXZjb250ZW50c2Nsb3Nle2Rpc3BsYXk6bm9uZX0ubmF2IGJ1dHRvbi5uYXZjb250ZW50c2Nsb3NlIHNwYW57YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2Nsb3NlLnN2Zyl9Lm5hdiBidXR0b24ubmF2c2hhcmV7cmlnaHQ6NTNweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm5hdiBidXR0b24ubmF2c2hhcmV7cmlnaHQ6NjNweH19Lm5hdiBidXR0b24ubmF2c2hhcmUgc3BhbntiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvc2hhcmUuc3ZnKX0ubmF2c2hhcmUtZHJvcGRvd257YmFja2dyb3VuZDojMDAwO2NvbG9yOiNmZmY7Ym9yZGVyOjA7d2lkdGg6NTBweDtwb3NpdGlvbjpmaXhlZDt0b3A6NTBweDtyaWdodDo1M3B4O3otaW5kZXg6NTAwfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubmF2c2hhcmUtZHJvcGRvd257d2lkdGg6NjBweDt0b3A6NjBweDtyaWdodDo2M3B4fX0ubmF2c2hhcmUtZHJvcGRvd24gYXtkaXNwbGF5OmJsb2NrO2hlaWdodDo1MHB4O2JhY2tncm91bmQ6bm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMjBweCAxNnB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubmF2c2hhcmUtZHJvcGRvd24gYXtoZWlnaHQ6NjBweH19Lm5hdnNoYXJlLWRyb3Bkb3duIGEubmF2c2hhcmUtZmFjZWJvb2t7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2ZhY2Vib29rLnN2Zyk7YmFja2dyb3VuZC1jb2xvcjojM0I1OTk4fS5uYXZzaGFyZS1kcm9wZG93biBhLm5hdnNoYXJlLXR3aXR0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3R3aXR0ZXIuc3ZnKTtiYWNrZ3JvdW5kLWNvbG9yOiM0MDk5RkZ9Lm5hdnNoYXJlLWRyb3Bkb3duIGEubmF2c2hhcmUtZ29vZ2xlcGx1c3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZ29vZ2xlcGx1cy5zdmcpO2JhY2tncm91bmQtY29sb3I6I0QzNDgzNn0ucGFnZS10aXRsZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMzMzM7bGluZS1oZWlnaHQ6MS4zfS5wYWdlLXRpdGxlIGIsLnBhZ2UtdGl0bGUgc3Ryb25ne2ZvbnQtZmFtaWx5OlwiZnV0dXJhLXB0LWJvbGRcIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMH0ucGFnZS10aXRsZSBzcGFuLnBhZ2UtdGl0bGUtbG9nb3tkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTk5cHg7YmFja2dyb3VuZDp1cmwoLi4vaW1nL2xvZ28tYmxhY2suc3ZnKSBuby1yZXBlYXQgdG9wIGxlZnQvY29udGFpbjtoZWlnaHQ6MTZweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnBhZ2UtdGl0bGUgc3Bhbi5wYWdlLXRpdGxlLWxvZ297aGVpZ2h0OjI1cHh9fS5wYWdlLWxlYWR7Zm9udC1mYW1pbHk6XCJmdXR1cmEtcHQtYm9sZFwiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsaW5lLWhlaWdodDowLjk7Zm9udC1zaXplOjEuODc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucGFnZS1sZWFke2ZvbnQtc2l6ZTozcmVtfX0ucGFnZS1sZWFkIHNwYW4ucGFnZS1sZWFkLWlzc3Vle2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6XCJmdXR1cmEtcHRcIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjM7Zm9udC1zaXplOi43NXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnBhZ2UtbGVhZCBzcGFuLnBhZ2UtbGVhZC1pc3N1ZXtmb250LXNpemU6MS4xMjVyZW19fS5tZW51LWNvbnRhaW5lcntwYWRkaW5nLXRvcDo4MHB4O3BhZGRpbmctYm90dG9tOjgwcHg7bWF4LXdpZHRoOjk1MHB4O21hcmdpbjowIGF1dG99QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZW51LWNvbnRhaW5lcntwYWRkaW5nLXRvcDoxMDBweDtwYWRkaW5nLWJvdHRvbToxMDBweH19Lm1lbnUtcGFnZS10aXRsZXtwYWRkaW5nLWJvdHRvbTozMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7Zm9udC1zaXplOjEuMTI1cmVtfS5tZW51LXBhZ2UtdGl0bGU6OmJlZm9yZSwubWVudS1wYWdlLXRpdGxlOjphZnRlcntkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6JyAnO2ZsZXgtYmFzaXM6MDtvcmRlcjoxfS5tZW51LXBhZ2UtdGl0bGU6OmFmdGVye2NsZWFyOmJvdGh9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZW51LXBhZ2UtdGl0bGV7cGFkZGluZy1ib3R0b206MTBweDttYXJnaW4tYm90dG9tOjYwcHh9fS5tZW51LXBhZ2UtdGl0bGUgc3Bhbi5wYWdlLXRpdGxlLWxvZ297aGVpZ2h0OjI1cHh9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZW51LXBhZ2UtdGl0bGUgc3Bhbi5wYWdlLXRpdGxlLWxvZ297ZmxvYXQ6bGVmdDt3aWR0aDo1MCV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubWVudS1wYWdlLXRpdGxlIC5wYWdlLXRpdGxlLXRleHR7ZmxvYXQ6cmlnaHR9fS5tZW51LW1haW4tbGlua3N7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYzttYXJnaW4tYm90dG9tOjE1cHh9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZW51LW1haW4tbGlua3N7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgd3JhcH19Lm1lbnUtbWFpbi1saW5rcyAubWVudS1tYWluLWxpbmtzLXRpdGxle2ZvbnQtc2l6ZToxLjYyNXJlbTtmb250LXdlaWdodDo3MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lbnUtbWFpbi1saW5rcyAubWVudS1tYWluLWxpbmtzLXRpdGxle2ZvbnQtc2l6ZToycmVtO3dpZHRoOjUwJTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7Lm1lbnUtbWFpbi1saW5rcyAubWVudS1tYWluLWxpbmtzLXRpdGxle2ZvbnQtc2l6ZToyLjI1cmVtO3dpZHRoOjMzLjMzMzMzJTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfX0ubWVudS1tYWluLWxpbmtzIC5tZW51LW1haW4tbGlua3MtdGl0bGU6YWZ0ZXJ7Y29udGVudDonJztiYWNrZ3JvdW5kOnVybCguLi9pbWcvYXJyb3ctcmlnaHQuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0LzEwcHggMTBweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7d2lkdGg6MjBweDtoZWlnaHQ6MTAwJX0ubWVudS1jb250ZW50LWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgd3JhcDttYXJnaW4tbGVmdDotLjkzNzVyZW07bWFyZ2luLXJpZ2h0Oi0uOTM3NXJlbX0ubWVudS1jb250ZW50LWxpc3QgLm1lbnUtY29udGVudC1saXN0aXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7d2lkdGg6Y2FsYygxMDAlIC0gMS44NzVyZW0pO21hcmdpbi1yaWdodDouOTM3NXJlbTttYXJnaW4tbGVmdDouOTM3NXJlbTtwYWRkaW5nOjE1cHggMDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsubWVudS1jb250ZW50LWxpc3QgLm1lbnUtY29udGVudC1saXN0aXRlbXt3aWR0aDpjYWxjKDUwJSAtIDEuODc1cmVtKTttYXJnaW4tcmlnaHQ6LjkzNzVyZW07bWFyZ2luLWxlZnQ6LjkzNzVyZW19fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubWVudS1jb250ZW50LWxpc3QgLm1lbnUtY29udGVudC1saXN0aXRlbXt3aWR0aDpjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTttYXJnaW4tcmlnaHQ6LjkzNzVyZW07bWFyZ2luLWxlZnQ6LjkzNzVyZW19fS5tZW51LWNvbnRlbnQtbGlzdCAubWVudS1jb250ZW50LWxpc3RpdGVtIC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0taW1hZ2V7bWF4LXdpZHRoOjEwMHB4fS5tZW51LWNvbnRlbnQtbGlzdCAubWVudS1jb250ZW50LWxpc3RpdGVtIC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0taW1hZ2UgaW1ne21heC13aWR0aDpub25lO3dpZHRoOjgwcHg7ZGlzcGxheTpibG9ja31AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lbnUtY29udGVudC1saXN0IC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0gLm1lbnUtY29udGVudC1saXN0aXRlbS1pbWFnZSBpbWd7d2lkdGg6MTAwcHh9fS5tZW51LWNvbnRlbnQtbGlzdCAubWVudS1jb250ZW50LWxpc3RpdGVtIC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0tdGV4dHtwYWRkaW5nOjAgMTVweCAwIDE1cHh9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5tZW51LWNvbnRlbnQtbGlzdCAubWVudS1jb250ZW50LWxpc3RpdGVtIC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0tdGV4dHtwYWRkaW5nOjAgMjBweCAwIDE1cHh9fS5tZW51LWNvbnRlbnQtbGlzdCAubWVudS1jb250ZW50LWxpc3RpdGVtIC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0tdGV4dCAubWVudS1jb250ZW50LWxpc3RpdGVtLXR5cGV7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRpdGFsaWNcIjtmb250LXNpemU6Ljc1cmVtO21hcmdpbjowfS5tZW51LWNvbnRlbnQtbGlzdCAubWVudS1jb250ZW50LWxpc3RpdGVtIC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0tdGV4dCAubWVudS1jb250ZW50LWxpc3RpdGVtLXRpdGxle2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjgwMH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lm1lbnUtY29udGVudC1saXN0IC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0gLm1lbnUtY29udGVudC1saXN0aXRlbS10ZXh0IC5tZW51LWNvbnRlbnQtbGlzdGl0ZW0tdGl0bGV7Zm9udC1zaXplOjEuMTI1cmVtfX0ubWVudS1jb250ZW50LWxpc3QgLm1lbnUtY29udGVudC1saXN0aXRlbSAubWVudS1wYWdlLW51bWJlcnN7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtmb250LXNpemU6MS4zNzVyZW07Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRyZWd1bGFyXCJ9dmlkZW8uYmd2aWR7cG9zaXRpb246Zml4ZWQ7dG9wOjUwJTtsZWZ0OjUwJTttaW4td2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzt6LWluZGV4Oi0xMDA7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO2JhY2tncm91bmQ6dXJsKC8vYnJvd250aG9tYXMuYS5iaWdjb250ZW50LmlvL3YxL3N0YXRpYy9zdW1tZXItYnV0dGVyZmx5LW1vYmlsZS0yKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb3Zlcn1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7dmlkZW8uYmd2aWR7YmFja2dyb3VuZC1pbWFnZTp1cmwoLy9pMS5hZGlzLndzL3YvYnJvd25fdGhvbWFzL3N1bW1lci1idXR0ZXJmbHktdmlkZW8tNzIwcD9xbHQ9MTAwJnVuc2hhcnA9MCwxLDEsNyl9fXZpZGVvLmJndmlkLmFydGljbGUtcGFnZS1tZWRpYS12aWRlb3twb3NpdGlvbjphYnNvbHV0ZX0uYWR2ZXJ0LXBhZ2UtdmlkZW8gdmlkZW8uYmd2aWR7YmFja2dyb3VuZDpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDowO21pbi13aWR0aDowO3otaW5kZXg6MX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pe3ZpZGVvLmJndmlke2Rpc3BsYXk6bm9uZX19LmNvdmVyLXBhZ2V7aGVpZ2h0OjEwMHZoO2JhY2tncm91bmQ6dXJsKC8vYnJvd250aG9tYXMuYS5iaWdjb250ZW50LmlvL3YxL3N0YXRpYy9zdW1tZXItYnV0dGVyZmx5LW1vYmlsZS0yKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5jb3Zlci1wYWdle2JhY2tncm91bmQtaW1hZ2U6dXJsKC8vaTEuYWRpcy53cy92L2Jyb3duX3Rob21hcy9zdW1tZXItYnV0dGVyZmx5LXZpZGVvLTcyMHA/cWx0PTEwMCZ1bnNoYXJwPTAsMSwxLDcpfX0uY292ZXItcGFnZSAuY292ZXItcGFnZS13cmFwcGVye3BhZGRpbmctdG9wOi45Mzc1cmVtO3BhZGRpbmctYm90dG9tOi45Mzc1cmVtO3BhZGRpbmctbGVmdDouOTM3NXJlbTtwYWRkaW5nLXJpZ2h0Oi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuY292ZXItcGFnZSAuY292ZXItcGFnZS13cmFwcGVye3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjEuODc1cmVtO3BhZGRpbmctbGVmdDoxLjg3NXJlbTtwYWRkaW5nLXJpZ2h0OjEuODc1cmVtfX0uY292ZXItcGFnZSAuY292ZXItcGFnZS10aXRsZXtjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgMnB4IDEwcHggcmdiYSg1MSw1MSw1MSwwLjIpLDAgMCAycHggcmdiYSgwLDAsMCwwLjEpO2ZvbnQtc2l6ZToxLjI1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuY292ZXItcGFnZSAuY292ZXItcGFnZS10aXRsZXtmb250LXNpemU6M3JlbX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuY292ZXItcGFnZSAuY292ZXItcGFnZS10aXRsZXtmb250LXNpemU6My43NXJlbX19LmNvdmVyLXBhZ2UgLmNvdmVyLXBhZ2UtdGl0bGUgc3Bhbi5wYWdlLXRpdGxlLWxvZ297YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2xvZ28uc3ZnKTt3aWR0aDoxMDAlO2hlaWdodDoxOHB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpey5jb3Zlci1wYWdlIC5jb3Zlci1wYWdlLXRpdGxlIHNwYW4ucGFnZS10aXRsZS1sb2dve2hlaWdodDoyM3B4fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwMHB4KXsuY292ZXItcGFnZSAuY292ZXItcGFnZS10aXRsZSBzcGFuLnBhZ2UtdGl0bGUtbG9nb3toZWlnaHQ6MjdweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5jb3Zlci1wYWdlIC5jb3Zlci1wYWdlLXRpdGxlIHNwYW4ucGFnZS10aXRsZS1sb2dve3dpZHRoOjU2NXB4O2hlaWdodDo1NXB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5jb3Zlci1wYWdlIC5jb3Zlci1wYWdlLXRpdGxlIHNwYW4ucGFnZS10aXRsZS1sb2dve3dpZHRoOjcwMHB4O2hlaWdodDo2OHB4fX0uY292ZXItcGFnZSAuY292ZXItcGFnZS1sZWFke3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mjtib3R0b206NjBweDtsZWZ0OjA7d2lkdGg6NzAlO21hcmdpbi1ib3R0b206LjkzNzVyZW07bWFyZ2luLWxlZnQ6LjkzNzVyZW07Zm9udC1zaXplOjNyZW07Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoNTEsNTEsNTEsMC4yKSwwIDAgMnB4IHJnYmEoMCwwLDAsMC4xKX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmNvdmVyLXBhZ2UgLmNvdmVyLXBhZ2UtbGVhZHtib3R0b206MH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5jb3Zlci1wYWdlIC5jb3Zlci1wYWdlLWxlYWR7bWFyZ2luLWJvdHRvbToxLjg3NXJlbTttYXJnaW4tbGVmdDoxLjg3NXJlbX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5jb3Zlci1wYWdlIC5jb3Zlci1wYWdlLWxlYWR7Zm9udC1zaXplOjEwMHB4fX0uY292ZXItcGFnZSAuY292ZXItcGFnZS1sZWFkIHNwYW4ucGFnZS1sZWFkLWlzc3Vle2ZvbnQtc2l6ZToxLjI1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuY292ZXItcGFnZSAuY292ZXItcGFnZS1sZWFkIHNwYW4ucGFnZS1sZWFkLWlzc3Vle2ZvbnQtc2l6ZTozcmVtfX0uZmVhdHVyZS1wYWdlIC5mZWF0dXJlLXBhZ2UtdGl0bGV7Zm9udC1zaXplOi44NzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5mZWF0dXJlLXBhZ2UgLmZlYXR1cmUtcGFnZS10aXRsZXtmb250LXNpemU6MS4zNzVyZW19fS5mZWF0dXJlLXBhZ2UgLmZlYXR1cmUtcGFnZS1zaWRlYmFye3BhZGRpbmctdG9wOi45Mzc1cmVtO3BhZGRpbmctYm90dG9tOi45Mzc1cmVtO3BhZGRpbmctbGVmdDouOTM3NXJlbTtwYWRkaW5nLXJpZ2h0Oi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZmVhdHVyZS1wYWdlIC5mZWF0dXJlLXBhZ2Utc2lkZWJhcntwYWRkaW5nLXRvcDoxLjg3NXJlbTtwYWRkaW5nLWJvdHRvbToxLjg3NXJlbTtwYWRkaW5nLWxlZnQ6MS44NzVyZW07cGFkZGluZy1yaWdodDoxLjg3NXJlbX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5mZWF0dXJlLXBhZ2UgLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWR7aGVpZ2h0OjEwMHZofX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey5mZWF0dXJlLXBhZ2UgLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWR7d2lkdGg6YXV0byAhaW1wb3J0YW50fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmZlYXR1cmUtcGFnZSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZCAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVte3dpZHRoOjI1MHB4fX0uZmVhdHVyZS1wYWdlIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0gLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbS1pbWFnZXtiYWNrZ3JvdW5kOm5vLXJlcGVhdCB0b3AgY2VudGVyL2NvdmVyfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSl7LmZlYXR1cmUtcGFnZSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZCAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0taW1hZ2V7d2lkdGg6MzMuMzMzMzMlfX0uZmVhdHVyZS1wYWdlIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0gLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbS10ZXh0e2hlaWdodDoyMDBweDtwYWRkaW5nLXRvcDouOTM3NXJlbTtwYWRkaW5nLWJvdHRvbTouOTM3NXJlbTtwYWRkaW5nLWxlZnQ6LjkzNzVyZW07cGFkZGluZy1yaWdodDouOTM3NXJlbX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmZlYXR1cmUtcGFnZSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZCAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0tdGV4dHtoZWlnaHQ6MjUwcHh9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSl7LmZlYXR1cmUtcGFnZSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZCAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0tdGV4dHt3aWR0aDo2Ni42NjY2NyV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZmVhdHVyZS1wYWdlIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0gLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbS10ZXh0e3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjEuODc1cmVtO3BhZGRpbmctbGVmdDoxLjg3NXJlbTtwYWRkaW5nLXJpZ2h0OjEuODc1cmVtfX0uZmVhdHVyZS1wYWdlIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0gLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbS10ZXh0IC5mZWF0dXJlLXR5cGV7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRpdGFsaWNcIjtmb250LXNpemU6Ljg3NXJlbTttYXJnaW46MH0uZmVhdHVyZS1wYWdlIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0gLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbS10ZXh0IC5mZWF0dXJlLXRpdGxle2ZvbnQtc2l6ZToxLjEyNXJlbTtmb250LXdlaWdodDo4MDB9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCl7LmZlYXR1cmUtcGFnZSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZCAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0tdGV4dCAuZmVhdHVyZS10aXRsZXtmb250LXNpemU6MS4zNzVyZW19fS5mZWF0dXJlLXBhZ2UgLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQgLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtLXRleHQgLmZlYXR1cmUtY29weXtmb250LXNpemU6Ljc1cmVtfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpey5mZWF0dXJlLXBhZ2UgLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQgLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtLXRleHQgLmZlYXR1cmUtY29weXtmb250LXNpemU6Ljg3NXJlbX19LmZlYXR1cmUtcGFnZSAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZCAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtOm50aC1jaGlsZChvZGQpIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0tdGV4dHtiYWNrZ3JvdW5kOiNGNkY2RjZ9LmFydGljbGUtcGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDo1MDBweDtiYWNrZ3JvdW5kOm5vLXJlcGVhdCB0b3AgY2VudGVyL2NvdmVyfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtbWVkaWF7aGVpZ2h0OjgwMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLW1lZGlhe2hlaWdodDoxMDB2aH19LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLW1lZGlhLmFydGljbGUtcGFnZS12aWRlb3tvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoxfS5hcnRpY2xlLXBhZ2UgLmFydGljbGUtcGFnZS1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctdG9wOi45Mzc1cmVtO3BhZGRpbmctYm90dG9tOi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudHtwYWRkaW5nLXRvcDozLjEyNXJlbTtwYWRkaW5nLWJvdHRvbTozLjEyNXJlbX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5hcnRpY2xlLXBhZ2UgLmFydGljbGUtcGFnZS1jb250ZW50e3BhZGRpbmctdG9wOjYuMjVyZW07cGFkZGluZy1ib3R0b206Ni4yNXJlbX19LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtcGFnZS1jb250ZW50LWlubmVye3BhZGRpbmctbGVmdDoyLjVyZW07cGFkZGluZy1yaWdodDoyLjVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5hcnRpY2xlLXBhZ2UgLmFydGljbGUtcGFnZS1jb250ZW50e2hlaWdodDoxMDB2aH19LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtdHlwZXtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO2ZvbnQtc2l6ZTouODc1cmVtO21hcmdpbjowfS5hcnRpY2xlLXBhZ2UgLmFydGljbGUtcGFnZS1jb250ZW50IC5hcnRpY2xlLXRpdGxle2ZvbnQtc2l6ZToyLjVyZW07Zm9udC13ZWlnaHQ6ODAwfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS10aXRsZXtmb250LXNpemU6My41cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5hcnRpY2xlLXBhZ2UgLmFydGljbGUtcGFnZS1jb250ZW50IC5hcnRpY2xlLXRpdGxle2ZvbnQtc2l6ZTo0cmVtfX0uYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1zdGFuZGZpcnN0e2ZvbnQtZmFtaWx5OlwiZGlkb3RfbHRfc3RkcmVndWxhclwiO2ZvbnQtc2l6ZToxcmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1zdGFuZGZpcnN0e2ZvbnQtc2l6ZToxLjEyNXJlbX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1zdGFuZGZpcnN0e2ZvbnQtc2l6ZToxLjM3NXJlbX19LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtc3RhbmRmaXJzdCBzdHJvbmcsLmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtc3RhbmRmaXJzdCBie2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGJvbGRcIn0uYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1jb3B5e3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjEuODc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1jb3B5e3dpZHRoOjgzLjMzMzMzJTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowO21hcmdpbi1sZWZ0OjE2LjY2NjY3JX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXBhZ2UgLmFydGljbGUtcGFnZS1jb250ZW50IC5hcnRpY2xlLWNvcHkgcHtmb250LXNpemU6MS4xMjVyZW19fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtY29weSBwe2ZvbnQtc2l6ZToxLjM3NXJlbX19LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtcGFnZS1pbWFnZXtwYWRkaW5nLXRvcDoxLjg3NXJlbTtwYWRkaW5nLWJvdHRvbToyLjVyZW19LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgYmxvY2txdW90ZXtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO2ZvbnQtc2l6ZToxLjM3NXJlbTttYXJnaW4tdG9wOjEuODc1cmVtO21hcmdpbi1ib3R0b206MS44NzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXBhZ2UgLmFydGljbGUtcGFnZS1jb250ZW50IGJsb2NrcXVvdGV7Zm9udC1zaXplOjEuNzVyZW19fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgYmxvY2txdW90ZXtmb250LXNpemU6Mi4yNXJlbX19LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgYmxvY2txdW90ZSBwOmJlZm9yZXtjb250ZW50OlwiXFwyMDFDXCJ9LmFydGljbGUtcGFnZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgYmxvY2txdW90ZSBwOmFmdGVye2NvbnRlbnQ6XCJcXDIwMURcIn0uYXJ0aWNsZS1wYWdlIC5hcnRpY2xlLXBhZ2UtY29udGVudCBibG9ja3F1b3RlIGNpdGV7dGV4dC1hbGlnbjpyaWdodDtmb250LWZhbWlseTpcImZ1dHVyYS1wdFwiLHNhbnMtc2VyaWY7Zm9udC1zdHlsZTpub3JtYWx9LnN0YWNrLXRlbXBsYXRle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey5zdGFjay10ZW1wbGF0ZSAuZ3JpZC14LnN3YXAtY29sdW1uc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN0YWNrLXRlbXBsYXRlIC5ncmlkLXguc3dhcC1jb2x1bW5zIC5hcnRpY2xlLXBhZ2UtY29udGVudHtvcmRlcjoyfX0uc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6NTAwcHg7YmFja2dyb3VuZDpuby1yZXBlYXQgdG9wIGNlbnRlci9jb3Zlcn1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtbWVkaWF7aGVpZ2h0OjgwMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtbWVkaWF7aGVpZ2h0OjEwMHZofX0uc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctdG9wOi45Mzc1cmVtO3BhZGRpbmctYm90dG9tOi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50e3BhZGRpbmctdG9wOjMuMTI1cmVtO3BhZGRpbmctYm90dG9tOjMuMTI1cmVtfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtY29udGVudHtwYWRkaW5nLXRvcDo2LjI1cmVtO3BhZGRpbmctYm90dG9tOjYuMjVyZW19fS5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtcGFnZS1jb250ZW50LWlubmVye3BhZGRpbmctbGVmdDoyLjVyZW07cGFkZGluZy1yaWdodDoyLjVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnR7aGVpZ2h0OmF1dG99fS5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtdHlwZXtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO2ZvbnQtc2l6ZTouODc1cmVtO21hcmdpbjowfS5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtdGl0bGV7Zm9udC1zaXplOjIuNXJlbTtmb250LXdlaWdodDo4MDB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtdGl0bGV7Zm9udC1zaXplOjMuNXJlbX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IC5hcnRpY2xlLXRpdGxle2ZvbnQtc2l6ZTo0cmVtfX0uc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IC5hcnRpY2xlLXN0YW5kZmlyc3R7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRyZWd1bGFyXCI7Zm9udC1zaXplOjFyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtc3RhbmRmaXJzdHtmb250LXNpemU6MS4xMjVyZW19fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1zdGFuZGZpcnN0e2ZvbnQtc2l6ZToxLjM3NXJlbX19LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1zdGFuZGZpcnN0IHN0cm9uZywuc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IC5hcnRpY2xlLXN0YW5kZmlyc3QgYntmb250LXdlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRib2xkXCJ9LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1jb3B5e3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjEuODc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IC5hcnRpY2xlLWNvcHl7d2lkdGg6ODMuMzMzMzMlO21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjA7bWFyZ2luLWxlZnQ6MTYuNjY2NjclfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1jb3B5IHB7Zm9udC1zaXplOjEuMTI1cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgLmFydGljbGUtY29weSBwe2ZvbnQtc2l6ZToxLjM3NXJlbX19LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtY29udGVudCAuYXJ0aWNsZS1wYWdlLWltYWdle3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjIuNXJlbX0uc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IGJsb2NrcXVvdGV7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRpdGFsaWNcIjtmb250LXNpemU6MS4zNzVyZW07bWFyZ2luLXRvcDoxLjg3NXJlbTttYXJnaW4tYm90dG9tOjEuODc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IGJsb2NrcXVvdGV7Zm9udC1zaXplOjEuNzVyZW19fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LnN0YWNrLXRlbXBsYXRlIC5hcnRpY2xlLXBhZ2UtY29udGVudCBibG9ja3F1b3Rle2ZvbnQtc2l6ZToyLjI1cmVtfX0uc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IGJsb2NrcXVvdGUgcDpiZWZvcmV7Y29udGVudDpcIlxcMjAxQ1wifS5zdGFjay10ZW1wbGF0ZSAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQgYmxvY2txdW90ZSBwOmFmdGVye2NvbnRlbnQ6XCJcXDIwMURcIn0uc3RhY2stdGVtcGxhdGUgLmFydGljbGUtcGFnZS1jb250ZW50IGJsb2NrcXVvdGUgY2l0ZXt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtZmFtaWx5OlwiZnV0dXJhLXB0XCIsc2Fucy1zZXJpZjtmb250LXN0eWxlOm5vcm1hbH0uYXJ0aWNsZS1wcm9kdWN0c3RhY2t7d2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxLjg3NXJlbTtwYWRkaW5nLWJvdHRvbToxLjg3NXJlbX0uYXJ0aWNsZS1wcm9kdWN0c3RhY2sgLmFydGljbGUtcHJvZHVjdHN0YWNrLXR4dHt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjAgMTBweDttYXgtd2lkdGg6MjUwcHg7bWFyZ2luOjAgYXV0b30uYXJ0aWNsZS1wcm9kdWN0c3RhY2sgLmFydGljbGUtcHJvZHVjdHN0YWNrLXR4dCAuYXJ0aWNsZS1wcm9kdWN0c3RhY2stdGl0bGV7Zm9udC1zaXplOi44NzVyZW07dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXdlaWdodDo2MDA7Zm9udC1mYW1pbHk6XCJmdXR1cmEtcHRcIixzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MTBweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmFydGljbGUtcHJvZHVjdHN0YWNrIC5hcnRpY2xlLXByb2R1Y3RzdGFjay10eHQgLmFydGljbGUtcHJvZHVjdHN0YWNrLXRpdGxle2ZvbnQtc2l6ZToxcmVtfX0uYXJ0aWNsZS1wcm9kdWN0c3RhY2sgLmFydGljbGUtcHJvZHVjdHN0YWNrLXR4dCAuYXJ0aWNsZS1wcm9kdWN0c3RhY2stZGVzY3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuMztjb2xvcjojNjY2fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wcm9kdWN0c3RhY2sgLmFydGljbGUtcHJvZHVjdHN0YWNrLXR4dCAuYXJ0aWNsZS1wcm9kdWN0c3RhY2stZGVzY3tmb250LXNpemU6Ljg3NXJlbX19LmFydGljbGUtcHJvZHVjdHN0YWNrIC5hcnRpY2xlLXByb2R1Y3RzdGFjay10eHQgLmJ1dHRvbnttYXJnaW46MH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5hcnRpY2xlLXByb2R1Y3RzdGFjayAuYXJ0aWNsZS1wcm9kdWN0c3RhY2stdHh0IC5idXR0b257Zm9udC1zaXplOi42MjVyZW07cGFkZGluZzoxMnB4IDEycHh9fS5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbHt3aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjEuODc1cmVtfS5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbCAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtaXRlbSAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtaW1ne21hcmdpbi1ib3R0b206MzBweH0uYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwgLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLWl0ZW0gLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLXR4dHt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjAgMTBweDttYXgtd2lkdGg6MjUwcHg7bWFyZ2luOjAgYXV0b30uYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwgLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLWl0ZW0gLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLXR4dCAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtdHh0LXdyYXBwZXJ7bWluLWhlaWdodDo3MHB4fS5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbCAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtaXRlbSAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtdHh0IC5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbC10aXRsZXtmb250LXNpemU6Ljg3NXJlbTt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtd2VpZ2h0OjYwMDtmb250LWZhbWlseTpcImZ1dHVyYS1wdFwiLHNhbnMtc2VyaWY7bWFyZ2luLWJvdHRvbToxMHB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwgLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLWl0ZW0gLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLXR4dCAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtdGl0bGV7Zm9udC1zaXplOjFyZW19fS5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbCAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtaXRlbSAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtdHh0IC5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbC1kZXNje2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS4zO2NvbG9yOiM2NjZ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbCAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtaXRlbSAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtdHh0IC5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbC1kZXNje2ZvbnQtc2l6ZTouODc1cmVtfX0uYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwgLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLWl0ZW0gLmFydGljbGUtcHJvZHVjdGNhcm91c2VsLXR4dCAuYnV0dG9ue21hcmdpbjowfS5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbCAuc2xpY2stZG90c3ttYXJnaW46MzBweCBhdXRvO2Rpc3BsYXk6YmxvY2t9LmFydGljbGUtc2xpZGVvdXR7YmFja2dyb3VuZDojRjZGNkY2O2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7cG9zaXRpb246Zml4ZWQ7bGVmdDowO2JvdHRvbTowO2hlaWdodDoyMTBweDtwYWRkaW5nLXRvcDouOTM3NXJlbTtwYWRkaW5nLWxlZnQ6LjkzNzVyZW19LmFydGljbGUtc2xpZGVvdXQubWlycm9yZWR7bGVmdDphdXRvO3JpZ2h0OjB9LmFydGljbGUtc2xpZGVvdXQubWlycm9yZWQgLmNsb3NlLXNsaWRlb3V0e2xlZnQ6MWVtO3JpZ2h0OmF1dG99QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXNsaWRlb3V0e3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctbGVmdDoxLjg3NXJlbX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXNsaWRlb3V0e2hlaWdodDozMTVweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5hcnRpY2xlLXNsaWRlb3V0e2JhY2tncm91bmQ6I2ZmZjt0b3A6MDtib3R0b206YXV0bztoZWlnaHQ6MTAwJTtwYWRkaW5nLWJvdHRvbTouOTM3NXJlbTtwYWRkaW5nLWxlZnQ6LjkzNzVyZW07cGFkZGluZy1yaWdodDouOTM3NXJlbTtwYWRkaW5nLXRvcDo4MHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXNsaWRlb3V0e3BhZGRpbmctYm90dG9tOjEuODc1cmVtO3BhZGRpbmctbGVmdDoxLjg3NXJlbTtwYWRkaW5nLXJpZ2h0OjEuODc1cmVtfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmFydGljbGUtc2xpZGVvdXQ+LmdyaWQteHtoZWlnaHQ6MTAwJX19LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtY3Rhe3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlwiZnV0dXJhLXB0LWJvbGRcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxcmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW46MCAwIDEwcHggMH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtY3Rhe2ZvbnQtc2l6ZToxLjM3NXJlbTttYXJnaW46MCAwIDIwcHggMDtwYWRkaW5nLWJvdHRvbTo1MHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWU7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWN0YTphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDt3aWR0aDoxMDAlO2hlaWdodDo1MHB4O2xlZnQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOnVybCguLi9pbWcvY2hldnJvbi1kb3duLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMjBweCAyMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtY29udGFpbmVye3dpZHRoOmF1dG8gIWltcG9ydGFudH19LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtaXRlbXt3aWR0aDoxMzBweDtkaXNwbGF5OmJsb2NrO3BhZGRpbmctcmlnaHQ6LjkzNzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWl0ZW17d2lkdGg6MjE1cHh9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1zbGlkZW91dCAuYXJ0aWNsZS1zbGlkZW91dC1pdGVte3BhZGRpbmctcmlnaHQ6MS44NzVyZW19fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuYXJ0aWNsZS1zbGlkZW91dCAuYXJ0aWNsZS1zbGlkZW91dC1pdGVte3BhZGRpbmc6MDt3aWR0aDoxMDAlfX0uYXJ0aWNsZS1zbGlkZW91dCAuYXJ0aWNsZS1zbGlkZW91dC1pdGVtIC5hcnRpY2xlLXNsaWRlb3V0LWltZ3ttYXJnaW4tYm90dG9tOjVweDtiYWNrZ3JvdW5kOiNmZmZ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWl0ZW0gLmFydGljbGUtc2xpZGVvdXQtaW1ne21hcmdpbi1ib3R0b206MTBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWl0ZW0gLmFydGljbGUtc2xpZGVvdXQtaW1ne21hcmdpbi1ib3R0b206MTVweH19LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtaXRlbSAuYXJ0aWNsZS1zbGlkZW91dC1pbWcgaW1ne2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxMDBweDttYXJnaW46MCBhdXRvfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1zbGlkZW91dCAuYXJ0aWNsZS1zbGlkZW91dC1pdGVtIC5hcnRpY2xlLXNsaWRlb3V0LWltZyBpbWd7bWF4LWhlaWdodDoxNzBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWl0ZW0gLmFydGljbGUtc2xpZGVvdXQtaW1nIGltZ3ttYXgtaGVpZ2h0Om5vbmV9fS5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWl0ZW0gLmFydGljbGUtc2xpZGVvdXQtdHh0e3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAxMHB4O21heC13aWR0aDoyNTBweDttYXJnaW46MCBhdXRvfS5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWl0ZW0gLmFydGljbGUtc2xpZGVvdXQtdHh0IC5hcnRpY2xlLXNsaWRlb3V0LXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO3RleHQtdHJhbnNmb3JtOm5vbmU7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OlwiZnV0dXJhLXB0XCIsc2Fucy1zZXJpZjttYXJnaW46MH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtaXRlbSAuYXJ0aWNsZS1zbGlkZW91dC10eHQgLmFydGljbGUtc2xpZGVvdXQtdGl0bGV7Zm9udC1zaXplOjFyZW19fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuYXJ0aWNsZS1zbGlkZW91dCAuYXJ0aWNsZS1zbGlkZW91dC1pdGVtIC5hcnRpY2xlLXNsaWRlb3V0LXR4dCAuYXJ0aWNsZS1zbGlkZW91dC10aXRsZXttYXJnaW4tYm90dG9tOjEwcHh9fS5hcnRpY2xlLXNsaWRlb3V0IC5hcnRpY2xlLXNsaWRlb3V0LWl0ZW0gLmFydGljbGUtc2xpZGVvdXQtdHh0IC5hcnRpY2xlLXNsaWRlb3V0LWRlc2N7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjM7Y29sb3I6IzY2Nn1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtaXRlbSAuYXJ0aWNsZS1zbGlkZW91dC10eHQgLmFydGljbGUtc2xpZGVvdXQtZGVzY3tmb250LXNpemU6Ljg3NXJlbX19LmFydGljbGUtc2xpZGVvdXQgLmFydGljbGUtc2xpZGVvdXQtaXRlbSAuYXJ0aWNsZS1zbGlkZW91dC10eHQgLmJ1dHRvbnttYXJnaW46MH0uYXJ0aWNsZS1wYWdlLW1lZGlhLXNsaWRlci1wYWdpbmF0aW9ue2JhY2tncm91bmQ6I2ZmZjt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mjt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo1MHB4O2ZvbnQtZmFtaWx5OlwiZGlkb3RfbHRfc3RkaXRhbGljXCI7Zm9udC1zaXplOi44NzVyZW07d2hpdGUtc3BhY2U6bm93cmFwO3JpZ2h0OjIwcHg7dG9wOjQzMHB4fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSl7LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXItcGFnaW5hdGlvbntkaXNwbGF5Om5vbmV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuYXJ0aWNsZS1wYWdlLW1lZGlhLXNsaWRlci1wYWdpbmF0aW9ue3RvcDo2MzBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5hcnRpY2xlLXBhZ2UtbWVkaWEtc2xpZGVyLXBhZ2luYXRpb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtsaW5lLWhlaWdodDo2MHB4O2ZvbnQtc2l6ZToxcmVtO2JvdHRvbToyMHB4O3RvcDphdXRvO3JpZ2h0OjIwcHh9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsubWlycm9yZWQgLmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXItcGFnaW5hdGlvbntyaWdodDphdXRvO2xlZnQ6MjBweH19LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXJ7aGVpZ2h0OjUwMHB4O29wYWNpdHk6MH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXJ7aGVpZ2h0OjgwMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXJ7aGVpZ2h0OjEwMHZofX0uYXJ0aWNsZS1wYWdlLW1lZGlhLXNsaWRlci5zbGljay1pbml0aWFsaXplZHtvcGFjaXR5OjF9LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXIgLmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXItaXRlbXtoZWlnaHQ6NTAwcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2JhY2tncm91bmQ6bm8tcmVwZWF0IHRvcCBjZW50ZXIvY292ZXJ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5hcnRpY2xlLXBhZ2UtbWVkaWEtc2xpZGVyIC5hcnRpY2xlLXBhZ2UtbWVkaWEtc2xpZGVyLWl0ZW17aGVpZ2h0OjgwMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXIgLmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXItaXRlbXtoZWlnaHQ6MTAwdmh9fS5hcnRpY2xlLXBhZ2UtbWVkaWEtc2xpZGVyIC5zbGljay1kb3Rze3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mzt0b3A6NDg4cHg7bGVmdDo1MCU7d2lkdGg6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXIgLnNsaWNrLWRvdHN7dG9wOjc4OHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmFydGljbGUtcGFnZS1tZWRpYS1zbGlkZXIgLnNsaWNrLWRvdHN7dG9wOmF1dG87Ym90dG9tOjIwcHh9fS5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXItcGFnaW5hdGlvbntiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtib3JkZXItcmFkaXVzOjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6NTBweDtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO2ZvbnQtc2l6ZTouODc1cmVtO3doaXRlLXNwYWNlOm5vd3JhcDtyaWdodDoyMHB4O3RvcDo0MzBweH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXItcGFnaW5hdGlvbntkaXNwbGF5Om5vbmV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuc3RhY2stdGVtcGxhdGUtbWVkaWEtc2xpZGVyLXBhZ2luYXRpb257dG9wOjYzMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnN0YWNrLXRlbXBsYXRlLW1lZGlhLXNsaWRlci1wYWdpbmF0aW9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bGluZS1oZWlnaHQ6NjBweDtmb250LXNpemU6MXJlbTtib3R0b206MjBweDt0b3A6YXV0bztyaWdodDoyMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7Lm1pcnJvcmVkIC5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXItcGFnaW5hdGlvbntyaWdodDphdXRvO2xlZnQ6MjBweH19LnN0YWNrLXRlbXBsYXRlLW1lZGlhLXNsaWRlcntoZWlnaHQ6NTAwcHg7b3BhY2l0eTowfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuc3RhY2stdGVtcGxhdGUtbWVkaWEtc2xpZGVye2hlaWdodDo4MDBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXJ7aGVpZ2h0OjEwMHZofX0uc3RhY2stdGVtcGxhdGUtbWVkaWEtc2xpZGVyLnNsaWNrLWluaXRpYWxpemVke29wYWNpdHk6MX0uc3RhY2stdGVtcGxhdGUtbWVkaWEtc2xpZGVyIC5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXItaXRlbXtoZWlnaHQ6NTAwcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2JhY2tncm91bmQ6bm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY292ZXJ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXIgLnN0YWNrLXRlbXBsYXRlLW1lZGlhLXNsaWRlci1pdGVte2hlaWdodDo4MDBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXIgLnN0YWNrLXRlbXBsYXRlLW1lZGlhLXNsaWRlci1pdGVte2hlaWdodDoxMDB2aH19LnN0YWNrLXRlbXBsYXRlLW1lZGlhLXNsaWRlciAuc2xpY2stZG90c3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjM7dG9wOjQ4OHB4O2xlZnQ6NTAlO3dpZHRoOmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXIgLnNsaWNrLWRvdHN7dG9wOjc4OHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnN0YWNrLXRlbXBsYXRlLW1lZGlhLXNsaWRlciAuc2xpY2stZG90c3t0b3A6YXV0bztib3R0b206MjBweH19LmFydGljbGUtcGFnZS1pbmxpbmV2aWRlb3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7cGFkZGluZy1ib3R0b206NTYuMjUlO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjttYXJnaW4tdG9wOjEuODc1cmVtO21hcmdpbi1ib3R0b206Mi41cmVtfS5hcnRpY2xlLXBhZ2UtaW5saW5ldmlkZW8gLmFydGljbGUtcGFnZS1pbmxpbmV2aWRlby1pZnJhbWV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX0uZWlnaHR5dHdlbnR5LXBhZ2V7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZWlnaHR5dHdlbnR5LXBhZ2V7aGVpZ2h0OjEwMHZofX0uZWlnaHR5dHdlbnR5LXBhZ2UgLnNsaWNrLWRvdHN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDozO3RvcDpjYWxjKDMvNCoxMDB2dyAtIDEycHgpO2xlZnQ6NTAlO3dpZHRoOmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5laWdodHl0d2VudHktcGFnZSAuc2xpY2stZG90c3t0b3A6YXV0bztib3R0b206MjBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5laWdodHl0d2VudHktcGFnZS54bWlycm9yZWQgLnNsaWNrLWRvdHN7bGVmdDoyNSV9fS5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZDojZmZmO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7Ym9yZGVyLXJhZGl1czo1MCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjUwcHg7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRpdGFsaWNcIjtmb250LXNpemU6Ljg3NXJlbTt3aGl0ZS1zcGFjZTpub3dyYXA7cmlnaHQ6MjBweDt0b3A6Y2FsYygzLzQqMTAwdncgLSA3MHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257ZGlzcGxheTpub25lfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmVpZ2h0eXR3ZW50eS1wYWdlIC5laWdodHl0d2VudHktcGFnZS1zbGlkZXItcGFnaW5hdGlvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2xpbmUtaGVpZ2h0OjYwcHg7Zm9udC1zaXplOjFyZW07bWFyZ2luLWxlZnQ6LTgwcHg7Ym90dG9tOjIwcHg7dG9wOmF1dG87bGVmdDo3NSU7cmlnaHQ6YXV0b319QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5laWdodHl0d2VudHktcGFnZS5taXJyb3JlZCAuZWlnaHR5dHdlbnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257bWFyZ2luLXJpZ2h0Oi04MHB4O3JpZ2h0Ojc1JTtsZWZ0OmF1dG99fS5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LXBhZ2UtbWVkaWF7YmFja2dyb3VuZDojZWVlO2hlaWdodDpjYWxjKDMvNCoxMDB2dyk7dHJhbnNpdGlvbjphbGwgbGluZWFyIC4ycztvcGFjaXR5OjB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LXBhZ2UtbWVkaWF7aGVpZ2h0OjEwMHZofX0uZWlnaHR5dHdlbnR5LXBhZ2UgLmVpZ2h0eXR3ZW50eS1wYWdlLW1lZGlhLnNsaWNrLWluaXRpYWxpemVke29wYWNpdHk6MX0uZWlnaHR5dHdlbnR5LXBhZ2UgLmVpZ2h0eXR3ZW50eS1wYWdlLW1lZGlhLWl0ZW17aGVpZ2h0OmNhbGMoMy80KjEwMHZ3KTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7YmFja2dyb3VuZDpuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb3Zlcn1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmVpZ2h0eXR3ZW50eS1wYWdlIC5laWdodHl0d2VudHktcGFnZS1tZWRpYS1pdGVte2hlaWdodDoxMDB2aH19LmVpZ2h0eXR3ZW50eS1wYWdlIC5laWdodHl0d2VudHktcGFnZS1jb250ZW50e3BhZGRpbmctdG9wOi45Mzc1cmVtO3BhZGRpbmctbGVmdDoxLjg3NXJlbTtwYWRkaW5nLXJpZ2h0OjEuODc1cmVtO3RyYW5zaXRpb246YWxsIGxpbmVhciAuMnM7b3BhY2l0eTowfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZWlnaHR5dHdlbnR5LXBhZ2UgLmVpZ2h0eXR3ZW50eS1wYWdlLWNvbnRlbnR7cGFkZGluZy10b3A6My4xMjVyZW19fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZWlnaHR5dHdlbnR5LXBhZ2UgLmVpZ2h0eXR3ZW50eS1wYWdlLWNvbnRlbnR7cGFkZGluZy10b3A6Ni4yNXJlbTtwYWRkaW5nLWJvdHRvbTo2LjI1cmVtO2hlaWdodDoxMDB2aDtvdmVyZmxvdy15OmF1dG87bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlwZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9fS5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LXBhZ2UtY29udGVudC5zbGljay1pbml0aWFsaXplZHtvcGFjaXR5OjF9LmVpZ2h0eXR3ZW50eS1wYWdlIC5laWdodHl0d2VudHktdHlwZXtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO2ZvbnQtc2l6ZTouODc1cmVtO21hcmdpbjowfS5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LXRpdGxle2ZvbnQtc2l6ZToxLjM3NXJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LXRpdGxle2ZvbnQtc2l6ZToyLjVyZW19fS5laWdodHl0d2VudHktcGFnZSAuZWlnaHR5dHdlbnR5LWNvcHkgcHtjb2xvcjojNjY2O2ZvbnQtc2l6ZToxcmVtfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmVpZ2h0eXR3ZW50eS1wYWdlIC5laWdodHl0d2VudHktY29weSBwe2ZvbnQtc2l6ZToxLjEyNXJlbX19LmZpZnR5ZmlmdHktcGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5maWZ0eWZpZnR5LXBhZ2V7aGVpZ2h0OjEwMHZofX0uZmlmdHlmaWZ0eS1wYWdlIC5zbGljay1kb3Rze3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mzt0b3A6NDg4cHg7bGVmdDo1MCU7d2lkdGg6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmZpZnR5ZmlmdHktcGFnZSAuc2xpY2stZG90c3t0b3A6Nzg4cHh9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZmlmdHlmaWZ0eS1wYWdlIC5zbGljay1kb3Rze3RvcDphdXRvO2JvdHRvbToyMHB4fX0uZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZDojZmZmO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7Ym9yZGVyLXJhZGl1czo1MCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjUwcHg7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRpdGFsaWNcIjtmb250LXNpemU6Ljg3NXJlbTt3aGl0ZS1zcGFjZTpub3dyYXA7cmlnaHQ6MjBweDt0b3A6NDMwcHh9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKXsuZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257ZGlzcGxheTpub25lfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS1wYWdlLXNsaWRlci1wYWdpbmF0aW9ue3RvcDo3MzBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktcGFnZS1zbGlkZXItcGFnaW5hdGlvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2xpbmUtaGVpZ2h0OjYwcHg7Zm9udC1zaXplOjFyZW07bWFyZ2luLWxlZnQ6LTgwcHg7Ym90dG9tOjIwcHg7dG9wOmF1dG87bGVmdDo1MCU7cmlnaHQ6YXV0b319QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5maWZ0eWZpZnR5LXBhZ2UubWlycm9yZWQgLmZpZnR5ZmlmdHktcGFnZS1zbGlkZXItcGFnaW5hdGlvbnttYXJnaW4tcmlnaHQ6LTgwcHg7cmlnaHQ6NTAlO2xlZnQ6YXV0b319LmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS1wYWdlLW1lZGlhe2JhY2tncm91bmQ6I2VlZTtoZWlnaHQ6NTAwcHg7dHJhbnNpdGlvbjphbGwgbGluZWFyIC4ycztvcGFjaXR5OjB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktcGFnZS1tZWRpYXtoZWlnaHQ6ODAwcHh9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXBhZ2UtbWVkaWF7aGVpZ2h0OjEwMHZofX0uZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXBhZ2UtbWVkaWEuc2xpY2staW5pdGlhbGl6ZWR7b3BhY2l0eToxfS5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktcGFnZS1tZWRpYS1pdGVte2hlaWdodDo1MDBweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7YmFja2dyb3VuZDpuby1yZXBlYXQgdG9wIGNlbnRlci9jb3Zlcn1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS1wYWdlLW1lZGlhLWl0ZW17aGVpZ2h0OjgwMHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS1wYWdlLW1lZGlhLWl0ZW17aGVpZ2h0OjEwMHZofX0uZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXBhZ2UtY29udGVudHtwYWRkaW5nLXRvcDouOTM3NXJlbTtwYWRkaW5nLWxlZnQ6Mi41cmVtO3BhZGRpbmctcmlnaHQ6Mi41cmVtO3RyYW5zaXRpb246YWxsIGxpbmVhciAuMnM7b3BhY2l0eTowfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXBhZ2UtY29udGVudHtwYWRkaW5nLXRvcDozLjEyNXJlbX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktcGFnZS1jb250ZW50e3BhZGRpbmctdG9wOjYuMjVyZW07cGFkZGluZy1ib3R0b206Ni4yNXJlbTtoZWlnaHQ6MTAwdmg7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDstbXMtb3ZlcmZsb3ctc3R5cGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyfX0uZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXBhZ2UtY29udGVudC5zbGljay1pbml0aWFsaXplZHtvcGFjaXR5OjF9LmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS10eXBle2ZvbnQtZmFtaWx5OlwiZGlkb3RfbHRfc3RkaXRhbGljXCI7Zm9udC1zaXplOi44NzVyZW07bWFyZ2luOjB9LmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS1zdGFuZGZpcnN0e2ZvbnQtZmFtaWx5OlwiZGlkb3RfbHRfc3RkcmVndWxhclwiO2ZvbnQtc2l6ZToxcmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXN0YW5kZmlyc3R7Zm9udC1zaXplOjEuMTI1cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktc3RhbmRmaXJzdHtmb250LXNpemU6MS4zNzVyZW19fS5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktc3RhbmRmaXJzdCBzdHJvbmcsLmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS1zdGFuZGZpcnN0IGJ7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OlwiZGlkb3RfbHRfc3RkYm9sZFwifS5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktdGl0bGV7Zm9udC1zaXplOjIuNXJlbTtmb250LXdlaWdodDo4MDB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktdGl0bGV7Zm9udC1zaXplOjMuNXJlbX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LXRpdGxle2ZvbnQtc2l6ZTo0cmVtfX0uZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LWNvcHl7cGFkZGluZy10b3A6MS44NzVyZW07cGFkZGluZy1ib3R0b206MS44NzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5maWZ0eWZpZnR5LXBhZ2UgLmZpZnR5ZmlmdHktY29weXt3aWR0aDo4My4zMzMzMyU7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4tbGVmdDoxNi42NjY2NyV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LWNvcHkgcHtmb250LXNpemU6MS4xMjVyZW19fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7LmZpZnR5ZmlmdHktcGFnZSAuZmlmdHlmaWZ0eS1jb3B5IHB7Zm9udC1zaXplOjEuMzc1cmVtfX0uZmlmdHlmaWZ0eS1wYWdlIC5maWZ0eWZpZnR5LWltYWdle3BhZGRpbmctdG9wOjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjIuNXJlbX0uZnVsbHBhZ2V7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5mdWxscGFnZS1wYWdpbmF0aW9ue2ZvbnQtZmFtaWx5OlwiZGlkb3RfbHRfc3RkaXRhbGljXCI7Zm9udC1zaXplOi44NzVyZW07d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1ib3R0b206NTBweDtiYWNrZ3JvdW5kOnVybCguLi9pbWcvY2hldnJvbi1kb3duLXdoaXRlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMjBweCAyMHB4O2Rpc3BsYXk6YmxvY2t9LmZ1bGxwYWdlLXBhZ2luYXRpb24uZW5kcGFne2JhY2tncm91bmQ6bm9uZX0uZnVsbHBhZ2UtY29udGFpbmVye2hlaWdodDoxMDAlO2hlaWdodDoxMDB2aDtiYWNrZ3JvdW5kOm5vLXJlcGVhdCB0b3AgY2VudGVyL2NvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0uZnVsbHBhZ2UtY29udGFpbmVyIC5mdWxscGFnZS1jb250ZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLDAsMCwwLjcpLCB0cmFuc3BhcmVudCk7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6MTAwcHg7cGFkZGluZy1ib3R0b206NzBweDtwYWRkaW5nLWxlZnQ6MS41NjI1cmVtO3BhZGRpbmctcmlnaHQ6MS41NjI1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuZnVsbHBhZ2UtY29udGFpbmVyIC5mdWxscGFnZS1jb250ZW50e3BhZGRpbmctbGVmdDouOTM3NXJlbTtwYWRkaW5nLXJpZ2h0Oi45Mzc1cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5mdWxscGFnZS1jb250YWluZXIgLmZ1bGxwYWdlLWNvbnRlbnR7cGFkZGluZy1ib3R0b206LjkzNzVyZW19fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pey5mdWxscGFnZS1jb250YWluZXIgLmZ1bGxwYWdlLWNvbnRlbnR7cGFkZGluZy1ib3R0b206MS44NzVyZW19fS5mdWxscGFnZS1jb250YWluZXIgLmZ1bGxwYWdlLWNvbnRlbnQgLmZ1bGxwYWdlLWNvbnRlbnQtdGl0bGV7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoNTEsNTEsNTEsMC4yKSwwIDAgMnB4IHJnYmEoMCwwLDAsMC4xKTttYXJnaW46MH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5mdWxscGFnZS1jb250YWluZXIgLmZ1bGxwYWdlLWNvbnRlbnQgLmZ1bGxwYWdlLWNvbnRlbnQtdGl0bGV7Zm9udC1zaXplOjQuNXJlbX19LmZ1bGxwYWdlLWNvbnRhaW5lciAuZnVsbHBhZ2UtY29udGVudCAuZnVsbHBhZ2UtY29udGVudC1jb3B5e2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDUxLDUxLDUxLDAuMiksMCAwIDJweCByZ2JhKDAsMCwwLDAuMSl9LmZ1bGxwYWdlLWNvbnRhaW5lciAuZnVsbHBhZ2UtY29udGVudCAuZnVsbHBhZ2UtY29udGVudC1jb3B5IHB7Zm9udC1zaXplOi44NzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5mdWxscGFnZS1jb250YWluZXIgLmZ1bGxwYWdlLWNvbnRlbnQgLmZ1bGxwYWdlLWNvbnRlbnQtY29weSBwe2ZvbnQtc2l6ZToxLjI1cmVtfX0uZnVsbHBhZ2UtaW5saW5ldmlkZW8td3JhcHBlcnt3aWR0aDo2NSU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtsZWZ0OjA7cmlnaHQ6MDttYXJnaW46MCBhdXRvfS5mdWxscGFnZS1pbmxpbmV2aWRlb3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7cGFkZGluZy1ib3R0b206NTYuMjUlO2hlaWdodDowO292ZXJmbG93OmhpZGRlbn0uZnVsbHBhZ2UtaW5saW5ldmlkZW8gLmZ1bGxwYWdlLWlubGluZXZpZGVvLWlmcmFtZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5ob3Jpem9udGFsc2Nyb2xse3BhZGRpbmctdG9wOjgwcHg7cGFkZGluZy1ib3R0b206NjBweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lmhvcml6b250YWxzY3JvbGx7cGFkZGluZzowO3BhZGRpbmctbGVmdDouOTM3NXJlbX19Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtcGFnZS10ZXh0e3BhZGRpbmctdG9wOi45Mzc1cmVtO3BhZGRpbmctbGVmdDouOTM3NXJlbTtwYWRkaW5nLXJpZ2h0Oi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLXRleHR7cGFkZGluZy10b3A6MS44NzVyZW19fS5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLXBhZ2UtdGV4dCAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLXR5cGV7Zm9udC1mYW1pbHk6XCJkaWRvdF9sdF9zdGRpdGFsaWNcIjtmb250LXNpemU6Ljg3NXJlbTttYXJnaW46MH0uaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLXRleHQgLmhvcml6b250YWxzY3JvbGwtcGFnZS10aXRsZXtmb250LXNpemU6MS4zNzVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLXBhZ2UtdGV4dCAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLXRpdGxle2ZvbnQtc2l6ZToyLjI1cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pey5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLXBhZ2UtdGV4dCAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLXRpdGxle2ZvbnQtc2l6ZToyLjc1cmVtfX0uaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLXRleHQgLmhvcml6b250YWxzY3JvbGwtcGFnZS1jb3B5IHB7Y29sb3I6IzY2Nn1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtcGFnZS10ZXh0IC5ob3Jpem9udGFsc2Nyb2xsLXBhZ2UtY29weSBwe2ZvbnQtc2l6ZToxLjEyNXJlbX19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLXRleHQgLmhvcml6b250YWxzY3JvbGwtcGFnZS1jb3B5IHB7Zm9udC1zaXplOjEuMzc1cmVtfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudHtoZWlnaHQ6MTAwdmh9fS5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQgLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlke3dpZHRoOmF1dG8gIWltcG9ydGFudH19Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVte3BhZGRpbmctdG9wOi45Mzc1cmVtO3BhZGRpbmctbGVmdDouOTM3NXJlbTtwYWRkaW5nLXJpZ2h0Oi45Mzc1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW17cGFkZGluZy10b3A6MS44NzVyZW19fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW17d2lkdGg6NTEycHh9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW17d2lkdGg6MzYwcHh9fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVte3dpZHRoOjQwMHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVte3dpZHRoOjU4MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbSAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbS1pbWFnZXt3aWR0aDo0MS42NjY2NyV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0gLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0taW1hZ2Uuc3RhY2t7aGVpZ2h0OjYzNHB4fX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLWltYWdlLnN0YWNre2hlaWdodDo0ODdweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0gLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0taW1hZ2Uuc3RhY2t7aGVpZ2h0OjQ4N3B4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTguNzVlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLWltYWdlLnN0YWNre2hlaWdodDo3MjRweH19Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLWltYWdlIGltZ3t3aWR0aDoxMDAlfS5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbSAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbS10ZXh0e3BhZGRpbmc6MCAwIDAgMTVweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLXRleHR7cGFkZGluZzoxNXB4IDAgMCAwfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbSAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbS10ZXh0e3dpZHRoOjU4LjMzMzMzJX19Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLXRleHQgLmhvcml6b250YWxzY3JvbGwtdHlwZXtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO2ZvbnQtc2l6ZTouNzVyZW07bWFyZ2luOjB9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbSAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbS10ZXh0IC5ob3Jpem9udGFsc2Nyb2xsLXR5cGV7Zm9udC1zaXplOi44NzVyZW19fS5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbSAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbS10ZXh0IC5ob3Jpem9udGFsc2Nyb2xsLXRpdGxle2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjgwMH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pey5ob3Jpem9udGFsc2Nyb2xsIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbSAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbS10ZXh0IC5ob3Jpem9udGFsc2Nyb2xsLXRpdGxle21hcmdpbjowIDAgMTBweCAwfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7Lmhvcml6b250YWxzY3JvbGwgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLXRleHQgLmhvcml6b250YWxzY3JvbGwtdGl0bGV7Zm9udC1zaXplOjEuMzc1cmVtfX0uaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0gLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0tdGV4dCAuaG9yaXpvbnRhbHNjcm9sbC1jb3B5e2ZvbnQtc2l6ZTouNjI1cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaG9yaXpvbnRhbHNjcm9sbCAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQgLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0gLmhvcml6b250YWxzY3JvbGwtY29udGVudC1ncmlkLWl0ZW0tdGV4dCAuaG9yaXpvbnRhbHNjcm9sbC1jb3B5e2ZvbnQtc2l6ZTouODc1cmVtfX0uaG90c3BvdC1pbWd7cGFkZGluZy10b3A6LjkzNzVyZW07cGFkZGluZy1yaWdodDouOTM3NXJlbTtwYWRkaW5nLWJvdHRvbTouOTM3NXJlbTtwYWRkaW5nLWxlZnQ6LjkzNzVyZW07aGVpZ2h0OjEwMCU7dGV4dC1hbGlnbjpjZW50ZXJ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5ob3RzcG90LWltZ3twYWRkaW5nLXRvcDoxLjg3NXJlbTtwYWRkaW5nLXJpZ2h0OjEuODc1cmVtO3BhZGRpbmctYm90dG9tOjEuODc1cmVtO3BhZGRpbmctbGVmdDoxLjg3NXJlbX19LmhvdHNwb3QtaW1nIC5ob3RzcG90LWltZy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS5ob3RzcG90LWltZyBpbWd7ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEwMCV9LmhvdHNwb3QtaW1nIC5ob3RzcG90c3t3aWR0aDozMHB4O2hlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dXJsKC4uL2ltZy9wbHVzLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMTZweCAxNnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjkpO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjtjdXJzb3I6cG9pbnRlcjtib3gtc2hhZG93OjJweCAycHggNXB4IDBweCByZ2JhKDAsMCwwLDAuNSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXR9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5ob3RzcG90LWltZyAuaG90c3BvdHN7d2lkdGg6NDBweDtoZWlnaHQ6NDBweH19LmhvdHNwb3QtaW1nIC5ob3RzcG90czpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnJldmVhbC5mdWxsLmhvdHNwb3QtcmV2ZWFse3RvcDowICFpbXBvcnRhbnR9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5yZXZlYWwuZnVsbC5ob3RzcG90LXJldmVhbHt3aWR0aDo1MCUgIWltcG9ydGFudDtsZWZ0OmF1dG8gIWltcG9ydGFudDtyaWdodDowICFpbXBvcnRhbnR9fWh0bWwuaXMtcmV2ZWFsLW9wZW4saHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5e3Bvc2l0aW9uOnJlbGF0aXZlfS5ob3RzcG90LXJldmVhbC1pdGVte2hlaWdodDoxMDAlfS5ob3RzcG90LXJldmVhbC1pdGVtIC5ob3RzcG90LXJldmVhbC1pbWd7bWF4LXdpZHRoOjMwMHB4O21hcmdpbjowIGF1dG8gMzBweCBhdXRvO2Rpc3BsYXk6YmxvY2t9LmhvdHNwb3QtcmV2ZWFsLWl0ZW0gLmhvdHNwb3QtcmV2ZWFsLXR4dHt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjAgMTBweDttYXgtd2lkdGg6MjUwcHg7bWFyZ2luOjAgYXV0b30uaG90c3BvdC1yZXZlYWwtaXRlbSAuaG90c3BvdC1yZXZlYWwtdHh0IC5ob3RzcG90LXJldmVhbC10aXRsZXtmb250LXNpemU6Ljg3NXJlbTt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtd2VpZ2h0OjYwMDtmb250LWZhbWlseTpcImZ1dHVyYS1wdFwiLHNhbnMtc2VyaWY7bWFyZ2luLWJvdHRvbToxMHB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaG90c3BvdC1yZXZlYWwtaXRlbSAuaG90c3BvdC1yZXZlYWwtdHh0IC5ob3RzcG90LXJldmVhbC10aXRsZXtmb250LXNpemU6MXJlbX19LmhvdHNwb3QtcmV2ZWFsLWl0ZW0gLmhvdHNwb3QtcmV2ZWFsLXR4dCAuaG90c3BvdC1yZXZlYWwtZGVzY3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuMztjb2xvcjojNjY2O2hlaWdodDo1MHB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaG90c3BvdC1yZXZlYWwtaXRlbSAuaG90c3BvdC1yZXZlYWwtdHh0IC5ob3RzcG90LXJldmVhbC1kZXNje2ZvbnQtc2l6ZTouODc1cmVtfX0uaG90c3BvdC1yZXZlYWwtaXRlbSAuaG90c3BvdC1yZXZlYWwtdHh0IC5idXR0b257bWFyZ2luOjB9LnByb2R1Y3QtcmV2ZWFsey13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlwZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wcm9kdWN0LXJldmVhbHttYXgtaGVpZ2h0Ojk1JX19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKXsucHJvZHVjdC1yZXZlYWwtd3JhcHBlcntwYWRkaW5nLXRvcDozMHB4fX0ucHJvZHVjdC1yZXZlYWwtaXRlbXttYXJnaW4tYm90dG9tOjMwcHh9LnByb2R1Y3QtcmV2ZWFsLWl0ZW0gLmJ1dHRvbntkaXNwbGF5OmJsb2NrfS5wcm9kdWN0LXJldmVhbC1pdGVtLWltZ3t3aWR0aDoxMDAlfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSl7LnByb2R1Y3QtcmV2ZWFsLWl0ZW0taW1ne21hcmdpbi1ib3R0b206MzBweH19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wcm9kdWN0LXJldmVhbC1pdGVtLXR4dHtwYWRkaW5nOjAgMCAwIDMwcHh9fS5wcm9kdWN0LXJldmVhbC1pdGVtLXRpdGxle2ZvbnQtc2l6ZToxLjEyNXJlbTt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtd2VpZ2h0OjYwMDtmb250LWZhbWlseTpcImZ1dHVyYS1wdFwiLHNhbnMtc2VyaWY7bWFyZ2luLWJvdHRvbToxMHB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucHJvZHVjdC1yZXZlYWwtaXRlbS10aXRsZXtmb250LXNpemU6MS4yNXJlbX19LnByb2R1Y3QtcmV2ZWFsLWl0ZW0tZGVzY3tsaW5lLWhlaWdodDoxLjM7Y29sb3I6IzY2Nn0uYmctbGVmdC10b3B7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IHRvcH0uYmctbGVmdC1jZW50ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IGNlbnRlcn0uYmctbGVmdC1ib3R0b217YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IGJvdHRvbX0uYmctcmlnaHQtdG9we2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgdG9wfS5iZy1yaWdodC1jZW50ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjZW50ZXJ9LmJnLXJpZ2h0LWJvdHRvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGJvdHRvbX0uYmctY2VudGVyLXRvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciB0b3B9LmJnLWNlbnRlci1jZW50ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfS5iZy1jZW50ZXItYm90dG9te2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGJvdHRvbX0uYWR2ZXJ0LXBhZ2V7aGVpZ2h0OjEwMHZoO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LmFkdmVydC1wYWdlIC5hZHZlcnQtcGFnZS10aXRsZXtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1zaXplOi44NzVyZW07cGFkZGluZzo1cHggMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS5hZHZlcnQtcGFnZSAuYWR2ZXJ0LXBhZ2UtdGl0bGUgcHttYXJnaW46MH0uYWR2ZXJ0LXBhZ2UgaW1ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjowIGF1dG87bWF4LXdpZHRoOjgwJTttYXgtaGVpZ2h0Ojgwdmh9LmFkdmVydC1wYWdlLXZpZGVve3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowIGF1dG87bWF4LXdpZHRoOjgwJX0udGVtcC1wbGFjZWhvbGRlci10aXRsZXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5wYWdlLW51bWJlcnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cGFkZGluZzoxNXB4IDAgMCAgNXB4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjY2NjO2NvbG9yOiNjY2M7bWFyZ2luLWxlZnQ6MTBweDtsaW5lLWhlaWdodDoxfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucGFnZS1udW1iZXJze21hcmdpbi1sZWZ0OjIuNXJlbTttYXJnaW4tcmlnaHQ6Mi41cmVtO3BhZGRpbmc6NDBweCAwIDAgIDEwcHh9fS5pbWFnZS1jYXB0aW9ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czo1MCU7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MzBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC45KTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7bGVmdDoyMHB4O3RvcDoyMHB4O2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MnB4IDJweCA1cHggMHB4IHJnYmEoMCwwLDAsMC4zKTtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO2ZvbnQtc2l6ZToxLjI1cmVtOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuaW1hZ2UtY2FwdGlvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHg7Zm9udC1zaXplOjEuNXJlbX19LmltYWdlLWNhcHRpb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5pbWFnZS1jYXB0aW9uLXRleHR7YmFja2dyb3VuZDpyZ2JhKDUxLDUxLDUxLDAuNik7cGFkZGluZzo1cHggMTBweDtib3JkZXI6MDt0b3A6NTVweCAhaW1wb3J0YW50O2xlZnQ6MjBweCAhaW1wb3J0YW50O2NvbG9yOiNmZmZ9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKXsuaW1hZ2UtY2FwdGlvbi10ZXh0e3dpZHRoOjUwJX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5pbWFnZS1jYXB0aW9uLXRleHR7dG9wOjY1cHggIWltcG9ydGFudH19LmltYWdlLWNhcHRpb24tdGV4dCBhe2NvbG9yOiNmZmZ9Lm5vcGFke3BhZGRpbmc6MCAhaW1wb3J0YW50fS5wYWR7cGFkZGluZzozMHB4fS5wYWQtc2lkZXtwYWRkaW5nOjAgMzBweH0ucGFkLWxlZnR7cGFkZGluZy1sZWZ0OjMwcHh9LnBhZC1yaWdodHtwYWRkaW5nLXJpZ2h0OjMwcHh9LnBhZC10b3B7cGFkZGluZy10b3A6MzBweH0ucGFkLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozMHB4fS5wYWQtdG9wYm90dG9te3BhZGRpbmc6MzBweCAwfS50aGlja3BhZHtwYWRkaW5nOjYwcHh9LnRoaWNrcGFkLXNpZGV7cGFkZGluZzowIDYwcHh9LnRoaWNrcGFkLWxlZnR7cGFkZGluZy1sZWZ0OjYwcHh9LnRoaWNrcGFkLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NjBweH0udGhpY2twYWQtdG9we3BhZGRpbmctdG9wOjYwcHh9LnRoaWNrcGFkLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2MHB4fS50aGlja3BhZC10b3Bib3R0b217cGFkZGluZzo2MHB4IDB9LnRoaWNrZXJwYWR7cGFkZGluZzo5MHB4fS50aGlja2VycGFkLXNpZGV7cGFkZGluZzowIDkwcHh9LnRoaWNrZXJwYWQtbGVmdHtwYWRkaW5nLWxlZnQ6OTBweH0udGhpY2tlcnBhZC1yaWdodHtwYWRkaW5nLXJpZ2h0OjkwcHh9LnRoaWNrZXJwYWQtdG9we3BhZGRpbmctdG9wOjkwcHh9LnRoaWNrZXJwYWQtYm90dG9te3BhZGRpbmctYm90dG9tOjkwcHh9LnRoaWNrZXJwYWQtdG9wYm90dG9te3BhZGRpbmc6OTBweCAwfS50aGlucGFke3BhZGRpbmc6MjBweH0udGhpbnBhZC1zaWRle3BhZGRpbmc6MCAyMHB4fS50aGlucGFkLWxlZnR7cGFkZGluZy1sZWZ0OjIwcHh9LnRoaW5wYWQtcmlnaHR7cGFkZGluZy1yaWdodDoyMHB4fS50aGlucGFkLXRvcHtwYWRkaW5nLXRvcDoyMHB4fS50aGlucGFkLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyMHB4fS50aGlucGFkLXRvcGJvdHRvbXtwYWRkaW5nOjIwcHggMH0ubWVkaXVtcGFke3BhZGRpbmc6NDVweH0ubWVkaXVtcGFkLXNpZGV7cGFkZGluZzowIDQ1cHh9Lm1lZGl1bXBhZC1sZWZ0e3BhZGRpbmctbGVmdDo0NXB4fS5tZWRpdW1wYWQtcmlnaHR7cGFkZGluZy1yaWdodDo0NXB4fS5tZWRpdW1wYWQtdG9we3BhZGRpbmctdG9wOjQ1cHh9Lm1lZGl1bXBhZC1ib3R0b217cGFkZGluZy1ib3R0b206NDVweH0ubWVkaXVtcGFkLXRvcGJvdHRvbXtwYWRkaW5nOjQ1cHggMH0ubm9tYXJne21hcmdpbjowICFpbXBvcnRhbnR9Lm1hcmd7bWFyZ2luOjMwcHh9Lm1hcmctc2lkZXttYXJnaW46MCAzMHB4fS5tYXJnLWxlZnR7bWFyZ2luLWxlZnQ6MzBweH0ubWFyZy1yaWdodHttYXJnaW4tcmlnaHQ6MzBweH0ubWFyZy10b3B7bWFyZ2luLXRvcDozMHB4fS5tYXJnLWJvdHRvbXttYXJnaW4tYm90dG9tOjMwcHh9Lm1hcmctdG9wYm90dG9te21hcmdpbjozMHB4IDB9LnRoaWNrbWFyZ3ttYXJnaW46NjBweH0udGhpY2ttYXJnLXNpZGV7bWFyZ2luOjAgNjBweH0udGhpY2ttYXJnLWxlZnR7bWFyZ2luLWxlZnQ6NjBweH0udGhpY2ttYXJnLXJpZ2h0e21hcmdpbi1yaWdodDo2MHB4fS50aGlja21hcmctdG9we21hcmdpbi10b3A6NjBweH0udGhpY2ttYXJnLWJvdHRvbXttYXJnaW4tYm90dG9tOjYwcHh9LnRoaWNrbWFyZy10b3Bib3R0b217bWFyZ2luOjYwcHggMH0udGhpY2tlcm1hcmd7bWFyZ2luOjkwcHh9LnRoaWNrZXJtYXJnLXNpZGV7bWFyZ2luOjAgOTBweH0udGhpY2tlcm1hcmctbGVmdHttYXJnaW4tbGVmdDo5MHB4fS50aGlja2VybWFyZy1yaWdodHttYXJnaW4tcmlnaHQ6OTBweH0udGhpY2tlcm1hcmctdG9we21hcmdpbi10b3A6OTBweH0udGhpY2tlcm1hcmctYm90dG9te21hcmdpbi1ib3R0b206OTBweH0udGhpY2tlcm1hcmctdG9wYm90dG9te21hcmdpbjo5MHB4IDB9LnRoaW5tYXJne21hcmdpbjoyMHB4fS50aGlubWFyZy1zaWRle21hcmdpbjowIDIwcHh9LnRoaW5tYXJnLWxlZnR7bWFyZ2luLWxlZnQ6MjBweH0udGhpbm1hcmctcmlnaHR7bWFyZ2luLXJpZ2h0OjIwcHh9LnRoaW5tYXJnLXRvcHttYXJnaW4tdG9wOjIwcHh9LnRoaW5tYXJnLWJvdHRvbXttYXJnaW4tYm90dG9tOjIwcHh9LnRoaW5tYXJnLXRvcGJvdHRvbXttYXJnaW46MjBweCAwfS5tZWRpdW1tYXJne21hcmdpbjo0NXB4fS5tZWRpdW1tYXJnLXNpZGV7bWFyZ2luOjAgNDVweH0ubWVkaXVtbWFyZy1sZWZ0e21hcmdpbi1sZWZ0OjQ1cHh9Lm1lZGl1bW1hcmctcmlnaHR7bWFyZ2luLXJpZ2h0OjQ1cHh9Lm1lZGl1bW1hcmctdG9we21hcmdpbi10b3A6NDVweH0ubWVkaXVtbWFyZy1ib3R0b217bWFyZ2luLWJvdHRvbTo0NXB4fS5tZWRpdW1tYXJnLXRvcGJvdHRvbXttYXJnaW46NDVweCAwfS5CVC1xdW90ZXtmb250LWZhbWlseTpcImRpZG90X2x0X3N0ZGl0YWxpY1wiO3RleHQtYWxpZ246Y2VudGVyfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsuQlQtcXVvdGV7Zm9udC1zaXplOjEuNWVtICFpbXBvcnRhbnR9fS5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXItaXRlbS5zbGljay1zbGlkZS5zbGljay1jdXJyZW50LnNsaWNrLWFjdGl2ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH1jaXRle2NvbG9yOiMyZDg0YTB9LnNsaWNrLXNsaWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LWtodG1sLXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LW1zLXRvdWNoLWFjdGlvbjpwYW4teTt0b3VjaC1hY3Rpb246cGFuLXk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5zbGljay1saXN0e3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21hcmdpbjowO3BhZGRpbmc6MH0uc2xpY2stbGlzdDpmb2N1c3tvdXRsaW5lOm5vbmV9LnNsaWNrLWxpc3QuZHJhZ2dpbmd7Y3Vyc29yOnBvaW50ZXI7Y3Vyc29yOmhhbmR9LnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCl9LnNsaWNrLXRyYWNre3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MDt0b3A6MDtkaXNwbGF5OmJsb2NrfS5zbGljay10cmFjazpiZWZvcmUsLnNsaWNrLXRyYWNrOmFmdGVye2NvbnRlbnQ6XCJcIjtkaXNwbGF5OnRhYmxlfS5zbGljay10cmFjazphZnRlcntjbGVhcjpib3RofS5zbGljay1sb2FkaW5nIC5zbGljay10cmFja3t2aXNpYmlsaXR5OmhpZGRlbn0uc2xpY2stc2xpZGV7ZmxvYXQ6bGVmdDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjFweDtkaXNwbGF5Om5vbmV9W2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGV7ZmxvYXQ6cmlnaHR9LnNsaWNrLXNsaWRlIGltZ3tkaXNwbGF5OmJsb2NrfS5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZ3tkaXNwbGF5Om5vbmV9LnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ3twb2ludGVyLWV2ZW50czpub25lfS5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGV7ZGlzcGxheTpibG9ja30uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGV7dmlzaWJpbGl0eTpoaWRkZW59LnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZXtkaXNwbGF5OmJsb2NrO2hlaWdodDphdXRvO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9LnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbntkaXNwbGF5Om5vbmV9LnNsaWNrLXByZXYsLnNsaWNrLW5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O2xpbmUtaGVpZ2h0OjBweDtmb250LXNpemU6MHB4O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dHJhbnNwYXJlbnQ7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwgLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwgLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAtNTAlKTtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lfS5zbGljay1wcmV2OmhvdmVyLC5zbGljay1wcmV2OmZvY3VzLC5zbGljay1uZXh0OmhvdmVyLC5zbGljay1uZXh0OmZvY3Vze291dGxpbmU6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnRyYW5zcGFyZW50fS5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZXtvcGFjaXR5Oi43NX0uc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3Jle29wYWNpdHk6Ljc1fS5zbGljay1wcmV2OmJlZm9yZSwuc2xpY2stbmV4dDpiZWZvcmV7Zm9udC1zaXplOjMwcHg7bGluZS1oZWlnaHQ6MTtjb2xvcjojNjY2O29wYWNpdHk6MTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtmb250LWZhbWlseTonbGF1cmEnICFpbXBvcnRhbnQ7c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lfS5zbGljay1wcmV2e2xlZnQ6MH1bZGlyPVwicnRsXCJdIC5zbGljay1wcmV2e2xlZnQ6YXV0bztyaWdodDowfS5zbGljay1wcmV2OmJlZm9yZXtjb250ZW50Olwi7qS7XCJ9W2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmV7Y29udGVudDpcIu6kvFwifS5zbGljay1uZXh0e3JpZ2h0OjB9W2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dHtsZWZ0OjA7cmlnaHQ6YXV0b30uc2xpY2stbmV4dDpiZWZvcmV7Y29udGVudDpcIu6kvFwifVtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQ6YmVmb3Jle2NvbnRlbnQ6XCLupLtcIn0uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlcnttYXJnaW4tYm90dG9tOjB9LnNsaWNrLWRvdHN7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxMnB4O2xpbmUtaGVpZ2h0OjE7cGFkZGluZzowIDNweDtoZWlnaHQ6MjVweH0uc2xpY2stZG90cyBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjVweDt3aWR0aDoyMHB4O21hcmdpbjowO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uc2xpY2stZG90cyBsaSBidXR0b257Ym94LXNoYWRvdzpub25lO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjVweDt3aWR0aDoyMHB4O291dGxpbmU6bm9uZTtsaW5lLWhlaWdodDowcHg7Zm9udC1zaXplOjBweDtjb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nOjVweDtjdXJzb3I6cG9pbnRlcn0uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3Vze291dGxpbmU6bm9uZX0uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmV7b3BhY2l0eTouNzV9LnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7Y29udGVudDpcIuKAolwiO3dpZHRoOjIwcHg7aGVpZ2h0OjI1cHg7Zm9udC1mYW1pbHk6XCJzbGlja1wiO2ZvbnQtc2l6ZTozMy4zMzMzM3B4O2xpbmUtaGVpZ2h0OjI1cHg7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6I0E3QTdBNztvcGFjaXR5Oi43NTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZXtjb2xvcjojMzMzO29wYWNpdHk6MTtmb250LXNpemU6NDBweH0vKiFcbiAqIGZ1bGxQYWdlIDIuOS40XG4gKiBodHRwczovL2dpdGh1Yi5jb20vYWx2YXJvdHJpZ28vZnVsbFBhZ2UuanNcbiAqIE1JVCBsaWNlbnNlZFxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxMyBhbHZhcm90cmlnby5jb20gLSBBIHByb2plY3QgYnkgQWx2YXJvIFRyaWdvXG4gKi9odG1sLmZwLWVuYWJsZWQsLmZwLWVuYWJsZWQgYm9keXttYXJnaW46MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0jc3VwZXJDb250YWluZXJ7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lfS5mcC1zZWN0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZnAtc2xpZGV7ZmxvYXQ6bGVmdH0uZnAtc2xpZGUsLmZwLXNsaWRlc0NvbnRhaW5lcntoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfS5mcC1zbGlkZXN7ei1pbmRleDoxO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLW91dH0uZnAtc2VjdGlvbi5mcC10YWJsZSwuZnAtc2xpZGUuZnAtdGFibGV7ZGlzcGxheTp0YWJsZTt0YWJsZS1sYXlvdXQ6Zml4ZWQ7d2lkdGg6MTAwJX0uZnAtdGFibGVDZWxse2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uZnAtc2xpZGVzQ29udGFpbmVye2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmV9LmZwLWNvbnRyb2xBcnJvd3std2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDt0b3A6NTAlO2N1cnNvcjpwb2ludGVyO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLXN0eWxlOnNvbGlkO21hcmdpbi10b3A6LTM4cHg7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCl9LmZwLWNvbnRyb2xBcnJvdy5mcC1wcmV2e2xlZnQ6MTVweDt3aWR0aDowO2JvcmRlci13aWR0aDozOC41cHggMzRweCAzOC41cHggMDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0uZnAtY29udHJvbEFycm93LmZwLW5leHR7cmlnaHQ6MTVweDtib3JkZXItd2lkdGg6MzguNXB4IDAgMzguNXB4IDM0cHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZ9LmZwLXNjcm9sbGFibGV7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5mcC1zY3JvbGxlcntvdmVyZmxvdzpoaWRkZW59LmlTY3JvbGxJbmRpY2F0b3J7Ym9yZGVyOjAgIWltcG9ydGFudH0uZnAtbm90cmFuc2l0aW9uey13ZWJraXQtdHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnR9I2ZwLW5hdntwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDttYXJnaW4tdG9wOi0zMnB4O2JvdHRvbToxMHB4O2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjNweCAwO2JvcmRlci1yYWRpdXM6MTJweDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCl9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKXsjZnAtbmF2e2Rpc3BsYXk6bm9uZX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0peyNmcC1uYXZ7Ym90dG9tOjIwcHh9fSNmcC1uYXYucmlnaHR7cmlnaHQ6NXB4fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsjZnAtbmF2LnJpZ2h0e3JpZ2h0OjIwcHh9fSNmcC1uYXYubGVmdHtsZWZ0OjVweH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7I2ZwLW5hdi5sZWZ0e2xlZnQ6MTBweH19LmZwLXNsaWRlc05hdntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ7bGVmdDo1MCU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApfS5mcC1zbGlkZXNOYXYuYm90dG9te2JvdHRvbToxN3B4fS5mcC1zbGlkZXNOYXYudG9we3RvcDoxN3B4fSNmcC1uYXYgdWwsLmZwLXNsaWRlc05hdiB1bHttYXJnaW46MDtwYWRkaW5nOjB9I2ZwLW5hdiB1bCBsaSwuZnAtc2xpZGVzTmF2IHVsIGxpe2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW46N3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5mcC1zbGlkZXNOYXYgdWwgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2t9I2ZwLW5hdiB1bCBsaSBhLC5mcC1zbGlkZXNOYXYgdWwgbGkgYXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lfSNmcC1uYXYgdWwgbGkgYS5hY3RpdmUgc3BhbiwuZnAtc2xpZGVzTmF2IHVsIGxpIGEuYWN0aXZlIHNwYW4sI2ZwLW5hdiB1bCBsaTpob3ZlciBhLmFjdGl2ZSBzcGFuLC5mcC1zbGlkZXNOYXYgdWwgbGk6aG92ZXIgYS5hY3RpdmUgc3BhbntoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O21hcmdpbjotNnB4IDAgMCAtNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzMzM30jZnAtbmF2IHVsIGxpIGEgc3BhbiwuZnAtc2xpZGVzTmF2IHVsIGxpIGEgc3Bhbntib3JkZXItcmFkaXVzOjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7aGVpZ2h0OjhweDt3aWR0aDo4cHg7Ym9yZGVyOjA7YmFja2dyb3VuZDojY2NjO2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luOi00cHggMCAwIC00cHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjFzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgMC4xcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAwLjFzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIDAuMXMgZWFzZS1pbi1vdXR9I2ZwLW5hdiB1bCBsaTpob3ZlciBhIHNwYW4sLmZwLXNsaWRlc05hdiB1bCBsaTpob3ZlciBhIHNwYW57YmFja2dyb3VuZDojNjY2fSNmcC1uYXYgdWwgbGkgLmZwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7Y29sb3I6I2ZmZjtmb250LXNpemU6MTRweDtmb250LWZhbWlseTphcmlhbCwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmO3doaXRlLXNwYWNlOm5vd3JhcDttYXgtd2lkdGg6MjIwcHg7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7b3BhY2l0eTowO3dpZHRoOjA7Y3Vyc29yOnBvaW50ZXJ9I2ZwLW5hdiB1bCBsaTpob3ZlciAuZnAtdG9vbHRpcCwjZnAtbmF2LmZwLXNob3ctYWN0aXZlIGEuYWN0aXZlKy5mcC10b29sdGlwey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDAuMnMgZWFzZS1pbjt0cmFuc2l0aW9uOm9wYWNpdHkgMC4ycyBlYXNlLWluO3dpZHRoOmF1dG87b3BhY2l0eToxfSNmcC1uYXYgdWwgbGkgLmZwLXRvb2x0aXAucmlnaHR7cmlnaHQ6MjBweH0jZnAtbmF2IHVsIGxpIC5mcC10b29sdGlwLmxlZnR7bGVmdDoyMHB4fS5mcC1hdXRvLWhlaWdodC5mcC1zZWN0aW9uLC5mcC1hdXRvLWhlaWdodCAuZnAtc2xpZGUsLmZwLWF1dG8taGVpZ2h0IC5mcC10YWJsZUNlbGx7aGVpZ2h0OmF1dG8gIWltcG9ydGFudH0uZnAtcmVzcG9uc2l2ZSAuZnAtYXV0by1oZWlnaHQtcmVzcG9uc2l2ZS5mcC1zZWN0aW9uLC5mcC1yZXNwb25zaXZlIC5mcC1hdXRvLWhlaWdodC1yZXNwb25zaXZlIC5mcC1zbGlkZSwuZnAtcmVzcG9uc2l2ZSAuZnAtYXV0by1oZWlnaHQtcmVzcG9uc2l2ZSAuZnAtdGFibGVDZWxse2hlaWdodDphdXRvICFpbXBvcnRhbnR9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5iYi1ib29rYmxvY2t7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxMDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LXBlcnNwZWN0aXZlOjIwMDBweDtwZXJzcGVjdGl2ZToyMDAwcHg7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn19LmJiLXBhZ2V7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTotd2Via2l0LXRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uYmItdmVydGljYWwgLmJiLXBhZ2V7d2lkdGg6NTAlO2hlaWdodDoxMDAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgY2VudGVyfS5iYi1ob3Jpem9udGFsIC5iYi1wYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgdG9wO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIHRvcH0uYmItcGFnZT5kaXYsLmJiLW91dGVyLC5iYi1jb250ZW50LC5iYi1pbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5iYi12ZXJ0aWNhbCAuYmItY29udGVudHt3aWR0aDoyMDAlfS5iYi1ob3Jpem9udGFsIC5iYi1jb250ZW50e2hlaWdodDoyMDAlfS5iYi1wYWdlPmRpdnt3aWR0aDoxMDAlOy13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0uYmItdmVydGljYWwgLmJiLWJhY2t7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKX0uYmItaG9yaXpvbnRhbCAuYmItYmFja3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKC0xODBkZWcpO3RyYW5zZm9ybTpyb3RhdGVYKC0xODBkZWcpfS5iYi1vdXRlcnt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt6LWluZGV4Ojk5OX0uYmItb3ZlcmxheSwuYmItZmxpcG92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNyk7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6MH0uYmItZmxpcG92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9LmJiLWJvb2tibG9jay5iYi12ZXJ0aWNhbD5kaXYuYmItcGFnZTpmaXJzdC1jaGlsZCwuYmItYm9va2Jsb2NrLmJiLXZlcnRpY2FsPmRpdi5iYi1wYWdlOmZpcnN0LWNoaWxkIC5iYi1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpfS5iYi1ib29rYmxvY2suYmItaG9yaXpvbnRhbD5kaXYuYmItcGFnZTpmaXJzdC1jaGlsZCwuYmItYm9va2Jsb2NrLmJiLWhvcml6b250YWw+ZGl2LmJiLXBhZ2U6Zmlyc3QtY2hpbGQgLmJiLWJhY2t7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyl9LmJiLWNvbnRlbnR7YmFja2dyb3VuZDojZmZmfS5iYi12ZXJ0aWNhbCAuYmItZnJvbnQgLmJiLWNvbnRlbnR7bGVmdDotMTAwJX0uYmItaG9yaXpvbnRhbCAuYmItZnJvbnQgLmJiLWNvbnRlbnR7dG9wOi0xMDAlfS5iYi12ZXJ0aWNhbCAuYmItZmxpcC1uZXh0LC5iYi12ZXJ0aWNhbCAuYmItZmxpcC1pbml0aWFsey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVkoLTE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZVkoLTE4MGRlZyl9LmJiLXZlcnRpY2FsIC5iYi1mbGlwLXByZXZ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWSgwZGVnKX0uYmItaG9yaXpvbnRhbCAuYmItZmxpcC1uZXh0LC5iYi1ob3Jpem9udGFsIC5iYi1mbGlwLWluaXRpYWx7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyl9LmJiLWhvcml6b250YWwgLmJiLWZsaXAtcHJldnstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGVYKDBkZWcpfS5iYi12ZXJ0aWNhbCAuYmItZmxpcC1uZXh0LWVuZHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVZKC0xNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZVkoLTE1ZGVnKX0uYmItdmVydGljYWwgLmJiLWZsaXAtcHJldi1lbmR7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgtMTY1ZGVnKTt0cmFuc2Zvcm06cm90YXRlWSgtMTY1ZGVnKX0uYmItaG9yaXpvbnRhbCAuYmItZmxpcC1uZXh0LWVuZHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlWCgxNWRlZyl9LmJiLWhvcml6b250YWwgLmJiLWZsaXAtcHJldi1lbmR7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgxNjVkZWcpO3RyYW5zZm9ybTpyb3RhdGVYKDE2NWRlZyl9LmJiLWl0ZW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZDojZmZmfS5uby1qcyAuYmItYm9va2Jsb2NrLC5uby1qcyB1bC5iYi1jdXN0b20tZ3JpZCBsaXt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5uby1qcyAuYmItaXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5iYi1jdXN0b20td3JhcHBlcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5iYi1jdXN0b20td3JhcHBlciAuYmItYm9va2Jsb2Nre3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC1wZXJzcGVjdGl2ZToyMDAwcHg7cGVyc3BlY3RpdmU6MjAwMHB4fS5iYi1jdXN0b20tc2lkZXt3aWR0aDo1MCU7ZmxvYXQ6bGVmdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmJiLWN1c3RvbS1maXJzdHBhZ2UgaDF7Zm9udC1zaXplOjIuNjI1ZW07bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO2ZvbnQtd2VpZ2h0OjMwMDtiYWNrZ3JvdW5kOiNmZmZ9LmJiLWN1c3RvbS1maXJzdHBhZ2UgaDEgc3BhbntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTo2MCU7b3BhY2l0eTowLjM7cGFkZGluZzowIDAgMC42ZW0gMC4xZW19LmJiLWN1c3RvbS1maXJzdHBhZ2V7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6MTUlO3dpZHRoOjUwJTtmbG9hdDpsZWZ0O2hlaWdodDoxMDAlfS5iYi1jdXN0b20tc2lkZSBwe3BhZGRpbmc6OCU7Zm9udC1zaXplOjEuOGVtO2ZvbnQtd2VpZ2h0OjMwMH0uYmItY3VzdG9tLXdyYXBwZXIgaDN7Zm9udC1zaXplOjEuNGVtO2ZvbnQtd2VpZ2h0OjMwMDttYXJnaW46MC40ZW0gMCAxZW19LmJiLWN1c3RvbS13cmFwcGVyPm5hdnt3aWR0aDoxMDAlO2hlaWdodDo0MHB4O21hcmdpbjoxZW0gYXV0byAwO3Bvc2l0aW9uOmZpeGVkO2JvdHRvbToyMHB4O3otaW5kZXg6MTAwMDt0ZXh0LWFsaWduOmNlbnRlcn0uYmItY3VzdG9tLXdyYXBwZXI+bmF2IGF7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOiMxYmFlZGU7Y29sb3I6I2ZmZjtmb250LXNpemU6MDttYXJnaW46MnB4fS5iYi1jdXN0b20td3JhcHBlcj5uYXYgYTpob3ZlcntvcGFjaXR5OjAuNn0ubm8tanMgLmJiLWN1c3RvbS13cmFwcGVye2hlaWdodDphdXRvfS5uby1qcyAuYmItY3VzdG9tLWNvbnRlbnR7aGVpZ2h0OjQ3MHB4fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjc1ZW0pey5iYi1jdXN0b20tc2lkZXtmb250LXNpemU6NzAlfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzM2VtKXsuYmItY3VzdG9tLXNpZGV7Zm9udC1zaXplOjYwJX19LnNjcm9sbC13cmFwcGVye292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50O3BhZGRpbmc6MCAhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5zY3JvbGwtd3JhcHBlcj4uc2Nyb2xsLWNvbnRlbnR7Ym9yZGVyOm5vbmUgIWltcG9ydGFudDtoZWlnaHQ6YXV0bztsZWZ0OjA7bWFyZ2luOjA7bWF4LWhlaWdodDpub25lO21heC13aWR0aDpub25lICFpbXBvcnRhbnQ7b3ZlcmZsb3c6c2Nyb2xsICFpbXBvcnRhbnQ7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7dG9wOjA7d2lkdGg6YXV0byAhaW1wb3J0YW50fS5zY3JvbGwtd3JhcHBlcj4uc2Nyb2xsLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDowO3dpZHRoOjB9LnNjcm9sbC1lbGVtZW50e2Rpc3BsYXk6bm9uZX0uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSwuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZXtkaXNwbGF5OmJsb2NrfS5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciwuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1hcnJvd3tjdXJzb3I6ZGVmYXVsdH0uc2Nyb2xsLXRleHRhcmVhe2JvcmRlcjoxcHggc29saWQgI2NjY2NjYztib3JkZXItdG9wLWNvbG9yOiM5OTk5OTl9LnNjcm9sbC10ZXh0YXJlYT4uc2Nyb2xsLWNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9LnNjcm9sbC10ZXh0YXJlYT4uc2Nyb2xsLWNvbnRlbnQ+dGV4dGFyZWF7Ym9yZGVyOm5vbmUgIWltcG9ydGFudDtoZWlnaHQ6MTAwJSAhaW1wb3J0YW50O21hcmdpbjowO21heC1oZWlnaHQ6bm9uZSAhaW1wb3J0YW50O21heC13aWR0aDpub25lICFpbXBvcnRhbnQ7b3ZlcmZsb3c6c2Nyb2xsICFpbXBvcnRhbnQ7b3V0bGluZTpub25lO3BhZGRpbmc6MnB4O3Bvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7dG9wOjA7d2lkdGg6MTAwJSAhaW1wb3J0YW50fS5zY3JvbGwtdGV4dGFyZWE+LnNjcm9sbC1jb250ZW50PnRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6MDt3aWR0aDowfS5zY3JvbGxiYXItaW5uZXI+LnNjcm9sbC1lbGVtZW50LC5zY3JvbGxiYXItaW5uZXI+LnNjcm9sbC1lbGVtZW50IGRpdntib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMH0uc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudCBkaXZ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJX0uc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteHtib3R0b206MnB4O2hlaWdodDo4cHg7bGVmdDowO3dpZHRoOjEwMCV9LnNjcm9sbGJhci1pbm5lcj4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXl7aGVpZ2h0OjEwMCU7cmlnaHQ6MnB4O3RvcDowO3dpZHRoOjhweH0uc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7b3ZlcmZsb3c6aGlkZGVufS5zY3JvbGxiYXItaW5uZXI+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlciwuc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2ssLnNjcm9sbGJhci1pbm5lcj4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXJ7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjhweDstbW96LWJvcmRlci1yYWRpdXM6OHB4O2JvcmRlci1yYWRpdXM6OHB4fS5zY3JvbGxiYXItaW5uZXI+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjaywuc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcnstbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApXCI7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO29wYWNpdHk6MC40fS5zY3JvbGxiYXItaW5uZXI+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTB9LnNjcm9sbGJhci1pbm5lcj4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXJ7YmFja2dyb3VuZC1jb2xvcjojYzJjMmMyfS5zY3JvbGxiYXItaW5uZXI+LnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtYmFye2JhY2tncm91bmQtY29sb3I6IzkxOTE5MX0uc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtYmFye2JhY2tncm91bmQtY29sb3I6IzkxOTE5MX0uc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFja3tsZWZ0Oi0xMnB4fS5zY3JvbGxiYXItaW5uZXI+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNre3RvcDotMTJweH0uc2Nyb2xsYmFyLWlubmVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXple2xlZnQ6LTEycHh9LnNjcm9sbGJhci1pbm5lcj4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZXt0b3A6LTEycHh9LnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQsLnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQgZGl2e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwfS5zY3JvbGxiYXItb3V0ZXI+LnNjcm9sbC1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZn0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudCBkaXZ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJX0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteHtib3R0b206MDtoZWlnaHQ6MTJweDtsZWZ0OjA7d2lkdGg6MTAwJX0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteXtoZWlnaHQ6MTAwJTtyaWdodDowO3RvcDowO3dpZHRoOjEycHh9LnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVye2hlaWdodDo4cHg7dG9wOjJweH0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7bGVmdDoycHg7d2lkdGg6OHB4fS5zY3JvbGxiYXItb3V0ZXI+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlcntvdmVyZmxvdzpoaWRkZW59LnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3RyYWNre2JhY2tncm91bmQtY29sb3I6I2VlZWVlZX0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsLnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3RyYWNrLC5zY3JvbGxiYXItb3V0ZXI+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyey13ZWJraXQtYm9yZGVyLXJhZGl1czo4cHg7LW1vei1ib3JkZXItcmFkaXVzOjhweDtib3JkZXItcmFkaXVzOjhweH0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9LnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzJjMmMyfS5zY3JvbGxiYXItb3V0ZXI+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXJ7YmFja2dyb3VuZC1jb2xvcjojOTE5MTkxfS5zY3JvbGxiYXItb3V0ZXI+LnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx5X3Zpc2libGV7bGVmdDotMTJweDttYXJnaW4tbGVmdDoxMnB4fS5zY3JvbGxiYXItb3V0ZXI+LnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx4X3Zpc2libGV7dG9wOi0xMnB4O21hcmdpbi10b3A6MTJweH0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWJhcnttaW4td2lkdGg6MTBweH0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWJhcnttaW4taGVpZ2h0OjEwcHh9LnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2t7bGVmdDotMTRweH0uc2Nyb2xsYmFyLW91dGVyPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFja3t0b3A6LTE0cHh9LnNjcm9sbGJhci1vdXRlcj4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZXtsZWZ0Oi0xNHB4fS5zY3JvbGxiYXItb3V0ZXI+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemV7dG9wOi0xNHB4fS5zY3JvbGxiYXItbWFjb3N4Pi5zY3JvbGwtZWxlbWVudCwuc2Nyb2xsYmFyLW1hY29zeD4uc2Nyb2xsLWVsZW1lbnQgZGl2e2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMH0uc2Nyb2xsYmFyLW1hY29zeD4uc2Nyb2xsLWVsZW1lbnQgZGl2e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCV9LnNjcm9sbGJhci1tYWNvc3g+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbGJhci1tYWNvc3g+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFye2JhY2tncm91bmQtY29sb3I6IzZDNkU3MTtkaXNwbGF5OmJsb2NrOy1tcy1maWx0ZXI6XCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO29wYWNpdHk6MDstd2Via2l0LWJvcmRlci1yYWRpdXM6N3B4Oy1tb3otYm9yZGVyLXJhZGl1czo3cHg7Ym9yZGVyLXJhZGl1czo3cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMC4ycyBsaW5lYXI7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgMC4ycyBsaW5lYXI7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IDAuMnMgbGluZWFyOy1tcy10cmFuc2l0aW9uOm9wYWNpdHkgMC4ycyBsaW5lYXI7dHJhbnNpdGlvbjpvcGFjaXR5IDAuMnMgbGluZWFyfS5zY3JvbGxiYXItbWFjb3N4OmhvdmVyPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciwuc2Nyb2xsYmFyLW1hY29zeD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWJhcnstbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApXCI7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NzApO29wYWNpdHk6MC43fS5zY3JvbGxiYXItbWFjb3N4Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteHtib3R0b206MHB4O2hlaWdodDowcHg7bGVmdDowO21pbi13aWR0aDoxMDAlO292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJX0uc2Nyb2xsYmFyLW1hY29zeD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXl7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxMDAlO3JpZ2h0OjBweDt0b3A6MDt3aWR0aDowcHh9LnNjcm9sbGJhci1tYWNvc3g+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtYmFye2hlaWdodDo3cHg7bWluLXdpZHRoOjEwcHg7dG9wOi05cHh9LnNjcm9sbGJhci1tYWNvc3g+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFye2xlZnQ6LTlweDttaW4taGVpZ2h0OjEwcHg7d2lkdGg6N3B4fS5zY3JvbGxiYXItbWFjb3N4Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7bGVmdDoycHh9LnNjcm9sbGJhci1tYWNvc3g+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXple2xlZnQ6LTRweH0uc2Nyb2xsYmFyLW1hY29zeD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X291dGVye3RvcDoycHh9LnNjcm9sbGJhci1tYWNvc3g+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXple3RvcDotNHB4fS5zY3JvbGxiYXItbWFjb3N4Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXple2xlZnQ6LTExcHh9LnNjcm9sbGJhci1tYWNvc3g+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemV7dG9wOi0xMXB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50LC5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50IGRpdntib3JkZXI6bm9uZTttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTB9LnNjcm9sbGJhci1saWdodD4uc2Nyb2xsLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmfS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50IGRpdntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlcnstd2Via2l0LWJvcmRlci1yYWRpdXM6MTBweDstbW96LWJvcmRlci1yYWRpdXM6MTBweDtib3JkZXItcmFkaXVzOjEwcHh9LnNjcm9sbGJhci1saWdodD4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3NpemV7YmFja2dyb3VuZDojZGJkYmRiO2JhY2tncm91bmQ6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGdvOGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqRXdNQ1VpSUdobGFXZG9kRDBpTVRBd0pTSWdkbWxsZDBKdmVEMGlNQ0F3SURFZ01TSWdjSEpsYzJWeWRtVkJjM0JsWTNSU1lYUnBiejBpYm05dVpTSStDaUFnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWxJaUI1TVQwaU1DVWlJSGd5UFNJeE1EQWxJaUI1TWowaU1DVWlQZ29nSUNBZ1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlJpWkdKa1lpSWdjM1J2Y0MxdmNHRmphWFI1UFNJeElpOCtDaUFnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU5sT0dVNFpUZ2lJSE4wYjNBdGIzQmhZMmwwZVQwaU1TSXZQZ29nSUR3dmJHbHVaV0Z5UjNKaFpHbGxiblErQ2lBZ1BISmxZM1FnZUQwaU1DSWdlVDBpTUNJZ2QybGtkR2c5SWpFaUlHaGxhV2RvZEQwaU1TSWdabWxzYkQwaWRYSnNLQ05uY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrS1NJZ0x6NEtQQzl6ZG1jK1wiKTtiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsICNlOGU4ZTggMTAwJSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwgI2RiZGJkYiksIGNvbG9yLXN0b3AoMTAwJSwgI2U4ZThlOCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2RiZGJkYiAwJSwgI2U4ZThlOCAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZGJkYmRiIDAlLCAjZThlOGU4IDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZGJkYmRiIDAlLCAjZThlOGU4IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZGJkYmRiIDAlLCAjZThlOGU4IDEwMCUpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoxMHB4Oy1tb3otYm9yZGVyLXJhZGl1czoxMHB4O2JvcmRlci1yYWRpdXM6MTBweH0uc2Nyb2xsYmFyLWxpZ2h0Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteHtib3R0b206MDtoZWlnaHQ6MTdweDtsZWZ0OjA7bWluLXdpZHRoOjEwMCU7d2lkdGg6MTAwJX0uc2Nyb2xsYmFyLWxpZ2h0Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteXtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjEwMCU7cmlnaHQ6MDt0b3A6MDt3aWR0aDoxN3B4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFye2JhY2tncm91bmQ6I2ZlZmVmZTtiYWNrZ3JvdW5kOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXhNREFsSWlCNU1qMGlNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJabFptVm1aU0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlObU5XWTFaalVpSUhOMGIzQXRiM0JoWTJsMGVUMGlNU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYytcIik7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmVmZWZlIDAlLCAjZjVmNWY1IDEwMCUpO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsICNmZWZlZmUpLCBjb2xvci1zdG9wKDEwMCUsICNmNWY1ZjUpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZWZlZmUgMCUsICNmNWY1ZjUgMTAwJSk7YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwgI2Y1ZjVmNSAxMDAlKTtiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwgI2Y1ZjVmNSAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZlZmVmZSAwJSwgI2Y1ZjVmNSAxMDAlKTtib3JkZXI6MXB4IHNvbGlkICNkYmRiZGI7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjEwcHg7LW1vei1ib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx5X3Zpc2libGV7bGVmdDotMTdweDttYXJnaW4tbGVmdDoxN3B4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx4X3Zpc2libGV7dG9wOi0xN3B4O21hcmdpbi10b3A6MTdweH0uc2Nyb2xsYmFyLWxpZ2h0Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWJhcntoZWlnaHQ6MTBweDttaW4td2lkdGg6MTBweDt0b3A6MHB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFye2xlZnQ6MHB4O21pbi1oZWlnaHQ6MTBweDt3aWR0aDoxMHB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlcntoZWlnaHQ6MTJweDtsZWZ0OjJweDt0b3A6MnB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXple2xlZnQ6LTRweH0uc2Nyb2xsYmFyLWxpZ2h0Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7bGVmdDoycHg7dG9wOjJweDt3aWR0aDoxMnB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXple3RvcDotNHB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemV7bGVmdDotMTlweH0uc2Nyb2xsYmFyLWxpZ2h0Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXple3RvcDotMTlweH0uc2Nyb2xsYmFyLWxpZ2h0Pi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFja3tsZWZ0Oi0xOXB4fS5zY3JvbGxiYXItbGlnaHQ+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNre3RvcDotMTlweH0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50LC5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQgZGl2e2JvcmRlcjpub25lO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMH0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZn0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50IGRpdntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3NpemV7YmFja2dyb3VuZC1jb2xvcjojOTk5O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjIpfS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyOmhvdmVyIC5zY3JvbGwtZWxlbWVudF9zaXple2JhY2tncm91bmQtY29sb3I6IzY2NjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC40KX0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14e2JvdHRvbTowO2hlaWdodDoxN3B4O2xlZnQ6MDttaW4td2lkdGg6MTAwJTtwYWRkaW5nOjNweCAwIDJweDt3aWR0aDoxMDAlfS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXl7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6MCAycHggMCAzcHg7cmlnaHQ6MDt0b3A6MDt3aWR0aDoxMnB4fS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXJ7YmFja2dyb3VuZC1jb2xvcjojNjY2Oy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7LW1vei1ib3JkZXItcmFkaXVzOjJweDtib3JkZXItcmFkaXVzOjJweDtjdXJzb3I6cG9pbnRlcn0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx5X3Zpc2libGV7bGVmdDotMTdweDttYXJnaW4tbGVmdDoxN3B4fS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZXttYXJnaW4tdG9wOjE3cHg7dG9wOi0xN3B4fS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXJ7aGVpZ2h0OjEwcHg7bWluLXdpZHRoOjEwcHg7dG9wOjFweH0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFye2xlZnQ6MXB4O21pbi1oZWlnaHQ6MTBweDt3aWR0aDoxMHB4fS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVye2hlaWdodDoxNXB4O2xlZnQ6NXB4fS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X3NpemV7aGVpZ2h0OjJweDtsZWZ0Oi0xMHB4O3RvcDo1cHh9LnNjcm9sbGJhci1yYWlsPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7dG9wOjVweDt3aWR0aDoxNXB4fS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3NpemV7bGVmdDo1cHg7dG9wOi0xMHB4O3dpZHRoOjJweH0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemV7bGVmdDotMjVweH0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemV7dG9wOi0yNXB4fS5zY3JvbGxiYXItcmFpbD4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2t7bGVmdDotMjVweH0uc2Nyb2xsYmFyLXJhaWw+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNre3RvcDotMjVweH0uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50LC5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQgZGl2e2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMH0uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50IGRpdntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXh7Ym90dG9tOjJweDtoZWlnaHQ6N3B4O2xlZnQ6MDttaW4td2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXl7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxMDAlO3JpZ2h0OjJweDt0b3A6MDt3aWR0aDo3cHh9LnNjcm9sbGJhci1keW5hbWljPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7b3BhY2l0eTowLjM7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjEycHg7LW1vei1ib3JkZXItcmFkaXVzOjEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fS5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3NpemV7YmFja2dyb3VuZC1jb2xvcjojY2NjY2NjO29wYWNpdHk6MDstd2Via2l0LWJvcmRlci1yYWRpdXM6MTJweDstbW96LWJvcmRlci1yYWRpdXM6MTJweDtib3JkZXItcmFkaXVzOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMC4yczstbW96LXRyYW5zaXRpb246b3BhY2l0eSAwLjJzOy1vLXRyYW5zaXRpb246b3BhY2l0eSAwLjJzOy1tcy10cmFuc2l0aW9uOm9wYWNpdHkgMC4yczt0cmFuc2l0aW9uOm9wYWNpdHkgMC4yc30uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFye2JhY2tncm91bmQtY29sb3I6IzZjNmU3MTstd2Via2l0LWJvcmRlci1yYWRpdXM6N3B4Oy1tb3otYm9yZGVyLXJhZGl1czo3cHg7Ym9yZGVyLXJhZGl1czo3cHh9LnNjcm9sbGJhci1keW5hbWljPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWJhcntib3R0b206MDtoZWlnaHQ6N3B4O21pbi13aWR0aDoyNHB4O3RvcDphdXRvfS5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXJ7bGVmdDphdXRvO21pbi1oZWlnaHQ6MjRweDtyaWdodDowO3dpZHRoOjdweH0uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlcntib3R0b206MDt0b3A6YXV0bztsZWZ0OjJweDstd2Via2l0LXRyYW5zaXRpb246aGVpZ2h0IDAuMnM7LW1vei10cmFuc2l0aW9uOmhlaWdodCAwLjJzOy1vLXRyYW5zaXRpb246aGVpZ2h0IDAuMnM7LW1zLXRyYW5zaXRpb246aGVpZ2h0IDAuMnM7dHJhbnNpdGlvbjpoZWlnaHQgMC4yc30uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlcntsZWZ0OmF1dG87cmlnaHQ6MDt0b3A6MnB4Oy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAwLjJzOy1tb3otdHJhbnNpdGlvbjp3aWR0aCAwLjJzOy1vLXRyYW5zaXRpb246d2lkdGggMC4yczstbXMtdHJhbnNpdGlvbjp3aWR0aCAwLjJzO3RyYW5zaXRpb246d2lkdGggMC4yc30uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXple2xlZnQ6LTRweH0uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXple3RvcDotNHB4fS5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZXtsZWZ0Oi0xMXB4fS5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZXt0b3A6LTExcHh9LnNjcm9sbGJhci1keW5hbWljPi5zY3JvbGwtZWxlbWVudDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsLnNjcm9sbGJhci1keW5hbWljPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlcntvdmVyZmxvdzpoaWRkZW47LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKVwiO2ZpbHRlcjphbHBoYShvcGFjaXR5PTcwKTtvcGFjaXR5OjAuN30uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlciAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSwuc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtZWxlbWVudF9zaXple29wYWNpdHk6MX0uc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlciAuc2Nyb2xsLWJhciwuc2Nyb2xsYmFyLWR5bmFtaWM+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtYmFye2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjEycHg7LW1vei1ib3JkZXItcmFkaXVzOjEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fS5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXg6aG92ZXIgLnNjcm9sbC1lbGVtZW50X291dGVyLC5zY3JvbGxiYXItZHluYW1pYz4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7aGVpZ2h0OjIwcHg7bWluLWhlaWdodDo3cHh9LnNjcm9sbGJhci1keW5hbWljPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteTpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsLnNjcm9sbGJhci1keW5hbWljPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlcnttaW4td2lkdGg6N3B4O3dpZHRoOjIwcHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LC5zY3JvbGxiYXItY2hyb21lPi5zY3JvbGwtZWxlbWVudCBkaXZ7Ym9yZGVyOm5vbmU7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwfS5zY3JvbGxiYXItY2hyb21lPi5zY3JvbGwtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZ9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50IGRpdntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5zY3JvbGxiYXItY2hyb21lPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2t7YmFja2dyb3VuZDojZjFmMWYxO2JvcmRlcjoxcHggc29saWQgI2RiZGJkYn0uc2Nyb2xsYmFyLWNocm9tZT4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXh7Ym90dG9tOjA7aGVpZ2h0OjE2cHg7bGVmdDowO21pbi13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15e2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MTAwJTtyaWdodDowO3RvcDowO3dpZHRoOjE2cHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFye2JhY2tncm91bmQtY29sb3I6I2Q5ZDlkOTtib3JkZXI6MXB4IHNvbGlkICNiZGJkYmQ7Y3Vyc29yOmRlZmF1bHQ7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDstbW96LWJvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6MnB4fS5zY3JvbGxiYXItY2hyb21lPi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjMmMyYzI7Ym9yZGVyLWNvbG9yOiNhOWE5YTl9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXJ7YmFja2dyb3VuZC1jb2xvcjojOTE5MTkxO2JvcmRlci1jb2xvcjojN2U3ZTdlfS5zY3JvbGxiYXItY2hyb21lPi5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseV92aXNpYmxle2xlZnQ6LTE2cHg7bWFyZ2luLWxlZnQ6MTZweH0uc2Nyb2xsYmFyLWNocm9tZT4uc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZXt0b3A6LTE2cHg7bWFyZ2luLXRvcDoxNnB4fS5zY3JvbGxiYXItY2hyb21lPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWJhcntoZWlnaHQ6OHB4O21pbi13aWR0aDoxMHB4O3RvcDozcHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFye2xlZnQ6M3B4O21pbi1oZWlnaHQ6MTBweDt3aWR0aDo4cHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlcntib3JkZXItbGVmdDoxcHggc29saWQgI2RiZGJkYn0uc2Nyb2xsYmFyLWNocm9tZT4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X3RyYWNre2hlaWdodDoxNHB4O2xlZnQ6LTNweH0uc2Nyb2xsYmFyLWNocm9tZT4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X3NpemV7aGVpZ2h0OjE0cHg7bGVmdDotNHB4fS5zY3JvbGxiYXItY2hyb21lPi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RiZGJkYn0uc2Nyb2xsYmFyLWNocm9tZT4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3RyYWNre3RvcDotM3B4O3dpZHRoOjE0cHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXple3RvcDotNHB4O3dpZHRoOjE0cHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemV7bGVmdDotMTlweH0uc2Nyb2xsYmFyLWNocm9tZT4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZXt0b3A6LTE5cHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNre2xlZnQ6LTE5cHh9LnNjcm9sbGJhci1jaHJvbWU+LnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNre3RvcDotMTlweH1cbiIsIlxuLy9mb250c1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDMwMGksNDAwLDQwMGksNjAwLDYwMGksNzAwLDcwMGksODAwLDgwMGknKTtcblxuLyogZGlkb3QgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZGlkb3RfbHRfc3RkaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvZGlkb3RsdHN0ZC1pdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvZGlkb3RsdHN0ZC1pdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9kaWRvdGx0c3RkLWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvZGlkb3RsdHN0ZC1pdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2RpZG90bHRzdGQtaXRhbGljLXdlYmZvbnQuc3ZnI2RpZG90X2x0X3N0ZGl0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdkaWRvdF9sdF9zdGRib2xkJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvZGlkb3RsdHN0ZC1ib2xkLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2RpZG90bHRzdGQtYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2RpZG90bHRzdGQtYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvZGlkb3RsdHN0ZC1ib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9kaWRvdGx0c3RkLWJvbGQtd2ViZm9udC5zdmcjZGlkb3RfbHRfc3RkYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZGlkb3RfbHRfc3RkcmVndWxhcic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2RpZG90bHRzdGQtcm9tYW4td2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvZGlkb3RsdHN0ZC1yb21hbi13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2RpZG90bHRzdGQtcm9tYW4td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2RpZG90bHRzdGQtcm9tYW4td2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2RpZG90bHRzdGQtcm9tYW4td2ViZm9udC5zdmcjZGlkb3RfbHRfc3RkcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuLy8gdHlwb2dyYXBoeVxuaDEsaDIsaDMsaDQsaDUsaDZ7XG4gIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xufVxuXG4vL1hZIGdyaWQgZnJhbWUgYWRqdXN0bWVudHNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgfVxuXG59XG5cblxuLy8gZ2xvYmFsIHN0eWxlc1xuXG5odG1sLGJvZHl7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuOmZvY3Vze1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vLyBsaW5rIHN0eWxlc1xuYSB7XG5cbiAgQGluY2x1ZGUgc21vb3RoLXRyYW5zaXRpb24oKTtcblxuICAmOmZvY3VzLCAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYuZmFuY3ktbGlua3tcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDA7XG5cbiAgICAmOmhvdmVye1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYudW5kZXJ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmOmhvdmVye1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIGV4dHJhIGJ1dHRvbiBzdHlsZXNcbi5idXR0b257XG5cbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICBAaW5jbHVkZSBzbW9vdGgtdHJhbnNpdGlvbigpO1xuXG5cbiAgJi5leHBhbmRlZC1mb3Itc21hbGx7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYud2hpdGUtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gIH1cblxuICAmLmNvbWluZy1zb29ue1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gIH1cblxuICAmOmhvdmVye1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG4uem9vbS1pbiB7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDJzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMnMgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDJzIGVhc2Utb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAycyBlYXNlLW91dDtcbiAgICBcbiAgICBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDQsMS4wNCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjA0LDEuMDQpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMDQsMS4wNCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMDQsMS4wNCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCwxLjA0KTtcbn1cblxuXG4vL3ByZWxvYWRlclxuYm9keSB7XG4gIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy9iYXJiYVxuLmJhcmJhLWNvbnRhaW5lcntcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5wcmVsb2FkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG4gIHJpZ2h0OjA7XG4gIGJvdHRvbTowO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICB6LWluZGV4OjIwMDA7XG5cbiAgJjphZnRlcntcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyByaWdodDogMDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2J0LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTowLjI7XG4gICAgYW5pbWF0aW9uOiBmbGlja2VyQW5pbWF0aW9uIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuXG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlja2VyQW5pbWF0aW9ue1xuICAwJSAgIHsgb3BhY2l0eTowLjI7IH1cbiAgNTAlICB7IG9wYWNpdHk6MTsgfVxuICAxMDAlIHsgb3BhY2l0eTowLjI7IH1cbn1cbi5hbmltYXRlLWZsaWNrZXIge1xuICAgIGFuaW1hdGlvbjogZmxpY2tlckFuaW1hdGlvbiAxcyBpbmZpbml0ZTtcbn1cblxuLy9wYWdlIG5hdlxuLnBhZ2VuYXZ7XG4gIHBvc2l0aW9uOiBmaXhlZDsgIHotaW5kZXg6IDMwMDtcbiAgYm90dG9tOiAkc21hbGwtbWFyZ2luLzI7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIG9wYWNpdHk6IDE7IFxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbihmaXhlZCk7XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCl7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBvcGFjaXR5OiAwLjQ7IFxuXG4gIH1cblxuICAmOmhvdmVye1xuICAgIG9wYWNpdHk6IDAuODsgXG5cbiAgfVxuXG4gIC8vdHJhbnNpdGlvbjogYWxsIGxpbmVhciAuMnM7XG4gIEBpbmNsdWRlIHNtb290aC10cmFuc2l0aW9uKCk7XG5cblxuICAmLm5leHR7XG4gICAgcmlnaHQ6IC0zMHB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDYwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Fycm93LXJpZ2h0LXdoaXRlLnN2ZykgIHJnYmEoJGJsYWNrYmxhY2ssMC4yKSBuby1yZXBlYXQgMjUlIDUwJS8xNnB4IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcmlnaHQ6IC00MHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogODBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDgwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgICB9XG5cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KXtcbiAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEyMHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9hcnJvdy1yaWdodC13aGl0ZS5zdmcpICAkYmxhY2tibGFjayBuby1yZXBlYXQgMzBweCA0NXB4LzIwcHggMzJweDtcblxuICAgICAgJjpob3ZlcntcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgJi5wcmV2e1xuICAgIGxlZnQ6IC0zMHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2MHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYXJyb3ctbGVmdC13aGl0ZS5zdmcpICByZ2JhKCRibGFja2JsYWNrLDAuMikgbm8tcmVwZWF0IDc1JSA1MCUvMTZweCAxNnB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDgwcHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogODBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICAgIH1cblxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpe1xuICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEyMHB4O1xuICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMjBweDtcbiAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Fycm93LWxlZnQtd2hpdGUuc3ZnKSAgJGJsYWNrYmxhY2sgbm8tcmVwZWF0IDEycHggNDVweC8yMHB4IDMycHg7XG5cbiAgICAgICAmOmhvdmVye1xuICAgICAgICAgbGVmdDogMDtcbiAgICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLm5hdm5leHRzbGlkZW91dHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpe1xuICAgIHJpZ2h0OiAwO1xuICAgIGFuaW1hdGlvbjogbmF2bmV4dHNsaWRlb3V0IDEuMnMgbGluZWFyO1xuICB9XG59XG5cbi5uYXZwcmV2c2xpZGVvdXR7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KXtcbiAgICBsZWZ0OiAwO1xuICAgIGFuaW1hdGlvbjogbmF2cHJldnNsaWRlb3V0IDEuMnMgbGluZWFyO1xuICB9XG59XG5cblxuQGtleWZyYW1lcyBuYXZuZXh0c2xpZGVvdXQge1xuICAgIDAlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IC41XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IC41XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgICAgb3BhY2l0eTogLjJcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbmF2cHJldnNsaWRlb3V0IHtcbiAgICAwJSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IC41XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogLjVcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgIG9wYWNpdHk6IC4yXG4gICAgfVxufVxuXG4vLyBuYXZcbi5uYXZ7XG5cblxuICAmOmJlZm9yZXtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2tibGFjaztcbiAgICBjb250ZW50OicnO1xuICAgIHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDtcbiAgICB9XG4gIH1cblxuICBidXR0b257XG4gICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7IGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXG4gICAgYmFja2dyb3VuZDogJGJsYWNrYmxhY2s7XG5cbiAgICB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuXG5cbiAgICBzcGFue1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMjBweCAxNnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm5hdmNvbnRlbnRzIHtcbiAgICAgIFxuXG4gICAgICBzcGFue1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL21lbnUuc3ZnKTtcblxuICAgICAgfVxuICAgIH1cblxuICAgICYubmF2Y29udGVudHNjbG9zZXtcbiAgICAgIFxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHNwYW57XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2xvc2Uuc3ZnKTtcblxuICAgICAgfVxuICAgIH1cblxuICAgICYubmF2c2hhcmUge1xuICAgICByaWdodDogNTNweDtcblxuICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgIHJpZ2h0OiA2M3B4O1xuICAgICB9XG5cbiAgICAgIHNwYW57XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2hhcmUuc3ZnKTtcblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG5cblxuLm5hdnNoYXJlLWRyb3Bkb3due1xuICAgIGJhY2tncm91bmQ6ICRibGFja2JsYWNrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcblxuICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgcG9zaXRpb246IGZpeGVkOyB0b3A6IDUwcHg7IHJpZ2h0OiA1M3B4OyB6LWluZGV4OiA1MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDYwcHg7IHRvcDogNjBweDsgcmlnaHQ6IDYzcHg7XG4gICAgfVxuXG4gICAgYXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMjBweCAxNnB4O1xuXG4gICAgICAmLm5hdnNoYXJlLWZhY2Vib29rIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ZhY2Vib29rLnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZhY2Vib29rYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJi5uYXZzaGFyZS10d2l0dGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3R3aXR0ZXIuc3ZnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHdpdHRlcmJsdWU7XG4gICAgICB9XG5cbiAgICAgICYubmF2c2hhcmUtZ29vZ2xlcGx1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nb29nbGVwbHVzLnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvb2dsZXBsdXNyZWQ7XG4gICAgICB9XG5cbiAgICB9XG5cbn1cblxuLy8gcGFnZSB0aXRsZVxuLnBhZ2UtdGl0bGV7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcblxuICAgIGIsc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQ7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuXG4gICAgY29sb3I6ICRibGFjaztcblxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgLy9mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICBzcGFuLnBhZ2UtdGl0bGUtbG9nb3tcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2xvZ28tYmxhY2suc3ZnKSBuby1yZXBlYXQgdG9wIGxlZnQvY29udGFpbjtcbiAgICAgIGhlaWdodDogMTZweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgfVxuXG4gICAgfVxufVxuXG4ucGFnZS1sZWFke1xuXG4gIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdGV4dC10cmFuc2Zvcm07XG5cbiAgbGluZS1oZWlnaHQ6IDAuOTtcblxuICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBicntcbiAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAgIHNwYW4ucGFnZS1sZWFkLWlzc3Vle1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLyBtZW51XG4ubWVudS1jb250YWluZXJ7XG4gIHBhZGRpbmctdG9wOiAkbGFyZ2UtbWFyZ2luO1xuICBwYWRkaW5nLWJvdHRvbTogJGxhcmdlLW1hcmdpbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiAkeGxhcmdlLW1hcmdpbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHhsYXJnZS1tYXJnaW47XG4gIH1cblxuICBtYXgtd2lkdGg6IDk1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcblxufVxuXG4ubWVudS1wYWdlLXRpdGxle1xuXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgcGFkZGluZy1ib3R0b206ICRzbWFsbC1tYXJnaW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWVkaXVtLW1hcmdpbjtcbiAgfVxuXG4gIHNwYW4ucGFnZS10aXRsZS1sb2dve1xuICAgIGhlaWdodDogMjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gIH1cblxuICAucGFnZS10aXRsZS10ZXh0e1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbn1cblxuXG4ubWVudS1tYWluLWxpbmtze1xuXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcblxuICBtYXJnaW4tYm90dG9tOiAkc21hbGwtbWFyZ2luLzI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgfVxuXG4gICAgLm1lbnUtbWFpbi1saW5rcy10aXRsZXtcblxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG5cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG5cbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2LCAkZ3V0dGVyczogMCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG5cbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0LCAkZ3V0dGVyczogMCk7XG4gICAgICB9XG5cblxuICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1xuXG4gICAgICAgJjphZnRlcntcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Fycm93LXJpZ2h0LnN2Zykgbm8tcmVwZWF0IGNlbnRlciByaWdodC8xMHB4IDEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAxMDAlO1xuICAgICAgIH1cblxuICAgIH1cblxufVxuXG4ubWVudS1jb250ZW50LWxpc3R7XG5cbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LCAkZ3V0dGVyczogMzBweCwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRuZWdhdGl2ZTogdHJ1ZSk7XG5cblxuICAubWVudS1jb250ZW50LWxpc3RpdGVte1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIsICRndXR0ZXJzOiAzMHB4KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2LCAkZ3V0dGVyczogMzBweCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0LCAkZ3V0dGVyczogMzBweCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgLm1lbnUtY29udGVudC1saXN0aXRlbS1pbWFnZXtcblxuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuXG4gICAgICAgICAgaW1ne1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAubWVudS1jb250ZW50LWxpc3RpdGVtLXRleHR7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtY29udGVudC1saXN0aXRlbS10eXBle1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1jb250ZW50LWxpc3RpdGVtLXRpdGxle1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtZXh0cmFib2xkO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLm1lbnUtcGFnZS1udW1iZXJze1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udDtcblxuICAgICAgfVxuXG4gIH1cblxufVxuXG5cbi8vIHZpZGVvIGJnc1xudmlkZW8uYmd2aWQgeyBcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAtMTAwO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogdXJsKC8vYnJvd250aG9tYXMuYS5iaWdjb250ZW50LmlvL3YxL3N0YXRpYy9zdW1tZXItYnV0dGVyZmx5LW1vYmlsZS0yKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb3ZlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy9pMS5hZGlzLndzL3YvYnJvd25fdGhvbWFzL3N1bW1lci1idXR0ZXJmbHktdmlkZW8tNzIwcD9xbHQ9MTAwJnVuc2hhcnA9MCwxLDEsNyk7XG4gICAgfVxuXG4gICAgJi5hcnRpY2xlLXBhZ2UtbWVkaWEtdmlkZW97XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLmFkdmVydC1wYWdlLXZpZGVvICZ7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICB2aWRlby5iZ3ZpZCB7IFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG5cbi8vIGNvdmVyIHBhZ2Vcbi5jb3Zlci1wYWdle1xuXG4gIC8vbWluLWhlaWdodDogNjAwcHg7XG5cbiAgaGVpZ2h0OiAxMDB2aDtcblxuICAvKi8vYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vYnJvd250aG9tYXMuYS5iaWdjb250ZW50LmlvL3YxL3N0YXRpYy9idF9pc3N1ZTNfY292ZXIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvdmVyOyovXG4gIGJhY2tncm91bmQ6IHVybCgvL2Jyb3dudGhvbWFzLmEuYmlnY29udGVudC5pby92MS9zdGF0aWMvc3VtbWVyLWJ1dHRlcmZseS1tb2JpbGUtMikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY292ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy9pMS5hZGlzLndzL3YvYnJvd25fdGhvbWFzL3N1bW1lci1idXR0ZXJmbHktdmlkZW8tNzIwcD9xbHQ9MTAwJnVuc2hhcnA9MCwxLDEsNyk7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG5cbiAgLmNvdmVyLXBhZ2Utd3JhcHBlcntcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20gbGVmdCByaWdodCwgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgfVxuXG5cblxuICAuY292ZXItcGFnZS10aXRsZXtcblxuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSg1MSw1MSw1MSwwLjIpLDAgMCAycHggcmdiYSgwLDAsMCwwLjEpO1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgICAgfVxuXG4gICAgICBzcGFuLnBhZ2UtdGl0bGUtbG9nb3tcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2dvLnN2Zyk7XG4gICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCl7XG4gICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCl7XG4gICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDogNTY1cHg7IGhlaWdodDogNTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6IDcwMHB4OyBoZWlnaHQ6IDY4cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuICB9XG5cblxuICAuY292ZXItcGFnZS1sZWFke1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMjtcbiAgICBib3R0b206IDYwcHg7IGxlZnQ6IDA7IHdpZHRoOiA3MCU7XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBib3R0b20gbGVmdCwgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBtYXJnaW4pO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG5cbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSg1MSw1MSw1MSwwLjIpLDAgMCAycHggcmdiYSgwLDAsMCwwLjEpO1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgLy9mb250LXNpemU6IDEyMHB4O1xuICAgIH1cblxuICAgICAgc3Bhbi5wYWdlLWxlYWQtaXNzdWV7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIC8vZm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gIH1cblxuXG59XG5cbi8vIGZlYXR1cmUgcGFnZVxuLmZlYXR1cmUtcGFnZXtcblxuICAuZmVhdHVyZS1wYWdlLXRpdGxle1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmUtcGFnZS1zaWRlYmFye1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0LCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIH1cblxuICAuZmVhdHVyZS1wYWdlLWNvbnRlbnR7XG4gICBcbiAgfVxuXG4gIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlke1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW17XG5cbiAgICAgIGF7XG4gICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZS1wYWdlLWNvbnRlbnQtZ3JpZC1pdGVtLWltYWdle1xuICAgICAgICAvL2JhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgLy9wYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCB0b3AgY2VudGVyL2NvdmVyO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCxmYWxzZSwwKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlLXBhZ2UtY29udGVudC1ncmlkLWl0ZW0tdGV4dHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDgsZmFsc2UsMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20gbGVmdCByaWdodCwgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuXG4gICAgICAgIC5mZWF0dXJlLXR5cGV7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0ZXJ0aWFyeS1mb250O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0dXJlLXRpdGxle1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtZXh0cmFib2xkO1xuXG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCl7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0dXJlLWNvcHl7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3NXB4KXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCl7XG4gICAgICAgIC8vYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkgLmZlYXR1cmUtcGFnZS1jb250ZW50LWdyaWQtaXRlbS10ZXh0e1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgIH1cblxuXG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8vIFRlbXBsYXRlIDEoYWJjKVxuLmFydGljbGUtcGFnZXtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG5cblxuICAuYXJ0aWNsZS1wYWdlLW1lZGlhe1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvL292ZXJmbG93OiBoaWRkZW47XG4gICAgICBcbiAgICAgIGhlaWdodDogNTAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogODAwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IHRvcCBjZW50ZXIvY292ZXI7IC8vZGVmYXVsdDtcblxuXG4gICAgICAmLmFydGljbGUtcGFnZS12aWRlb3tcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLXBhZ2UtY29udGVudHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tLCAkZ3V0dGVyczogJHNtYWxsLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20sICRndXR0ZXJzOiAkeGxhcmdlLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20sICRndXR0ZXJzOiAkeHhsYXJnZS1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuXG5cbiAgICAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQtaW5uZXJ7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsICRndXR0ZXJzOiAkbGFyZ2UtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cblxuICAgIC5hcnRpY2xlLXBhZ2UtY29udGVudC1pbm5lcntcbiAgICAgIC8vbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgIC8vbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLmFydGljbGUtdHlwZXtcbiAgICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLXRpdGxle1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWV4dHJhYm9sZDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjQpO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFydGljbGUtc3RhbmRmaXJzdHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyxie1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LWZhbWlseTogJHF1YXRlcm5hcnktZm9udDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvcHl7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20sICRndXR0ZXJzOiAkbWVkaXVtLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMCwgJGd1dHRlcnM6IDApO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICAgICAgfVxuXG5cbiAgICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cblxuICAgIC5hcnRpY2xlLXBhZ2UtaW1hZ2V7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCAsICRndXR0ZXJzOiAkbWVkaXVtLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246ICBib3R0b20sICRndXR0ZXJzOiAkbGFyZ2UtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cblxuICAgIGJsb2NrcXVvdGV7XG5cbiAgICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20sICRndXR0ZXJzOiAkbWVkaXVtLW1hcmdpbiwgJGd1dHRlci10eXBlOiBtYXJnaW4pO1xuXG4gICAgICBwe1xuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICBjb250ZW50OlwiXFwyMDFDXCI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICBjb250ZW50OlwiXFwyMDFEXCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgICBjaXRle1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBmb250LWZhbWlseTogJHByaW1hcnktZm9udDsgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cbi8vIFRlbXBsYXRlIFN0YWNrXG4uc3RhY2stdGVtcGxhdGV7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAuZ3JpZC14LnN3YXAtY29sdW1uc3tcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAuYXJ0aWNsZS1wYWdlLWNvbnRlbnR7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLXBhZ2UtbWVkaWF7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIFxuICAgICAgaGVpZ2h0OiA1MDBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiA4MDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdG9wIGNlbnRlci9jb3ZlcjtcbiAgfVxuXG4gIC5hcnRpY2xlLXBhZ2UtY29udGVudHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSwgJGd1dHRlcnM6ICRzbWFsbC1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tLCAkZ3V0dGVyczogJHhsYXJnZS1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tLCAkZ3V0dGVyczogJHh4bGFyZ2UtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cblxuXG4gICAgLmFydGljbGUtcGFnZS1jb250ZW50LWlubmVye1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LCAkZ3V0dGVyczogJGxhcmdlLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cblxuICAgIC5hcnRpY2xlLXBhZ2UtY29udGVudC1pbm5lcntcbiAgICAgIC8vbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgIC8vbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLmFydGljbGUtdHlwZXtcbiAgICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLXRpdGxle1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWV4dHJhYm9sZDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjQpO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFydGljbGUtc3RhbmRmaXJzdHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyxie1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LWZhbWlseTogJHF1YXRlcm5hcnktZm9udDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvcHl7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20sICRndXR0ZXJzOiAkbWVkaXVtLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMCwgJGd1dHRlcnM6IDApO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICAgICAgfVxuXG5cbiAgICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cblxuICAgIC5hcnRpY2xlLXBhZ2UtaW1hZ2V7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCAsICRndXR0ZXJzOiAkbWVkaXVtLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246ICBib3R0b20sICRndXR0ZXJzOiAkbGFyZ2UtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cblxuICAgIGJsb2NrcXVvdGV7XG5cbiAgICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20sICRndXR0ZXJzOiAkbWVkaXVtLW1hcmdpbiwgJGd1dHRlci10eXBlOiBtYXJnaW4pO1xuXG4gICAgICBwe1xuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICBjb250ZW50OlwiXFwyMDFDXCI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICBjb250ZW50OlwiXFwyMDFEXCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgICBjaXRle1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBmb250LWZhbWlseTogJHByaW1hcnktZm9udDsgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cbi5hcnRpY2xlLXByb2R1Y3RzdGFja3tcblxuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tLCAkZ3V0dGVyczogJG1lZGl1bS1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgXG4gIC5hcnRpY2xlLXByb2R1Y3RzdGFjay10eHR7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgIC5hcnRpY2xlLXByb2R1Y3RzdGFjay10aXRsZXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7IFxuICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICB9XG5cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgfVxuXG4gICAgICAuYXJ0aWNsZS1wcm9kdWN0c3RhY2stZGVzY3tcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgIH1cblxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogJGRhcmtlci1ncmF5O1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9ue1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuXG59XG5cbi5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbHtcblxuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBib3R0b20sICRndXR0ZXJzOiAkbWVkaXVtLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtaXRlbXtcbiAgICAvL3BhZGRpbmc6IDAgJHNtYWxsLW1hcmdpbi8yO1xuXG5cbiAgICAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtaW1ne1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLW1hcmdpbjtcbiAgICB9XG5cblxuICAgIC5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbC10eHR7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAuYXJ0aWNsZS1wcm9kdWN0Y2Fyb3VzZWwtdHh0LXdyYXBwZXJ7XG4gICAgICAgICAgbWluLWhlaWdodDogNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbC10aXRsZXtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXByb2R1Y3RjYXJvdXNlbC1kZXNje1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgY29sb3I6ICRkYXJrZXItZ3JheTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbntcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICB9XG5cbiAgLnNsaWNrLWRvdHN7XG4gICAgbWFyZ2luOiAkc21hbGwtbWFyZ2luIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgfVxuXG59XG5cblxuLmFydGljbGUtc2xpZGVvdXR7XG5cbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gIGJvcmRlci10b3A6MXB4IHNvbGlkICRkYXJrLWdyYXk7XG5cbiAgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyBib3R0b206IDA7IGhlaWdodDogMjEwcHg7XG5cbiAgJi5taXJyb3JlZHtcbiAgICBsZWZ0OiBhdXRvOyByaWdodDogMDtcblxuICAgIC5jbG9zZS1zbGlkZW91dHtcblxuICAgICAgICBsZWZ0OiAxZW07IHJpZ2h0OiBhdXRvO1xuICAgICAgXG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCBsZWZ0LCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaGVpZ2h0OiAzMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICB0b3A6IDA7IGJvdHRvbTogYXV0bzsgaGVpZ2h0OiAxMDAlOyBcblxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogYm90dG9tIGxlZnQgcmlnaHQsICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICBwYWRkaW5nLXRvcDogJGxhcmdlLW1hcmdpbjtcblxuICAgID4gLmdyaWQteHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgfVxuXG5cbiAgLmFydGljbGUtc2xpZGVvdXQtY3Rhe1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgXG5cblxuICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cbiAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG5cblxuICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAwO1xuICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDUwcHg7IGxlZnQ6IDA7IGJvdHRvbTogMDtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NoZXZyb24tZG93bi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyLzIwcHggMjBweDtcbiAgICAgICAgICB9XG4gICAgIH1cblxuICB9XG5cbiAgLmFydGljbGUtc2xpZGVvdXQtY29udGFpbmVye1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1zbGlkZW91dC1pdGVte1xuXG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAyMTVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHJpZ2h0LCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuXG4gICAgLmFydGljbGUtc2xpZGVvdXQtaW1ne1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1tYXJnaW4vMjtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBcbiAgICAgIGltZ3tcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLmFydGljbGUtc2xpZGVvdXQtdHh0e1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgLmFydGljbGUtc2xpZGVvdXQtdGl0bGV7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7IFxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuXG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXNsaWRlb3V0LWRlc2N7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICBjb2xvcjogJGRhcmtlci1ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbntcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICB9XG5cblxuXG59XG5cblxuLy8gVGVtcGxhdGUgMSBBcnRpY2xlIHBhZ2UgY2Fyb3VzZWxcbi5hcnRpY2xlLXBhZ2UtbWVkaWEtc2xpZGVyLXBhZ2luYXRpb257XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6JHdoaXRlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMjtcbiAgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6NDMwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0b3A6IDYzMHB4O1xuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDtcbiAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBib3R0b206IDIwcHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLm1pcnJvcmVkICZ7XG4gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgfVxuICB9XG5cblxufVxuXG4uYXJ0aWNsZS1wYWdlLW1lZGlhLXNsaWRlcntcblxuICBoZWlnaHQ6NTAwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBoZWlnaHQ6IDgwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICBvcGFjaXR5OiAwO1xuICAgICBcbiAgJi5zbGljay1pbml0aWFsaXplZCB7IG9wYWNpdHk6IDE7fVxuXG4gIC5hcnRpY2xlLXBhZ2UtbWVkaWEtc2xpZGVyLWl0ZW17XG5cbiAgICBoZWlnaHQ6NTAwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgaGVpZ2h0OiA4MDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcblxuXG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IHRvcCBjZW50ZXIvY292ZXI7XG5cbiAgfVxuXG4gIC5zbGljay1kb3Rze1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMztcbiAgICB0b3A6IDQ4OHB4O1xuXG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6IDc4OHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxuXG59XG5cbi8vIFRlbXBsYXRlIHN0YWNrIHRlbXBsYXRlIGNhcm91c2VsXG4uc3RhY2stdGVtcGxhdGUtbWVkaWEtc2xpZGVyLXBhZ2luYXRpb257XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6JHdoaXRlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMjtcbiAgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6NDMwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0b3A6IDYzMHB4O1xuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDtcbiAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBib3R0b206IDIwcHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLm1pcnJvcmVkICZ7XG4gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgfVxuICB9XG5cblxufVxuXG4uc3RhY2stdGVtcGxhdGUtbWVkaWEtc2xpZGVye1xuXG4gIGhlaWdodDo1MDBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogODAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gIG9wYWNpdHk6IDA7XG4gICAgIFxuICAmLnNsaWNrLWluaXRpYWxpemVkIHsgb3BhY2l0eTogMTt9XG5cbiAgLnN0YWNrLXRlbXBsYXRlLW1lZGlhLXNsaWRlci1pdGVte1xuXG4gICAgaGVpZ2h0OjUwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGhlaWdodDogODAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG5cblxuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvdmVyO1xuXG4gIH1cblxuICAuc2xpY2stZG90c3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDM7XG4gICAgdG9wOiA0ODhweDtcblxuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgdG9wOiA3ODhweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICAvL3dpZHRoOiAxMDAlO1xuICAgIH1cblxuICB9XG59XG5cbi5hcnRpY2xlLXBhZ2UtaW5saW5ldmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgLCAkZ3V0dGVyczogJG1lZGl1bS1tYXJnaW4sICRndXR0ZXItdHlwZTogbWFyZ2luKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246ICBib3R0b20sICRndXR0ZXJzOiAkbGFyZ2UtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbik7XG5cbiAgICAuYXJ0aWNsZS1wYWdlLWlubGluZXZpZGVvLWlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbn1cblxuXG4vLyBUZW1wbGF0ZSAyIDgwLzIwIHNwbGl0IHBhZ2Vcbi5laWdodHl0d2VudHktcGFnZXtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG5cblxuICAuc2xpY2stZG90c3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDM7XG4gICAgdG9wOiBjYWxjKDMvNCoxMDB2dyAtIDEycHgpO1xuXG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxuICAmLnhtaXJyb3JlZCAuc2xpY2stZG90c3tcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICBsZWZ0OiAyNSU7XG4gICAgICB9XG4gIH1cblxuICAuZWlnaHR5dHdlbnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6JHdoaXRlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyO1xuICAgXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogY2FsYygzLzQqMTAwdncgLSA3MHB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgbWFyZ2luLWxlZnQ6IC04MHB4O1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogNzUlO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gIH1cblxuXG5cbiAgJi5taXJyb3JlZCAuZWlnaHR5dHdlbnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC04MHB4O1xuICAgICAgICByaWdodDogNzUlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICB9XG5cbiAgLmVpZ2h0eXR3ZW50eS1wYWdlLW1lZGlhe1xuXG5cbiAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG5cbiAgICBoZWlnaHQ6IGNhbGMoMy80KjEwMHZ3KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxuXG4gICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAuMnM7XG5cblxuICAgIG9wYWNpdHk6IDA7XG4gICAgICAgXG4gICAgJi5zbGljay1pbml0aWFsaXplZCB7IG9wYWNpdHk6IDE7fVxuXG5cbiAgfVxuXG4gIC5laWdodHl0d2VudHktcGFnZS1tZWRpYS1pdGVte1xuXG4gICAgaGVpZ2h0OiBjYWxjKDMvNCoxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cblxuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvdmVyO1xuXG4gIH1cblxuICAuZWlnaHR5dHdlbnR5LXBhZ2UtY29udGVudHtcblxuXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AsICRndXR0ZXJzOiAkc21hbGwtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCwgJGd1dHRlcnM6ICRtZWRpdW0tbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogdG9wLCAkZ3V0dGVyczogJHhsYXJnZS1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tLCAkZ3V0dGVyczogJHh4bGFyZ2UtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcblxuICAgIH1cblxuICAgIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgLjJzO1xuXG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIFxuICAgICYuc2xpY2staW5pdGlhbGl6ZWQgeyBvcGFjaXR5OiAxO31cblxuICB9XG5cbiAgLmVpZ2h0eXR3ZW50eS10eXBle1xuICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuXG5cbiAgLmVpZ2h0eXR3ZW50eS10aXRsZXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICB9XG5cbiAgfVxuXG4gIC5laWdodHl0d2VudHktY29weSBwe1xuXG4gICAgICBjb2xvcjogJGRhcmtlci1ncmF5O1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgfVxuICB9XG5cbn1cblxuLy8gVGVtcGxhdGUgMiA1MC81MCBzcGxpdCBwYWdlXG4uZmlmdHlmaWZ0eS1wYWdle1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gIC5zbGljay1kb3Rze1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMztcbiAgICB0b3A6IDQ4OHB4O1xuXG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6IDc4OHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxuXG4gIC5maWZ0eWZpZnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6JHdoaXRlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyO1xuICAgXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDo0MzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6IDczMHB4O1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBtYXJnaW4tbGVmdDogLTgwcHg7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG5cbiAgfVxuXG5cblxuICAmLm1pcnJvcmVkIC5maWZ0eWZpZnR5LXBhZ2Utc2xpZGVyLXBhZ2luYXRpb257XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC04MHB4O1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICB9XG5cbiAgLmZpZnR5ZmlmdHktcGFnZS1tZWRpYXtcblxuXG4gICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuXG4gICAgaGVpZ2h0OjUwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGhlaWdodDogODAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIC4ycztcblxuXG4gICAgb3BhY2l0eTogMDtcbiAgICAgICBcbiAgICAmLnNsaWNrLWluaXRpYWxpemVkIHsgb3BhY2l0eTogMTt9XG5cblxuICB9XG5cbiAgLmZpZnR5ZmlmdHktcGFnZS1tZWRpYS1pdGVte1xuXG4gICAgaGVpZ2h0OjUwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGhlaWdodDogODAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG5cblxuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCB0b3AgY2VudGVyL2NvdmVyO1xuXG4gIH1cblxuICAuZmlmdHlmaWZ0eS1wYWdlLWNvbnRlbnR7XG5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCwgJGd1dHRlcnM6ICRzbWFsbC1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LCAkZ3V0dGVyczogJGxhcmdlLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCwgJGd1dHRlcnM6ICR4bGFyZ2UtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSwgJGd1dHRlcnM6ICR4eGxhcmdlLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG5cbiAgICB9XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIC4ycztcblxuXG4gICAgb3BhY2l0eTogMDtcbiAgICBcbiAgICAmLnNsaWNrLWluaXRpYWxpemVkIHsgb3BhY2l0eTogMTt9XG5cbiAgfVxuXG4gIC5maWZ0eWZpZnR5LXR5cGV7XG4gICAgZm9udC1mYW1pbHk6ICR0ZXJ0aWFyeS1mb250O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG5cbiAgLmZpZnR5ZmlmdHktc3RhbmRmaXJzdHtcbiAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIHN0cm9uZyxie1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcXVhdGVybmFyeS1mb250O1xuICAgIH1cblxuICB9XG5cbiAgLmZpZnR5ZmlmdHktdGl0bGV7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1leHRyYWJvbGQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjQpO1xuICAgIH1cblxuICB9XG5cblxuICAuZmlmdHlmaWZ0eS1jb3B5e1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSwgJGd1dHRlcnM6ICRtZWRpdW0tbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTAsICRndXR0ZXJzOiAwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gICAgfVxuXG5cbiAgICBwe1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmZpZnR5ZmlmdHktaW1hZ2V7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgLCAkZ3V0dGVyczogJG1lZGl1bS1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogIGJvdHRvbSwgJGd1dHRlcnM6ICRsYXJnZS1tYXJnaW4sICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gIH1cblxuXG59XG5cbi8vVGVtcGxhdGUgNCBmdWxsIHBhZ2UgZ2FsbGVyeVxuLmZ1bGxwYWdle1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG59XG5cblxuLmZ1bGxwYWdlLXBhZ2luYXRpb257XG4gIFxuICBmb250LWZhbWlseTogJHRlcnRpYXJ5LWZvbnQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogJHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NoZXZyb24tZG93bi13aGl0ZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyLzIwcHggMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJi5lbmRwYWd7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG59XG5cblxuLmZ1bGxwYWdlLWNvbnRhaW5lcntcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdG9wIGNlbnRlci9jb3ZlcjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcblxuICAgIC5mdWxscGFnZS1jb250ZW50e1xuXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICB0byB0b3AsXG4gICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNyksXG4gICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgICAgICAgKTtcblxuXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG5cblxuXG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCwgJGd1dHRlcnM6IDUwcHgsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCwgJGd1dHRlcnM6IDMwcHgsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogYm90dG9tLCAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuZnVsbHBhZ2UtY29udGVudC10aXRsZXtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoNTEsNTEsNTEsMC4yKSwwIDAgMnB4IHJnYmEoMCwwLDAsMC4xKTtcblxuICAgICAgICAgIG1hcmdpbjogMDtcblxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNzIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxscGFnZS1jb250ZW50LWNvcHl7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDUxLDUxLDUxLDAuMiksMCAwIDJweCByZ2JhKDAsMCwwLDAuMSk7XG5cblxuICAgICAgICAgIHB7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5mdWxscGFnZS1pbmxpbmV2aWRlby13cmFwcGVye1xuICB3aWR0aDogNjUlO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbihhYnNvbHV0ZSk7XG4gIGxlZnQ6IDA7IHJpZ2h0OiAwOyBtYXJnaW46IDAgYXV0bztcbn1cblxuXG4uZnVsbHBhZ2UtaW5saW5ldmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZnVsbHBhZ2UtaW5saW5ldmlkZW8taWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxufVxuXG5cblxuLy8gaG9yaXpvbnRhbCBzY3JvbGxcbi5ob3Jpem9udGFsc2Nyb2xse1xuXG4gIHBhZGRpbmctdG9wOiAkbGFyZ2UtbWFyZ2luIDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpdW0tbWFyZ2luIDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0LCAkZ3V0dGVyczogJHNtYWxsLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgfVxuXG4gIC5ob3Jpem9udGFsc2Nyb2xsLXBhZ2UtdGV4dHtcblxuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AsICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsICRndXR0ZXJzOiAkc21hbGwtbWFyZ2luLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG5cbiAgICAgIC5ob3Jpem9udGFsc2Nyb2xsLXBhZ2UtdHlwZXtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0ZXJ0aWFyeS1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG5cbiAgICAgIC5ob3Jpem9udGFsc2Nyb2xsLXBhZ2UtdGl0bGV7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAuaG9yaXpvbnRhbHNjcm9sbC1wYWdlLWNvcHkgcHtcblxuICAgICAgICAgIGNvbG9yOiAkZGFya2VyLWdyYXk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICB9XG5cblxuICAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50e1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgXG4gIH1cblxuICAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWR7XG5cblxuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaG9yaXpvbnRhbHNjcm9sbC1jb250ZW50LWdyaWQtaXRlbXtcblxuXG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IHRvcCwgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LCAkZ3V0dGVyczogJHNtYWxsLW1hcmdpbiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNTEycHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICB3aWR0aDogNTgwcHg7XG4gICAgICB9XG5cbiAgICAgIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLWltYWdle1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNSxmYWxzZSwwKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi5zdGFja3tcblxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDogNjM0cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0ODdweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0ODdweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzI0cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5ob3Jpem9udGFsc2Nyb2xsLWNvbnRlbnQtZ3JpZC1pdGVtLXRleHR7XG5cbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogJHNtYWxsLW1hcmdpbi8yIDAgMCAwO1xuICAgICAgICB9XG5cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDcsZmFsc2UsMCk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgLmhvcml6b250YWxzY3JvbGwtdHlwZXtcbiAgICAgICAgICBmb250LWZhbWlseTogJHRlcnRpYXJ5LWZvbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3Jpem9udGFsc2Nyb2xsLXRpdGxle1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtZXh0cmFib2xkO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmhvcml6b250YWxzY3JvbGwtY29weXtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG5cbiAgICB9XG5cbiAgfVxuXG59XG5cbi5ob3RzcG90LWltZ3tcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnQsICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5ob3RzcG90LWltZy13cmFwcGVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gIH1cblxuICBpbWd7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcblxuXG4gIH1cblxuXG4gIC5ob3RzcG90c3tcbiAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9wbHVzLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMTZweCAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjkpOyBcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4IDBweCByZ2JhKDAsMCwwLDAuNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbW9vdGgtdHJhbnNpdGlvbigpO1xuXG5cbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDEpOyBcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5yZXZlYWwuZnVsbC5ob3RzcG90LXJldmVhbHtcblxuICB0b3A6IDAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB3aWR0aDogNTAlIWltcG9ydGFudDsgXG4gICAgbGVmdDogYXV0byFpbXBvcnRhbnQ7IFxuICAgIHJpZ2h0OiAwIWltcG9ydGFudDtcbiAgfVxuXG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG90c3BvdC1yZXZlYWwtaXRlbXtcbiAgLy9wYWRkaW5nOiAwICRzbWFsbC1tYXJnaW4vMjtcbiAgaGVpZ2h0OiAxMDAlO1xuXG5cbiAgLmhvdHNwb3QtcmV2ZWFsLWltZ3tcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvICRzbWFsbC1tYXJnaW4gYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG5cbiAgLmhvdHNwb3QtcmV2ZWFsLXR4dHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgLmhvdHNwb3QtcmV2ZWFsLXRpdGxle1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cblxuICAgICAgLmhvdHNwb3QtcmV2ZWFsLWRlc2N7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogJGRhcmtlci1ncmF5O1xuXG4gICAgICAgIGhlaWdodDogNTBweDtcblxuICAgICAgfVxuXG4gICAgICAuYnV0dG9ue1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gIH1cblxuXG59XG5cbi8vIHByb2R1Y3QgcmV2ZWFsXG4ucHJvZHVjdC1yZXZlYWx7XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1heC1oZWlnaHQ6IDk1JTtcbiAgfVxufVxuLnByb2R1Y3QtcmV2ZWFsLXdyYXBwZXJ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNtYWxsLW1hcmdpbjtcbiAgfVxuXG59XG5cbi5wcm9kdWN0LXJldmVhbC1pdGVte1xuICAvL2hlaWdodDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLW1hcmdpbjtcblxuICAuYnV0dG9ue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbn1cblxuLnByb2R1Y3QtcmV2ZWFsLWl0ZW0taW1ne1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1tYXJnaW47XG4gIH1cbn1cblxuLnByb2R1Y3QtcmV2ZWFsLWl0ZW0tdHh0e1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogMCAwIDAgJHNtYWxsLW1hcmdpbjtcbiAgfVxufVxuXG4ucHJvZHVjdC1yZXZlYWwtaXRlbS10aXRsZXtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7IFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICB9XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbn1cblxuLnByb2R1Y3QtcmV2ZWFsLWl0ZW0tZGVzY3tcblxuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogJGRhcmtlci1ncmF5O1xuXG59XG5cblxuLy8gYmFja2dyb3VuZCBpbWFnZSBwb3NpdGlvbnNcbi5iZy1sZWZ0LXRvcHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG59XG5cbi5iZy1sZWZ0LWNlbnRlcntcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG59XG5cbi5iZy1sZWZ0LWJvdHRvbXtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG59XG5cblxuLmJnLXJpZ2h0LXRvcHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xufVxuXG4uYmctcmlnaHQtY2VudGVye1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG59XG5cbi5iZy1yaWdodC1ib3R0b217XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbn1cblxuXG4uYmctY2VudGVyLXRvcHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbn1cblxuLmJnLWNlbnRlci1jZW50ZXJ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi5iZy1jZW50ZXItYm90dG9te1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xufVxuXG5cbi8vIGFkdmVydHNcbi5hZHZlcnQtcGFnZXtcblxuICBoZWlnaHQ6IDEwMHZoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1xuXG4gIC5hZHZlcnQtcGFnZS10aXRsZXtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmc6IDVweCAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyB0b3A6IDA7XG4gICAgICBwe1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gIH1cblxuICBpbWd7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gIH1cblxuXG59XG5cblxuLmFkdmVydC1wYWdlLXZpZGVvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogODAlO1xufVxuXG4udGVtcC1wbGFjZWhvbGRlci10aXRsZXtcbiAgQGluY2x1ZGUgdmVydGljYWwtYWxpZ24oKTtcbn1cblxuLy8gcGFnZSBudW1iZXJzXG4ucGFnZS1udW1iZXJze1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDtcbiAgcGFkZGluZzogMTVweCAwIDAgIDVweDsgXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXk7XG4gIGNvbG9yOiAkZ3JheTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LCAkZ3V0dGVyczogJGxhcmdlLW1hcmdpbiwgJGd1dHRlci10eXBlOiBtYXJnaW4pO1xuICAgcGFkZGluZzogNDBweCAwIDAgIDEwcHg7IFxuICB9XG5cbn1cblxuLy9pbWFnZSBjYXB0aW9uc1xuLmltYWdlLWNhcHRpb257XG4gIHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDAuOSk7IFxuICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDI7XG4gIGxlZnQ6IDIwcHg7IHRvcDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiAycHggMnB4IDVweCAwcHggcmdiYSgwLDAsMCwwLjMpO1xuXG4gIGZvbnQtZmFtaWx5OiAkdGVydGlhcnktZm9udDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBsaW5lLWhlaWdodDogNDBweDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblxuICB9XG5cbiAgQGluY2x1ZGUgc21vb3RoLXRyYW5zaXRpb24oKTtcblxuXG4gICY6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDEpOyBcbiAgfVxuXG59XG5cbi5pbWFnZS1jYXB0aW9uLXRleHR7XG4gIGJhY2tncm91bmQ6cmdiYSgkYmxhY2ssIDAuNik7IHBhZGRpbmc6IDVweCAxMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICBib3JkZXI6IDA7XG5cbiAgdG9wOiA1NXB4IWltcG9ydGFudDtcbiAgbGVmdDogMjBweCFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0b3A6IDY1cHghaW1wb3J0YW50O1xuICB9XG5cblxuICBjb2xvcjogJHdoaXRlOyBcblxuICBhe1xuICAgIGNvbG9yOiAkd2hpdGU7IFxuICB9XG59XG5cbi8vaGVscGVyc1xuLm5vcGFkICB7cGFkZGluZzowIWltcG9ydGFudDt9XG4ucGFkIHtwYWRkaW5nOiRoZWxwZXItc3RhbmRhcmQ7fVxuLnBhZC1zaWRlIHtwYWRkaW5nOjAgJGhlbHBlci1zdGFuZGFyZDt9XG4ucGFkLWxlZnQge3BhZGRpbmctbGVmdDokaGVscGVyLXN0YW5kYXJkO31cbi5wYWQtcmlnaHQge3BhZGRpbmctcmlnaHQ6JGhlbHBlci1zdGFuZGFyZDt9XG4ucGFkLXRvcCB7cGFkZGluZy10b3A6JGhlbHBlci1zdGFuZGFyZDt9XG4ucGFkLWJvdHRvbSB7cGFkZGluZy1ib3R0b206JGhlbHBlci1zdGFuZGFyZDt9XG4ucGFkLXRvcGJvdHRvbSB7cGFkZGluZzokaGVscGVyLXN0YW5kYXJkIDA7fVxuLnRoaWNrcGFkIHtwYWRkaW5nOiRoZWxwZXItdGhpY2s7fVxuLnRoaWNrcGFkLXNpZGUge3BhZGRpbmc6MCAkaGVscGVyLXRoaWNrO31cbi50aGlja3BhZC1sZWZ0IHtwYWRkaW5nLWxlZnQ6JGhlbHBlci10aGljazt9XG4udGhpY2twYWQtcmlnaHQge3BhZGRpbmctcmlnaHQ6JGhlbHBlci10aGljazt9XG4udGhpY2twYWQtdG9wIHtwYWRkaW5nLXRvcDokaGVscGVyLXRoaWNrO31cbi50aGlja3BhZC1ib3R0b20ge3BhZGRpbmctYm90dG9tOiRoZWxwZXItdGhpY2s7fVxuLnRoaWNrcGFkLXRvcGJvdHRvbSB7cGFkZGluZzokaGVscGVyLXRoaWNrIDA7fVxuLnRoaWNrZXJwYWQge3BhZGRpbmc6JGhlbHBlci10aGlja2VyO31cbi50aGlja2VycGFkLXNpZGUge3BhZGRpbmc6MCAkaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJwYWQtbGVmdCB7cGFkZGluZy1sZWZ0OiRoZWxwZXItdGhpY2tlcjt9XG4udGhpY2tlcnBhZC1yaWdodCB7cGFkZGluZy1yaWdodDokaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJwYWQtdG9wIHtwYWRkaW5nLXRvcDokaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJwYWQtYm90dG9tIHtwYWRkaW5nLWJvdHRvbTokaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJwYWQtdG9wYm90dG9tIHtwYWRkaW5nOiRoZWxwZXItdGhpY2tlciAwO31cbi50aGlucGFkIHtwYWRkaW5nOiRoZWxwZXItdGhpbjt9XG4udGhpbnBhZC1zaWRlIHtwYWRkaW5nOjAgJGhlbHBlci10aGluO31cbi50aGlucGFkLWxlZnQge3BhZGRpbmctbGVmdDokaGVscGVyLXRoaW47fVxuLnRoaW5wYWQtcmlnaHQge3BhZGRpbmctcmlnaHQ6JGhlbHBlci10aGluO31cbi50aGlucGFkLXRvcCB7cGFkZGluZy10b3A6JGhlbHBlci10aGluO31cbi50aGlucGFkLWJvdHRvbSB7cGFkZGluZy1ib3R0b206JGhlbHBlci10aGluO31cbi50aGlucGFkLXRvcGJvdHRvbSB7cGFkZGluZzokaGVscGVyLXRoaW4gMDt9XG4ubWVkaXVtcGFkIHtwYWRkaW5nOiRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1wYWQtc2lkZSB7cGFkZGluZzowICRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1wYWQtbGVmdCB7cGFkZGluZy1sZWZ0OiRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1wYWQtcmlnaHQge3BhZGRpbmctcmlnaHQ6JGhlbHBlci1tZWRpdW07fVxuLm1lZGl1bXBhZC10b3Age3BhZGRpbmctdG9wOiRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1wYWQtYm90dG9tIHtwYWRkaW5nLWJvdHRvbTokaGVscGVyLW1lZGl1bTt9XG4ubWVkaXVtcGFkLXRvcGJvdHRvbSB7cGFkZGluZzokaGVscGVyLW1lZGl1bSAwO31cbi5ub21hcmcge21hcmdpbjowIWltcG9ydGFudDt9XG4ubWFyZyB7bWFyZ2luOiRoZWxwZXItc3RhbmRhcmQ7fVxuLm1hcmctc2lkZSB7bWFyZ2luOjAgJGhlbHBlci1zdGFuZGFyZDt9XG4ubWFyZy1sZWZ0IHttYXJnaW4tbGVmdDokaGVscGVyLXN0YW5kYXJkO31cbi5tYXJnLXJpZ2h0IHttYXJnaW4tcmlnaHQ6JGhlbHBlci1zdGFuZGFyZDt9XG4ubWFyZy10b3Age21hcmdpbi10b3A6JGhlbHBlci1zdGFuZGFyZDt9XG4ubWFyZy1ib3R0b20ge21hcmdpbi1ib3R0b206JGhlbHBlci1zdGFuZGFyZDt9XG4ubWFyZy10b3Bib3R0b20ge21hcmdpbjokaGVscGVyLXN0YW5kYXJkIDA7fVxuLnRoaWNrbWFyZyB7bWFyZ2luOiRoZWxwZXItdGhpY2s7fVxuLnRoaWNrbWFyZy1zaWRlIHttYXJnaW46MCAkaGVscGVyLXRoaWNrO31cbi50aGlja21hcmctbGVmdCB7bWFyZ2luLWxlZnQ6JGhlbHBlci10aGljazt9XG4udGhpY2ttYXJnLXJpZ2h0IHttYXJnaW4tcmlnaHQ6JGhlbHBlci10aGljazt9XG4udGhpY2ttYXJnLXRvcCB7bWFyZ2luLXRvcDokaGVscGVyLXRoaWNrO31cbi50aGlja21hcmctYm90dG9tIHttYXJnaW4tYm90dG9tOiRoZWxwZXItdGhpY2s7fVxuLnRoaWNrbWFyZy10b3Bib3R0b20ge21hcmdpbjokaGVscGVyLXRoaWNrIDA7fVxuLnRoaWNrZXJtYXJnIHttYXJnaW46JGhlbHBlci10aGlja2VyO31cbi50aGlja2VybWFyZy1zaWRlIHttYXJnaW46MCAkaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJtYXJnLWxlZnQge21hcmdpbi1sZWZ0OiRoZWxwZXItdGhpY2tlcjt9XG4udGhpY2tlcm1hcmctcmlnaHQge21hcmdpbi1yaWdodDokaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJtYXJnLXRvcCB7bWFyZ2luLXRvcDokaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJtYXJnLWJvdHRvbSB7bWFyZ2luLWJvdHRvbTokaGVscGVyLXRoaWNrZXI7fVxuLnRoaWNrZXJtYXJnLXRvcGJvdHRvbSB7bWFyZ2luOiRoZWxwZXItdGhpY2tlciAwO31cbi50aGlubWFyZyB7bWFyZ2luOiRoZWxwZXItdGhpbjt9XG4udGhpbm1hcmctc2lkZSB7bWFyZ2luOjAgJGhlbHBlci10aGluO31cbi50aGlubWFyZy1sZWZ0IHttYXJnaW4tbGVmdDokaGVscGVyLXRoaW47fVxuLnRoaW5tYXJnLXJpZ2h0IHttYXJnaW4tcmlnaHQ6JGhlbHBlci10aGluO31cbi50aGlubWFyZy10b3Age21hcmdpbi10b3A6JGhlbHBlci10aGluO31cbi50aGlubWFyZy1ib3R0b20ge21hcmdpbi1ib3R0b206JGhlbHBlci10aGluO31cbi50aGlubWFyZy10b3Bib3R0b20ge21hcmdpbjokaGVscGVyLXRoaW4gMDt9XG4ubWVkaXVtbWFyZyB7bWFyZ2luOiRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1tYXJnLXNpZGUge21hcmdpbjowICRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1tYXJnLWxlZnQge21hcmdpbi1sZWZ0OiRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1tYXJnLXJpZ2h0IHttYXJnaW4tcmlnaHQ6JGhlbHBlci1tZWRpdW07fVxuLm1lZGl1bW1hcmctdG9wIHttYXJnaW4tdG9wOiRoZWxwZXItbWVkaXVtO31cbi5tZWRpdW1tYXJnLWJvdHRvbSB7bWFyZ2luLWJvdHRvbTokaGVscGVyLW1lZGl1bTt9XG4ubWVkaXVtbWFyZy10b3Bib3R0b20ge21hcmdpbjokaGVscGVyLW1lZGl1bSAwO30iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIHNpdGUgc3BlY2lmaWMgdmFyaWFibGVzXG5cbiRzbWFsbC1tYXJnaW46IDMwcHg7XG4kbWVkaXVtLW1hcmdpbjogNjBweDtcbiRsYXJnZS1tYXJnaW46IDgwcHg7XG4keGxhcmdlLW1hcmdpbjogMTAwcHg7XG4keHhsYXJnZS1tYXJnaW46IDIwMHB4O1xuXG4kZ2xvYmFsLXdpZHRoLXZhcjogMTQwMHB4O1xuJGNvbnRhaW5lci13aWR0aC12YXI6IDEyMDBweDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDA7XG4kZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogNjAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiRmb250LXdlaWdodC1leHRyYWJvbGQ6IDgwMDtcblxuJGhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cbiRwcmltYXJ5LWZvbnQ6ICdmdXR1cmEtcHQnLHNhbnMtc2VyaWY7XG4kaGVhZGVyLWZvbnQ6ICdmdXR1cmEtcHQtYm9sZCcsc2Fucy1zZXJpZjtcbiRzZWNvbmRhcnktZm9udDogJ2RpZG90X2x0X3N0ZHJlZ3VsYXInO1xuJHRlcnRpYXJ5LWZvbnQ6ICdkaWRvdF9sdF9zdGRpdGFsaWMnO1xuJHF1YXRlcm5hcnktZm9udDogJ2RpZG90X2x0X3N0ZGJvbGQnO1xuXG4vLyBjb2xvdXJzXG5cbiRsaWdodC1ncmF5OiAjRjZGNkY2O1xuJG1lZGl1bS1ncmF5OiAjRUVFRUVFO1xuJGRhcmstZ3JheTogI0RERERERDtcbiRncmF5OiAjY2NjO1xuJGRhcmtlci1ncmF5OiAjNjY2NjY2O1xuJGJsYWNrOiAjMzMzMzMzO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJsYWNrYmxhY2s6ICMwMDAwMDA7XG5cblxuJGZhY2Vib29rYmx1ZTogIzNCNTk5ODtcbiR0d2l0dGVyYmx1ZTogIzQwOTlGRjtcbiRnb29nbGVwbHVzcmVkOiAjRDM0ODM2O1xuXG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNDtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogJGJsYWNrLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcblxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxNDAwcHgsXG4gIHh4bGFyZ2U6IDE5MDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGhlYWRlci1mb250O1xuJGhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI2KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogNTAlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRibGFjaztcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDApO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGJsYWNrO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDEycHggMjRweDtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGJsYWNrO1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkZGFyay1ncmF5O1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMTAwJTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJHdoaXRlO1xuJG9mZmNhbnZhcy1zaGFkb3c6IG5vbmU7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAwO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogJHNtYWxsLW1hcmdpbixcbiAgbWVkaXVtOiAkbWVkaXVtLW1hcmdpblxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gSGVscGVyczogc2V0IHN0YW5kYXJkIHBhZGRpbmcgYW5kIG1hcmdpbiB2YWx1ZXMsIHRoaWNrIGFuZCB0aGluXG4kaGVscGVyLXN0YW5kYXJkOiAgJHNtYWxsLW1hcmdpbjtcbiRoZWxwZXItdGhpY2s6ICRoZWxwZXItc3RhbmRhcmQqMjtcbiRoZWxwZXItdGhpY2tlcjogJGhlbHBlci1zdGFuZGFyZCozO1xuJGhlbHBlci1tZWRpdW06ICRoZWxwZXItc3RhbmRhcmQqMS41O1xuJGhlbHBlci10aGluOiAkaGVscGVyLXN0YW5kYXJkLzEuNTtcbiRoZWxwZXItdGhpbm5lcjogJGhlbHBlci1zdGFuZGFyZC8yOyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLmljb24tc3BpbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBpY29uLXNwaW4gMC40cyBub3JtYWwgbGluZWFyO1xuICBhbmltYXRpb246IGljb24tc3BpbiAwLjRzIG5vcm1hbCBsaW5lYXI7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDApOyBcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGljb24tc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGljb24tc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG59XG5cbi5pY29uLXNwaW4yIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGljb24tc3BpbjIgMC40cyBub3JtYWwgbGluZWFyO1xuICBhbmltYXRpb246IGljb24tc3BpbjIgMC40cyBub3JtYWwgbGluZWFyO1xuICAtd2Via2l0LWZpbHRlcjogYmx1cigwKTsgXG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBpY29uLXNwaW4yIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaWNvbi1zcGluMiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59IiwiQG1peGluIHNtb290aC10cmFuc2l0aW9uKCl7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbiIsIi8qIGN1c3RvbSBzdHlsaW5nICovXG4uQlQtcXVvdGUge2ZvbnQtZmFtaWx5OiBcImRpZG90X2x0X3N0ZGl0YWxpY1wiO3RleHQtYWxpZ246Y2VudGVyO31cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbi5CVC1xdW90ZSB7IGZvbnQtc2l6ZToxLjVlbSFpbXBvcnRhbnQ7fVx0XG59XG5cbi5zdGFjay10ZW1wbGF0ZS1tZWRpYS1zbGlkZXItaXRlbS5zbGljay1zbGlkZS5zbGljay1jdXJyZW50LnNsaWNrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xufVxuXG5jaXRlIHtcbiAgICBjb2xvcjogIzJkODRhMDtcbn0iLCIvLyBzbGlja1xuLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6ICRkYXJrZXItZ3JheSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6ICNBN0E3QTcgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcZTkzYlwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcZTkzY1wiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDYwcHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjc1ICFkZWZhdWx0O1xuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnbGF1cmEnICFpbXBvcnRhbnQ7XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDA7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogRG90cyAqL1xuJHNsaWNrLWRvdC1zaXplLXdpZHRoOiAyMHB4O1xuJHNsaWNrLWRvdC1zaXplLWhlaWdodDogMjVweDtcbiRzbGljay1kb3QtZm9udC1zaXplOiA0MHB4O1xuXG5cbi5zbGljay1kb3RzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgLy93aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwIDNweDtcbiAgICBoZWlnaHQ6ICRzbGljay1kb3Qtc2l6ZS1oZWlnaHQ7XG5cblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogJHNsaWNrLWRvdC1zaXplLWhlaWdodDtcbiAgICAgICAgd2lkdGg6ICRzbGljay1kb3Qtc2l6ZS13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzbGljay1kb3Qtc2l6ZS1oZWlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogJHNsaWNrLWRvdC1zaXplLXdpZHRoO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2xpY2stZG90LXNpemUtd2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkc2xpY2stZG90LXNpemUtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LWZvbnQtc2l6ZS8xLjI7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGljay1kb3Qtc2l6ZS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3QtZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qIVxuICogZnVsbFBhZ2UgMi45LjRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHZhcm90cmlnby9mdWxsUGFnZS5qc1xuICogTUlUIGxpY2Vuc2VkXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDEzIGFsdmFyb3RyaWdvLmNvbSAtIEEgcHJvamVjdCBieSBBbHZhcm8gVHJpZ29cbiAqL1xuaHRtbC5mcC1lbmFibGVkLFxuLmZwLWVuYWJsZWQgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuXG4gICAgLypBdm9pZCBmbGlja2VyIG9uIHNsaWRlcyB0cmFuc2l0aW9ucyBmb3IgbW9iaWxlIHBob25lcyAjMzM2ICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuI3N1cGVyQ29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLyogVG91Y2ggZGV0ZWN0aW9uIGZvciBXaW5kb3dzIDggKi9cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuXG4gICAgLyogSUUgMTEgb24gV2luZG93cyBQaG9uZSA4LjEqL1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi5mcC1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmk8PTUgQW5kcm9pZDw9MyAqL1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogPD0yOCAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZnAtc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuLmZwLXNsaWRlLCAuZnAtc2xpZGVzQ29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uZnAtc2xpZGVzIHtcbiAgICB6LWluZGV4OjE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7IC8qIFNhZmFyaTw9NiBBbmRyb2lkPD00LjMgKi9cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbn1cbi5mcC1zZWN0aW9uLmZwLXRhYmxlLCAuZnAtc2xpZGUuZnAtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDpmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5mcC10YWJsZUNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4uZnAtc2xpZGVzQ29udGFpbmVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZnAtY29udHJvbEFycm93IHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiB3ZWJraXQgKHNhZmFyaSwgY2hyb21lKSBicm93c2VycyAqL1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IC8qIG1vemlsbGEgYnJvd3NlcnMgKi9cbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIHdlYmtpdCAoa29ucXVlcm9yKSBicm93c2VycyAqL1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUxMCsgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogNDtcbiAgICB0b3A6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgbWFyZ2luLXRvcDogLTM4cHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG59XG4uZnAtY29udHJvbEFycm93LmZwLXByZXYge1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAzOC41cHggMzRweCAzOC41cHggMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4uZnAtY29udHJvbEFycm93LmZwLW5leHQge1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvcmRlci13aWR0aDogMzguNXB4IDAgMzguNXB4IDM0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xufVxuLmZwLXNjcm9sbGFibGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZwLXNjcm9sbGVye1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaVNjcm9sbEluZGljYXRvcntcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cbi5mcC1ub3RyYW5zaXRpb24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbiNmcC1uYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xufVxuI2ZwLW5hdi5yaWdodCB7XG4gICAgcmlnaHQ6IDVweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgIH1cbn1cbiNmcC1uYXYubGVmdCB7XG4gICAgbGVmdDogNXB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICB9XG59XG4uZnAtc2xpZGVzTmF2e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA0O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xufVxuLmZwLXNsaWRlc05hdi5ib3R0b20ge1xuICAgIGJvdHRvbTogMTdweDtcbn1cbi5mcC1zbGlkZXNOYXYudG9wIHtcbiAgICB0b3A6IDE3cHg7XG59XG4jZnAtbmF2IHVsLFxuLmZwLXNsaWRlc05hdiB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbiNmcC1uYXYgdWwgbGksXG4uZnAtc2xpZGVzTmF2IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luOiA3cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG59XG4uZnAtc2xpZGVzTmF2IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4jZnAtbmF2IHVsIGxpIGEsXG4uZnAtc2xpZGVzTmF2IHVsIGxpIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuI2ZwLW5hdiB1bCBsaSBhLmFjdGl2ZSBzcGFuLFxuLmZwLXNsaWRlc05hdiB1bCBsaSBhLmFjdGl2ZSBzcGFuLFxuI2ZwLW5hdiB1bCBsaTpob3ZlciBhLmFjdGl2ZSBzcGFuLFxuLmZwLXNsaWRlc05hdiB1bCBsaTpob3ZlciBhLmFjdGl2ZSBzcGFue1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBtYXJnaW46IC02cHggMCAwIC02cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuIH1cbiNmcC1uYXYgdWwgbGkgYSBzcGFuLFxuLmZwLXNsaWRlc05hdiB1bCBsaSBhIHNwYW4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luOiAtNHB4IDAgMCAtNHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbn1cbiNmcC1uYXYgdWwgbGk6aG92ZXIgYSBzcGFuLFxuLmZwLXNsaWRlc05hdiB1bCBsaTpob3ZlciBhIHNwYW57XG4gICAgYmFja2dyb3VuZDogJGRhcmtlci1ncmF5O1xufVxuI2ZwLW5hdiB1bCBsaSAuZnAtdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTJweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jZnAtbmF2IHVsIGxpOmhvdmVyIC5mcC10b29sdGlwLFxuI2ZwLW5hdi5mcC1zaG93LWFjdGl2ZSBhLmFjdGl2ZSArIC5mcC10b29sdGlwIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG59XG4jZnAtbmF2IHVsIGxpIC5mcC10b29sdGlwLnJpZ2h0IHtcbiAgICByaWdodDogMjBweDtcbn1cbiNmcC1uYXYgdWwgbGkgLmZwLXRvb2x0aXAubGVmdCB7XG4gICAgbGVmdDogMjBweDtcbn1cbi5mcC1hdXRvLWhlaWdodC5mcC1zZWN0aW9uLFxuLmZwLWF1dG8taGVpZ2h0IC5mcC1zbGlkZSxcbi5mcC1hdXRvLWhlaWdodCAuZnAtdGFibGVDZWxse1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uZnAtcmVzcG9uc2l2ZSAuZnAtYXV0by1oZWlnaHQtcmVzcG9uc2l2ZS5mcC1zZWN0aW9uLFxuLmZwLXJlc3BvbnNpdmUgLmZwLWF1dG8taGVpZ2h0LXJlc3BvbnNpdmUgLmZwLXNsaWRlLFxuLmZwLXJlc3BvbnNpdmUgLmZwLWF1dG8taGVpZ2h0LXJlc3BvbnNpdmUgLmZwLXRhYmxlQ2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59IiwiLmJiLWJvb2tibG9jayB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMjAwMHB4O1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxufVxuXG5cbi5iYi1wYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG5cbi5iYi12ZXJ0aWNhbCAuYmItcGFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5cbi5iYi1ob3Jpem9udGFsIC5iYi1wYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbn1cblxuLmJiLXBhZ2UgPiBkaXYsXG4uYmItb3V0ZXIsXG4uYmItY29udGVudCxcbi5iYi1pbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5iYi12ZXJ0aWNhbCAuYmItY29udGVudCB7XG4gICAgd2lkdGg6IDIwMCU7XG59XG5cbi5iYi1ob3Jpem9udGFsIC5iYi1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDIwMCU7XG59XG5cbi5iYi1wYWdlID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLmJiLXZlcnRpY2FsIC5iYi1iYWNrIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7XG59XG5cbi5iYi1ob3Jpem9udGFsIC5iYi1iYWNrIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZyk7XG59XG5cbi5iYi1vdXRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiA5OTk7XG59XG5cbi5iYi1vdmVybGF5LCBcbi5iYi1mbGlwb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5iYi1mbGlwb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uYmItYm9va2Jsb2NrLmJiLXZlcnRpY2FsID4gZGl2LmJiLXBhZ2U6Zmlyc3QtY2hpbGQsXG4uYmItYm9va2Jsb2NrLmJiLXZlcnRpY2FsID4gZGl2LmJiLXBhZ2U6Zmlyc3QtY2hpbGQgLmJiLWJhY2sge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG59XG5cbi5iYi1ib29rYmxvY2suYmItaG9yaXpvbnRhbCA+IGRpdi5iYi1wYWdlOmZpcnN0LWNoaWxkLFxuLmJiLWJvb2tibG9jay5iYi1ob3Jpem9udGFsID4gZGl2LmJiLXBhZ2U6Zmlyc3QtY2hpbGQgLmJiLWJhY2sge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG59XG5cbi8qIENvbnRlbnQgZGlzcGxheSAqL1xuLmJiLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5iYi12ZXJ0aWNhbCAuYmItZnJvbnQgLmJiLWNvbnRlbnQge1xuICAgIGxlZnQ6IC0xMDAlO1xufVxuXG4uYmItaG9yaXpvbnRhbCAuYmItZnJvbnQgLmJiLWNvbnRlbnQge1xuICAgIHRvcDogLTEwMCU7XG59XG5cbi8qIEZsaXBwaW5nIGNsYXNzZXMgKi9cbi5iYi12ZXJ0aWNhbCAuYmItZmxpcC1uZXh0LFxuLmJiLXZlcnRpY2FsIC5iYi1mbGlwLWluaXRpYWwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTtcbn1cblxuLmJiLXZlcnRpY2FsIC5iYi1mbGlwLXByZXYge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbn1cblxuLmJiLWhvcml6b250YWwgLmJiLWZsaXAtbmV4dCxcbi5iYi1ob3Jpem9udGFsIC5iYi1mbGlwLWluaXRpYWwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG59XG5cbi5iYi1ob3Jpem9udGFsIC5iYi1mbGlwLXByZXYge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbn1cblxuLmJiLXZlcnRpY2FsIC5iYi1mbGlwLW5leHQtZW5kIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTVkZWcpO1xufVxuXG4uYmItdmVydGljYWwgLmJiLWZsaXAtcHJldi1lbmQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0xNjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTY1ZGVnKTtcbn1cblxuLmJiLWhvcml6b250YWwgLmJiLWZsaXAtbmV4dC1lbmQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTVkZWcpO1xufVxuXG4uYmItaG9yaXpvbnRhbCAuYmItZmxpcC1wcmV2LWVuZCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMTY1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTY1ZGVnKTtcbn1cblxuLmJiLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLyogTm8gSlMgKi9cbi5uby1qcyAuYmItYm9va2Jsb2NrLCBcbi5uby1qcyB1bC5iYi1jdXN0b20tZ3JpZCBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ubm8tanMgLmJiLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBjdXN0b20gc3R5bGVzICovXG5cbi5iYi1jdXN0b20td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJiLWN1c3RvbS13cmFwcGVyIC5iYi1ib29rYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gICAgcGVyc3BlY3RpdmU6IDIwMDBweDtcbn1cblxuLmJiLWN1c3RvbS1zaWRlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLyogQ2VudGVyaW5nIHdpdGggZmxleGJveCAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYmItY3VzdG9tLWZpcnN0cGFnZSBoMSB7XG4gICAgZm9udC1zaXplOiAyLjYyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmJiLWN1c3RvbS1maXJzdHBhZ2UgaDEgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA2MCU7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBhZGRpbmc6IDAgMCAwLjZlbSAwLjFlbTtcbn1cblxuLmJiLWN1c3RvbS1maXJzdHBhZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTUlO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYmItY3VzdG9tLXNpZGUgcCB7XG4gICAgcGFkZGluZzogOCU7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uYmItY3VzdG9tLXdyYXBwZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW46IDAuNGVtIDAgMWVtO1xufVxuXG4uYmItY3VzdG9tLXdyYXBwZXIgPiBuYXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDFlbSBhdXRvIDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJiLWN1c3RvbS13cmFwcGVyID4gbmF2IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMWJhZWRlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBtYXJnaW46IDJweDtcbn1cblxuLmJiLWN1c3RvbS13cmFwcGVyID4gbmF2IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLyogTm8gSlMgKi9cbi5uby1qcyAuYmItY3VzdG9tLXdyYXBwZXIge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLm5vLWpzIC5iYi1jdXN0b20tY29udGVudCB7XG4gICAgaGVpZ2h0OiA0NzBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuNzVlbSl7XG4gICAgLmJiLWN1c3RvbS1zaWRlIHtcbiAgICAgICAgZm9udC1zaXplOiA3MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzM2VtKXtcbiAgICAuYmItY3VzdG9tLXNpZGUge1xuICAgICAgICBmb250LXNpemU6IDYwJTtcbiAgICB9XG59XG5cbiIsIi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIEJBU0UgQ1NTICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbC13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNjcm9sbC13cmFwcGVyID4gLnNjcm9sbC1jb250ZW50IHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvL2JveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5zY3JvbGwtd3JhcHBlciA+IC5zY3JvbGwtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbn1cblxuLnNjcm9sbC1lbGVtZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNjcm9sbC1lbGVtZW50LCAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICAvL2JveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSxcbi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyLFxuLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYXJyb3cge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnNjcm9sbC10ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjOTk5OTk5O1xufVxuLnNjcm9sbC10ZXh0YXJlYSA+IC5zY3JvbGwtY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuLnNjcm9sbC10ZXh0YXJlYSA+IC5zY3JvbGwtY29udGVudCA+IHRleHRhcmVhIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvL2JveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50ID4gdGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG59XG5cblxuXG5cblxuXG5cblxuXG4vKioqKioqKioqKioqKioqIFNJTVBMRSBJTk5FUiBTQ1JPTExCQVIgKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCBkaXZcbntcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgICBib3R0b206IDJweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcmlnaHQ6IDJweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDhweDtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyLFxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2ssXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3RyYWNrLFxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciB7XG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT00MCk7XG4gICAgb3BhY2l0eTogMC40O1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjMmMyOyB9XG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE5MTsgfVxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE5MTsgfVxuXG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgbGVmdDogLTEycHg7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xMnB4OyB9XG5cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTEycHg7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTEycHg7IH1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTSU1QTEUgT1VURVIgU0NST0xMQkFSICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTJweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMnB4O1xufVxuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IGhlaWdodDogOHB4OyB0b3A6IDJweDsgfVxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBsZWZ0OiAycHg7IHdpZHRoOiA4cHg7IH1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayxcbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciB7IGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjMmMyOyB9XG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5MTkxOyB9XG5cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xMnB4OyBtYXJnaW4tbGVmdDogMTJweDsgfVxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIHsgdG9wOiAgLTEycHg7IG1hcmdpbi10b3A6ICAxMnB4OyB9XG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBtaW4td2lkdGg6IDEwcHg7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBtaW4taGVpZ2h0OiAxMHB4OyB9XG5cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBsZWZ0OiAtMTRweDsgfVxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTE0cHg7IH1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTE0cHg7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTE0cHg7IH1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTQ1JPTExCQVIgTUFDIE9TIFggKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IGRpdlxue1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkM2RTcxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbn1cbi5zY3JvbGxiYXItbWFjb3N4OmhvdmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyLFxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWJhciB7XG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG5cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgICBib3R0b206IDBweDtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwcHg7XG59XG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBoZWlnaHQ6IDdweDsgbWluLXdpZHRoOiAxMHB4OyB0b3A6IC05cHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHsgbGVmdDogLTlweDsgbWluLWhlaWdodDogMTBweDsgd2lkdGg6IDdweDsgfVxuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBsZWZ0OiAycHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTRweDsgfVxuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyB0b3A6IDJweDsgfVxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC00cHg7IH1cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTExcHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC0xMXB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIExJR0hUICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3NpemUge1xuICAgIGJhY2tncm91bmQ6ICNkYmRiZGI7XG4gICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l4TURBbElpQjVNajBpTUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyUmlaR0prWWlJZ2MzUnZjQzF2Y0dGamFYUjVQU0l4SWk4K0NpQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTmxPR1U0WlRnaUlITjBiM0F0YjNCaFkybDBlVDBpTVNJdlBnb2dJRHd2YkdsdVpXRnlSM0poWkdsbGJuUStDaUFnUEhKbFkzUWdlRDBpTUNJZ2VUMGlNQ0lnZDJsa2RHZzlJakVpSUdobGFXZG9kRDBpTVNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtLU0lnTHo0S1BDOXpkbWMrJyk7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2RiZGJkYiAwJSwgI2U4ZThlOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwjZGJkYmRiKSwgY29sb3Itc3RvcCgxMDAlLCNlOGU4ZTgpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZGJkYmRiIDAlLCNlOGU4ZTggMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTdweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxN3B4O1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGdvOGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqRXdNQ1VpSUdobGFXZG9kRDBpTVRBd0pTSWdkbWxsZDBKdmVEMGlNQ0F3SURFZ01TSWdjSEpsYzJWeWRtVkJjM0JsWTNSU1lYUnBiejBpYm05dVpTSStDaUFnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWxJaUI1TVQwaU1DVWlJSGd5UFNJeE1EQWxJaUI1TWowaU1DVWlQZ29nSUNBZ1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlpsWm1WbVpTSWdjM1J2Y0MxdmNHRmphWFI1UFNJeElpOCtDaUFnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU5tTldZMVpqVWlJSE4wYjNBdGIzQmhZMmwwZVQwaU1TSXZQZ29nSUR3dmJHbHVaV0Z5UjNKaFpHbGxiblErQ2lBZ1BISmxZM1FnZUQwaU1DSWdlVDBpTUNJZ2QybGtkR2c5SWpFaUlHaGxhV2RvZEQwaU1TSWdabWxzYkQwaWRYSnNLQ05uY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrS1NJZ0x6NEtQQzl6ZG1jKycpO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZWZlZmUgMCUsICNmNWY1ZjUgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsI2ZlZmVmZSksIGNvbG9yLXN0b3AoMTAwJSwjZjVmNWY1KSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwjZjVmNWY1IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xN3B4OyBtYXJnaW4tbGVmdDogMTdweDsgfVxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIHsgdG9wOiAgLTE3cHg7IG1hcmdpbi10b3A6ICAxN3B4OyB9XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBoZWlnaHQ6IDEwcHg7IG1pbi13aWR0aDogMTBweDsgdG9wOiAwcHg7IH1cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBsZWZ0OiAwcHg7IG1pbi1oZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4OyB9XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVyIHsgaGVpZ2h0OiAxMnB4OyBsZWZ0OiAycHg7IHRvcDogMnB4OyB9XG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTRweDsgfVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IGxlZnQ6IDJweDsgdG9wOiAycHg7IHdpZHRoOiAxMnB4OyB9XG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtNHB4OyB9XG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtMTlweDsgfVxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMTlweDsgfVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgbGVmdDogLTE5cHg7IH1cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xOXB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIFJBSUwgKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQsXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlcjpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTdweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAzcHggMCAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCAycHggMCAzcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMnB4O1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXItZ3JheTtcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgIC8vYm94LXNoYWRvdzogMXB4IDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyOmhvdmVyIC5zY3JvbGwtYmFyIHtcbiAgICAvL2JveC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIHsgbGVmdDogLTE3cHg7IG1hcmdpbi1sZWZ0OiAxN3B4OyB9XG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSB7IG1hcmdpbi10b3A6IDE3cHg7IHRvcDogLTE3cHg7IH1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtYmFyIHsgaGVpZ2h0OiAxMHB4OyBtaW4td2lkdGg6IDEwcHg7IHRvcDogMXB4OyB9XG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBsZWZ0OiAxcHg7IG1pbi1oZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4OyB9XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBoZWlnaHQ6IDE1cHg7IGxlZnQ6IDVweDsgfVxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgaGVpZ2h0OiAycHg7IGxlZnQ6IC0xMHB4OyB0b3A6IDVweDsgfVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X291dGVyIHsgdG9wOiA1cHg7IHdpZHRoOiAxNXB4OyB9XG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiA1cHg7IHRvcDogLTEwcHg7IHdpZHRoOiAycHg7IH1cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTI1cHg7IH1cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMjVweDsgfVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBsZWZ0OiAtMjVweDsgfVxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgdG9wOiAtMjVweDsgfVxuXG5cblxuXG5cblxuXG5cblxuXG4vKioqKioqKioqKioqKioqIFNDUk9MTEJBUiBEWU5BTUlDICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50IGRpdlxue1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuICAgIGJvdHRvbTogMnB4O1xuICAgIGhlaWdodDogN3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHJpZ2h0OiAycHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIG9wYWNpdHk6IDAuMztcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2YzZlNzE7XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgdG9wOiBhdXRvO1xufVxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDdweDtcbn1cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiAycHg7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjJzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7XG4gICAgLW8tdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7XG4gICAgLW1zLXRyYW5zaXRpb246IGhlaWdodCAwLjJzO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjJzO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMnB4O1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMC4ycztcbiAgICAtby10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICAgIC1tcy10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnM7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC00cHg7IH1cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTRweDsgfVxuXG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC0xMXB4OyB9XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTExcHg7IH1cblxuXG4vKiBob3ZlciAmIGRyYWcgKi9cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlcixcbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC1tcy1maWx0ZXI6XCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT03MClcIjtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzApO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgLnNjcm9sbC1lbGVtZW50X3NpemUsXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgLnNjcm9sbC1lbGVtZW50X3NpemUge1xuICAgIG9wYWNpdHk6IDE7XG59XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQ6aG92ZXIgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtYmFyLFxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtYmFyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiA3cHg7XG59XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXk6aG92ZXIgLnNjcm9sbC1lbGVtZW50X291dGVyLFxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICBtaW4td2lkdGg6IDdweDtcbiAgICB3aWR0aDogMjBweDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTQ1JPTExCQVIgR09PR0xFIENIUk9NRSAqKioqKioqKioqKioqKiovXG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7fVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RiZGJkYjtcbn1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbGVmdDogMDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDE2cHg7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZGJkYmQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgICBib3JkZXItY29sb3I6ICNhOWE5YTk7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MTkxOTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjN2U3ZTdlO1xufVxuXG4vKiBzY3JvbGxiYXIgaGVpZ2h0L3dpZHRoICYgb2Zmc2V0IGZyb20gY29udGFpbmVyIGJvcmRlcnMgKi9cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xNnB4OyBtYXJnaW4tbGVmdDogMTZweDsgfVxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSB7IHRvcDogIC0xNnB4OyBtYXJnaW4tdG9wOiAgMTZweDsgfVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWJhciB7IGhlaWdodDogOHB4OyBtaW4td2lkdGg6IDEwcHg7IHRvcDogM3B4OyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWJhciB7IGxlZnQ6IDNweDsgbWluLWhlaWdodDogMTBweDsgd2lkdGg6IDhweDsgfVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkYmRiZGI7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGhlaWdodDogMTRweDsgbGVmdDogLTNweDsgfVxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X3NpemUgeyBoZWlnaHQ6IDE0cHg7IGxlZnQ6IC00cHg7IH1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X291dGVyIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYmRiZGI7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTNweDsgd2lkdGg6IDE0cHg7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtNHB4OyB3aWR0aDogMTRweDsgfVxuXG4vKiB1cGRhdGUgc2Nyb2xsYmFyIG9mZnNldCBpZiBib3RoIHNjcm9sbHMgYXJlIHZpc2libGUgKi9cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC0xOXB4OyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMTlweDsgfVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGxlZnQ6IC0xOXB4OyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTE5cHg7IH0iXX0= */