@import url("https://fonts.googleapis.com/css2?family=Literata:wght@500;700&family=Rubik:wght@400;500;700&display=swap");

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[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-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

:root {
    --black: #2b8cc6;
    --white: #fff;
    --global-font-size: 18px;
    --global-weight-normal: normal;
    --global-weight-bold: bold;
    --global-lineheight: 1.5;
    --global-radius: 0;
    --global-button-cursor: auto;
    --global-width: 75rem;
    --primary-color: #20baff;
    --body-background: var(--black);
    --body-font-family: Literata, serif;
    --body-font-color: var(--light-primary-color);
    --input-font-size: 14px;
    --input-line-height: input-line-height;
    --input-padding: 0.5rem;
    --input-border: 1px solid #b8b8b8;
    --input-radius: 5px;
    --input-background: var(--white);
    --input-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.152289);
    --input-font-family: Montserrat, sans-serif;
    --input-font-weight: var(--global-weight-normal);
    --input-color: var(--black);
    --input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    --input-border-focus: 0;
    --input-background-focus: var(--white);
    --input-shadow-focus: none;
    --input-background-disabled: var(--light-gray);
    --input-cursor-disabled: not-allowed;
    --form-button-radius: var(--global-radius);
    --input-placeholder-color: var(--medium-gray);
    --form-label-font-size: 0.875rem;
    --form-label-font-weight: var(--global-weight-normal);
    --form-label-line-height: 1.8;
    --form-label-color: inherit;
    --select-radius: var(--global-radius);
    --select-background: var(--white);
    --paragraph-margin-bottom: 1rem;
    --paragraph-lineheight: 1.8;
    --paragraph-text-rendering: optimizeLegibility;
    --small-font-size: 0.9em;
    --header-font-family: Rubik, sans-serif;
    --header-font-style: normal;
    --header-font-weight: bold;
    --header-color: inherit;
    --header-text-rendering: optimizeLegibility;
    --header-margin: 0 0 0.5rem;
    --header-h1-size: 3rem;
    --header-h2-size: 2rem;
    --header-h3-size: 1.6rem;
    --header-h4-size: 1.3rem;
    --header-h5-size: 1.1rem;
    --header-h6-size: 1rem;
    --anchor-color: var(--primary-color);
    --anchor-text-decoration: none;
    --anchor-color-hover: none;
    --anchor-text-decoration-hover: none;
    --list-margin-bottom: var(--paragraph-margin-bottom);
    --list-style-position: var(--paragraph-margin-bottom);
    --list-lineheight: var(--paragraph-lineheight);
    --list-side-margin: 1.25rem;
    --list-style-type: 1.25rem;
    --list-nested-side-margin: 1.25rem;
    --abbr-underline: 1px dotted var(--black);
    --code-padding: 0.125rem 0.3125rem 0.0625rem;
    --font-family-monospace: Consolas, Liberation Mono, Courier, monospace;
    --light-primary-color: rgba(211, 241, 255, 0.9);
    --medium-primary-color: #383838;
    --medium-light-primary-color: #006ea0;
    --dark-primary-color: #1f8ed0;
    --xlight-gray: hsla(0, 0%, 89.4%, 0.5);
    --light-gray: #b1b1b1;
    --dark-gray: #254959;
    --light-black: #07273b;
    --warning-color: #f5d67b;
    --dark-warning-color: #221a03;
    --alert-color: #cc4b37;
    --success-color: #3adb76;
    --dark-gradient: linear-gradient(-45deg, var(--black), var(--light-black));
    --primary-gradient: linear-gradient(45deg, #49c7ff, var(--primary-color));
    --medium-gradient: linear-gradient(45deg, #0a3956, var(--medium-primary-color));
    --global-weight-medium: 500;
    --text-margin: 1.8em
}

html {
    box-sizing: border-box;
    font-size: var(--global-font-size)
}

*,
:after,
:before {
    box-sizing: inherit
}

body {
    background: var(--body-background);
    color: var(--body-font-color);
    font-family: var(--body-font-family);
    font-weight: var(--global-weight-normal);
    line-height: var(--global-lineheight);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

img {
    display: inline-block;
    height: auto;
    -ms-interpolation-mode: bicubic;
    max-width: 100%;
    vertical-align: middle
}

pre {
    overflow: auto
}

blockquote,
dd,
div,
dl,
dt,
form,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
pre,
td,
th,
ul {
    margin: 0;
    padding: 0
}

p {
    font-size: inherit;
    line-height: var(--paragraph-lineheight);
    margin-bottom: var(--paragraph-margin-bottom);
    text-rendering: var(--paragraph-text-rendering)
}

em,
i {
    font-style: italic
}

b,
em,
i,
strong {
    line-height: inherit
}

b,
strong {
    font-weight: var(--global-weight-bold)
}

small {
    font-size: var(--small-font-size);
    line-height: inherit
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--header-color);
    font-family: var(--header-font-family);
    font-style: var(--header-font-style);
    font-weight: var(--header-font-weight);
    margin: var(--header-margin);
    text-rendering: var(--header-text-rendering)
}

h3,
h4,
h5 {
    font-weight: 100
}

h1 {
    font-size: var(--header-h1-size)
}

h2 {
    font-size: var(--header-h2-size)
}

h3 {
    font-size: var(--header-h3-size)
}

h4 {
    font-size: var(--header-h4-size)
}

h5 {
    font-size: var(--header-h5-size)
}

h6 {
    font-size: var(--header-h6-size)
}

a {
    color: var(--anchor-color);
    cursor: pointer;
    line-height: inherit;
    -webkit-text-decoration: var(--anchor-text-decoration);
    text-decoration: var(--anchor-text-decoration)
}

a:focus,
a:hover {
    color: var(--anchor-color-hover)
}

a img {
    border: 0
}

dl,
ol,
ul {
    line-height: var(--list-lineheight);
    list-style-position: var(--list-style-position);
    margin-bottom: var(--list-margin-bottom)
}

li {
    font-size: inherit
}

ul {
    list-style-type: var(--list-style-type)
}

ol,
ul {
    margin-left: var(--list-side-margin)
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-left: var(--list-nested-side-margin);
    margin-bottom: 0
}

abbr,
abbr[title] {
    border-bottom: var(--abbr-underline);
    cursor: help;
    text-decoration: none
}

figure {
    margin: 0
}

code {
    display: inline;
    max-width: 100%;
    padding: var(--code-padding);
    word-wrap: break-word
}

textarea {
    height: auto;
    min-height: 50px
}

select,
textarea {
    border-radius: var(--global-radius)
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--global-radius);
    cursor: var(--global-button-cursor);
    line-height: 1;
    padding: 0
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit
}

[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--input-background);
    border: var(--input-border);
    border-radius: var(--input-radius);
    box-shadow: var(--input-shadow);
    box-sizing: border-box;
    color: var(--input-color);
    display: block;
    font-family: var(--input-font-family);
    font-size: var(--input-font-size);
    font-weight: var(--input-font-weight);
    line-height: var(--input-line-height);
    padding: var(--input-padding);
    transition: var(--input-transition);
    width: 100%
}

[type=color]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=datetime]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
textarea:focus {
    background-color: var(--input-background-focus);
    border: var(--input-border-focus);
    box-shadow: var(--input-shadow-focus);
    outline: none;
    transition: var(--input-transition)
}

textarea {
    max-width: 100%
}

textarea[rows] {
    height: auto
}

input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly] {
    background-color: var(--input-background-disabled);
    cursor: var(--input-cursor-disabled)
}

[type=button],
[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: var(--form-button-radius)
}

input[type=search] {
    box-sizing: border-box
}

::-webkit-input-placeholder {
    color: var(--input-placeholder-color)
}

::-moz-placeholder {
    color: var(--input-placeholder-color)
}

:-ms-input-placeholder {
    color: var(--input-placeholder-color)
}

::-ms-input-placeholder {
    color: var(--input-placeholder-color)
}

::placeholder {
    color: var(--input-placeholder-color)
}

[type=checkbox] + label,
[type=radio] + label {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: baseline
}

[type=checkbox] + label[for],
[type=radio] + label[for] {
    cursor: pointer
}

[type=file] {
    width: 100%
}

label {
    color: var(--form-label-color);
    display: block;
    font-size: var(--form-label-font-size);
    font-weight: var(--form-label-font-weight);
    line-height: var(--form-label-line-height);
    margin: 0
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

legend {
    max-width: 100%
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--select-background);
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: 3em .5em;
    border: var(--input-border);
    border-radius: var(--select-radius);
    color: var(--input-color);
    font-family: var(--input-font-family);
    font-size: var(--input-font-size);
    font-weight: var(--input-font-weight);
    line-height: var(--input-line-height);
    padding: var(--input-padding);
    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%283, 18, 27%29'></polygon></svg>");
    transition: var(--input-transition)
}

@media screen and (min-width:0\0) {
    select {
        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")
    }
}

select:focus {
    background-color: var(--input-background-focus);
    border: var(--input-border-focus);
    box-shadow: var(--input-shadow-focus);
    outline: none;
    transition: var(--input-transition)
}

select:disabled {
    background-color: var(--input-background-disabled);
    cursor: var(--input-cursor-disabled)
}

select::-ms-expand {
    display: none
}

select[multiple] {
    background-image: none;
    height: auto
}

select:not([multiple]) {
    padding-bottom: 0;
    padding-top: 0
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvZGVwZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJjb2RlcGVuLmNzcyIsImJhc2UvX3Jvb3Quc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2Zvcm1zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsd0hBQVk7QUNOWiwyRUFBQSxDQVVBLEtBQ0UsZ0JBQWlCLENBQ2pCLDZCQUF1QyxDQWtCekMsS0FDRSxhQUFjLENBUWhCLEdBQ0UsYUFBYyxDQUNkLGNBQWdCLENBV2xCLEdBQ0Usc0JBQXVCLENBQ3ZCLFFBQVMsQ0FDVCxnQkFBMEIsQ0FRNUIsSUFDRSwrQkFBaUMsQ0FDakMsYUFBdUIsQ0FVekIsRUFDRSw0QkFBNkIsQ0FRL0IsWUFDRSxrQkFBbUIsQ0FDbkIseUJBQTBCLENBQzFCLHdDQUFpQyxDQUFqQyxnQ0FBMEMsQ0FPNUMsU0FFRSxrQkFBbUIsQ0FRckIsY0FHRSwrQkFBaUMsQ0FDakMsYUFBdUIsQ0FPekIsTUFDRSxhQUFjLENBUWhCLFFBRUUsYUFBYyxDQUNkLGFBQWMsQ0FDZCxpQkFBa0IsQ0FDbEIsdUJBQXdCLENBRzFCLElBQ0UsYUFBZSxDQUdqQixJQUNFLFNBQVcsQ0FVYixJQUNFLGlCQUFrQixDQVdwQixzQ0FNRSxjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFFBQWtCLENBUXBCLGFBRUUsZ0JBQWlCLENBUW5CLGNBRUUsbUJBQW9CLENBT3RCLGdEQUlFLHlCQUEwQixDQU81Qix3SEFJRSxpQkFBa0IsQ0FDbEIsU0FBVSxDQU9aLDRHQUlFLDZCQUE4QixDQU9oQyxTQUNFLDBCQUE4QixDQVVoQyxPQUNFLHFCQUFzQixDQUN0QixhQUFjLENBQ2QsYUFBYyxDQUVkLFNBQVUsQ0FDVixrQkFBNEIsQ0FPOUIsU0FDRSx1QkFBd0IsQ0FPMUIsU0FDRSxhQUFjLENDdkJoQiw2QkRpQ0UscUJBQXNCLENBQ3RCLFNBQW1C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ZXNoZWV0IGZvciBDb2RlUGVuIGRlbW9zXG4vLy8gQGdyb3VwIGNvZGVwZW5cbi8vLyBAYXV0aG9yIEJlbiBNYXJzaGFsbFxuLy8vL1xuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1MaXRlcmF0YTp3Z2h0QDUwMDs3MDAmZmFtaWx5PVJ1YmlrOndnaHRANDAwOzUwMDs3MDAmZGlzcGxheT1zd2FwJyk7XG5cbi8vIEltcG9ydCBTYXNzIHZhcmlhYmxlcywgZnVuY3Rpb25zLCBhbmQgbWl4aW5zLlxuQGltcG9ydCAnZ2xvYmFsL2dsb2JhbCc7XG5cbi8vIEltcG9ydCBub3JtYWxpemUgdG8gbWFrZSBiYXNlIGVsZW1lbnQgc3R5bGVzIGNvbnNpc3RlbnQgYmV0d2VlbiBicm93c2Vycy5cbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5cbi8vIEltcG9ydCBDU1MgdmFyaWFibGVzLlxuQGltcG9ydCAnYmFzZS9yb290JztcblxuLy8gSW1wb3J0IGJhc2UgZWxlbWVudCBzdHlsZXMuXG5AaW1wb3J0ICdiYXNlL2Jhc2UnO1xuXG4vLyBJbXBvcnQgYmFzZSB0eXBvZ3JhcGh5IHN0eWxlcy5cbkBpbXBvcnQgJ2Jhc2UvdHlwb2dyYXBoeSc7XG5cbi8vIEltcG9ydCBiYXNlIHR5cG9ncmFwaHkgc3R5bGVzLlxuQGltcG9ydCAnYmFzZS9mb3Jtcyc7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUxpdGVyYXRhOndnaHRANTAwOzcwMCZmYW1pbHk9UnViaWs6d2dodEA0MDA7NTAwOzcwMCZkaXNwbGF5PXN3YXBcIik7XG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuOnJvb3Qge1xuICAtLWJsYWNrOiAjMDMxMjFiO1xuICAtLXdoaXRlOiAjZmZmO1xuICAtLWdsb2JhbC1mb250LXNpemU6IDE4cHg7XG4gIC0tZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiAgLS1nbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4gIC0tZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiAgLS1nbG9iYWwtcmFkaXVzOiAwO1xuICAtLWdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuICAtLWdsb2JhbC13aWR0aDogNzVyZW07XG4gIC0tcHJpbWFyeS1jb2xvcjogIzIwYmFmZjtcbiAgLS1ib2R5LWJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTtcbiAgLS1ib2R5LWZvbnQtZmFtaWx5OiBMaXRlcmF0YSwgc2VyaWY7XG4gIC0tYm9keS1mb250LWNvbG9yOiB2YXIoLS1saWdodC1wcmltYXJ5LWNvbG9yKTtcbiAgLS1pbnB1dC1mb250LXNpemU6IDE0cHg7XG4gIC0taW5wdXQtbGluZS1oZWlnaHQ6IGlucHV0LWxpbmUtaGVpZ2h0O1xuICAtLWlucHV0LXBhZGRpbmc6IDAuNXJlbTtcbiAgLS1pbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAjYjhiOGI4O1xuICAtLWlucHV0LXJhZGl1czogNXB4O1xuICAtLWlucHV0LWJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgLS1pbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUyMjg5KTtcbiAgLS1pbnB1dC1mb250LWZhbWlseTogTW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgLS1pbnB1dC1mb250LXdlaWdodDogdmFyKC0tZ2xvYmFsLXdlaWdodC1ub3JtYWwpO1xuICAtLWlucHV0LWNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIC0taW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC0taW5wdXQtYm9yZGVyLWZvY3VzOiAwO1xuICAtLWlucHV0LWJhY2tncm91bmQtZm9jdXM6IHZhcigtLXdoaXRlKTtcbiAgLS1pbnB1dC1zaGFkb3ctZm9jdXM6IG5vbmU7XG4gIC0taW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogdmFyKC0tbGlnaHQtZ3JheSk7XG4gIC0taW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiAgLS1mb3JtLWJ1dHRvbi1yYWRpdXM6IHZhcigtLWdsb2JhbC1yYWRpdXMpO1xuICAtLWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1tZWRpdW0tZ3JheSk7XG4gIC0tZm9ybS1sYWJlbC1mb250LXNpemU6IDAuODc1cmVtO1xuICAtLWZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6IHZhcigtLWdsb2JhbC13ZWlnaHQtbm9ybWFsKTtcbiAgLS1mb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4gIC0tZm9ybS1sYWJlbC1jb2xvcjogaW5oZXJpdDtcbiAgLS1zZWxlY3QtcmFkaXVzOiB2YXIoLS1nbG9iYWwtcmFkaXVzKTtcbiAgLS1zZWxlY3QtYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICAtLXBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuICAtLXBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjg7XG4gIC0tcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC0tc21hbGwtZm9udC1zaXplOiAwLjllbTtcbiAgLS1oZWFkZXItZm9udC1mYW1pbHk6IFJ1YmlrLCBzYW5zLXNlcmlmO1xuICAtLWhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4gIC0taGVhZGVyLWZvbnQtd2VpZ2h0OiBib2xkO1xuICAtLWhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiAgLS1oZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLS1oZWFkZXItbWFyZ2luOiAwIDAgMC41cmVtO1xuICAtLWhlYWRlci1oMS1zaXplOiAzcmVtO1xuICAtLWhlYWRlci1oMi1zaXplOiAycmVtO1xuICAtLWhlYWRlci1oMy1zaXplOiAxLjZyZW07XG4gIC0taGVhZGVyLWg0LXNpemU6IDEuM3JlbTtcbiAgLS1oZWFkZXItaDUtc2l6ZTogMS4xcmVtO1xuICAtLWhlYWRlci1oNi1zaXplOiAxcmVtO1xuICAtLWFuY2hvci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gIC0tYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLS1hbmNob3ItY29sb3ItaG92ZXI6IG5vbmU7XG4gIC0tYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiAgLS1saXN0LW1hcmdpbi1ib3R0b206IHZhcigtLXBhcmFncmFwaC1tYXJnaW4tYm90dG9tKTtcbiAgLS1saXN0LXN0eWxlLXBvc2l0aW9uOiB2YXIoLS1wYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSk7XG4gIC0tbGlzdC1saW5laGVpZ2h0OiB2YXIoLS1wYXJhZ3JhcGgtbGluZWhlaWdodCk7XG4gIC0tbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiAgLS1saXN0LXN0eWxlLXR5cGU6IDEuMjVyZW07XG4gIC0tbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4gIC0tYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgdmFyKC0tYmxhY2spO1xuICAtLWNvZGUtcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBMaWJlcmF0aW9uIE1vbm8sIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgLS1saWdodC1wcmltYXJ5LWNvbG9yOiByZ2JhKDIxMSwgMjQxLCAyNTUsIDAuOSk7XG4gIC0tbWVkaXVtLXByaW1hcnktY29sb3I6ICMwNjIxMzI7XG4gIC0tbWVkaXVtLWxpZ2h0LXByaW1hcnktY29sb3I6ICMwMDZlYTA7XG4gIC0tZGFyay1wcmltYXJ5LWNvbG9yOiAjMDgzMTQ5O1xuICAtLXhsaWdodC1ncmF5OiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XG4gIC0tbGlnaHQtZ3JheTogI2IxYjFiMTtcbiAgLS1kYXJrLWdyYXk6ICMyNTQ5NTk7XG4gIC0tbGlnaHQtYmxhY2s6ICMwNzI3M2I7XG4gIC0td2FybmluZy1jb2xvcjogI2Y1ZDY3YjtcbiAgLS1kYXJrLXdhcm5pbmctY29sb3I6ICMyMjFhMDM7XG4gIC0tYWxlcnQtY29sb3I6ICNjYzRiMzc7XG4gIC0tc3VjY2Vzcy1jb2xvcjogIzNhZGI3NjtcbiAgLS1kYXJrLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB2YXIoLS1ibGFjayksIHZhcigtLWxpZ2h0LWJsYWNrKSk7XG4gIC0tcHJpbWFyeS1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjNDljN2ZmLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7XG4gIC0tbWVkaXVtLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMwYTM5NTYsIHZhcigtLW1lZGl1bS1wcmltYXJ5LWNvbG9yKSk7XG4gIC0tZ2xvYmFsLXdlaWdodC1tZWRpdW06IDUwMDtcbiAgLS10ZXh0LW1hcmdpbjogMS44ZW07IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLWZvbnQtc2l6ZSk7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYm9keS1iYWNrZ3JvdW5kKTtcbiAgY29sb3I6IHZhcigtLWJvZHktZm9udC1jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWdsb2JhbC13ZWlnaHQtbm9ybWFsKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC1saW5laGVpZ2h0KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1wYXJhZ3JhcGgtbGluZWhlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBhcmFncmFwaC1tYXJnaW4tYm90dG9tKTtcbiAgdGV4dC1yZW5kZXJpbmc6IHZhcigtLXBhcmFncmFwaC10ZXh0LXJlbmRlcmluZyk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWdsb2JhbC13ZWlnaHQtYm9sZCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1zbWFsbC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogdmFyKC0taGVhZGVyLWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWhlYWRlci1mb250LWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWhlYWRlci1mb250LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRlci1mb250LXdlaWdodCk7XG4gIG1hcmdpbjogdmFyKC0taGVhZGVyLW1hcmdpbik7XG4gIHRleHQtcmVuZGVyaW5nOiB2YXIoLS1oZWFkZXItdGV4dC1yZW5kZXJpbmcpOyB9XG5cbmgzLFxuaDQsXG5oNSB7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IHZhcigtLWhlYWRlci1oMS1zaXplKTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWgyLXNpemUpOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItaDMtc2l6ZSk7IH1cblxuaDQge1xuICBmb250LXNpemU6IHZhcigtLWhlYWRlci1oNC1zaXplKTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWg1LXNpemUpOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItaDYtc2l6ZSk7IH1cblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1hbmNob3ItY29sb3IpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLWFuY2hvci10ZXh0LWRlY29yYXRpb24pOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1hbmNob3ItY29sb3ItaG92ZXIpOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpc3QtbGluZWhlaWdodCk7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IHZhcigtLWxpc3Qtc3R5bGUtcG9zaXRpb24pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1saXN0LW1hcmdpbi1ib3R0b20pOyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWxpc3Qtc2lkZS1tYXJnaW4pO1xuICBsaXN0LXN0eWxlLXR5cGU6IHZhcigtLWxpc3Qtc3R5bGUtdHlwZSk7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbGlzdC1zaWRlLW1hcmdpbik7IH1cblxudWwgdWwsXG5vbCB1bCwgdWxcbm9sLFxub2xcbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5hYmJyLFxuYWJiclt0aXRsZV0ge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1hYmJyLXVuZGVybGluZSk7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWNvZGUtcGFkZGluZyk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG50ZXh0YXJlYSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWdsb2JhbC1yYWRpdXMpO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsLXJhZGl1cyk7IH1cblxuYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsLXJhZGl1cyk7XG4gIGN1cnNvcjogdmFyKC0tZ2xvYmFsLWJ1dHRvbi1jdXJzb3IpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG5bdHlwZT0ndGV4dCddLFxuW3R5cGU9J3Bhc3N3b3JkJ10sXG5bdHlwZT0nZGF0ZSddLFxuW3R5cGU9J2RhdGV0aW1lJ10sXG5bdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcblt0eXBlPSdtb250aCddLFxuW3R5cGU9J3dlZWsnXSxcblt0eXBlPSdlbWFpbCddLFxuW3R5cGU9J251bWJlciddLFxuW3R5cGU9J3NlYXJjaCddLFxuW3R5cGU9J3RlbCddLFxuW3R5cGU9J3RpbWUnXSxcblt0eXBlPSd1cmwnXSxcblt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pbnB1dC1zaGFkb3cpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogdmFyKC0taW5wdXQtY29sb3IpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlucHV0LWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1pbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0taW5wdXQtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taW5wdXQtbGluZS1oZWlnaHQpO1xuICBwYWRkaW5nOiB2YXIoLS1pbnB1dC1wYWRkaW5nKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0taW5wdXQtdHJhbnNpdGlvbik7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsXG4gIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuICBbdHlwZT0nZGF0ZSddOmZvY3VzLFxuICBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cyxcbiAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsXG4gIFt0eXBlPSdtb250aCddOmZvY3VzLFxuICBbdHlwZT0nd2VlayddOmZvY3VzLFxuICBbdHlwZT0nZW1haWwnXTpmb2N1cyxcbiAgW3R5cGU9J251bWJlciddOmZvY3VzLFxuICBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsXG4gIFt0eXBlPSd0ZWwnXTpmb2N1cyxcbiAgW3R5cGU9J3RpbWUnXTpmb2N1cyxcbiAgW3R5cGU9J3VybCddOmZvY3VzLFxuICBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWJhY2tncm91bmQtZm9jdXMpO1xuICAgIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLWZvY3VzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1pbnB1dC1zaGFkb3ctZm9jdXMpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0taW5wdXQtdHJhbnNpdGlvbik7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICBjdXJzb3I6IHZhcigtLWlucHV0LWN1cnNvci1kaXNhYmxlZCk7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZm9ybS1idXR0b24tcmFkaXVzKTsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGgsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbi8qIHN0eWxlbGludC1lbmFibGUgbWF4LW5lc3RpbmctZGVwdGgsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0taW5wdXQtcGxhY2Vob2xkZXItY29sb3IpOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqLyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWxhYmVsLWNvbG9yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9ybS1sYWJlbC1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb3JtLWxhYmVsLWxpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luOiAwOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlbGVjdC1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNlbSAwLjVlbTtcbiAgYm9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zZWxlY3QtcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWlucHV0LWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlucHV0LWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1pbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0taW5wdXQtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taW5wdXQtbGluZS1oZWlnaHQpO1xuICBwYWRkaW5nOiB2YXIoLS1pbnB1dC1wYWRkaW5nKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgzLCAxOCwgMjclMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIHRyYW5zaXRpb246IHZhcigtLWlucHV0LXRyYW5zaXRpb24pOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtYmFja2dyb3VuZC1mb2N1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXItZm9jdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWlucHV0LXNoYWRvdy1mb2N1cyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIG1heC1uZXN0aW5nLWRlcHRoICovXG4gICAgdHJhbnNpdGlvbjogdmFyKC0taW5wdXQtdHJhbnNpdGlvbik7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgICBjdXJzb3I6IHZhcigtLWlucHV0LWN1cnNvci1kaXNhYmxlZCk7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiIsIi8vLy9cbi8vLyBDb250YWlucyBjb3JlIENTUyB2YXJpYWJsZXMuIFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGVkaXRlZCBkaXJlY3RseSxcbi8vLyBpbnN0ZWFkIGFkZCBuZXcgdmFyaWFibGVzIGluIHRoZSBfc2V0dGluZ3Muc2NzcyBmaWxlLlxuLy8vIEBncm91cCBjb3JlXG4vLy8gQGF1dGhvciBCZW4gTWFyc2hhbGxcbi8vLy9cblxuOnJvb3Qge1xuICAtLWJsYWNrOiAjeyRibGFja307XG4gIC0td2hpdGU6ICN7JHdoaXRlfTtcbiAgLS1nbG9iYWwtZm9udC1zaXplOiAjeyRnbG9iYWwtZm9udC1zaXplfTtcbiAgLS1nbG9iYWwtd2VpZ2h0LW5vcm1hbDogI3skZ2xvYmFsLXdlaWdodC1ub3JtYWx9O1xuICAtLWdsb2JhbC13ZWlnaHQtYm9sZDogI3skZ2xvYmFsLXdlaWdodC1ib2xkfTtcbiAgLS1nbG9iYWwtbGluZWhlaWdodDogI3skZ2xvYmFsLWxpbmVoZWlnaHR9O1xuICAtLWdsb2JhbC1yYWRpdXM6ICN7JGdsb2JhbC1yYWRpdXN9O1xuICAtLWdsb2JhbC1idXR0b24tY3Vyc29yOiAjeyRnbG9iYWwtYnV0dG9uLWN1cnNvcn07XG4gIC0tZ2xvYmFsLXdpZHRoOiAjeyRnbG9iYWwtd2lkdGh9O1xuICAtLXByaW1hcnktY29sb3I6ICN7JHByaW1hcnktY29sb3J9O1xuICAtLWJvZHktYmFja2dyb3VuZDogI3skYm9keS1iYWNrZ3JvdW5kfTtcbiAgLS1ib2R5LWZvbnQtZmFtaWx5OiAjeyRib2R5LWZvbnQtZmFtaWx5fTtcbiAgLS1ib2R5LWZvbnQtY29sb3I6ICN7JGJvZHktZm9udC1jb2xvcn07XG4gIC0taW5wdXQtZm9udC1zaXplOiAjeyRpbnB1dC1mb250LXNpemV9O1xuICAtLWlucHV0LWxpbmUtaGVpZ2h0OiAje2lucHV0LWxpbmUtaGVpZ2h0fTtcbiAgLS1pbnB1dC1wYWRkaW5nOiAjeyRpbnB1dC1wYWRkaW5nfTtcbiAgLS1pbnB1dC1ib3JkZXI6ICN7JGlucHV0LWJvcmRlcn07XG4gIC0taW5wdXQtcmFkaXVzOiAjeyRpbnB1dC1yYWRpdXN9O1xuICAtLWlucHV0LWJhY2tncm91bmQ6ICN7JGlucHV0LWJhY2tncm91bmR9O1xuICAtLWlucHV0LXNoYWRvdzogI3skaW5wdXQtc2hhZG93fTtcbiAgLS1pbnB1dC1mb250LWZhbWlseTogI3skaW5wdXQtZm9udC1mYW1pbHl9O1xuICAtLWlucHV0LWZvbnQtd2VpZ2h0OiAjeyRpbnB1dC1mb250LXdlaWdodH07XG4gIC0taW5wdXQtY29sb3I6ICN7JGlucHV0LWNvbG9yfTtcbiAgLS1pbnB1dC10cmFuc2l0aW9uOiAjeyRpbnB1dC10cmFuc2l0aW9ufTtcbiAgLS1pbnB1dC1ib3JkZXItZm9jdXM6ICN7JGlucHV0LWJvcmRlci1mb2N1c307XG4gIC0taW5wdXQtYmFja2dyb3VuZC1mb2N1czogI3skaW5wdXQtYmFja2dyb3VuZC1mb2N1c307XG4gIC0taW5wdXQtc2hhZG93LWZvY3VzOiAjeyRpbnB1dC1zaGFkb3ctZm9jdXN9O1xuICAtLWlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICN7JGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWR9O1xuICAtLWlucHV0LWN1cnNvci1kaXNhYmxlZDogI3skaW5wdXQtY3Vyc29yLWRpc2FibGVkfTtcbiAgLS1mb3JtLWJ1dHRvbi1yYWRpdXM6ICN7JGZvcm0tYnV0dG9uLXJhZGl1c307XG4gIC0taW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICN7JGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yfTtcbiAgLS1mb3JtLWxhYmVsLWZvbnQtc2l6ZTogI3skZm9ybS1sYWJlbC1mb250LXNpemV9O1xuICAtLWZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICN7JGZvcm0tbGFiZWwtZm9udC13ZWlnaHR9O1xuICAtLWZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6ICN7JGZvcm0tbGFiZWwtbGluZS1oZWlnaHR9O1xuICAtLWZvcm0tbGFiZWwtY29sb3I6ICN7JGZvcm0tbGFiZWwtY29sb3J9O1xuICAtLXNlbGVjdC1yYWRpdXM6ICN7JHNlbGVjdC1yYWRpdXN9O1xuICAtLXNlbGVjdC1iYWNrZ3JvdW5kOiAjeyRzZWxlY3QtYmFja2dyb3VuZH07XG4gIC0tcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICN7JHBhcmFncmFwaC1tYXJnaW4tYm90dG9tfTtcbiAgLS1wYXJhZ3JhcGgtbGluZWhlaWdodDogI3skcGFyYWdyYXBoLWxpbmVoZWlnaHR9O1xuICAtLXBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogI3skcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nfTtcbiAgLS1zbWFsbC1mb250LXNpemU6ICN7JHNtYWxsLWZvbnQtc2l6ZX07XG4gIC0taGVhZGVyLWZvbnQtZmFtaWx5OiAjeyRoZWFkZXItZm9udC1mYW1pbHl9O1xuICAtLWhlYWRlci1mb250LXN0eWxlOiAjeyRoZWFkZXItZm9udC1zdHlsZX07XG4gIC0taGVhZGVyLWZvbnQtd2VpZ2h0OiAjeyRoZWFkZXItZm9udC13ZWlnaHR9O1xuICAtLWhlYWRlci1jb2xvcjogI3skaGVhZGVyLWNvbG9yfTtcbiAgLS1oZWFkZXItdGV4dC1yZW5kZXJpbmc6ICN7JGhlYWRlci10ZXh0LXJlbmRlcmluZ307XG4gIC0taGVhZGVyLW1hcmdpbjogI3skaGVhZGVyLW1hcmdpbn07XG4gIC0taGVhZGVyLWgxLXNpemU6ICN7JGhlYWRlci1oMS1zaXplfTtcbiAgLS1oZWFkZXItaDItc2l6ZTogI3skaGVhZGVyLWgyLXNpemV9O1xuICAtLWhlYWRlci1oMy1zaXplOiAjeyRoZWFkZXItaDMtc2l6ZX07XG4gIC0taGVhZGVyLWg0LXNpemU6ICN7JGhlYWRlci1oNC1zaXplfTtcbiAgLS1oZWFkZXItaDUtc2l6ZTogI3skaGVhZGVyLWg1LXNpemV9O1xuICAtLWhlYWRlci1oNi1zaXplOiAjeyRoZWFkZXItaDYtc2l6ZX07XG4gIC0tYW5jaG9yLWNvbG9yOiAjeyRhbmNob3ItY29sb3J9O1xuICAtLWFuY2hvci10ZXh0LWRlY29yYXRpb246ICN7JGFuY2hvci10ZXh0LWRlY29yYXRpb259O1xuICAtLWFuY2hvci1jb2xvci1ob3ZlcjogI3skYW5jaG9yLWNvbG9yLWhvdmVyfTtcbiAgLS1hbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiAjeyRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyfTtcbiAgLS1saXN0LW1hcmdpbi1ib3R0b206ICN7JGxpc3QtbWFyZ2luLWJvdHRvbX07XG4gIC0tbGlzdC1zdHlsZS1wb3NpdGlvbjogI3skbGlzdC1zdHlsZS1wb3NpdGlvbn07XG4gIC0tbGlzdC1saW5laGVpZ2h0OiAjeyRsaXN0LWxpbmVoZWlnaHR9O1xuICAtLWxpc3Qtc2lkZS1tYXJnaW46ICN7JGxpc3Qtc2lkZS1tYXJnaW59O1xuICAtLWxpc3Qtc3R5bGUtdHlwZTogI3skbGlzdC1zdHlsZS10eXBlfTtcbiAgLS1saXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogI3skbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW59O1xuICAtLWFiYnItdW5kZXJsaW5lOiAjeyRhYmJyLXVuZGVybGluZX07XG4gIC0tY29kZS1wYWRkaW5nOiAjeyRjb2RlLXBhZGRpbmd9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3skZm9udC1mYW1pbHktbW9ub3NwYWNlfTtcblxuICAtLWxpZ2h0LXByaW1hcnktY29sb3I6ICN7JGxpZ2h0LXByaW1hcnktY29sb3J9O1xuICAtLW1lZGl1bS1wcmltYXJ5LWNvbG9yOiAjeyRtZWRpdW0tcHJpbWFyeS1jb2xvcn07XG4gIC0tbWVkaXVtLWxpZ2h0LXByaW1hcnktY29sb3I6ICN7JG1lZGl1bS1saWdodC1wcmltYXJ5LWNvbG9yfTtcbiAgLS1kYXJrLXByaW1hcnktY29sb3I6ICN7JGRhcmstcHJpbWFyeS1jb2xvcn07XG4gIC0teGxpZ2h0LWdyYXk6ICN7JHhsaWdodC1ncmF5fTtcbiAgLS1saWdodC1ncmF5OiAjYjFiMWIxO1xuICAtLWRhcmstZ3JheTogIzI1NDk1OTtcbiAgLS1saWdodC1ibGFjazogI3skbGlnaHQtYmxhY2t9O1xuICAtLXdhcm5pbmctY29sb3I6ICN7JHdhcm5pbmctY29sb3J9O1xuICAtLWRhcmstd2FybmluZy1jb2xvcjogI3skZGFyay13YXJuaW5nLWNvbG9yfTtcbiAgLS1hbGVydC1jb2xvcjogI3skYWxlcnQtY29sb3J9O1xuICAtLXN1Y2Nlc3MtY29sb3I6ICN7JHN1Y2Nlc3MtY29sb3J9O1xuICAtLWRhcmstZ3JhZGllbnQ6ICN7JGRhcmstZ3JhZGllbnR9O1xuICAtLXByaW1hcnktZ3JhZGllbnQ6ICN7JHByaW1hcnktZ3JhZGllbnR9O1xuICAtLW1lZGl1bS1ncmFkaWVudDogI3skbWVkaXVtLWdyYWRpZW50fTtcbiAgLS1nbG9iYWwtd2VpZ2h0LW1lZGl1bTogI3skZ2xvYmFsLXdlaWdodC1tZWRpdW19O1xuICAtLXRleHQtbWFyZ2luOiAjeyR0ZXh0LW1hcmdpbn07XG59XG4iLCIvLy8vXG4vLy8gQ29yZSBiYXNlIGVsZW1lbnQgc3R5bGVzXG4vLy8gQGdyb3VwIGJhc2Vcbi8vLyBAYXV0aG9yIEJlbiBNYXJzaGFsbFxuLy8vL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtZm9udC1zaXplKTtcbn1cblxuLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8vIERlZmF1bHQgYm9keSBzdHlsZXNcbmJvZHkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ib2R5LWJhY2tncm91bmQpO1xuICBjb2xvcjogdmFyKC0tYm9keS1mb250LWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJvZHktZm9udC1mYW1pbHkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZ2xvYmFsLXdlaWdodC1ub3JtYWwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLWxpbmVoZWlnaHQpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIH1cbn1cblxuLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuIiwiLy8vL1xuLy8vIENvcmUgdHlwb2dyYXBoeSBzdHlsZXNcbi8vLyBAZ3JvdXAgYmFzZVxuLy8vIEBhdXRob3IgQmVuIE1hcnNoYWxsXG4vLy8vXG5cbi8vIFR5cG9ncmFwaHkgcmVzZXRzXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBQYXJhZ3JhcGhzXG5wIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogdmFyKC0tcGFyYWdyYXBoLWxpbmVoZWlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSk7XG4gIHRleHQtcmVuZGVyaW5nOiB2YXIoLS1wYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmcpO1xufVxuXG4vLyBFbXBoYXNpemVkIHRleHRcbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFN0cm9uZyB0ZXh0XG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWdsb2JhbC13ZWlnaHQtYm9sZCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vLyBTbWFsbCB0ZXh0XG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc21hbGwtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIEhlYWRpbmdzXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogdmFyKC0taGVhZGVyLWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWhlYWRlci1mb250LWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWhlYWRlci1mb250LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRlci1mb250LXdlaWdodCk7XG4gIG1hcmdpbjogdmFyKC0taGVhZGVyLW1hcmdpbik7XG4gIHRleHQtcmVuZGVyaW5nOiB2YXIoLS1oZWFkZXItdGV4dC1yZW5kZXJpbmcpO1xufVxuXG5oMyxcbmg0LFxuaDUge1xuICBmb250LXdlaWdodDogMTAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWgxLXNpemUpO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWgyLXNpemUpO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWgzLXNpemUpO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWg0LXNpemUpO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWg1LXNpemUpO1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWg2LXNpemUpO1xufVxuXG4vLyBMaW5rc1xuYSB7XG4gIGNvbG9yOiB2YXIoLS1hbmNob3ItY29sb3IpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLWFuY2hvci10ZXh0LWRlY29yYXRpb24pO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1hbmNob3ItY29sb3ItaG92ZXIpO1xuICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbWF4LW5lc3RpbmctZGVwdGggKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcik7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gTGlzdHNcbnVsLFxub2wsXG5kbCB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saXN0LWxpbmVoZWlnaHQpO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiB2YXIoLS1saXN0LXN0eWxlLXBvc2l0aW9uKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbGlzdC1tYXJnaW4tYm90dG9tKTtcbn1cblxuLy8gTGlzdCBpdGVtc1xubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbi8vIFVub3JkZXJlZCBsaXN0c1xudWwge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiB2YXIoLS1saXN0LXNpZGUtbWFyZ2luKTtcbiAgbGlzdC1zdHlsZS10eXBlOiB2YXIoLS1saXN0LXN0eWxlLXR5cGUpO1xufVxuXG4vLyBPcmRlcmVkIGxpc3RzXG5vbCB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHZhcigtLWxpc3Qtc2lkZS1tYXJnaW4pO1xufVxuXG4vLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbnVsLFxub2wge1xuICAmICYge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHZhcigtLWxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbmFiYnIsXG5hYmJyW3RpdGxlXSB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4gIGJvcmRlci1ib3R0b206IHZhcigtLWFiYnItdW5kZXJsaW5lKTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8vIEZpZ3VyZXNcbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gQ29kZVxuY29kZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS1jb2RlLXBhZGRpbmcpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLy8vXG4vLy8gQ29yZSBmb3JtIGVsZW1lbnQgc3R5bGVzXG4vLy8gQGdyb3VwIGJhc2Vcbi8vLyBAYXV0aG9yIEJlbiBNYXJzaGFsbFxuLy8vL1xuXG4vLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbnRleHRhcmVhIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsLXJhZGl1cyk7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbn1cblxuLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsLXJhZGl1cyk7XG59XG5cbi8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbmJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWdsb2JhbC1yYWRpdXMpO1xuICBjdXJzb3I6IHZhcigtLWdsb2JhbC1idXR0b24tY3Vyc29yKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4vLyBUZXh0IGlucHV0c1xuW3R5cGU9J3RleHQnXSxcblt0eXBlPSdwYXNzd29yZCddLFxuW3R5cGU9J2RhdGUnXSxcblt0eXBlPSdkYXRldGltZSddLFxuW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG5bdHlwZT0nbW9udGgnXSxcblt0eXBlPSd3ZWVrJ10sXG5bdHlwZT0nZW1haWwnXSxcblt0eXBlPSdudW1iZXInXSxcblt0eXBlPSdzZWFyY2gnXSxcblt0eXBlPSd0ZWwnXSxcblt0eXBlPSd0aW1lJ10sXG5bdHlwZT0ndXJsJ10sXG5bdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5wdXQtc2hhZG93KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IHZhcigtLWlucHV0LWNvbG9yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pbnB1dC1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0taW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWlucHV0LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWlucHV0LWxpbmUtaGVpZ2h0KTtcbiAgcGFkZGluZzogdmFyKC0taW5wdXQtcGFkZGluZyk7XG4gIHRyYW5zaXRpb246IHZhcigtLWlucHV0LXRyYW5zaXRpb24pO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kLWZvY3VzKTtcbiAgICBib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci1mb2N1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0taW5wdXQtc2hhZG93LWZvY3VzKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWlucHV0LXRyYW5zaXRpb24pO1xuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICZbcm93c10geyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0geyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgIGN1cnNvcjogdmFyKC0taW5wdXQtY3Vyc29yLWRpc2FibGVkKTtcbiAgfVxufVxuXG4vLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb3JtLWJ1dHRvbi1yYWRpdXMpO1xufVxuXG4vLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbmlucHV0W3R5cGU9J3NlYXJjaCddIHsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuLyogc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGgsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cblt0eXBlPSdudW1iZXInXSB7XG4gIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSBtYXgtbmVzdGluZy1kZXB0aCwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yKTtcbn1cblxuLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAmW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUgKi9cbiAgfVxufVxuXG4vLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWxhYmVsLWNvbG9yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9ybS1sYWJlbC1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb3JtLWxhYmVsLWxpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luOiAwO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlbGVjdC1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNlbSAwLjVlbTtcbiAgYm9yZGVyOiB2YXIoLS1pbnB1dC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zZWxlY3QtcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWlucHV0LWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlucHV0LWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1pbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0taW5wdXQtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taW5wdXQtbGluZS1oZWlnaHQpO1xuICBwYWRkaW5nOiB2YXIoLS1pbnB1dC1wYWRkaW5nKTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJHNlbGVjdC10cmlhbmdsZS1jb2xvcikpfSwgI3tyb3VuZChibHVlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpKX0lMjknO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgICBAaWYgbGlnaHRuZXNzKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpIDwgNjAlIHtcbiAgICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1pbnB1dC10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWJhY2tncm91bmQtZm9jdXMpO1xuICAgIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLWZvY3VzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1pbnB1dC1zaGFkb3ctZm9jdXMpO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbWF4LW5lc3RpbmctZGVwdGggKi9cbiAgICAgIHRyYW5zaXRpb246IHZhcigtLWlucHV0LXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgIGN1cnNvcjogdmFyKC0taW5wdXQtY3Vyc29yLWRpc2FibGVkKTtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgfVxuXG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuIl19 */