
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain) FRONTEND
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
/*table,*/
caption,
/*tbody,
tfoot,
thead,
tr,
th,
td,*/
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
table,
tbody,
tfoot,
thead,
tr,
th,
td {
    text-align:center;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/*table,
tbody,
tfoot,
thead,
tr,
th,
td {
    
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}*/
/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after {
    content: '';
    content: none;
}

q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
    display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

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

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
    display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
    background: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address styling not present in IE 8/9.
 */

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

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

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

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
    border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

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

/* Grouping content
   ========================================================================== */

/**
 * Remove margin
 */

figure {
    margin: 0;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

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

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
    line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

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

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
    font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

/* Blockquote
   ========================================================================== */

blockquote {
    margin: 0;
}

.container:after {
    content: "";
    display: table;
    clear: both;
}

.row:before,
.row:after {
    content: "";
    display: table;
}

.row:after {
    clear: both;
}

.row {
    zoom: 1;
}

.gr-0,
.gr-1,
.gr-2,
.gr-3,
.gr-4,
.gr-5,
.gr-6,
.gr-7,
.gr-8,
.gr-9,
.gr-10,
.gr-11,
.gr-12 {
    display: inline-block;
    min-height: 1px;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
    padding-right: 15px;
    padding-left: 15px;
}

.gr-adapt {
    display: table-cell;
    width: 1px;
    white-space: nowrap !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1rem;
    padding-right: 15px;
    padding-left: 15px;
}

.gr-grow {
    display: table-cell;
    width: 99999px;
    white-space: nowrap;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1rem;
    padding-right: 15px;
    padding-left: 15px;
}

.push-0,
.push-1,
.push-2,
.push-3,
.push-4,
.push-5,
.push-6,
.push-7,
.push-8,
.push-9,
.push-10,
.push-11,
.push-12 {
    position: relative;
}

.pull-0,
.pull-1,
.pull-2,
.pull-3,
.pull-4,
.pull-5,
.pull-6,
.pull-7,
.pull-8,
.pull-9,
.pull-10,
.pull-11,
.pull-12 {
    position: relative;
}

.nowrap {
    white-space: nowrap;
}

.nowrap > * {
    white-space: normal;
}

.wrap {
    white-space: normal;
}

.gr-centered {
    display: block !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    clear: both !important;
}

@media screen and (max-width: 1023px) {
    .container\@mobile:after {
        content: "";
        display: table;
        clear: both;
    }
}

@media screen and (max-width: 1023px) {
    .row\@mobile:before,
    .row\@mobile:after {
        content: "";
        display: table;
    }

    .row\@mobile:after {
        clear: both;
    }

    .row\@mobile {
        zoom: 1;
    }
}

@media screen and (max-width: 1023px) {
    .gr-0\@mobile,
    .gr-1\@mobile,
    .gr-2\@mobile,
    .gr-3\@mobile,
    .gr-4\@mobile,
    .gr-5\@mobile,
    .gr-6\@mobile,
    .gr-7\@mobile,
    .gr-8\@mobile,
    .gr-9\@mobile,
    .gr-10\@mobile,
    .gr-11\@mobile,
    .gr-12\@mobile {
        display: inline-block;
        min-height: 1px;
        float: left;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        vertical-align: top;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media screen and (max-width: 1023px) {
    .gr-adapt\@mobile {
        display: table-cell;
        width: 1px;
        white-space: nowrap !important;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 1rem;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media screen and (max-width: 1023px) {
    .gr-grow\@mobile {
        display: table-cell;
        width: 99999px;
        white-space: nowrap;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 1rem;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media screen and (max-width: 1023px) {
    .push-0\@mobile,
    .push-1\@mobile,
    .push-2\@mobile,
    .push-3\@mobile,
    .push-4\@mobile,
    .push-5\@mobile,
    .push-6\@mobile,
    .push-7\@mobile,
    .push-8\@mobile,
    .push-9\@mobile,
    .push-10\@mobile,
    .push-11\@mobile,
    .push-12\@mobile {
        position: relative;
    }
}

@media screen and (max-width: 1023px) {
    .pull-0\@mobile,
    .pull-1\@mobile,
    .pull-2\@mobile,
    .pull-3\@mobile,
    .pull-4\@mobile,
    .pull-5\@mobile,
    .pull-6\@mobile,
    .pull-7\@mobile,
    .pull-8\@mobile,
    .pull-9\@mobile,
    .pull-10\@mobile,
    .pull-11\@mobile,
    .pull-12\@mobile {
        position: relative;
    }
}

@media screen and (max-width: 1023px) {
    .nowrap\@mobile {
        white-space: nowrap;
    }

    .nowrap\@mobile > * {
        white-space: normal;
    }
}

@media screen and (max-width: 1023px) {
    .wrap\@mobile {
        white-space: normal;
    }
}

@media screen and (max-width: 1023px) {
    .gr-centered\@mobile {
        display: block !important;
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        clear: both !important;
    }
}

@media (orientation: landscape) {
    .container\@landscape:after {
        content: "";
        display: table;
        clear: both;
    }
}

@media (orientation: landscape) {
    .row\@landscape:before,
    .row\@landscape:after {
        content: "";
        display: table;
    }

    .row\@landscape:after {
        clear: both;
    }

    .row\@landscape {
        zoom: 1;
    }
}

@media (orientation: landscape) {
    .gr-0\@landscape,
    .gr-1\@landscape,
    .gr-2\@landscape,
    .gr-3\@landscape,
    .gr-4\@landscape,
    .gr-5\@landscape,
    .gr-6\@landscape,
    .gr-7\@landscape,
    .gr-8\@landscape,
    .gr-9\@landscape,
    .gr-10\@landscape,
    .gr-11\@landscape,
    .gr-12\@landscape {
        display: inline-block;
        min-height: 1px;
        float: left;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        vertical-align: top;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media (orientation: landscape) {
    .gr-adapt\@landscape {
        display: table-cell;
        width: 1px;
        white-space: nowrap !important;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 1rem;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media (orientation: landscape) {
    .gr-grow\@landscape {
        display: table-cell;
        width: 99999px;
        white-space: nowrap;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 1rem;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media (orientation: landscape) {
    .push-0\@landscape,
    .push-1\@landscape,
    .push-2\@landscape,
    .push-3\@landscape,
    .push-4\@landscape,
    .push-5\@landscape,
    .push-6\@landscape,
    .push-7\@landscape,
    .push-8\@landscape,
    .push-9\@landscape,
    .push-10\@landscape,
    .push-11\@landscape,
    .push-12\@landscape {
        position: relative;
    }
}

@media (orientation: landscape) {
    .pull-0\@landscape,
    .pull-1\@landscape,
    .pull-2\@landscape,
    .pull-3\@landscape,
    .pull-4\@landscape,
    .pull-5\@landscape,
    .pull-6\@landscape,
    .pull-7\@landscape,
    .pull-8\@landscape,
    .pull-9\@landscape,
    .pull-10\@landscape,
    .pull-11\@landscape,
    .pull-12\@landscape {
        position: relative;
    }
}

@media (orientation: landscape) {
    .nowrap\@landscape {
        white-space: nowrap;
    }

    .nowrap\@landscape > * {
        white-space: normal;
    }
}

@media (orientation: landscape) {
    .wrap\@landscape {
        white-space: normal;
    }
}

@media (orientation: landscape) {
    .gr-centered\@landscape {
        display: block !important;
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        clear: both !important;
    }
}

@media screen and (max-width: 400px) {
    @-ms-viewport {
        width: device-width;
    }
}

#gridle-settings {
    content: '{ "version" : "2.0.46", "states" : { "default":{ "name" : "default", "min-width" : null, "max-width" : null, "query" : null, "classes" : true, "context" : "12", "column-width" : null, "gutter-width" : "30px", "gutter-height" : "0", "gutter-top" : "0", "gutter-right" : "15px", "gutter-bottom" : "0", "gutter-left" : "15px", "direction" : "ltr", "dir-attribute" : false, "name-multiplicator" : "1", "states-classes" : false, "classes-prefix" : null, "_" : true }, "mobile":{ "name" : "mobile", "min-width" : null, "max-width" : "1023px", "query" : "screen and (max-width: 1023px)", "classes" : true, "context" : "12", "column-width" : null, "gutter-width" : "30px", "gutter-height" : "0", "gutter-top" : "0", "gutter-right" : "15px", "gutter-bottom" : "0", "gutter-left" : "15px", "direction" : "ltr", "dir-attribute" : false, "name-multiplicator" : "1", "states-classes" : false, "classes-prefix" : null, "_" : true }, "landscape":{ "name" : "landscape", "min-width" : null, "max-width" : null, "query" : "(orientation : landscape)", "classes" : true, "context" : "12", "column-width" : null, "gutter-width" : "30px", "gutter-height" : "0", "gutter-top" : "0", "gutter-right" : "15px", "gutter-bottom" : "0", "gutter-left" : "15px", "direction" : "ltr", "dir-attribute" : false, "name-multiplicator" : "1", "states-classes" : false, "classes-prefix" : null, "_" : true }} }';
}

.gr-0 {
    width: 0%;
}

.push-0 {
    left: 0%;
    right: auto;
}

.pull-0 {
    right: 0%;
    left: auto;
}

.prefix-0 {
    margin-left: 0%;
}

.suffix-0 {
    margin-right: 0%;
}

.gr-1 {
    width: 8.33333%;
}

.push-1 {
    left: 8.33333%;
    right: auto;
}

.pull-1 {
    right: 8.33333%;
    left: auto;
}

.prefix-1 {
    margin-left: 8.33333%;
}

.suffix-1 {
    margin-right: 8.33333%;
}

.gr-2 {
    width: 16.66667%;
}

.push-2 {
    left: 16.66667%;
    right: auto;
}

.pull-2 {
    right: 16.66667%;
    left: auto;
}

.prefix-2 {
    margin-left: 16.66667%;
}

.suffix-2 {
    margin-right: 16.66667%;
}

.gr-3 {
    width: 25%;
}

.push-3 {
    left: 25%;
    right: auto;
}

.pull-3 {
    right: 25%;
    left: auto;
}

.prefix-3 {
    margin-left: 25%;
}

.suffix-3 {
    margin-right: 25%;
}

.gr-4 {
    width: 33.33333%;
}

.push-4 {
    left: 33.33333%;
    right: auto;
}

.pull-4 {
    right: 33.33333%;
    left: auto;
}

.prefix-4 {
    margin-left: 33.33333%;
}

.suffix-4 {
    margin-right: 33.33333%;
}

.gr-5 {
    width: 41.66667%;
}

.push-5 {
    left: 41.66667%;
    right: auto;
}

.pull-5 {
    right: 41.66667%;
    left: auto;
}

.prefix-5 {
    margin-left: 41.66667%;
}

.suffix-5 {
    margin-right: 41.66667%;
}

.gr-6 {
    width: 50%;
}

.push-6 {
    left: 50%;
    right: auto;
}

.pull-6 {
    right: 50%;
    left: auto;
}

.prefix-6 {
    margin-left: 50%;
}

.suffix-6 {
    margin-right: 50%;
}

.gr-7 {
    width: 58.33333%;
}

.push-7 {
    left: 58.33333%;
    right: auto;
}

.pull-7 {
    right: 58.33333%;
    left: auto;
}

.prefix-7 {
    margin-left: 58.33333%;
}

.suffix-7 {
    margin-right: 58.33333%;
}

.gr-8 {
    width: 66.66667%;
}

.push-8 {
    left: 66.66667%;
    right: auto;
}

.pull-8 {
    right: 66.66667%;
    left: auto;
}

.prefix-8 {
    margin-left: 66.66667%;
}

.suffix-8 {
    margin-right: 66.66667%;
}

.gr-9 {
    width: 75%;
}

.push-9 {
    left: 75%;
    right: auto;
}

.pull-9 {
    right: 75%;
    left: auto;
}

.prefix-9 {
    margin-left: 75%;
}

.suffix-9 {
    margin-right: 75%;
}

.gr-10 {
    width: 83.33333%;
}

.push-10 {
    left: 83.33333%;
    right: auto;
}

.pull-10 {
    right: 83.33333%;
    left: auto;
}

.prefix-10 {
    margin-left: 83.33333%;
}

.suffix-10 {
    margin-right: 83.33333%;
}

.gr-11 {
    width: 91.66667%;
}

.push-11 {
    left: 91.66667%;
    right: auto;
}

.pull-11 {
    right: 91.66667%;
    left: auto;
}

.prefix-11 {
    margin-left: 91.66667%;
}

.suffix-11 {
    margin-right: 91.66667%;
}

.gr-12 {
    width: 100%;
}

.push-12 {
    left: 100%;
    right: auto;
}

.pull-12 {
    right: 100%;
    left: auto;
}

.prefix-12 {
    margin-left: 100%;
}

.suffix-12 {
    margin-right: 100%;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.clear {
    clear: both;
}

.clear-left {
    clear: left;
}

.clear-right {
    clear: right;
}

.no-gutter {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}

.no-gutter-left {
    padding-left: 0;
}

.no-gutter-right {
    padding-right: 0;
}

.no-gutter-top {
    padding-top: 0;
}

.no-gutter-bottom {
    padding-bottom: 0;
}

.gutter {
    padding-right: 15px;
    padding-left: 15px;
}

.gutter-left {
    padding-left: 15px;
}

.gutter-right {
    padding-right: 15px;
}

.auto-height {
    height: inherit;
}

.row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: -15px;
    margin-right: -15px;
}

[class*="no-gutter"] > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.row-full {
    width: 100vw;
    margin-left: 50% !important;
    margin-right: 0 !important;
    -webkit-transform: translateX(-50%);
    -moz-transition: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.col {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: -15px;
    margin-right: -15px;
}

.gr-table {
    display: table-cell;
    float: none;
    vertical-align: top;
}

.row-align-left {
    font-size: 0;
    clear: both;
    text-align: left;
}

.row-align-left > * {
    float: none !important;
    vertical-align: bottom;
    font-size: 1rem;
}

@-moz-document url-prefix()  {
    .row-align-left > * {
        margin-right: -0.5px;
    }
}

.row-align-center {
    font-size: 0;
    clear: both;
    text-align: center;
}

.row-align-center > * {
    float: none !important;
    vertical-align: bottom;
    font-size: 1rem;
}

@-moz-document url-prefix()  {
    .row-align-center > * {
        margin-right: -0.5px;
    }
}

.row-align-center > * {
    text-align: left;
}

.row-align-right {
    font-size: 0;
    clear: both;
    text-align: right;
}

.row-align-right > * {
    float: none !important;
    vertical-align: bottom;
    font-size: 1rem;
}

@-moz-document url-prefix()  {
    .row-align-right > * {
        margin-right: -0.5px;
    }
}

.row-align-right > * {
    text-align: left;
}

.row-align-middle {
    font-size: 0;
    clear: both;
    vertical-align: middle;
}

.row-align-middle > * {
    float: none !important;
    vertical-align: middle;
    font-size: 1rem;
}

@-moz-document url-prefix()  {
    .row-align-middle > * {
        margin-right: -0.5px;
    }
}

.row-align-top {
    font-size: 0;
    clear: both;
    vertical-align: top;
}

.row-align-top > * {
    float: none !important;
    vertical-align: top;
    font-size: 1rem;
}

@-moz-document url-prefix()  {
    .row-align-top > * {
        margin-right: -0.5px;
    }
}

.row-align-bottom {
    font-size: 0;
    clear: both;
    vertical-align: bottom;
}

.row-align-bottom > * {
    float: none !important;
    vertical-align: bottom;
    font-size: 1rem;
}

@-moz-document url-prefix()  {
    .row-align-bottom > * {
        margin-right: -0.5px;
    }
}

.hide {
    display: none;
}

.not-visible {
    visibility: hidden;
}

.show {
    display: block;
}

.show-inline {
    display: inline-block;
}

.visible {
    visibility: visible;
}

.row-debug {
    position: relative;
    z-index: 99999;
    overflow: hidden;
}

.row-debug:before {
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 99999px;
    background: linear-gradient(to right, transparent 50%, rgba(0, 0, 0, 0.02) 50%);
    background-size: 16.66667% 100%;
    z-index: 99999;
}

body {
    direction: ltr;
}

@media screen and (max-width: 1023px) {
    .gr-0\@mobile {
        width: 0%;
    }

    .push-0\@mobile {
        left: 0%;
        right: auto;
    }

    .pull-0\@mobile {
        right: 0%;
        left: auto;
    }

    .prefix-0\@mobile {
        margin-left: 0%;
    }

    .suffix-0\@mobile {
        margin-right: 0%;
    }

    .gr-1\@mobile {
        width: 8.33333%;
    }

    .push-1\@mobile {
        left: 8.33333%;
        right: auto;
    }

    .pull-1\@mobile {
        right: 8.33333%;
        left: auto;
    }

    .prefix-1\@mobile {
        margin-left: 8.33333%;
    }

    .suffix-1\@mobile {
        margin-right: 8.33333%;
    }

    .gr-2\@mobile {
        width: 16.66667%;
    }

    .push-2\@mobile {
        left: 16.66667%;
        right: auto;
    }

    .pull-2\@mobile {
        right: 16.66667%;
        left: auto;
    }

    .prefix-2\@mobile {
        margin-left: 16.66667%;
    }

    .suffix-2\@mobile {
        margin-right: 16.66667%;
    }

    .gr-3\@mobile {
        width: 25%;
    }

    .push-3\@mobile {
        left: 25%;
        right: auto;
    }

    .pull-3\@mobile {
        right: 25%;
        left: auto;
    }

    .prefix-3\@mobile {
        margin-left: 25%;
    }

    .suffix-3\@mobile {
        margin-right: 25%;
    }

    .gr-4\@mobile {
        width: 33.33333%;
    }

    .push-4\@mobile {
        left: 33.33333%;
        right: auto;
    }

    .pull-4\@mobile {
        right: 33.33333%;
        left: auto;
    }

    .prefix-4\@mobile {
        margin-left: 33.33333%;
    }

    .suffix-4\@mobile {
        margin-right: 33.33333%;
    }

    .gr-5\@mobile {
        width: 41.66667%;
    }

    .push-5\@mobile {
        left: 41.66667%;
        right: auto;
    }

    .pull-5\@mobile {
        right: 41.66667%;
        left: auto;
    }

    .prefix-5\@mobile {
        margin-left: 41.66667%;
    }

    .suffix-5\@mobile {
        margin-right: 41.66667%;
    }

    .gr-6\@mobile {
        width: 50%;
    }

    .push-6\@mobile {
        left: 50%;
        right: auto;
    }

    .pull-6\@mobile {
        right: 50%;
        left: auto;
    }

    .prefix-6\@mobile {
        margin-left: 50%;
    }

    .suffix-6\@mobile {
        margin-right: 50%;
    }

    .gr-7\@mobile {
        width: 58.33333%;
    }

    .push-7\@mobile {
        left: 58.33333%;
        right: auto;
    }

    .pull-7\@mobile {
        right: 58.33333%;
        left: auto;
    }

    .prefix-7\@mobile {
        margin-left: 58.33333%;
    }

    .suffix-7\@mobile {
        margin-right: 58.33333%;
    }

    .gr-8\@mobile {
        width: 66.66667%;
    }

    .push-8\@mobile {
        left: 66.66667%;
        right: auto;
    }

    .pull-8\@mobile {
        right: 66.66667%;
        left: auto;
    }

    .prefix-8\@mobile {
        margin-left: 66.66667%;
    }

    .suffix-8\@mobile {
        margin-right: 66.66667%;
    }

    .gr-9\@mobile {
        width: 75%;
    }

    .push-9\@mobile {
        left: 75%;
        right: auto;
    }

    .pull-9\@mobile {
        right: 75%;
        left: auto;
    }

    .prefix-9\@mobile {
        margin-left: 75%;
    }

    .suffix-9\@mobile {
        margin-right: 75%;
    }

    .gr-10\@mobile {
        width: 83.33333%;
    }

    .push-10\@mobile {
        left: 83.33333%;
        right: auto;
    }

    .pull-10\@mobile {
        right: 83.33333%;
        left: auto;
    }

    .prefix-10\@mobile {
        margin-left: 83.33333%;
    }

    .suffix-10\@mobile {
        margin-right: 83.33333%;
    }

    .gr-11\@mobile {
        width: 91.66667%;
    }

    .push-11\@mobile {
        left: 91.66667%;
        right: auto;
    }

    .pull-11\@mobile {
        right: 91.66667%;
        left: auto;
    }

    .prefix-11\@mobile {
        margin-left: 91.66667%;
    }

    .suffix-11\@mobile {
        margin-right: 91.66667%;
    }

    .gr-12\@mobile {
        width: 100%;
    }

    .push-12\@mobile {
        left: 100%;
        right: auto;
    }

    .pull-12\@mobile {
        right: 100%;
        left: auto;
    }

    .prefix-12\@mobile {
        margin-left: 100%;
    }

    .suffix-12\@mobile {
        margin-right: 100%;
    }

    .float-left\@mobile {
        float: left;
    }

    .float-right\@mobile {
        float: right;
    }

    .clear\@mobile {
        clear: both;
    }

    .clear-left\@mobile {
        clear: left;
    }

    .clear-right\@mobile {
        clear: right;
    }

    .no-gutter\@mobile {
        padding-top: 0;
        padding-right: 0;
        padding-bottom: 0;
        padding-left: 0;
    }

    .no-gutter-left\@mobile {
        padding-left: 0;
    }

    .no-gutter-right\@mobile {
        padding-right: 0;
    }

    .no-gutter-top\@mobile {
        padding-top: 0;
    }

    .no-gutter-bottom\@mobile {
        padding-bottom: 0;
    }

    .gutter\@mobile {
        padding-right: 15px;
        padding-left: 15px;
    }

    .gutter-left\@mobile {
        padding-left: 15px;
    }

    .gutter-right\@mobile {
        padding-right: 15px;
    }

    .auto-height\@mobile {
        height: inherit;
    }

    .row\@mobile {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: -15px;
        margin-right: -15px;
    }

    [class*="no-gutter"] > .row\@mobile {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .row-full\@mobile {
        width: 100vw;
        margin-left: 50% !important;
        margin-right: 0 !important;
        -webkit-transform: translateX(-50%);
        -moz-transition: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .col\@mobile {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: -15px;
        margin-right: -15px;
    }

    .gr-table\@mobile {
        display: table-cell;
        float: none;
        vertical-align: top;
    }

    .row-align-left\@mobile {
        font-size: 0;
        clear: both;
        text-align: left;
    }

    .row-align-left\@mobile > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-left\@mobile > * {
            margin-right: -0.5px;
        }
    }

    .row-align-center\@mobile {
        font-size: 0;
        clear: both;
        text-align: center;
    }

    .row-align-center\@mobile > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-center\@mobile > * {
            margin-right: -0.5px;
        }
    }

    .row-align-center\@mobile > * {
        text-align: left;
    }

    .row-align-right\@mobile {
        font-size: 0;
        clear: both;
        text-align: right;
    }

    .row-align-right\@mobile > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-right\@mobile > * {
            margin-right: -0.5px;
        }
    }

    .row-align-right\@mobile > * {
        text-align: left;
    }

    .row-align-middle\@mobile {
        font-size: 0;
        clear: both;
        vertical-align: middle;
    }

    .row-align-middle\@mobile > * {
        float: none !important;
        vertical-align: middle;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-middle\@mobile > * {
            margin-right: -0.5px;
        }
    }

    .row-align-top\@mobile {
        font-size: 0;
        clear: both;
        vertical-align: top;
    }

    .row-align-top\@mobile > * {
        float: none !important;
        vertical-align: top;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-top\@mobile > * {
            margin-right: -0.5px;
        }
    }

    .row-align-bottom\@mobile {
        font-size: 0;
        clear: both;
        vertical-align: bottom;
    }

    .row-align-bottom\@mobile > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-bottom\@mobile > * {
            margin-right: -0.5px;
        }
    }

    .hide\@mobile {
        display: none;
    }

    .not-visible\@mobile {
        visibility: hidden;
    }

    .show\@mobile {
        display: block;
    }

    .show-inline\@mobile {
        display: inline-block;
    }

    .visible\@mobile {
        visibility: visible;
    }

    .row-debug\@mobile {
        position: relative;
        z-index: 99999;
        overflow: hidden;
    }

    .row-debug\@mobile:before {
        pointer-events: none;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 99999px;
        background: linear-gradient(to right, transparent 50%, rgba(0, 0, 0, 0.02) 50%);
        background-size: 16.66667% 100%;
        z-index: 99999;
    }

    body {
        direction: ltr;
    }
}

@media (orientation: landscape) {
    .gr-0\@landscape {
        width: 0%;
    }

    .push-0\@landscape {
        left: 0%;
        right: auto;
    }

    .pull-0\@landscape {
        right: 0%;
        left: auto;
    }

    .prefix-0\@landscape {
        margin-left: 0%;
    }

    .suffix-0\@landscape {
        margin-right: 0%;
    }

    .gr-1\@landscape {
        width: 8.33333%;
    }

    .push-1\@landscape {
        left: 8.33333%;
        right: auto;
    }

    .pull-1\@landscape {
        right: 8.33333%;
        left: auto;
    }

    .prefix-1\@landscape {
        margin-left: 8.33333%;
    }

    .suffix-1\@landscape {
        margin-right: 8.33333%;
    }

    .gr-2\@landscape {
        width: 16.66667%;
    }

    .push-2\@landscape {
        left: 16.66667%;
        right: auto;
    }

    .pull-2\@landscape {
        right: 16.66667%;
        left: auto;
    }

    .prefix-2\@landscape {
        margin-left: 16.66667%;
    }

    .suffix-2\@landscape {
        margin-right: 16.66667%;
    }

    .gr-3\@landscape {
        width: 25%;
    }

    .push-3\@landscape {
        left: 25%;
        right: auto;
    }

    .pull-3\@landscape {
        right: 25%;
        left: auto;
    }

    .prefix-3\@landscape {
        margin-left: 25%;
    }

    .suffix-3\@landscape {
        margin-right: 25%;
    }

    .gr-4\@landscape {
        width: 33.33333%;
    }

    .push-4\@landscape {
        left: 33.33333%;
        right: auto;
    }

    .pull-4\@landscape {
        right: 33.33333%;
        left: auto;
    }

    .prefix-4\@landscape {
        margin-left: 33.33333%;
    }

    .suffix-4\@landscape {
        margin-right: 33.33333%;
    }

    .gr-5\@landscape {
        width: 41.66667%;
    }

    .push-5\@landscape {
        left: 41.66667%;
        right: auto;
    }

    .pull-5\@landscape {
        right: 41.66667%;
        left: auto;
    }

    .prefix-5\@landscape {
        margin-left: 41.66667%;
    }

    .suffix-5\@landscape {
        margin-right: 41.66667%;
    }

    .gr-6\@landscape {
        width: 50%;
    }

    .push-6\@landscape {
        left: 50%;
        right: auto;
    }

    .pull-6\@landscape {
        right: 50%;
        left: auto;
    }

    .prefix-6\@landscape {
        margin-left: 50%;
    }

    .suffix-6\@landscape {
        margin-right: 50%;
    }

    .gr-7\@landscape {
        width: 58.33333%;
    }

    .push-7\@landscape {
        left: 58.33333%;
        right: auto;
    }

    .pull-7\@landscape {
        right: 58.33333%;
        left: auto;
    }

    .prefix-7\@landscape {
        margin-left: 58.33333%;
    }

    .suffix-7\@landscape {
        margin-right: 58.33333%;
    }

    .gr-8\@landscape {
        width: 66.66667%;
    }

    .push-8\@landscape {
        left: 66.66667%;
        right: auto;
    }

    .pull-8\@landscape {
        right: 66.66667%;
        left: auto;
    }

    .prefix-8\@landscape {
        margin-left: 66.66667%;
    }

    .suffix-8\@landscape {
        margin-right: 66.66667%;
    }

    .gr-9\@landscape {
        width: 75%;
    }

    .push-9\@landscape {
        left: 75%;
        right: auto;
    }

    .pull-9\@landscape {
        right: 75%;
        left: auto;
    }

    .prefix-9\@landscape {
        margin-left: 75%;
    }

    .suffix-9\@landscape {
        margin-right: 75%;
    }

    .gr-10\@landscape {
        width: 83.33333%;
    }

    .push-10\@landscape {
        left: 83.33333%;
        right: auto;
    }

    .pull-10\@landscape {
        right: 83.33333%;
        left: auto;
    }

    .prefix-10\@landscape {
        margin-left: 83.33333%;
    }

    .suffix-10\@landscape {
        margin-right: 83.33333%;
    }

    .gr-11\@landscape {
        width: 91.66667%;
    }

    .push-11\@landscape {
        left: 91.66667%;
        right: auto;
    }

    .pull-11\@landscape {
        right: 91.66667%;
        left: auto;
    }

    .prefix-11\@landscape {
        margin-left: 91.66667%;
    }

    .suffix-11\@landscape {
        margin-right: 91.66667%;
    }

    .gr-12\@landscape {
        width: 100%;
    }

    .push-12\@landscape {
        left: 100%;
        right: auto;
    }

    .pull-12\@landscape {
        right: 100%;
        left: auto;
    }

    .prefix-12\@landscape {
        margin-left: 100%;
    }

    .suffix-12\@landscape {
        margin-right: 100%;
    }

    .float-left\@landscape {
        float: left;
    }

    .float-right\@landscape {
        float: right;
    }

    .clear\@landscape {
        clear: both;
    }

    .clear-left\@landscape {
        clear: left;
    }

    .clear-right\@landscape {
        clear: right;
    }

    .no-gutter\@landscape {
        padding-top: 0;
        padding-right: 0;
        padding-bottom: 0;
        padding-left: 0;
    }

    .no-gutter-left\@landscape {
        padding-left: 0;
    }

    .no-gutter-right\@landscape {
        padding-right: 0;
    }

    .no-gutter-top\@landscape {
        padding-top: 0;
    }

    .no-gutter-bottom\@landscape {
        padding-bottom: 0;
    }

    .gutter\@landscape {
        padding-right: 15px;
        padding-left: 15px;
    }

    .gutter-left\@landscape {
        padding-left: 15px;
    }

    .gutter-right\@landscape {
        padding-right: 15px;
    }

    .auto-height\@landscape {
        height: inherit;
    }

    .row\@landscape {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: -15px;
        margin-right: -15px;
    }

    [class*="no-gutter"] > .row\@landscape {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .row-full\@landscape {
        width: 100vw;
        margin-left: 50% !important;
        margin-right: 0 !important;
        -webkit-transform: translateX(-50%);
        -moz-transition: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .col\@landscape {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: -15px;
        margin-right: -15px;
    }

    .gr-table\@landscape {
        display: table-cell;
        float: none;
        vertical-align: top;
    }

    .row-align-left\@landscape {
        font-size: 0;
        clear: both;
        text-align: left;
    }

    .row-align-left\@landscape > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-left\@landscape > * {
            margin-right: -0.5px;
        }
    }

    .row-align-center\@landscape {
        font-size: 0;
        clear: both;
        text-align: center;
    }

    .row-align-center\@landscape > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-center\@landscape > * {
            margin-right: -0.5px;
        }
    }

    .row-align-center\@landscape > * {
        text-align: left;
    }

    .row-align-right\@landscape {
        font-size: 0;
        clear: both;
        text-align: right;
    }

    .row-align-right\@landscape > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-right\@landscape > * {
            margin-right: -0.5px;
        }
    }

    .row-align-right\@landscape > * {
        text-align: left;
    }

    .row-align-middle\@landscape {
        font-size: 0;
        clear: both;
        vertical-align: middle;
    }

    .row-align-middle\@landscape > * {
        float: none !important;
        vertical-align: middle;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-middle\@landscape > * {
            margin-right: -0.5px;
        }
    }

    .row-align-top\@landscape {
        font-size: 0;
        clear: both;
        vertical-align: top;
    }

    .row-align-top\@landscape > * {
        float: none !important;
        vertical-align: top;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-top\@landscape > * {
            margin-right: -0.5px;
        }
    }

    .row-align-bottom\@landscape {
        font-size: 0;
        clear: both;
        vertical-align: bottom;
    }

    .row-align-bottom\@landscape > * {
        float: none !important;
        vertical-align: bottom;
        font-size: 1rem;
    }

    @-moz-document url-prefix()  {
        .row-align-bottom\@landscape > * {
            margin-right: -0.5px;
        }
    }

    .hide\@landscape {
        display: none;
    }

    .not-visible\@landscape {
        visibility: hidden;
    }

    .show\@landscape {
        display: block;
    }

    .show-inline\@landscape {
        display: inline-block;
    }

    .visible\@landscape {
        visibility: visible;
    }

    .row-debug\@landscape {
        position: relative;
        z-index: 99999;
        overflow: hidden;
    }

    .row-debug\@landscape:before {
        pointer-events: none;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 99999px;
        background: linear-gradient(to right, transparent 50%, rgba(0, 0, 0, 0.02) 50%);
        background-size: 16.66667% 100%;
        z-index: 99999;
    }

    body {
        direction: ltr;
    }
}

[class*="gr"] > [class^="row"],
[class*="gr"] > [class^="col"] {
    margin-left: -15px;
    margin-right: -15px;
}

@media screen and (max-width: 1023px) {
    [class*="gr"] > [class^="row"],
    [class*="gr"] > [class^="col"] {
        margin-left: -15px;
        margin-right: -15px;
    }
}

@media (orientation: landscape) {
    [class*="gr"] > [class^="row"],
    [class*="gr"] > [class^="col"] {
        margin-left: -15px;
        margin-right: -15px;
    }
}

@font-face {
    font-family: 'DINPro';
    src: url('/public/fonts/din/DINPro-Regular.eot'); /* IE9 Compat Modes */
    src: url('/public/fonts/din/DINPro-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/public/fonts/din/DINPro-Regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('/public/fonts/din/DINPro-Regular.woff') format('woff'), /* Pretty Modern Browsers */
    url('/public/fonts/din/DINPro-Regular.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('/public/fonts/din/DINPro-Regular.svg#svgFontName') format('svg'); /* Legacy iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'DINPro';
    src: url('/public/fonts/din/DINPro-Bold.eot'); /* IE9 Compat Modes */
    src: url('/public/fonts/din/DINPro-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/public/fonts/din/DINPro-Bold.woff2') format('woff2'), /* Super Modern Browsers */
    url('/public/fonts/din/DINPro-Bold.woff') format('woff'), /* Pretty Modern Browsers */
    url('/public/fonts/din/DINPro-Bold.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('/public/fonts/din/DINPro-Bold.svg#svgFontName') format('svg'); /* Legacy iOS */
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: "icons";
    font-weight: normal;
    font-style: normal;
    src: url("/public/fonts/icons.eot");
    src: url("/public/fonts/icons.eot?#iefix") format("embedded-opentype"), url("/public/fonts/icons.woff") format("woff"), url("/public/fonts/icons.ttf") format("truetype"), url("/public/fonts/icons.svg#icons") format("svg");
}

[class^="icon-"],
[class*=" icon-"],
.icon:before,
.attachments .container a .download:after,
.breadcrumb li:not(:last-child) a:after,
.block-separator:after,
.preload:before {
    display: inline-block;
    font-family: "icons";
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-lg {
    font-size: 1.3333333333333333em;
    line-height: 0.75em;
    vertical-align: -15%;
}

.icon-2x {
    font-size: 2em;
}

.icon-3x {
    font-size: 3em;
}

.icon-4x {
    font-size: 4em;
}

.icon-5x {
    font-size: 5em;
}

.icon-fw {
    width: 1.2857142857142858em;
    text-align: center;
}

.icon-angle-down:before,
.breadcrumb li:not(:last-child) a:after,
.block-separator:after {
    content: "\E001";
}

.icon-search:before {
    content: "\E002";
}

.icon-hamburger:before {
    content: "\E003";
}

.icon-circle-o-up:before,
.attachments .container a .download:after {
    content: "\E004";
}

.icon-weather-cloudy:before {
    content: "\E005";
}

.icon-weather-rainy:before {
    content: "\E006";
}

.icon-weather-sunny:before {
    content: "\E007";
}

.icon-info:before {
    content: "\E008";
}

.icon-mail:before {
    content: "\E009";
}

.icon-phone:before {
    content: "\E00A";
}

.icon-marker:before {
    content: "\E00B";
}

.icon-service_1:before {
    content: "\E00C";
}

.icon-service_10:before {
    content: "\E00D";
}

.icon-service_2:before {
    content: "\E00E";
}

.icon-service_3:before {
    content: "\E00F";
}

.icon-service_4:before {
    content: "\E010";
}

.icon-service_5:before {
    content: "\E011";
}

.icon-service_6:before {
    content: "\E012";
}

.icon-service_7:before {
    content: "\E013";
}

.icon-service_8:before {
    content: "\E014";
}

.icon-service_9:before {
    content: "\E015";
}

.icon-service_11:before {
    content: "\E016";
}

.icon-service_12:before {
    content: "\E017";
}

.icon-service_13:before {
    content: "\E018";
}

.icon-service_14:before {
    content: "\E019";
}

.icon-service_15:before {
    content: "\E01A";
}

.icon-service_16:before {
    content: "\E01B";
}

.icon-service_17:before {
    content: "\E01C";
}

.icon-type_1:before {
    content: "\E01D";
}

.icon-type_2:before {
    content: "\E01E";
}

.icon-type_3:before {
    content: "\E01F";
}

.icon-type_5:before {
    content: "\E020";
}

.icon-type_7:before {
    content: "\E021";
}

.icon-type_9:before {
    content: "\E022";
}

.icon-type_10:before {
    content: "\E022";
}

.icon-circle:before {
    content: "\E023";
}

.icon-inverse:before {
    content: "\E024";
}

.icon-add:before {
    content: "\E025";
}

.icon-time:before {
    content: "\E026";
}

.icon-adult:before {
    content: "\E027";
}

.icon-bicycle:before {
    content: "\E028";
}

.icon-children:before {
    content: "\E029";
}

.icon-ticket:before {
    content: "\E02A";
}

.icon-calendar:before {
    content: "\E02B";
}

.icon-boat_space1:before {
    content: "\E02C";
}

.icon-boat_space2:before {
    content: "\E02D";
}

.icon-boat_space3:before {
    content: "\E02E";
}

.icon-car:before {
    content: "\E02F";
}

.icon-mark:before {
    content: "\EA01";
}

.icon-type_4:before {
    content: "\EA02";
}

.icon-type_8:before {
    content: "\EA03";
}

.icon-fares:before {
    content: "\EA04";
}

.icon-vFlip:before {
    -webkit-transform: scale(-1, 1);
    -moz-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    transform: scale(-1, 1);
    display: inline-block;
}

.backround-embed {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

ul.share {
    width: 100%;
    display: block;
    float: left !important;
    list-style-type: none;
    padding: 15px 0 0 0 !important;
    margin: 15px 0 30px 0 !important;
    border-top: 1px solid #00a6da;
    text-align: left !important;
    text-align: center;
}

ul.share li {
    width: 34px;
    height: 34px;
    margin: 0 4px 0 4px;
    text-align: center;
    line-height: 35px;
    float: left;
    font-size: 18px;
    padding: 0 !important;
    display: inline-block;
}

ul.share li a {
    width: 34px;
    height: 34px;
    display: block;
    color: #ffffff;
    font-size: 18px;
    line-height: 35px !important;
}

ul.share li a {
    width: 34px;
    height: 34px;
    display: block;
    font-size: 18px;
    line-height: 35px !important;
}

ul.share li a.facebook {
    background-color: #4467b1;
    border: 1px solid #4467b1;
}

ul.share li a.twitter {
    background-color: #6cc2ee;
    border: 1px solid #6cc2ee;

}

ul.share li a.google {
    background-color: #d34836;
    border: 1px solid #d34836;

}



.bahartLogo {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI5NC4wMTJweCIgaGVpZ2h0PSIzNS4zMDdweCIgdmlld0JveD0iMCAwIDk0LjAxMiAzNS4zMDciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDk0LjAxMiAzNS4zMDciIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF8xXyIgZD0iTTAuNzI0LDE3LjY0NGMwLDkuMzY0LDIwLjc0NSwxNi45MzgsNDYuMzU1LDE2LjkzOGMyNS42MTQsMCw0Ni4zNTYtNy41NzMsNDYuMzU2LTE2LjkzOGMwLTkuMzY4LTIwLjc0Mi0xNi45MzgtNDYuMzU2LTE2LjkzOEMyMS40NjksMC43MDYsMC43MjQsOC4yNzYsMC43MjQsMTcuNjQ0Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMl8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzFfIiAgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxyYWRpYWxHcmFkaWVudCBpZD0iU1ZHSURfM18iIGN4PSIwIiBjeT0iMzUuMzA2NiIgcj0iMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgyMDMuMjcyIDAgMCAtMTk4LjIxMTEgNDYuNzUgNzE5Mi44NDk2KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDAiLz48c3RvcCAgb2Zmc2V0PSIwLjIxNjQiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMEIiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NiIgc3R5bGU9InN0b3AtY29sb3I6IzAwMDMyMSIvPjxzdG9wICBvZmZzZXQ9IjAuNyIgc3R5bGU9InN0b3AtY29sb3I6IzAwMEYyRiIvPjxzdG9wICBvZmZzZXQ9IjAuOTA0NSIgc3R5bGU9InN0b3AtY29sb3I6IzAwM0Q3QyIvPjxzdG9wICBvZmZzZXQ9IjAuOTIwNCIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjE5RiIvPjxzdG9wICBvZmZzZXQ9IjAuOTM2IiBzdHlsZT0ic3RvcC1jb2xvcjojMDk4NEMxIi8+PHN0b3AgIG9mZnNldD0iMC45NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMyMzlDRDYiLz48c3RvcCAgb2Zmc2V0PSIwLjk1NSIgc3R5bGU9InN0b3AtY29sb3I6IzJDQTVERSIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiMyQ0E1REUiLz48L3JhZGlhbEdyYWRpZW50PjxyZWN0IHg9IjAuNzI0IiB5PSIwLjcwNiIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzJfKSIgZmlsbD0idXJsKCNTVkdJRF8zXykiIHdpZHRoPSI5Mi43MTEiIGhlaWdodD0iMzMuODc1Ii8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF80XyIgZD0iTTQuMjEzLDE3LjY0OGMwLDAuNjM1LDAuMTI5LDEuMjYsMC4zNzQsMS44NzRjLTAuMTA2LTAuNDA0LTAuMTYxLTAuODEyLTAuMTYxLTEuMjI2YzAtNy43NTQsMTkuMTkxLTE0LjAzOCw0Mi44NjQtMTQuMDM4YzIxLjc3NywwLDM5Ljc1Niw1LjMxOCw0Mi40OTksMTIuMjA1Qzg3Ljk2Miw5LjIxOSw2OS41MzgsMy41MjcsNDcuMDc1LDMuNTI3QzIzLjQwMywzLjUyNyw0LjIxMyw5Ljg0OCw0LjIxMywxNy42NDgiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF81XyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfNF8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA1NyIgeDI9IjEiIHkyPSIzNS4zMDU3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTM1Ljg3OTggLTM1Ljg3OTggMCAxMzEzLjc5NTkgMzUuNjgxNikiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNC4yMTMiIHk9IjMuNTI3IiBjbGlwLXBhdGg9InVybCgjU1ZHSURfNV8pIiBmaWxsPSJ1cmwoI1NWR0lEXzZfKSIgd2lkdGg9Ijg1LjU3NiIgaGVpZ2h0PSIxNS45OTYiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzdfIiBkPSJNOTEuNDk5LDE3LjY0OGMwLDguNTM5LTE5Ljg5LDE1LjQ2Mi00NC40MjQsMTUuNDYyYy0yMS44MzQsMC0zOS45ODYtNS40ODItNDMuNzItMTIuNzA1YzIuODQxLDcuNTIzLDIxLjQ3NCwxMy4zMjksNDQuMDQsMTMuMzI5YzI0LjUzLDAsNDQuNDE2LTYuODYxLDQ0LjQxNi0xNS4zMzFjMC0wLjg1OS0wLjIwNS0xLjcwMy0wLjYtMi41MjNDOTEuNDAxLDE2LjQ2MSw5MS40OTksMTcuMDUxLDkxLjQ5OSwxNy42NDgiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF84XyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfN18iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF85XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA3NiIgeDI9IjEiIHkyPSIzNS4zMDc2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTM1Ljg4MjcgLTM1Ljg4MjcgMCAxMzE0LjQ5MDcgMzUuNjgxNikiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMy4zNTUiIHk9IjE1Ljg4MSIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzhfKSIgZmlsbD0idXJsKCNTVkdJRF85XykiIHdpZHRoPSI4OC40NTYiIGhlaWdodD0iMTcuODU0Ii8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF8xMF8iIGQ9Ik01NS4zNTMsMTkuMTQ1Yy0wLjk5NywxLjAzNy0xLjA2OSwyLjM3Ny0wLjQxOCwyLjk4MWMwLjIzMywwLjIxNiwwLjUwMSwwLjMxNCwwLjc4NywwLjMzMmMtMC40MjYtMC41MzktMC42MjUtMS41OTUtMC4wOTgtMi40MzFjLTAuMDk4LTAuMjQ3LTAuMTE3LTAuNTI1LTAuMDYtMC44MDRjMC4wMTQtMC4wNjYtMC4wNC0wLjEyOS0wLjEwOC0wLjEyOUM1NS40MjMsMTkuMDk1LDU1LjM4NywxOS4xMSw1NS4zNTMsMTkuMTQ1Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMTFfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8xMF8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMxMDUiIHgyPSIxIiB5Mj0iMzUuMzEwNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNC44NTkyIC0yNC44NTkyIDAgOTMyLjgwNTcgMjkuNTI1NCkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNTQuMjg0IiB5PSIxOS4wOTUiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF8xMV8pIiBmaWxsPSJ1cmwoI1NWR0lEXzEyXykiIHdpZHRoPSIxLjQzOCIgaGVpZ2h0PSIzLjM2MyIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfMTNfIiBkPSJNNjUuNjEzLDIxLjM1NWMwLjAxNSwwLjE1NywwLjA1NiwwLjQ1MSwwLjA4OSwwLjY3MmMwLjA1Mi0wLjA5OSwwLjEwMy0wLjIwNSwwLjE1OC0wLjMxNWMwLjA0LTAuMDgzLDAuMDE5LTAuMTEtMC4wMTYtMC4xMjNjLTAuMTAzLTAuMDM3LTAuMjA3LTAuMTE1LTAuMjIxLTAuMTk1Yy0wLjAwNy0wLjAxNS0wLjAxLTAuMDMtMC4wMS0wLjA0NlYyMS4zNTV6Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMTRfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8xM18iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xNV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNjYiIHgyPSIxIiB5Mj0iMzUuMzA2NiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNS4xOTQ0IC0yNS4xOTQ0IDAgOTU1LjI3ODkgMjkuNjM0OCkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNjUuNjEzIiB5PSIyMS4zNDgiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF8xNF8pIiBmaWxsPSJ1cmwoI1NWR0lEXzE1XykiIHdpZHRoPSIwLjI4NyIgaGVpZ2h0PSIwLjY4Ii8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF8xNl8iIGQ9Ik02Ny40MDYsMTkuMDIxYzAuMDE1LDAuMTY4LDAuMTQxLDAuMTg5LDAuMjQ1LDAuMDQxYzAuMDI3LTAuMDQxLDAuMDYtMC4wOSwwLjA5Ni0wLjE0N2MtMC4wMjktMC4wMzktMC4wNTktMC4wNzgtMC4wOS0wLjExOGMtMC4xNDYtMC4xNzEtMC40OTEtMC41NDItMC44MjYtMC44MzRDNjcuMTYzLDE4LjI4MSw2Ny4zNjcsMTguNjY3LDY3LjQwNiwxOS4wMjEiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF8xN18iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzE2XyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzE4XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA2NiIgeDI9IjEiIHkyPSIzNS4zMDY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTIzLjA3OTMgLTIzLjA3OTMgMCA4ODIuMTUxMSAyOC42NTA0KSI+PHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTIzOCIvPjxzdG9wICBvZmZzZXQ9IjAuMTc0OCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTMzQSIvPjxzdG9wICBvZmZzZXQ9IjAuMzI5NyIgc3R5bGU9InN0b3AtY29sb3I6IzA4MTc0MCIvPjxzdG9wICBvZmZzZXQ9IjAuNDc3MSIgc3R5bGU9InN0b3AtY29sb3I6IzBBMUU0QiIvPjxzdG9wICBvZmZzZXQ9IjAuNjE5OCIgc3R5bGU9InN0b3AtY29sb3I6IzBCMjU1OCIvPjxzdG9wICBvZmZzZXQ9IjAuNzU4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMyRTY4Ii8+PHN0b3AgIG9mZnNldD0iMC44MDkiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzMxNkYiLz48c3RvcCAgb2Zmc2V0PSIwLjkyMjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDUzOTAiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA2OEE3Ii8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSI2Ni44MzEiIHk9IjE3Ljk2NCIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzE3XykiIGZpbGw9InVybCgjU1ZHSURfMThfKSIgd2lkdGg9IjAuOTE2IiBoZWlnaHQ9IjEuMjQ3Ii8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF8xOV8iIGQ9Ik01My40MjQsMTguODYxYy0wLjAwMywwLjE3NCwwLjEyMiwwLjE2MSwwLjIwNSwwLjA0NGMwLjA0NS0wLjA2NCwwLjA4OS0wLjEyNSwwLjEzMi0wLjE4M2MtMC4xOTUtMC42LTAuNDk1LTEuMTg4LTAuNzA5LTEuNDFDNTMuMzE4LDE3LjY3NCw1My40NDQsMTguMTk1LDUzLjQyNCwxOC44NjEiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF8yMF8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzE5XyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzIxXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA2NiIgeDI9IjEiIHkyPSIzNS4zMDY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTIzLjg1MTMgLTIzLjg1MTMgMCA4OTUuNTE1OSAyOC45Nzg1KSI+PHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTIzOCIvPjxzdG9wICBvZmZzZXQ9IjAuMTc0OCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTMzQSIvPjxzdG9wICBvZmZzZXQ9IjAuMzI5NyIgc3R5bGU9InN0b3AtY29sb3I6IzA4MTc0MCIvPjxzdG9wICBvZmZzZXQ9IjAuNDc3MSIgc3R5bGU9InN0b3AtY29sb3I6IzBBMUU0QiIvPjxzdG9wICBvZmZzZXQ9IjAuNjE5OCIgc3R5bGU9InN0b3AtY29sb3I6IzBCMjU1OCIvPjxzdG9wICBvZmZzZXQ9IjAuNzU4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMyRTY4Ii8+PHN0b3AgIG9mZnNldD0iMC44MDkiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzMxNkYiLz48c3RvcCAgb2Zmc2V0PSIwLjkyMjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDUzOTAiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA2OEE3Ii8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSI1My4wNTIiIHk9IjE3LjMxMiIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzIwXykiIGZpbGw9InVybCgjU1ZHSURfMjFfKSIgd2lkdGg9IjAuNzA5IiBoZWlnaHQ9IjEuNzIzIi8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF8yMl8iIGQ9Ik03NC43NTYsMTIuNDl2LTAuMDAzVjEyLjQ5eiIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzIzXyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfMjJfIiAgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMjRfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ijc0Ljc1NTkiIHkxPSIxMi40ODgzIiB4Mj0iNzQuNzU1OSIgeTI9IjEyLjQ4ODMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAtMC4wMDM0IC0wLjAwMzQgMCA3NC44NzQ4IDEyLjQ5MDIpIj48c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMjM4Ii8+PHN0b3AgIG9mZnNldD0iMC4xNzQ4IiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMzNBIi8+PHN0b3AgIG9mZnNldD0iMC4zMjk3IiBzdHlsZT0ic3RvcC1jb2xvcjojMDgxNzQwIi8+PHN0b3AgIG9mZnNldD0iMC40NzcxIiBzdHlsZT0ic3RvcC1jb2xvcjojMEExRTRCIi8+PHN0b3AgIG9mZnNldD0iMC42MTk4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEIyNTU4Ii8+PHN0b3AgIG9mZnNldD0iMC43NTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzJFNjgiLz48c3RvcCAgb2Zmc2V0PSIwLjgwOSIgc3R5bGU9InN0b3AtY29sb3I6IzBDMzE2RiIvPjxzdG9wICBvZmZzZXQ9IjAuOTIyNSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNTM5MCIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDY4QTciLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGNsaXAtcGF0aD0idXJsKCNTVkdJRF8yM18pIiBmaWxsPSJ1cmwoI1NWR0lEXzI0XykiIGQ9Ik03NC43NTYsMTIuNDl2LTAuMDAzVjEyLjQ5eiIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfMjVfIiBkPSJNNjIuMjM3LDIwLjc5NGMtMC45MjksMS4xNDEtMS40MjksMi4zLTEuNDQ4LDMuNDNjLTAuMDA4LDAuNDAyLDAuMTQ1LDAuODk4LDAuNTAxLDEuMDgyYzAuMTE1LDAuMDYyLDAuMjMyLDAuMTAyLDAuMzU1LDAuMTIzYy0wLjA0My0wLjE2Mi0wLjA2Mi0wLjMxOS0wLjA2My0wLjQ1NGMtMC4wMTMtMS4xNjUsMC4zNDktMi4zMzMsMS4yNzgtMy40NzJjMS4xMjQtMS4zODgsMi4zMDYtMi4wNzcsMy4xMjktMS42OTdjLTAuMDQyLTAuMzA0LTAuMi0wLjU2OS0wLjU1LTAuNzMyYy0wLjE1LTAuMDczLTAuMzE1LTAuMTA4LTAuNDkxLTAuMTA4QzY0LjE2NCwxOC45NjYsNjMuMTYxLDE5LjY1Niw2Mi4yMzcsMjAuNzk0Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMjZfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8yNV8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8yN18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNjYiIHgyPSIxIiB5Mj0iMzUuMzA2NiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNS4xNTEzIC0yNS4xNTEzIDAgOTUxLjM5OTIgMjkuNjE5MSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNjAuNzgxIiB5PSIxOC45NjYiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF8yNl8pIiBmaWxsPSJ1cmwoI1NWR0lEXzI3XykiIHdpZHRoPSI1LjIwOCIgaGVpZ2h0PSI2LjQ2MyIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfMjhfIiBkPSJNNDMuNiwxOC4zNzVjLTEuMjYsMC40NzktMi41MjMsMS4yMjEtMy4zOTcsMi4zOTFjLTAuOTg5LDEuMzI4LTEuMjU3LDIuOTI3LTAuNTkzLDMuODQ3YzAuMTU2LDAuMjE3LDAuMzQ0LDAuMzc1LDAuNTUzLDAuNDhjLTAuMzU4LTEuMTAxLTAuMDk4LTIuNTc1LDAuNzQyLTMuNzExYzAuODY2LTEuMTczLDEuODQtMS42MTUsMi45NDktMi4wOTVjMC4xNDYtMC4wNjUsMC4xNjQtMC4xNDgsMC4xMzctMC4yNzZjLTAuMDQ4LTAuMjIxLTAuMjAxLTAuNzY0LTAuMjQ5LTAuOUM0My43NzYsMTguMjMsNDMuNzQ1LDE4LjMyMiw0My42LDE4LjM3NSBNNDMuNzQxLDE4LjEwOGMwLDAuMDAxLDAuMDAxLDAuMDAyLDAuMDAxLDAuMDAzQzQzLjc0MiwxOC4xMTEsNDMuNzQxLDE4LjEwOCw0My43NDEsMTguMTA4TDQzLjc0MSwxOC4xMDh6Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMjlfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8yOF8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8zMF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMxMjUiIHgyPSIxIiB5Mj0iMzUuMzEyNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNS4xNDYzIC0yNS4xNDYzIDAgOTI5LjQ1NzcgMjkuNjE5MSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMzguOTQ2IiB5PSIxOC4xMDciIGNsaXAtcGF0aD0idXJsKCNTVkdJRF8yOV8pIiBmaWxsPSJ1cmwoI1NWR0lEXzMwXykiIHdpZHRoPSI1LjA3MiIgaGVpZ2h0PSI2Ljk4NiIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfMzFfIiBkPSJNNTMuMDE4LDIxLjkxNGMtMS4xNzQsMS43OTMtMi4yNzEsMy41MjYtMy40MzQsNS4zNWMtMC4wNjEsMC4wODQtMC4xMTUsMC4xMzktMC4yMzQsMC4xNDVjLTAuNzIsMC0xLjUwOC0wLjAwMi0yLjMwMiwwLjAwMmMtMC4wODMsMC0wLjE0LTAuMDM3LTAuMTU4LTAuMDk1YzAuMDYyLDAuMjc4LDAuMTYzLDAuNzgyLDAuMTkxLDAuODk5YzAuMDE5LDAuMDgsMC4wNzksMC4xMjEsMC4xNjcsMC4xMjFjMC44NTIsMCwxLjg5OCwwLDIuNjA3LTAuMDA0YzAuMTA3LTAuMDA3LDAuMTgtMC4wNjYsMC4yMzUtMC4xNDZjMS4wNTktMS42NTcsMi4xOS0zLjQ1NywzLjI3LTUuMTE3YzAuMjQsMC44MzYsMC4zNiwxLjIyOCwwLjgwMSwxLjYyMWMwLjQ0OSwwLjQwMiwwLjg2NCwwLjUwNiwxLjQ3NSwwLjUxNGMwLjU1NiwwLjAwNiwxLjEwNC0wLjIxNiwxLjc1My0wLjQ4N2MwLjIzMy0wLjA5OCwwLjQ0My0wLjIxNywwLjYzLTAuMzM3YzAtMC4zMDksMC4wMzEtMC42MTcsMC4wODYtMC45MTFjMC4wMDQtMC4wMzMtMC4wMjYtMC4yMzYtMC4yMDEtMC4xMTVjLTAuMywwLjIxNC0wLjY5MSwwLjQ1Mi0xLjE3OSwwLjYzM2MtMC41OTksMC4yMjUtMC44NzksMC4zMDktMS40MzUsMC4zMDJjLTAuNjk3LTAuMDA1LTEuMzI2LTAuMzAyLTEuNzctMC45OTFjLTAuMjQ2LTAuMzc0LTAuMzQ5LTAuOTQ0LTAuMzczLTEuMzU5Yy0wLjAwMi0wLjAzLTAuMDI3LTAuMDc0LTAuMDYzLTAuMDc0QzUzLjA2NSwyMS44NjIsNTMuMDQyLDIxLjg3Niw1My4wMTgsMjEuOTE0Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMzJfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8zMV8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8zM18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNjYiIHgyPSIxIiB5Mj0iMzUuMzA2NiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNC45NzM3IC0yNC45NzM3IDAgOTM0LjIzODkgMjkuNjAzNSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNDYuODkiIHk9IjIxLjg2MiIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzMyXykiIGZpbGw9InVybCgjU1ZHSURfMzNfKSIgd2lkdGg9IjExLjIxOSIgaGVpZ2h0PSI2LjQ3NCIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfMzRfIiBkPSJNNzMuMjI3LDIyLjgzNmMtMS4xMjIsMS4zNjktMi4zNjEsMi42NjItMy41NDUsMy41NzZjLTEuODQ3LDEuNDI5LTMuNjg2LDEuNzg5LTQuNTk4LDAuODc3Yy0wLjMzOS0wLjM0My0wLjUyNS0wLjgzLTAuNTQ5LTEuMjRjLTAuMDEtMC4yMjUtMC4xMjUtMC4yMzQtMC4yMy0wLjEzMWMtMS4wODcsMS4wNzUtMi45NzgsMi4yNjgtNC42OTksMS40MmMtMC44ODctMC40MzgtMS4zNTMtMS4yNjItMS41MTgtMi4xNjdjMC4wMDEsMC4wMSwwLjAwNCwwLjAyMSwwLjAwNSwwLjAzMmMwLjExLDAuNjQzLDAuMjQ5LDEuNTY3LDAuNTUxLDIuMTRjMC4xOTcsMC4zNzcsMC42MzYsMC44MDEsMC45MDYsMC45MzRjMS41MjcsMC43NTMsMy43MDctMC4xMDEsNS4xMDYtMS40NDZjMC4wMTQtMC4wMTksMC4wMTgtMC4wMiwwLjAzOC0wLjA0MWMwLjA2NCwwLjI0MiwwLjE0MSwwLjUzNCwwLjE1NCwwLjU3NGMwLjA5NCwwLjMxMiwwLjI0NCwwLjU5NywwLjM3NiwwLjc0N2MwLjk1OCwxLjA4MywyLjk5MSwwLjU5LDUuMTA4LTEuMDQ3YzEuMTgyLTAuOTE1LDIuMDYtMS44MzQsMy4xMzMtMy4wODRjMC4wNDMtMC4wNTMsMC4wNC0wLjEyOSwwLjAxNi0wLjI0NGMtMC4wNjItMC4yNzEtMC4xNTktMC43NjYtMC4yMTEtMS4wMTNDNzMuMjcsMjIuNzY3LDczLjI1LDIyLjgwNiw3My4yMjcsMjIuODM2Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMzVfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8zNF8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8zNl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNTciIHgyPSIxIiB5Mj0iMzUuMzA1NyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNS4xNTc2IC0yNS4xNTc2IDAgOTU0LjAyNjIgMjkuNjE5MSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNTguMDg4IiB5PSIyMi43MjMiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF8zNV8pIiBmaWxsPSJ1cmwoI1NWR0lEXzM2XykiIHdpZHRoPSIxNS40MiIgaGVpZ2h0PSI2LjQ3MSIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfMzdfIiBkPSJNNTguNjM0LDE5LjA2NWMtMC4xMDksMC42ODQtMC40NzgsMS4yODMtMS4xMDUsMS41OTVjLTAuNTMyLDAuMjYtMS4xNTQsMC4yMTUtMS41ODgtMC4xNzNjLTAuMTM3LTAuMTI1LTAuMjM1LTAuMjczLTAuMzA1LTAuNDMyYzAuMTE0LDAuNTE0LDAuMjEsMC44OTQsMC4zNDQsMS4wOTZjMC40MTIsMC42MTcsMS4xMjIsMC43NzUsMS45MDQsMC4zNTJjMC41NjgtMC4zMDgsMS4wNjYtMC45NTgsMS4wMDQtMi4wMTVjLTAuMDMzLTAuNTIzLTAuMTg2LTEuMDY0LTAuNDMxLTEuNTAxQzU4LjYyMywxOC4zMDcsNTguNjkzLDE4LjY3OCw1OC42MzQsMTkuMDY1Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfMzhfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8zN18iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8zOV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNTciIHgyPSIxIiB5Mj0iMzUuMzA1NyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNS4xNzQxIC0yNS4xNzQxIDAgOTQ2LjA3NzcgMjkuNjE5MSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNTUuNjM2IiB5PSIxNy45ODciIGNsaXAtcGF0aD0idXJsKCNTVkdJRF8zOF8pIiBmaWxsPSJ1cmwoI1NWR0lEXzM5XykiIHdpZHRoPSIzLjMxNCIgaGVpZ2h0PSIzLjk0Ii8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF80MF8iIGQ9Ik03NC43MzcsMTIuNTljLTAuMzU4LDAuNjE5LTcuMjU0LDExLjExNy03LjY4OSwxMi4yMDNjLTAuMTM4LDAuMzQzLTAuMTU1LDAuNjA1LTAuMDEzLDAuNzk2YzAuMTQxLDAuMTksMC4zNDksMC4yNjQsMC41ODYsMC4yNTljMC4wMjItMC4xMzEsMC4wNzItMC4yODIsMC4xMzYtMC40NGMwLjQzNy0xLjA4OCw2Ljg5My0xMC45MDEsNy4yNDgtMTEuNTIyYzAuMDMxLTAuMDU0LDAuMDItMC4xMTMsMC4wMDktMC4xNTNjLTAuMDIxLTAuMDk4LTAuMjMtMS4xMDgtMC4yNTctMS4yMzNDNzQuNzYyLDEyLjUyNCw3NC43NTQsMTIuNTU3LDc0LjczNywxMi41OSBNNzQuNzU3LDEyLjQ5OWMwLTAuMDAyLTAuMDAxLTAuMDA0LTAuMDAxLTAuMDA2Qzc0Ljc1NiwxMi40OTUsNzQuNzU3LDEyLjQ5Nyw3NC43NTcsMTIuNDk5Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfNDFfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF80MF8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF80Ml8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNjYiIHgyPSIxIiB5Mj0iMzUuMzA2NiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yNS4xNTA2IC0yNS4xNTA2IDAgOTU4Ljk2NzIgMjkuNjE5MSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNjYuODkzIiB5PSIxMi40OTMiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF80MV8pIiBmaWxsPSJ1cmwoI1NWR0lEXzQyXykiIHdpZHRoPSI4LjE0MyIgaGVpZ2h0PSIxMy4zNiIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfNDNfIiBkPSJNNDYuMTY5LDE3LjU0MmMwLjQxNiwwLjYxOCwwLjY0MSwxLjQ4NywwLjY2MywyLjM4NWMwLjAyNiwwLjE4OCwwLjEwNywwLjE5MywwLjE5OSwwLjA5NmMwLjA4NC0wLjA4NSwwLjE2Ni0wLjE3NCwwLjI0Ny0wLjI2NGMtMC4xMjItMC40ODItMC4zMTEtMC45MTUtMC41MDQtMS4zMzJjLTAuMDcyLTAuMTUzLTAuMzg4LTAuNjk0LTAuNjYtMC45NTJDNDYuMTM0LDE3LjQ5Nyw0Ni4xNTIsMTcuNTE5LDQ2LjE2OSwxNy41NDIiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF80NF8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzQzXyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzQ1XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA3NiIgeDI9IjEiIHkyPSIzNS4zMDc2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTI0LjU2OTkgLTI0LjU2OTkgMCA5MTQuMTg1MiAyOS4zMzc5KSI+PHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTIzOCIvPjxzdG9wICBvZmZzZXQ9IjAuMTc0OCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTMzQSIvPjxzdG9wICBvZmZzZXQ9IjAuMzI5NyIgc3R5bGU9InN0b3AtY29sb3I6IzA4MTc0MCIvPjxzdG9wICBvZmZzZXQ9IjAuNDc3MSIgc3R5bGU9InN0b3AtY29sb3I6IzBBMUU0QiIvPjxzdG9wICBvZmZzZXQ9IjAuNjE5OCIgc3R5bGU9InN0b3AtY29sb3I6IzBCMjU1OCIvPjxzdG9wICBvZmZzZXQ9IjAuNzU4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMyRTY4Ii8+PHN0b3AgIG9mZnNldD0iMC44MDkiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzMxNkYiLz48c3RvcCAgb2Zmc2V0PSIwLjkyMjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDUzOTAiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA2OEE3Ii8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSI0Ni4xMTQiIHk9IjE3LjQ3NSIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzQ0XykiIGZpbGw9InVybCgjU1ZHSURfNDVfKSIgd2lkdGg9IjEuMTY0IiBoZWlnaHQ9IjIuNjQ2Ii8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF80Nl8iIGQ9Ik00OS42MzEsMTkuNTUzYy0xLjQ4OCwxLjEyNi0yLjczNiwyLjg4Mi0zLjM3MSwzLjY2N2MtMC4zNzMsMC40NjMtMC43MjUsMS4xNDMtMS43LDIuMjAxYy0xLjUzNCwxLjY2NS0zLjU2NiwyLjYyMi01LjUyNSwxLjk2MWMtMS4wNy0wLjM2LTEuODQ1LTEuMjIzLTIuMTQtMi4yNzdjLTAuMDU5LTAuMjA1LTAuMTczLTAuMjYxLTAuMjg0LTAuMTI2Yy0wLjMxOCwwLjM5NS0wLjk2NSwwLjk3Ni0xLjUwNiwxLjM0MmMtMC4wNTgsMC4wNDMtMC4yMDQsMC4xMjgtMC4zMywwLjA2NmMtMC4xMTQtMC4wNDktMC41MTYtMC42MTctMC41OTUtMC43ODFjLTAuMDEtMC4wMTctMC4wMTYtMC4wMzctMC4wMTktMC4wNTR2MC4wMDdjMC4xNDEsMC42OTksMC4xNTksMC43NzksMC4zNDksMS4xMDJjMC4yMTgsMC4zNTcsMC40MjgsMC42MDcsMC40NzUsMC42M2MwLjEyNywwLjA2MywwLjI1NSwwLjAwNSwwLjMxOS0wLjAyOWMwLjQyLTAuMjE2LDEuMjQtMC44NDYsMS41OTItMS4yODVjMC4xMDctMC4xMDIsMC4yMDktMC4wMzQsMC4yNDMsMC4wNzRjMC4xNDgsMC40NjcsMC4zNjUsMC44MjgsMC42MDUsMS4yMTFjMC4yNjUsMC40MjUsMC43OTUsMC44NjgsMS40OCwxLjA1NmMwLjg4OCwwLjI0OCwxLjg0NywwLjI5MywzLjEwNC0wLjE4OGMxLjAxLTAuMzg4LDIuMDY3LTEuMTc0LDIuODgyLTIuMDU5YzAuOTc3LTEuMDU4LDEuMzI5LTEuNzM4LDEuNy0yLjIwM2MwLjYzMi0wLjc4MiwxLjYxOC0yLjE3MSwzLTMuMzUxYzAuNDg0LTAuNDEyLDEuMDEyLTAuNjgsMS4zNDQtMC41NTFjMC4yLTAuNTE1LDAuMTA2LTAuNzk3LTAuMTA4LTAuOTM2Yy0wLjA3MS0wLjA0NS0wLjE1Ny0wLjA2Ni0wLjI1NC0wLjA2NkM1MC41NDQsMTguOTY0LDUwLjA1NiwxOS4yMjgsNDkuNjMxLDE5LjU1MyIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzQ3XyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfNDZfIiAgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfNDhfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIzNS4zMDY2IiB4Mj0iMSIgeTI9IjM1LjMwNjYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAtMjQuOTgyNSAtMjQuOTgyNSAwIDkyNC44MTIgMjkuNjAzNSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMzQuMTYxIiB5PSIxOC45NjQiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF80N18pIiBmaWxsPSJ1cmwoI1NWR0lEXzQ4XykiIHdpZHRoPSIxNy4yOTMiIGhlaWdodD0iOS42NDYiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzQ5XyIgZD0iTTI0Ljg3NywxOC4xNDhjLTAuODM2LDAuNDI3LTEuODQyLDEuMTU4LTIuMzQsMi4xNTVjLTAuNDA0LDAuODE0LTAuNDg1LDEuNzk3LDAuMTMsMi43MzFjMC4wNTMsMC4wNzYsMC4xMDgsMC4xNTEsMC4xNywwLjIyMmMtMC4xOTgtMC43NzcsMC4wMTUtMS42MTMsMC4zMjYtMi4yMzhjMC40OTctMC45OTgsMS4xOTItMS40NzUsMS44NzgtMS45MDdjMC4yOTQtMC4xODcsMC40MjUtMC4zNjgsMC4yNS0wLjg1NWMtMC4wNS0wLjEzNy0wLjA3OC0wLjM4Ny0wLjEzMi0wLjYxQzI1LjE3NiwxNy44NjQsMjUuMDcsMTguMDUxLDI0Ljg3NywxOC4xNDgiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF81MF8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzQ5XyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzUxXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA4NiIgeDI9IjEiIHkyPSIzNS4zMDg2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTI1LjE1MDEgLTI1LjE1MDEgMCA5MTEuNzYwOSAyOS42MTkxKSI+PHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTIzOCIvPjxzdG9wICBvZmZzZXQ9IjAuMTc0OCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTMzQSIvPjxzdG9wICBvZmZzZXQ9IjAuMzI5NyIgc3R5bGU9InN0b3AtY29sb3I6IzA4MTc0MCIvPjxzdG9wICBvZmZzZXQ9IjAuNDc3MSIgc3R5bGU9InN0b3AtY29sb3I6IzBBMUU0QiIvPjxzdG9wICBvZmZzZXQ9IjAuNjE5OCIgc3R5bGU9InN0b3AtY29sb3I6IzBCMjU1OCIvPjxzdG9wICBvZmZzZXQ9IjAuNzU4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMyRTY4Ii8+PHN0b3AgIG9mZnNldD0iMC44MDkiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzMxNkYiLz48c3RvcCAgb2Zmc2V0PSIwLjkyMjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDUzOTAiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA2OEE3Ii8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSIyMi4wNTIiIHk9IjE3LjY0NiIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzUwXykiIGZpbGw9InVybCgjU1ZHSURfNTFfKSIgd2lkdGg9IjMuNDE0IiBoZWlnaHQ9IjUuNjEiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzUyXyIgZD0iTTMxLjIsOC4xMTRjLTIuNDE3LDAuOTAzLTMuNDc2LDIuODIxLTIuOTY3LDQuMTAyYzAuMDk5LDAuMjQ0LDAuMjU2LDAuNDMzLDAuNDU4LDAuNTY4Yy0wLjE3MS0xLjE4MiwwLjcxNS0zLjExNywzLjAzOS0zLjg4NWMzLjA0MS0xLjAwMiw2LjQzLTAuMzY5LDkuMTU1LDAuMjE0YzAuMzgxLTAuMjM5LDAuNzE0LTAuNDAzLDEuMDQ5LTAuNTg1YzAuMTY1LTAuMDg3LTAuMDIyLTAuMTktMC4wNzItMC4xOWMtMi4xODItMC40MS00LjQxNy0wLjg5NS02LjYzMy0wLjg5NUMzMy44NzMsNy40NDMsMzIuNTI1LDcuNjI0LDMxLjIsOC4xMTQiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF81M18iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzUyXyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzU0XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzExNSIgeDI9IjEiIHkyPSIzNS4zMTE1IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTI1LjE0NTcgLTI1LjE0NTcgMCA5MjIuODU2OCAyOS42MDM1KSI+PHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTIzOCIvPjxzdG9wICBvZmZzZXQ9IjAuMTc0OCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTMzQSIvPjxzdG9wICBvZmZzZXQ9IjAuMzI5NyIgc3R5bGU9InN0b3AtY29sb3I6IzA4MTc0MCIvPjxzdG9wICBvZmZzZXQ9IjAuNDc3MSIgc3R5bGU9InN0b3AtY29sb3I6IzBBMUU0QiIvPjxzdG9wICBvZmZzZXQ9IjAuNjE5OCIgc3R5bGU9InN0b3AtY29sb3I6IzBCMjU1OCIvPjxzdG9wICBvZmZzZXQ9IjAuNzU4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMyRTY4Ii8+PHN0b3AgIG9mZnNldD0iMC44MDkiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzMxNkYiLz48c3RvcCAgb2Zmc2V0PSIwLjkyMjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDUzOTAiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA2OEE3Ii8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSIyNy43MjQiIHk9IjcuNDQzIiBjbGlwLXBhdGg9InVybCgjU1ZHSURfNTNfKSIgZmlsbD0idXJsKCNTVkdJRF81NF8pIiB3aWR0aD0iMTQuMzc1IiBoZWlnaHQ9IjUuMzQxIi8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF81NV8iIGQ9Ik00MS4zMjksMTUuMzA2Yy0xLjA5NSwwLjA2My0yLjgwMywwLjIyOS0zLjk2LDAuMzczYy0wLjI4LDAuMDM1LTAuMzIsMC4wODctMC4zNzgsMC4xODRjLTEuODQ1LDMuMDQyLTMuODE0LDYuMzIxLTUuOTc2LDguNTE2Yy0yLjMxOCwyLjM1NC00LjI0NiwyLjk3NS02LjI5MywyLjk5MWMtMi4zNjIsMC4wMTYtNC40NjUtMS4zMjQtNC45OTQtMy42NzZjMC4yODQsMS4zMTIsMS4xMywyLjg5NiwyLjExLDMuNTg2YzAuOTk1LDAuNzAyLDEuOTc3LDAuOTM2LDMuMTIyLDAuOTU1YzIuMzI3LDAuMDQxLDQuNDUyLTAuOTE4LDYuNzA1LTMuMjA3YzIuMTYyLTIuMTk0LDQuMDM1LTUuMjYxLDUuODgxLTguMzAzYzAuMDYyLTAuMTA4LDAuMTI3LTAuMTU0LDAuNDM3LTAuMTk0YzEuMTU4LTAuMTQ1LDIuMTk2LTAuMjA5LDMuMjItMC4zMDZjMC4zMDQtMC4wMywwLjUzNi0wLjA1NywwLjY0OCwwLjA1NGMwLjM3LDAuMzcsMC43OTgsMC43MDcsMS4wODMsMC44NzJjMC4xOSwwLjAwMywwLjM0OCwwLjA0NCwwLjQ1OSwwLjE0NGMwLjExOS0wLjAxNiwwLjIyOS0wLjA4MiwwLjI5OS0wLjE1YzAuMTM0LTAuMTMsMC4xMzgtMC4yODIsMC4xMTYtMC40MTFjLTAuMDQ2LTAuMjUzLTAuMTEzLTAuNzUxLTAuMTk0LTAuODk1YzAuMDU1LDAuMTEsMC4wMjEsMC4yNjUtMC4wOTEsMC4zOTFjLTAuMDgxLDAuMDkyLTAuMjA3LDAuMTc5LTAuMzcsMC4xNzZjLTAuMTMtMC4wMDMtMC4yMS0wLjA0OC0wLjM3OC0wLjEzOWMtMC4zNDMtMC4xODYtMC43NzEtMC40OTEtMS4wNTYtMC44NWMtMC4wNzUtMC4wOTMtMC4xMjEtMC4xMTctMC4yNDctMC4xMTdDNDEuNDMzLDE1LjMwMSw0MS4zODcsMTUuMzAzLDQxLjMyOSwxNS4zMDYiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF81Nl8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzU1XyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzU3XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA1NyIgeDI9IjEiIHkyPSIzNS4zMDU3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTI1LjE1MDQgLTI1LjE1MDQgMCA5MTkuNzQwMiAyOS42MTkxKSI+PHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTIzOCIvPjxzdG9wICBvZmZzZXQ9IjAuMTc0OCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTMzQSIvPjxzdG9wICBvZmZzZXQ9IjAuMzI5NyIgc3R5bGU9InN0b3AtY29sb3I6IzA4MTc0MCIvPjxzdG9wICBvZmZzZXQ9IjAuNDc3MSIgc3R5bGU9InN0b3AtY29sb3I6IzBBMUU0QiIvPjxzdG9wICBvZmZzZXQ9IjAuNjE5OCIgc3R5bGU9InN0b3AtY29sb3I6IzBCMjU1OCIvPjxzdG9wICBvZmZzZXQ9IjAuNzU4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMyRTY4Ii8+PHN0b3AgIG9mZnNldD0iMC44MDkiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzMxNkYiLz48c3RvcCAgb2Zmc2V0PSIwLjkyMjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDUzOTAiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA2OEE3Ii8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSIxOS43MjgiIHk9IjE1LjMwMSIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzU2XykiIGZpbGw9InVybCgjU1ZHSURfNTdfKSIgd2lkdGg9IjI0LjEwMiIgaGVpZ2h0PSIxMi45NzYiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzU4XyIgZD0iTTMxLjM0MiwxNy4xNDZjLTAuMjU2LDAuMTg2LTAuNjIzLDAuMTU5LTAuNzg0LTAuMDg1Yy0wLjA1My0wLjA4My0wLjA3OS0wLjE3My0wLjA4Mi0wLjI2NWMtMC4wMjMsMC4zOTMsMC4xMzUsMC45NzMsMC4yNjQsMS4xNjhjMC4xNCwwLjIxNSwwLjUzMywwLjMyLDAuODQ3LDAuMDljMC43MDQtMC41MiwxLjM0MS0wLjgyNCwyLjA1NC0wLjk1OWMwLjE4NC0wLjI1LDAuMzg0LTAuNTI4LDAuNjA4LTAuODRjMC4wMTktMC4wMjQsMC4wMjQtMC4wNTksMC4wMTctMC4wNzRjLTAuMDEzLTAuMDI4LTAuMDM1LTAuMDM2LTAuMDgxLTAuMDM5QzMzLjE0LDE2LjE3LDMyLjIyOCwxNi40ODIsMzEuMzQyLDE3LjE0NiIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzU5XyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfNThfIiAgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfNjBfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIzNS4zMDY2IiB4Mj0iMSIgeTI9IjM1LjMwNjYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAtMjUuMTY1NSAtMjUuMTY1NSAwIDkyMC44ODM1IDI5LjYxOTEpIj48c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMjM4Ii8+PHN0b3AgIG9mZnNldD0iMC4xNzQ4IiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMzNBIi8+PHN0b3AgIG9mZnNldD0iMC4zMjk3IiBzdHlsZT0ic3RvcC1jb2xvcjojMDgxNzQwIi8+PHN0b3AgIG9mZnNldD0iMC40NzcxIiBzdHlsZT0ic3RvcC1jb2xvcjojMEExRTRCIi8+PHN0b3AgIG9mZnNldD0iMC42MTk4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEIyNTU4Ii8+PHN0b3AgIG9mZnNldD0iMC43NTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzJFNjgiLz48c3RvcCAgb2Zmc2V0PSIwLjgwOSIgc3R5bGU9InN0b3AtY29sb3I6IzBDMzE2RiIvPjxzdG9wICBvZmZzZXQ9IjAuOTIyNSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNTM5MCIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDY4QTciLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjMwLjQ1MyIgeT0iMTYuMTQyIiBjbGlwLXBhdGg9InVybCgjU1ZHSURfNTlfKSIgZmlsbD0idXJsKCNTVkdJRF82MF8pIiB3aWR0aD0iMy44MiIgaGVpZ2h0PSIyLjE0MiIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfNjFfIiBkPSJNNjAuNzgsNy41MzJjLTAuMDE1LTAuMDI2LTAuMDI3LTAuMDQ5LTAuMDQzLTAuMDY4QzYwLjc1Myw3LjQ4NSw2MC43NjUsNy41MDksNjAuNzgsNy41MzIiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF82Ml8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzYxXyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzYzXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA2NiIgeDI9IjEiIHkyPSIzNS4zMDY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTI0LjUyNjggLTI0LjUyNjggMCA5MjYuNzI0IDI5LjA1NjYpIj48c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMjM4Ii8+PHN0b3AgIG9mZnNldD0iMC4xNzQ4IiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMzNBIi8+PHN0b3AgIG9mZnNldD0iMC4zMjk3IiBzdHlsZT0ic3RvcC1jb2xvcjojMDgxNzQwIi8+PHN0b3AgIG9mZnNldD0iMC40NzcxIiBzdHlsZT0ic3RvcC1jb2xvcjojMEExRTRCIi8+PHN0b3AgIG9mZnNldD0iMC42MTk4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEIyNTU4Ii8+PHN0b3AgIG9mZnNldD0iMC43NTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzJFNjgiLz48c3RvcCAgb2Zmc2V0PSIwLjgwOSIgc3R5bGU9InN0b3AtY29sb3I6IzBDMzE2RiIvPjxzdG9wICBvZmZzZXQ9IjAuOTIyNSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNTM5MCIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDY4QTciLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjYwLjczNyIgeT0iNy40NjQiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF82Ml8pIiBmaWxsPSJ1cmwoI1NWR0lEXzYzXykiIHdpZHRoPSIwLjA0MyIgaGVpZ2h0PSIwLjA2OCIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfNjRfIiBkPSJNNjAuODQ4LDcuOTE0Yy0wLjAzOCwwLjY3NC0wLjU2LDEuMzIxLTEuODQ1LDIuMDIzYy0xLjQ2MSwwLjgwMi0yLjk5LDEuMDQ1LTQuNTg3LDEuMDU3Yy0zLjg2MSwwLjAzMy03LjQ1OS0xLjQ3My0xMS4xODEtMi4yODFjMC4wMDUsMC4xNjMsMC4wNDcsMC4zNTctMC4wOSwwLjQ2Yy0yLjA2MSwxLjUyMS0zLjkyNSwzLjA2NC01LjE3NCw1LjIzNGMtMC4wNDIsMC4wNS0wLjAxOSwwLjA5NywwLjA1NCwwLjA5M2MwLjMyOS0wLjAxNywwLjY0Ny0wLjAzMiwwLjk2Mi0wLjA0OWMxLjEzOC0xLjc3OSwyLjM1My0yLjgsNC4yMTItNC4xNzNjMC4xMzgtMC4xMDQsMC4yNzctMC4xNzgsMC4yMzItMC41NzRjMy43MzMsMC44MjgsNi41NzIsMi4yMDIsMTEuMzk0LDIuMjE2YzEuNDM5LDAuMDAzLDMuNDY3LTAuNDc2LDQuNTU5LTEuMTM0YzEuMjU1LTAuNzU1LDEuNTg3LTEuMzA5LDEuNjMzLTEuODk2YzAuMDE1LTAuMTgzLTAuMDMzLTAuNDU0LTAuMDYzLTAuNTk2Yy0wLjA0Mi0wLjE5OS0wLjA3MS0wLjQ1MS0wLjEyNy0wLjYzOUM2MC44NDcsNy43MzIsNjAuODU0LDcuODE5LDYwLjg0OCw3LjkxNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzY1XyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfNjRfIiAgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfNjZfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIzNS4zMDY2IiB4Mj0iMSIgeTI9IjM1LjMwNjYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAtMjUuMTQ3NSAtMjUuMTQ3NSAwIDkzNy4zNTg5IDI5LjYwMzUpIj48c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMjM4Ii8+PHN0b3AgIG9mZnNldD0iMC4xNzQ4IiBzdHlsZT0ic3RvcC1jb2xvcjojMDYxMzNBIi8+PHN0b3AgIG9mZnNldD0iMC4zMjk3IiBzdHlsZT0ic3RvcC1jb2xvcjojMDgxNzQwIi8+PHN0b3AgIG9mZnNldD0iMC40NzcxIiBzdHlsZT0ic3RvcC1jb2xvcjojMEExRTRCIi8+PHN0b3AgIG9mZnNldD0iMC42MTk4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEIyNTU4Ii8+PHN0b3AgIG9mZnNldD0iMC43NTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzJFNjgiLz48c3RvcCAgb2Zmc2V0PSIwLjgwOSIgc3R5bGU9InN0b3AtY29sb3I6IzBDMzE2RiIvPjxzdG9wICBvZmZzZXQ9IjAuOTIyNSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNTM5MCIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDY4QTciLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjM3LjkyOSIgeT0iNy42NTUiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF82NV8pIiBmaWxsPSJ1cmwoI1NWR0lEXzY2XykiIHdpZHRoPSIyMy4xMDMiIGhlaWdodD0iNi44NDkiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzY3XyIgZD0iTTQyLjg3MiwxMi40NTNjLTAuMDQ3LDAuMDQ0LTAuMDk4LDAuMDg4LTAuMTQ5LDAuMTM0Yy0wLjM2OCwwLjM4Mi0wLjQ4MSwwLjg4OC0wLjQyNywxLjI2OWMwLjAzLDAuMTU2LDAuMDksMC4xODcsMC4xNjIsMC4xNzNjMC4wNjktMC4wMTMsMC4xNC0wLjAzOCwwLjIxMi0wLjA2NmMwLjAyNy0wLjIxMSwwLjExNS0wLjQxNSwwLjMyNy0wLjYwM2MwLjE1NC0wLjEzNiwwLjM0Ny0wLjIsMC41MTMtMC4xNzFjMC4xNDItMC4yODQsMC4xODItMC42MjEsMC4wMS0wLjc3MWMtMC4wNzYtMC4wNjUtMC4xNy0wLjA5Ni0wLjI3Mi0wLjA5NkM0My4xMjQsMTIuMzIyLDQyLjk5LDEyLjM2OCw0Mi44NzIsMTIuNDUzIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfNjhfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF82N18iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF82OV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNTciIHgyPSIxIiB5Mj0iMzUuMzA1NyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIC0yMy43NjA5IC0yMy43NjA5IDAgODgxLjg3MTUgMjguNzU5OCkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iNDIuMjQyIiB5PSIxMi4zMjIiIGNsaXAtcGF0aD0idXJsKCNTVkdJRF82OF8pIiBmaWxsPSJ1cmwoI1NWR0lEXzY5XykiIHdpZHRoPSIxLjQ1IiBoZWlnaHQ9IjEuNzIxIi8+PC9nPjxnPjxkZWZzPjxwYXRoIGlkPSJTVkdJRF83MF8iIGQ9Ik00NC4zNTcsMTMuNzczYy0wLjM1NCwwLjY3Ny0wLjkzOCwxLjA0LTEuNDk5LDEuMjE1YzAsMC0wLjExOCwwLjAyNy0wLjEwMSwwLjEzM2MwLjAxNSwwLjEyMiwwLjQxMiwwLjM3MywwLjY2MSwwLjU0OWMwLjAzNi0wLjAwOSwwLjA4OS0wLjAzMSwwLjA4OS0wLjAzMWMwLjI4Ny0wLjExMSwwLjc2OC0wLjQwMywxLjA0NS0xLjAxMWMwLjE3Ny0wLjM5MiwwLjI3My0wLjY5OSwwLjE5Ny0xLjM2OWMtMC4wNTYtMC40Ny0wLjE1LTAuODk0LTAuMjc2LTEuMTE0QzQ0LjcxNCwxMi42MzksNDQuNjE4LDEzLjI3LDQ0LjM1NywxMy43NzMiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF83MV8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzcwXyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzcyXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA2NiIgeDI9IjEiIHkyPSIzNS4zMDY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTI1LjE1MDEgLTI1LjE1MDEgMCA5MzEuNzMyMSAyOS42MTkxKSI+PHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTIzOCIvPjxzdG9wICBvZmZzZXQ9IjAuMTc0OCIgc3R5bGU9InN0b3AtY29sb3I6IzA2MTMzQSIvPjxzdG9wICBvZmZzZXQ9IjAuMzI5NyIgc3R5bGU9InN0b3AtY29sb3I6IzA4MTc0MCIvPjxzdG9wICBvZmZzZXQ9IjAuNDc3MSIgc3R5bGU9InN0b3AtY29sb3I6IzBBMUU0QiIvPjxzdG9wICBvZmZzZXQ9IjAuNjE5OCIgc3R5bGU9InN0b3AtY29sb3I6IzBCMjU1OCIvPjxzdG9wICBvZmZzZXQ9IjAuNzU4IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMyRTY4Ii8+PHN0b3AgIG9mZnNldD0iMC44MDkiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQzMxNkYiLz48c3RvcCAgb2Zmc2V0PSIwLjkyMjUiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDUzOTAiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDA2OEE3Ii8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSI0Mi43NCIgeT0iMTIuMTQ2IiBjbGlwLXBhdGg9InVybCgjU1ZHSURfNzFfKSIgZmlsbD0idXJsKCNTVkdJRF83Ml8pIiB3aWR0aD0iMi4wODUiIGhlaWdodD0iMy41MjUiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzczXyIgZD0iTTM0LjA0NSwxMC42MDdjMC4wNzIsMC4xNzIsMC4wNzIsMC40MjctMC4wNjQsMC43NDdjLTEuMDIxLDIuNDAxLTIuOTczLDQuMzA3LTUuMzUxLDQuMzg3Yy0xLjQzMywwLjA0Ny0yLjUwNy0wLjY4Ny0zLjAwOC0xLjc3MmMwLjM2OCwwLjgxLDEuMTIxLDEuNTMyLDEuNzgsMS45NDZjMC41MTYsMC4zMjIsMS4xNTEsMC40OTksMS44NzgsMC40NzVjMi40NzctMC4wODUsNC4zNTMtMi4xMjQsNC45NzUtMy44NWMwLjE2Ni0wLjQ2NSwwLjAzOC0wLjk2My0wLjA0MS0xLjNDMzQuMTg0LDExLjExMSwzNC4xNDEsMTAuODE5LDM0LjA0NSwxMC42MDdMMzQuMDQ1LDEwLjYwN3oiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF83NF8iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzczXyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzc1XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA1NyIgeDI9IjEiIHkyPSIzNS4zMDU3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTI1LjE1MiAtMjUuMTUyIDAgOTE4LjAxNzIgMjkuNjE5MSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEyMzgiLz48c3RvcCAgb2Zmc2V0PSIwLjE3NDgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwNjEzM0EiLz48c3RvcCAgb2Zmc2V0PSIwLjMyOTciIHN0eWxlPSJzdG9wLWNvbG9yOiMwODE3NDAiLz48c3RvcCAgb2Zmc2V0PSIwLjQ3NzEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQTFFNEIiLz48c3RvcCAgb2Zmc2V0PSIwLjYxOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjI1NTgiLz48c3RvcCAgb2Zmc2V0PSIwLjc1OCIgc3R5bGU9InN0b3AtY29sb3I6IzBDMkU2OCIvPjxzdG9wICBvZmZzZXQ9IjAuODA5IiBzdHlsZT0ic3RvcC1jb2xvcjojMEMzMTZGIi8+PHN0b3AgIG9mZnNldD0iMC45MjI1IiBzdHlsZT0ic3RvcC1jb2xvcjojMDA1MzkwIi8+PHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNjhBNyIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3QgeD0iMjUuNjIyIiB5PSIxMC42MDciIGNsaXAtcGF0aD0idXJsKCNTVkdJRF83NF8pIiBmaWxsPSJ1cmwoI1NWR0lEXzc1XykiIHdpZHRoPSI4Ljc5OSIgaGVpZ2h0PSI1LjgwNyIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfNzZfIiBkPSJNMC4xNDMsMTcuNjU0YzAsMC40NjEsMC4wNTMsMC45MTcsMC4xNDcsMS4zNjljLTAuMDctMC4zODctMC4xMTEtMC43NzktMC4xMTQtMS4xNzRjLTAuMDA5LTIuMDk0LDAuOTI4LTQuMjA4LDIuODU4LTYuMTU1QzkuODExLDQuODU2LDI3LjQ4OSwwLjI1Nyw0Ni45OTksMC4xNzZjMi43MDMtMC4wMTEsNS4zNTIsMC4wNjUsNy45MzMsMC4yMThjLTIuNTU2LTAuMTYxLTUuMTc3LTAuMjQ2LTcuODUzLTAuMjQ2QzIxLjA1MywwLjE0NywwLjE0Myw3Ljk1MiwwLjE0MywxNy42NTQiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJTVkdJRF83N18iPjx1c2UgeGxpbms6aHJlZj0iI1NWR0lEXzc2XyIgIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzc4XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwIiB5MT0iMzUuMzA2NiIgeDI9IjEiIHkyPSIzNS4zMDY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC0xMC44NzczIC00MC41OTQ1IC00MC41OTQ1IDEwLjg3NzMgMTQ2OS45NzU1IC0zNDAuMzExNSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNCREJDQkMiLz48c3RvcCAgb2Zmc2V0PSIwLjM1IiBzdHlsZT0ic3RvcC1jb2xvcjojRTNFM0UzIi8+PHN0b3AgIG9mZnNldD0iMC42NSIgc3R5bGU9InN0b3AtY29sb3I6I0UzRTNFMyIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNCREJDQkMiLz48L2xpbmVhckdyYWRpZW50Pjxwb2x5Z29uIGNsaXAtcGF0aD0idXJsKCNTVkdJRF83N18pIiBmaWxsPSJ1cmwoI1NWR0lEXzc4XykiIHBvaW50cz0iMy44MTMsMzIuNzIgLTQuNTc2LDEuNDEyIDUxLjI2MiwtMTMuNTUgNTkuNjUxLDE3Ljc1OCAiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzc5XyIgZD0iTTkzLjk4MywxNy40NjRjMC4wMDksMi4wOTMtMC45ODMsNC4xNzktMi45MTQsNi4xMjZjLTYuNzUzLDYuODEyLTI0LjQyNCwxMS40NjEtNDMuOTA5LDExLjU0MWMtMi43NTYsMC4wMTItNS40NTgtMC4wNjItOC4wODMtMC4yMjNjMi42LDAuMTY4LDUuMjc0LDAuMjUxLDguMDAyLDAuMjUxYzI1Ljg3OSwwLDQ2LjkzMy03Ljg5OSw0Ni45MzMtMTcuNWMwLTAuMzY3LTAuMDM0LTAuNzMxLTAuMDkzLTEuMDkyQzkzLjk1OSwxNi44NjQsOTMuOTgxLDE3LjE2Myw5My45ODMsMTcuNDY0Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfODBfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF83OV8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF84MV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNjYiIHgyPSIxIiB5Mj0iMzUuMzA2NiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtMTAuODI3MSAtNDAuNDA3NSAtNDAuNDA3NSAxMC44MjcxIDE0OTIuMDI2OSAtMzYwLjc2MDUpIj48c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojQkRCQ0JDIi8+PHN0b3AgIG9mZnNldD0iMC4zNSIgc3R5bGU9InN0b3AtY29sb3I6I0UzRTNFMyIvPjxzdG9wICBvZmZzZXQ9IjAuNjUiIHN0eWxlPSJzdG9wLWNvbG9yOiNFM0UzRTMiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQkRCQ0JDIi8+PC9saW5lYXJHcmFkaWVudD48cG9seWdvbiBjbGlwLXBhdGg9InVybCgjU1ZHSURfODBfKSIgZmlsbD0idXJsKCNTVkdJRF84MV8pIiBwb2ludHM9IjQyLjc1Nyw0OC44OTQgMzQuNDI5LDE3LjgxMiA5MC4zMzIsMi44MzMgOTguNjYsMzMuOTE0ICIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfODJfIiBkPSJNNC4yMTMsMTcuNjQ4YzAtNy44MDEsMTkuMTktMTQuMTIyLDQyLjg2Mi0xNC4xMjJjMjMuNjc1LDAsNDIuODYzLDYuMzIxLDQyLjg2MywxNC4xMjJTNzAuNzUsMzEuNzcyLDQ3LjA3NSwzMS43NzJDMjMuNDAzLDMxLjc3Miw0LjIxMywyNS40NDksNC4yMTMsMTcuNjQ4IE0yLjY1MSwxNy42NDhjMCw4LjUzOSwxOS44OSwxNS40NjIsNDQuNDI0LDE1LjQ2MmMyNC41MzQsMCw0NC40MjQtNi45MjMsNDQuNDI0LTE1LjQ2MmMwLTguNTQtMTkuODktMTUuNDYxLTQ0LjQyNC0xNS40NjFDMjIuNTQxLDIuMTg4LDIuNjUxLDkuMTA4LDIuNjUxLDE3LjY0OCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzgzXyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfODJfIiAgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfODRfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIzNS4zMDc2IiB4Mj0iMSIgeTI9IjM1LjMwNzYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAzNi4wNjU2IDM2LjA2NTYgMCAtMTIyNi4yOTIgLTAuNDEyMSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz48c3RvcCAgb2Zmc2V0PSIwLjU1NTkiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRUZFRkUiLz48c3RvcCAgb2Zmc2V0PSIwLjY5MSIgc3R5bGU9InN0b3AtY29sb3I6I0ZCRkJGQiIvPjxzdG9wICBvZmZzZXQ9IjAuOCIgc3R5bGU9InN0b3AtY29sb3I6I0RBREFEQSIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNDNkM2QzYiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjIuNjUxIiB5PSIyLjE4OCIgY2xpcC1wYXRoPSJ1cmwoI1NWR0lEXzgzXykiIGZpbGw9InVybCgjU1ZHSURfODRfKSIgd2lkdGg9Ijg4Ljg0OCIgaGVpZ2h0PSIzMC45MjMiLz48L2c+PGc+PGRlZnM+PHBhdGggaWQ9IlNWR0lEXzg1XyIgZD0iTTYxLjI5LDI1LjMwNmMtMC4zNTYtMC4xODQtMC41MDktMC42OC0wLjUwMS0xLjA4MmMwLjAxOS0xLjEzLDAuNTE5LTIuMjg5LDEuNDQ4LTMuNDNjMS4xMzEtMS4zOTMsMi4zODItMi4xMTUsMy4yMDItMS43MmMwLjg1MSwwLjQwNSwwLjU3OSwxLjM4OCwwLjE5OSwyLjE2MWMtMC4wMjgsMC4wNi0wLjAzMSwwLjEwOS0wLjAxNSwwLjE1OWMwLjAxNCwwLjA4LDAuMTE4LDAuMTU4LDAuMjIxLDAuMTk1YzAuMDM1LDAuMDEzLDAuMDU2LDAuMDQsMC4wMTYsMC4xMjNjLTAuMjk0LDAuNjI5LTAuNTYzLDAuOTkxLTAuOTMsMS41MzdjLTAuMzM4LDAuNTA1LTAuNzE5LDAuODk3LTEuMTgsMS4yNzZjLTAuNTM3LDAuNDQ0LTEuMjM1LDAuOTE4LTEuODkyLDAuOTE4QzYxLjY2MywyNS40NDMsNjEuNDcyLDI1LjQwMSw2MS4yOSwyNS4zMDYgTTcyLjIxOSwxMi40MDVjLTAuMTc4LDAtMC4yNjgsMC4wMjEtMC4zNTEsMC4xODVjLTAuMjczLDAuNTIzLTMuNTk4LDUuNTA1LTQuMjE3LDYuNDczYy0wLjEwNCwwLjE0OC0wLjIzLDAuMTI3LTAuMjQ1LTAuMDQxYy0wLjA2NC0wLjU3NC0wLjU2LTEuMjM1LTEuMzQyLTEuNTVjLTAuNTk2LTAuMjQyLTEuMTc5LTAuMjg3LTEuNzg0LTAuMjA1Yy0xLjA5NCwwLjE0NS0yLjA2OCwwLjcyMi0yLjkyMywxLjM3NGMtMS4yOTMsMC45ODEtMi40MDcsMi4yNTMtMy44NDMsMy4xOTNjLTAuNzg2LDAuNTExLTEuODYxLDAuOTU4LTIuNTc5LDAuMjkyYy0wLjY1MS0wLjYwNC0wLjU3OS0xLjk0NCwwLjQxOC0yLjk4MWMwLjEwNS0wLjEwOSwwLjIzMS0wLjAxOCwwLjIxMSwwLjA3OWMtMC4wOTQsMC40NywwLjAyMiwwLjkzNiwwLjM3NywxLjI2NGMwLjQzNCwwLjM4OCwxLjA1NiwwLjQzMywxLjU4OCwwLjE3M2MwLjYyNy0wLjMxMiwwLjk5Ni0wLjkxMSwxLjEwNS0xLjU5NWMwLjE2Ny0xLjA1Ny0wLjY0OC0xLjk5LTEuNjY3LTIuMDY2Yy0wLjgyOS0wLjA1OC0xLjYyMSwwLjIzLTIuMzk1LDAuODdjLTAuMzg4LDAuMzItMC42MDgsMC41NTgtMC45NDMsMS4wMzVjLTAuMDgzLDAuMTE3LTAuMjA4LDAuMTMtMC4yMDUtMC4wNDRjMC4wNDEtMS4zNTQtMC41Mi0yLjExNi0xLjY0LTIuMTQyYy0wLjg2OS0wLjAxOS0xLjc5OCwwLjQ1Mi0yLjUyMiwxLjAyOWMtMC43OTMsMC42MzctMS40ODcsMS40OC0yLjIzMSwyLjI3NWMtMC4wOTIsMC4wOTgtMC4xNzMsMC4wOTMtMC4xOTktMC4wOTZjLTAuMDIyLTAuODk4LTAuMjQ3LTEuNzY3LTAuNjYzLTIuMzg1Yy0wLjE0OC0wLjIxNC0wLjQ1Ni0wLjMyMS0wLjcxNi0wLjE3NmMtMC4xMiwwLjA2Ni0wLjUzOCwwLjI1OC0wLjg0MiwwLjUwNGMtMC4xNSwwLjEyNC0wLjIwOSwwLjMwMy0wLjE0MywwLjUzNGMwLjQwMSwxLjMzOSwwLjMxMywyLjg2NS0wLjIzMSw0LjE1MmMtMC40OTksMS4xNzktMS40NywyLjI0My0yLjYxMSwyLjYwMmMtMC43NTIsMC4yMzgtMS41MzMsMC4xMjItMi4wMTYtMC41NDRjLTAuNjY0LTAuOTItMC4zOTYtMi41MTksMC41OTMtMy44NDdjMC44NzQtMS4xNywyLjEzNy0xLjkxMiwzLjM5Ny0yLjM5MWMwLjE0OS0wLjA1NywwLjE4LTAuMTUyLDAuMTM4LTAuMjc4Yy0wLjA2OS0wLjIwNy0wLjE3OC0wLjQ5LTAuMjIzLTAuNjE4Yy0wLjExNS0wLjMwOC0wLjQzOS0wLjM1Ny0wLjgzNC0wLjMxNGMtMC45MTcsMC4xMDYtMS43NDIsMC40Mi0yLjU1OCwwLjg1NmMtMi4xMzcsMS4xNDQtMy4yMDgsMy4zNTktMy42NzgsNC41NDRjLTAuMjI1LDAuNTY4LTAuNDE5LDAuOTI1LTAuNjY5LDEuMjM5Yy0wLjMzNywwLjQyNC0wLjc2LDAuODA5LTEuNTMzLDEuNDg5Yy0wLjA2OSwwLjA2MS0wLjEyMSwwLjE5LTAuMDYzLDAuMzEyYzAuMDc5LDAuMTY0LDAuNDgxLDAuNzMyLDAuNTk1LDAuNzgxYzAuMTI2LDAuMDYyLDAuMjcyLTAuMDIzLDAuMzMtMC4wNjZjMC41NDEtMC4zNjYsMS4xODgtMC45NDcsMS41MDYtMS4zNDJjMC4xMTEtMC4xMzUsMC4yMjUtMC4wNzksMC4yODQsMC4xMjZjMC4yOTUsMS4wNTUsMS4wNywxLjkxNywyLjE0LDIuMjc3YzEuOTU5LDAuNjYxLDMuOTkxLTAuMjk2LDUuNTI1LTEuOTYxYzAuOTc1LTEuMDU5LDEuMzI3LTEuNzM4LDEuNy0yLjIwMWMwLjYzNS0wLjc4NSwxLjg4My0yLjU0MSwzLjM3MS0zLjY2N2MwLjU0NC0wLjQxNSwxLjE5MS0wLjczMiwxLjUxNS0wLjUyM2MwLjI2MSwwLjE2OSwwLjM0NiwwLjU2Mi0wLjA3MywxLjMyM2MtMS41MTcsMi43NzEtMy43NDgsNi4wMjQtNC4xNTksNi44MTNjLTAuMDc0LDAuMTM3LTAuMDA5LDAuMjQ0LDAuMTM0LDAuMjQ0YzAuNzk0LTAuMDA0LDEuNTgyLTAuMDAyLDIuMzAyLTAuMDAyYzAuMTE5LTAuMDA2LDAuMTczLTAuMDYxLDAuMjM0LTAuMTQ1YzEuMTYzLTEuODIzLDIuMjYtMy41NTcsMy40MzQtNS4zNWMwLjA2Ni0wLjEwNSwwLjEyNi0wLjAyNCwwLjEyOSwwLjAyMmMwLjAyNCwwLjQxNSwwLjEyNywwLjk4NSwwLjM3MywxLjM1OWMwLjQ0NCwwLjY4OSwxLjA3MywwLjk4NiwxLjc3LDAuOTkxYzAuNTU2LDAuMDA3LDAuODM2LTAuMDc3LDEuNDM1LTAuMzAyYzAuNDg4LTAuMTgxLDAuODc5LTAuNDE5LDEuMTc5LTAuNjMzYzAuMTc1LTAuMTIxLDAuMjA1LDAuMDgyLDAuMjAxLDAuMTE1Yy0wLjI3LDEuNDQ1LDAuMDYzLDMuMTU5LDEuNTAxLDMuODdjMS43MjEsMC44NDgsMy42MTItMC4zNDUsNC42OTktMS40MmMwLjEwNS0wLjEwNCwwLjIyLTAuMDk0LDAuMjMsMC4xMzFjMC4wMjQsMC40MSwwLjIxLDAuODk3LDAuNTQ5LDEuMjRjMC45MTIsMC45MTIsMi43NTEsMC41NTIsNC41OTgtMC44NzdjMS4xODQtMC45MTQsMi40MjMtMi4yMDcsMy41NDUtMy41NzZjMC4wNDItMC4wNTMsMC4wNzItMC4xMzktMC4wMDgtMC4yMjVjLTAuMTctMC4xNzgtMC40MTgtMC4zODItMC41ODYtMC41NGMtMC4wNzgtMC4wNjMtMC4xOS0wLjA0Ny0wLjI1NywwLjAwMmMtMS4xNDYsMS4wOTMtMi4xODEsMi4zMzktMy42NzQsMy4zNjdjLTAuNTA0LDAuMzUzLTEuMzA2LDAuNjM2LTEuNjY3LDAuMTQ4Yy0wLjE0Mi0wLjE5LTAuMTI1LTAuNDUzLDAuMDEzLTAuNzk2YzAuNDM1LTEuMDg2LDcuMzMxLTExLjU4NCw3LjY4OS0xMi4yMDNjMC4wNjEtMC4xMDctMC4wMDQtMC4xODctMC4xNC0wLjE4N0M3My44ODgsMTIuNDAzLDcyLjk1OCwxMi40MDUsNzIuMjE5LDEyLjQwNSIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9IlNWR0lEXzg2XyI+PHVzZSB4bGluazpocmVmPSIjU1ZHSURfODVfIiAgb3ZlcmZsb3c9InZpc2libGUiLz48L2NsaXBQYXRoPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfODdfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIzNS4zMDY2IiB4Mj0iMSIgeTI9IjM1LjMwNjYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAxNy44ODY3IDE3Ljg4NjcgMCAtNTc3LjA2NTcgMTEuMTAzNSkiPjxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz48c3RvcCAgb2Zmc2V0PSIwLjQzMzMiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRUZFRkUiLz48c3RvcCAgb2Zmc2V0PSIwLjU4OTIiIHN0eWxlPSJzdG9wLWNvbG9yOiNGOUY5RjkiLz48c3RvcCAgb2Zmc2V0PSIwLjY5MSIgc3R5bGU9InN0b3AtY29sb3I6I0YxRjFGMSIvPjxzdG9wICBvZmZzZXQ9IjAuOCIgc3R5bGU9InN0b3AtY29sb3I6I0VERURFRCIvPjxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEQURBREEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjM0LjEyMiIgeT0iMTIuNDAzIiBjbGlwLXBhdGg9InVybCgjU1ZHSURfODZfKSIgZmlsbD0idXJsKCNTVkdJRF84N18pIiB3aWR0aD0iNDAuNjc2IiBoZWlnaHQ9IjE1Ljc5OCIvPjwvZz48Zz48ZGVmcz48cGF0aCBpZD0iU1ZHSURfODhfIiBkPSJNNDIuMjk2LDEzLjg1NWMtMC4wNTYtMC40MTIsMC4wNzctMC45NjUsMC41MTktMS4zNTVjMC4yMjEtMC4xOTYsMC41Mi0wLjI0LDAuNzA1LTAuMDgzYzAuMjA1LDAuMTc2LDAuMTA4LDAuNjE0LTAuMDk5LDAuOTE3Yy0wLjIyOCwwLjMzNS0wLjYxMiwwLjYyNC0wLjk2MywwLjY5NGMtMC4wMSwwLjAwMi0wLjAyLDAuMDAzLTAuMDI5LDAuMDAzQzQyLjM3MSwxNC4wMzIsNDIuMzIyLDEzLjk5MSw0Mi4yOTYsMTMuODU1IE0zMy41ODMsNi4xMThjLTQuMjM3LDAuMzU3LTguMjcsMi43NDItOC4yNzgsNi4zNjVjLTAuMDA0LDEuODM2LDEuMzAyLDMuMzI1LDMuMzI1LDMuMjU5YzIuMzc4LTAuMDgsNC4zMy0xLjk4Niw1LjM1MS00LjM4N2MwLjM4OC0wLjkxMS0wLjMzLTEuMjg5LTAuNjcyLTAuNzY1Yy0wLjYwOSwwLjk0NS0xLjQ3LDEuNjc5LTIuMzk5LDIuMTM0Yy0xLjExOCwwLjU0OC0yLjMxNCwwLjQtMi42NzctMC41MDhjLTAuNTA5LTEuMjgxLDAuNTUtMy4xOTksMi45NjctNC4xMDJjMy40OTItMS4yOTIsNy4xNDYtMC40MzcsMTAuNjYyLDAuMjI0YzAuMDUsMCwwLjIzNywwLjEwMywwLjA3MiwwLjE5Yy0wLjYzLDAuMzQyLTEuMjUsMC42MjItMi4yMTYsMS40NTNjLTAuNjkxLDAuNTkzLTEuNTk4LDEuMzgyLTIuMjk5LDIuMjQyYy0wLjY5NiwwLjg0OC0xLjE4OSwxLjYwMy0xLjg0MiwyLjQ0MWMtMC4wOTEsMC4xMi0wLjIwMywwLjExNi0wLjIwMiwwLjExNmMtMS41OSwwLjI2OC0zLjE0NywwLjQ0OC00LjU3MywxLjQ0Yy0wLjI5NSwwLjIwMy0wLjQyMiwwLjU2NC0wLjI0NCwwLjg0MWMwLjE2MSwwLjI0NCwwLjUyOCwwLjI3MSwwLjc4NCwwLjA4NWMwLjg4Ni0wLjY2MywxLjc5OC0wLjk3NSwyLjg0My0xLjAwNGMwLjA0NiwwLjAwMywwLjA2OCwwLjAxMSwwLjA4MSwwLjAzOWMwLjAwNywwLjAxNSwwLjAwMiwwLjA1LTAuMDE3LDAuMDc0Yy0xLjU2NSwyLjE3My0xLjk1OCwyLjY2NC0zLjEzNiw0LjAxMmMtMC42MDMsMC42OTItMS4xOTYsMS4yNzctMS44NTksMS44ODZjLTIuNjc1LDIuNDg1LTUuNTUzLDIuNDQyLTYuNTg3LDAuODgzYy0wLjYxNS0wLjkzNS0wLjUzNC0xLjkxNy0wLjEzLTIuNzMxYzAuNDk4LTAuOTk3LDEuNTA0LTEuNzI4LDIuMzQtMi4xNTVjMC4zMS0wLjE2LDAuNC0wLjU1NiwwLjA4OS0wLjkxOGMtMC4xOTgtMC4yMzUtMC42NzctMC4yNzgtMS4wMzMtMC4yMTJjLTEuMDk2LDAuMjAyLTIuMzkyLDEuMDMtMy4xNTcsMi4wMjhjLTAuODYzLDEuMTE5LTEuMjk0LDIuNDc3LTEuMTQ5LDQuMDAxYzAuMjYsMi43NTEsMi41MjUsNC4zNCw1LjA5NSw0LjMyMmMyLjA0Ny0wLjAxNywzLjk3NS0wLjYzNyw2LjI5My0yLjk5MWMyLjE2Mi0yLjE5NSw0LjEzMS01LjQ3NCw1Ljk3Ni04LjUxNmMwLjA1OC0wLjA5NywwLjA5OC0wLjE0OSwwLjM3OC0wLjE4NGMxLjE1Ny0wLjE0NCwyLjg2NS0wLjMxLDMuOTYtMC4zNzNjMC4yNDMtMC4wMTMsMC4yOTEtMC4wMTEsMC4zOSwwLjExMmMwLjI4NSwwLjM1OSwwLjcxMywwLjY2NCwxLjA1NiwwLjg1YzAuMTY4LDAuMDkxLDAuMjQ4LDAuMTM2LDAuMzc4LDAuMTM5YzAuMTYzLDAuMDAzLDAuMjg5LTAuMDg0LDAuMzctMC4xNzZjMC4xMTYtMC4xMjgsMC4xNDktMC4yOTUsMC4wODYtMC40MDJjLTAuMDY1LTAuMTEyLTAuODI5LTAuNTM2LTAuODUyLTAuNzA3Yy0wLjAxNy0wLjEwNiwwLjEwMS0wLjEzMywwLjEwMS0wLjEzM2MwLjU2MS0wLjE3NSwxLjE0NS0wLjUzOCwxLjQ5OS0xLjIxNWMwLjM0Ny0wLjY2NywwLjQwMy0xLjU1Ny0wLjIzMy0yLjA1MmMtMC41NTktMC40MzUtMS40MDEtMC4zNjctMi4wNzQsMC4yMzdjLTAuNjU3LDAuNTg2LTAuODc2LDEuNDM4LTAuNzg3LDIuMTg2YzAuMDE2LDAuMTMsMC4wMDksMC4xNzQtMC4xNjcsMC4xODhjLTEuMDEyLDAuMDgxLTEuOTg3LDAuMTA5LTMuMDcxLDAuMTY3Yy0wLjA3MywwLjAwNC0wLjA5Ni0wLjA0My0wLjA1NC0wLjA5M2MxLjI0OS0yLjE3LDMuMTEzLTMuNzEzLDUuMTc0LTUuMjM0YzAuMTM3LTAuMTAzLDAuMDk1LTAuMjk3LDAuMDktMC40NmMzLjcyMiwwLjgwOCw3LjMyLDIuMzE0LDExLjE4MSwyLjI4MWMxLjU5Ny0wLjAxMiwzLjEyNi0wLjI1NSw0LjU4Ny0xLjA1N2MxLjI4NS0wLjcwMiwxLjgwNy0xLjM0OSwxLjg0NS0yLjAyM2MwLjAzMS0wLjQ2Ni0wLjI5My0wLjc2MS0wLjc1NC0wLjY2Yy0zLjkwMywwLjg5NS03LjYyNSwwLjg4Ni0xMS41MDcsMC40MTZjLTQuNDA1LTAuNTM1LTguNjM0LTEuNjMyLTEzLjAxNy0xLjYzMkMzNC45MTIsNi4wMzgsMzQuMjUsNi4wNjIsMzMuNTgzLDYuMTE4Ii8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iU1ZHSURfODlfIj48dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF84OF8iICBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF85MF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCIgeTE9IjM1LjMwNDciIHgyPSIxIiB5Mj0iMzUuMzA0NyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwIDI0LjgxMTUgMjQuODExNSAwIC04MzUuNzkxMyA0LjMwNjYpIj48c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRkZGIi8+PHN0b3AgIG9mZnNldD0iMC40MzMzIiBzdHlsZT0ic3RvcC1jb2xvcjojRkVGRUZFIi8+PHN0b3AgIG9mZnNldD0iMC41ODkyIiBzdHlsZT0ic3RvcC1jb2xvcjojRjlGOUY5Ii8+PHN0b3AgIG9mZnNldD0iMC42OTEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMUYxRjEiLz48c3RvcCAgb2Zmc2V0PSIwLjgiIHN0eWxlPSJzdG9wLWNvbG9yOiNFREVERUQiLz48c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojREFEQURBIi8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSIxOS40ODIiIHk9IjYuMDM4IiBjbGlwLXBhdGg9InVybCgjU1ZHSURfODlfKSIgZmlsbD0idXJsKCNTVkdJRF85MF8pIiB3aWR0aD0iNDEuMzk3IiBoZWlnaHQ9IjIxLjM1Ii8+PC9nPjwvc3ZnPg==);
}

article,
.article,
.notification .content {
    font-size: 0.9375em;
    font-family: "DINPro";
    line-height: normal;
    text-align: justify;
}

article h1,
.article h1,
.notification .content h1 {
    font-size: 2.5em;
    font-weight: 200;
    text-transform: uppercase;
    color: #00548f;
    margin: 0.625em 0;
    text-align: center;
}

article h2,
.article h2,
.notification .content h2 {
    font-size: 1.5em;
    font-weight: 600;
    color: #00548f;
    margin: 1.125em 0 0.75em 0;
}

article h3,
.article h3,
.notification .content h3 {
    font-size: 1.375em;
    font-weight: normal;
    margin: 1.125em 0 0.75em 0;
}

article h4,
.article h4,
.notification .content h4 {
    font-size: 1.25em;
    font-weight: normal;
    margin: 1.125em 0 0.75em 0;
}

article h5,
.article h5,
.notification .content h5 {
    font-size: 1.125em;
    font-weight: normal;
    margin: 1.125em 0 0.75em 0;
}

article h6,
.article h6,
.notification .content h6 {
    font-size: 0.75em;
    font-weight: normal;
}

article p,
.article p,
.notification .content p {
    margin: 0.75em 0em;
}

article ul,
article ol,
.article ul,
.notification .content ul,
.article ol,
.notification .content ol {
    list-style: disc;
    margin-left: 1.25em;
}

article em,
.article em,
.notification .content em {
    font-style: italic;
}

article .content,
.article .content,
.notification .content .content {
    margin-bottom: 3.125em;
}

article table,
.article table,
.notification .content table {
    width: 100%;
}

article table tr,
.article table tr,
.notification .content table tr {
    border-bottom: 1px solid white;
    /*text-align: center;*/
}

article table tr th,
.article table tr th,
.notification .content table tr th {
    background-color: #00a6da !important;
    color: white;
    padding: 0.75em;
}

article table tr th:first-child,
.article table tr th:first-child,
.notification .content table tr th:first-child {
    border-right: 1px solid white;
}

article table tr td,
.article table tr td,
.notification .content table tr td {
    background-color: #ccf3ff;
    color: #00548f;
    padding: 0.75em;
}

article table tr td:first-child,
.article table tr td:first-child,
.notification .content table tr td:first-child {
    border-right: 1px solid white;
}

article table tr:nth-child(2n+1) td,
article table tr:nth-child(2n+1) th,
.article table tr:nth-child(2n+1) td,
.notification .content table tr:nth-child(2n+1) td,
.article table tr:nth-child(2n+1) th,
.notification .content table tr:nth-child(2n+1) th {
    background-color: #e8e8e8;
}

.blue {
    color: #00548f !important;
}

.bluelight {
    color: #00a6da !important;
}

.red {
    color: #C71818 !important;
}

@media only screen and (max-width: 1023px) {
    .article,
    .notification .content {
        font-size: 14px;
        padding: 0 1.25em;
    }

    .article h1,
    .notification .content h1 {
        font-size: 1.875em;
    }
}

.sibling-menu li a {
    display: block;
    font-size: 1.75em;
    padding: 0.75em 5%;
    font-weight: normal;
    color: white;
    text-transform: uppercase;
    background: #00a6da;
    border-bottom: 1px solid #c4e6f8;
}

.sibling-menu li a:after {
    float: right;
    font-size: 0.6875em;
}

.sibling-menu li a:hover {
    text-decoration: none;
    color: white;
}

.sibling-menu li.active a {
    background: #00548f;
}

.card {
    background-color: white;
    text-decoration: none;
    display: block;
    text-align: center;
    padding-bottom: 1.875em;
    margin-bottom: 1.875em;
}

.card img {
    margin-bottom: 0.9375em;
}

.card .img {
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-color: #e8e8e8;
    width: 100;
    margin-bottom: 0.9375em;
}

.card .img:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 75%;
}

.card .img > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.image-wrapper {
    position: relative;
    padding-bottom: 73%;
    overflow: hidden;
    margin-bottom: 15px;
}

.image-wrapper img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    min-width: 100%;
    height: 100%;
}

.card .title,
.card .subtitle,
.card .lead {
    padding: 0em 0.9375em;
}

.card .title {
    font-size: 1.125em;
    color: #00548f;
    text-decoration: none;
}

.card .subtitle {
    font-size: 0.8125em;
    font-weight: 600;
    color: #00548f;
    padding: 0.3125em 0.9375em 0.9375em 0.9375em;
}

.card .lead {
    color: #111111 !important;
}

.card .separator {
    margin: 0.9375em 0.9375em 0 0.9375em;
    background-image: -webkit-linear-gradient( left , #00548f 0%, #00548f 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0) 100%);
    background-image: linear-gradient(to right, #00548f 0%, #00548f 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0) 100%);
    background-size: 4px 1px;
    height: 1px;
}

.card .blueButton {
    min-width: 70%;
    margin: 1.5625em 0 0 0;
}



.card:hover {
    text-decoration: none;
}

.card-bordered {
    border: 2px solid #ebebeb;
}

.card-bordered .title {
    text-transform: uppercase;
}

.card-fixed .title {
    height: 2.8125em;
    overflow: hidden;
}

.card-fixed .subtitle {
    height: 1.875em;
    overflow: hidden;
}

.card-fixed .lead {
    height: 5.625em;
    overflow: hidden;
}

#shitTypeTab .blueButton {
    width: auto;
}

@media only screen and (max-width: 1023px) {
    .card {
        font-size: 16px;
    }

#shipTypeTab .blueButton {
    width: 40%;
    margin-bottom: 5px;
    padding-left: 3px;
    padding-right: 3px;
}
}

.paginator {
    text-align: center;
    padding: 2.5em 0;
}

.paginator .next,
.paginator .prev {
    font-size: 0.6875em;
    padding: 0.9375em 1em;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    display: inline-block;
    margin: 0;
}

.paginator .prev {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

.paginator .current-page {
    display: inline-block;
    background: white;
    font-size: 0.875em;
    font-weight: bold;
    color: #00548f;
    padding: 0.5em 1.25em;
}

.paginator .total-items {
    color: #00548f;
    font-size: 0.625em;
    margin-top: 0.625em;
    font-weight: 600;
}

@media only screen and (max-width: 1023px) {
    .paginator {
        font-size: 20px;
    }
}

/*
    Project Specialty: Bahart
*/

.carousel .navbar {
    margin-top: 0 !important;
    margin-bottom: 1.875em;
    height: 2.1875em;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.carousel .navbar a i {
    background-color: #00a6da !important;
}

.carousel .navbar a.active i {
    background-color: #00548f !important;
}

.carousel .navbar-inverse a i {
    background-color: #00548f !important;
}

.carousel .navbar-inverse a.active i {
    background-color: white !important;
}

/*
    Compontent Specialty
*/

.carousel {
    margin: 0;
    position: relative;
}

.carousel:after {
    content: "";
    display: table;
    clear: both;
}

.carousel .carousel-mask {
    overflow: hidden;
    width: 100%;
    height: auto;
    white-space: nowrap;
}

.carousel ul {
    margin: 0;
    position: relative;
    left: 0;
    text-align: center;
    -webkit-transition: left 0.8s ease-in-out;
    -moz-transition: left 0.8s ease-in-out;
    transition: left 0.8s ease-in-out;
}

.carousel li {
    display: inline-block;
    float: left;
    vertical-align: top;
    float: none;
    margin: 0 0 0 0 !important;
}

.carousel li * {
    white-space: normal;
}

.carousel li a {
    display: block;
    position: relative;
}

.carousel li img {
    width: 100%;
}

.carousel .arrows {
    position: absolute;
    float: left;
    display: none;
    z-index: 999;
    cursor: pointer;
}

.carousel .arrows i {
    color: #00a6da !important;
    font-size: 3.75em;

}

.carousel .arrows i:hover {
    color: #00548f !important;
}

.carousel .navbar-inverse .arrows i {
    color: white !important;

}

.row-blue .carousel .arrows i {
    color: white !important;
    font-size: 3.75em;

}

.row-blue .carousel .arrows i:hover {
    color: #00548f !important;
}

@media only screen and (min-width: 1024px) {
    .carousel .arrows.right {
        right: -20px;
        top: 30%;
    }

    .carousel .arrows.left {
        left: -25px;
        top: 30%;
    }
}

@media only screen and (max-width: 1023px) {
    .carousel .arrows.right {
        right: 35px;
        bottom: 15px;
    }

    .carousel .arrows.left {
        left: 35px;
        bottom: 15px;
    }
    .carousel .navbar {
        display: none;
    }
}

.carousel .arrows.enabled {
    display: block;
}



.carousel .navbar
{
    text-align: center;
    margin-top: 1.875em;
}

.carousel .navbar a {
    display: inline-block;
    margin: 0;
    padding: 0.4375em;
}

.carousel .navbar a i {
    display: block;
    background-color: gray;
    font-size: 1.875em;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-radius: 50%;
    width: 0.625em;
    height: 0.625em;
}

.carousel .navbar a.active i {
    background-color: white;
}

.billboard {
    height: 4.375em;
    overflow: hidden;
    background-color: #00548f;
    background-position: center;
    background-size: cover;
    text-align: center;
}

.billboard.active {
    height: 17.5em;
    line-height: 17.5em;
}

.billboard.active span {
    display: inline-block;
}

.billboard span {
    display: none;
    vertical-align: middle;
    font-size: 4.375em;
    line-height: normal;
    color: white;
    font: "DINPro";
    font-weight: bold;
}

@media only screen and (max-width: 1023px) {
    .billboard span {
        font-size: 1.8125em;
    }
}

.attachments {
    padding: 1.25em 0;
}

.attachments .label {
    font-size: 2.5em;
    font-weight: 200;
    text-transform: uppercase;
    color: #00548f;
    text-align: center;
    margin-bottom: 0.625em;
}

.attachments .container a {
    color: #00548f;
    display: block;
    background: #e9e9e9;
    padding: 1.25em 1.875em;
    margin-bottom: 0.4375em;
    font-size: 1.125em;
}

.attachments .container a:hover {
    background: #00a6da;
    color: white;
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.attachments .container a .download {
    margin-left: 0.625em;
    float: right;
    font-weight: 600;
}

.attachments .container a .download:after {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    font-size: 1.375em;
    position: relative;
    top: 5px;
    left: 7px;
}

.attachments .container a .attributes {
    word-break: break-all;
}

.gallery {
    background: #00a6da url("/public/img/blueLightPattern.jpg");
    padding: 1.25em 0;
}

.gallery .label {
    font-size: 2.5em;
    font-weight: 200;
    text-transform: uppercase;
    color: white;
    text-align: center;
    margin-bottom: 0.625em;
}

.gallery .blueButton {
    clear: both;
    display: table;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
}

.gallery .blueButton:hover,
.gallery .card:hover .blueButton,
.card:hover .gallery .blueButton {
    background: white;
    color: #00548f;
}

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

.gallery .gr-3 {
    float: none;
    vertical-align: top;
}

.gallery img {
    width: 100%;
    cursor: pointer;
}

.gallery img:first-child.landscape {
    padding-bottom: 1em;
}

.gallery img.landscape {
    width: 82%;
}

.modal .modal-text {
    width: 780px;
    padding: 1.875em;
}

@media only screen and (max-width: 1023px) {
    .modal .modal-text {
        width: 90%;
        font-size: 9px;
    }
}

.modal .modal-content > div {
    color: #00548f;
}

.modal .title {
    margin: 0.625em 1.25em;
    color: #00548f;
}

.modal .title i {
    display: inline-block;
    vertical-align: middle;
    background-color: #00548f;
    color: white;
    border-radius: 50%;
    width: 2.1875em;
    height: 2.1875em;
    margin-right: 0.9375em;
    text-align: center;
    line-height: 2.1875em;
    font-size: 0.625em;
}

.modal .subtitle {
    text-transform: uppercase;
    font-size: 0.75em;
    font-weight: 600;
    color: #00548f;
    text-align: center;
    padding: 1.25em 0em 0.625em 0em;
}

.modal [class^="gr-"] {
    padding-top: 1.6875em;
    padding-bottom: 0.625em;
    text-transform: uppercase;
    font-size: 0.75em;
    font-weight: 600;
}

.modal [class^="gr-"].value {
    padding-top: 0.75em;
    color: #00a6da;
    text-align: right;
    font-size: 1.125em;
    font-weight: normal;
}

.modal .row {
    background-image: -webkit-linear-gradient( left , #00548f 0%, #00548f 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0) 100%);
    background-image: linear-gradient(to right, #00548f 0%, #00548f 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0) 100%);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    background-position: bottom;
    margin: 0 1.25em !important;
    min-width: 31.25em;
}

.modal .caption {
    margin: 2.5em;
    font-size: 0.75em;
    font-weight: 600;
    text-align: center;
}

.modal .caption a {
    color: #00a6da !important;
}

.modal .text {
    padding: 1.25em 0;
}

.modal .close {
    color: #00548f !important;
}

.modal .arrows {
    position: absolute;
    background: #00a6da;
    color: white;
    padding: 1.25em 0.625em;
    top: 40%;
    cursor: pointer;
}

.modal .arrows:hover {
    background-color: #00548f;
}

.modal .arrows i {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

.modal .arrows.right {
    right: 0;
}

.modal .arrows.right i {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.modal-overlay {
    position: fixed;
    display: none;
    opacity: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9;
    background-color: #000;
    -webkit-transition: opacity 0.4s ease-in-out;
    -moz-transition: opacity 0.4s ease-in-out;
    transition: opacity 0.4s ease-in-out;
}

.modal-overlay.in {
    opacity: .6;
}

.modal {
    position: fixed;
    display: none;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    -webkit-transition: opacity 0.4s ease-in-out;
    -moz-transition: opacity 0.4s ease-in-out;
    transition: opacity 0.4s ease-in-out;
}

.modal.in {
    opacity: 1;
}

.modal-wrapper {
    display: table;
    width: 100%;
    height: 100%;
}

.modal-vertical {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.modal-container {
    position: relative;
    margin: 0 auto;
    display: inline-block;
    text-align: left;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0px -2px 4px 0px rgba(0, 0, 0, 0.8);
}

.modal-container .close {
    position: absolute;
    right: 10px;
    font-size: 35px;
    text-align: center;
    font-weight: bold;
    -webkit-font-smoothing: subpixel-antialiased;
    color: white;
    z-index: 9999;
}

.modal-container .close:hover {
    text-decoration: none;
}

.modal-container .title {
    font-size: 1.75em;
    text-transform: uppercase;
}

.modal-container .subtitle {
    font-size: 1.23077em;
    text-transform: uppercase;
}

.modal-container .modal-content img {
    display: block;
}

.modal-container .content {
    margin: 0;
    padding: 1.53846em 0 0 0;
    width: auto;
}

.modal-container .content .desc {
    margin: 0 0 1.53846em 0;
}

.modal-container .content img {
    display: block;
}

@media only screen and (max-width: 1023px) {
    .modal-container {
        width: 90%;
        max-width: 90%;
        max-height: 100%;
    }

    .modal-container img {
        width: 100%;
    }
}

.headerDesktop {
    height: 5.9375em;
    background: #00548f url("/public/img/headerBackground.png") bottom repeat-x;
    font-family: "DINPro";
}

.headerDesktop a {
    text-decoration: none;
}

.headerDesktop .logo {
    width: 8.4375em;
    height: 8.4375em;
    position: absolute;
    z-index: 610;
    margin-top: 0.4375em;
    display: inline-block;
    background: url("/public/img/bahartLogo135.png");
}

.headerDesktop .topMenu {
    margin-left: 8.4375em;
    text-align: right;
    height: 2.8125em;
    overflow: hidden;
}

.headerDesktop .topMenu .accessibility {
    float: right;
    height: 1.875em;
    padding-top: 0.3125em;
    overflow: hidden;
}

.headerDesktop .topMenu .language {
    float: right;
    border: 1px solid #03416b;
    border-width: 0 1px;
    height: 3.125em;
    box-sizing: border-box;
    padding: 0.625em 0.9375em;
    margin: 0 0.9375em;
}

.headerDesktop .topMenu .language a {
    font-size: 0.75em;
    font-weight: bold;
    float: left;
    color: #00a6da;
    padding: 0.0625em 0.3125em;
    border-right: 1px solid white;
}

.headerDesktop .topMenu .language a:last-child {
    border: none;
}

.headerDesktop .topMenu .language a.active,
.headerDesktop .topMenu .language a:hover {
    color: white;
}

.headerDesktop .topMenu .search {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.headerDesktop .topMenu .search .search-input {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-right: 30px;
}

.headerDesktop .topMenu .search .search-input input {
    width: 100%;
    padding: 5px 10px;
    margin-top: 5px;
    border: none;
    background: #00548f;
    outline: none;
    color: #00548f;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.headerDesktop .topMenu .search .search-input input:-moz-placeholder {
    font-weight: 200;
    color: #00548f;
    font-style: italic;
}

.headerDesktop .topMenu .search .search-input input::-moz-placeholder {
    font-weight: 200;
    color: #00548f;
    font-style: italic;
}

.headerDesktop .topMenu .search .search-input input:-ms-input-placeholder {
    font-weight: 200;
    color: #00548f;
    font-style: italic;
}

.headerDesktop .topMenu .search .search-input input::-webkit-input-placeholder {
    font-weight: 200;
    color: #00548f;
    font-style: italic;
}

.headerDesktop .topMenu .search .search-input input:focus,
.headerDesktop .topMenu:hover .search .search-input input {
    background: rgba(0, 166, 218, 0.25);
    color: rgba(255, 255, 255, 0.8);
}

.headerDesktop .topMenu .search .search-input input:focus::-webkit-input-placeholder,
.headerDesktop .topMenu:hover .search .search-input input::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.headerDesktop .topMenu .search .search-button {
    margin: 7px 0 0 5px;
    color: #00a6da;
    float: right;
}

.headerDesktop .topMenu .search .search-button i {
    font-size: 1.625em;
}

.headerDesktop .topMenu .search .search-button:hover i {
    color: white;
    cursor: pointer;
}

.headerDesktop .mainMenu {
    margin-left: 8.4375em;
}

.headerDesktop .mainMenu ul {
    font-size: 0;
    height: 50px;
    overflow: hidden;
}

.headerDesktop .mainMenu li {
    display: inline-block;
    background-image: linear-gradient(rgba(255, 255, 255, 0) 80%, #00548f 0%);
    background-position: right;
    background-size: 1px 4px;
    background-repeat: repeat-y;
}

.headerDesktop .mainMenu li:last-child {
    background: none;
}

.headerDesktop .mainMenu li a {
    vertical-align: middle;
    display: inline-block;
    color: #00548f;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    height: 50px;
    line-height: 50px;
    max-width: 110px;
    padding: 0 11px;
    text-align: center;
    margin: 0 3px;
}

.headerDesktop .mainMenu li a span {
    line-height: 14px;
    display: inline-block;
    vertical-align: middle;
}

.headerDesktop .mainMenu li:hover a {
    background: #00a6da;
    color: white;
}

.headerDesktop .mainMenu li ul {
    display: none;
    font-size: 16px;
    background: #00a6da;
    position: absolute;
    height: auto;
    padding: 0.625em 1.25em 0.625em 1.25em;
    width: 160px;
    z-index: 620;
    margin-left: 3px;
}

.headerDesktop .mainMenu li ul li {
    display: block;
    height: auto;
    background: none;
}

.headerDesktop .mainMenu li ul li a {
    text-transform: none;
    font-weight: normal;
    font-size: 0.75em;
    color: white;
    height: auto;
    line-height: normal;
    max-width: 160px;
    padding: 8px 0;
    text-align: left;
    margin: 0;
}

.headerDesktop .mainMenu li ul li a:hover {
    color: #00548f;
}

.headerDesktop .mainMenu li ul ul {
    display: none !important;
}

.headerDesktop .mainMenu li:hover ul {
    display: block;
}

.breadcrumb {
    width: auto;
    background: #00a6da;
    position: relative;
    margin-top: -18px;
    z-index: 100;
}

.breadcrumb ul {
    padding: 12px 15px;
}

.breadcrumb li {
    display: inline-block;
}

.breadcrumb li a {
    font-size: 13px;
    font-weight: 600;
    color: #00548f;
}

.breadcrumb li a.active {
    color: white;
    font-weight: normal;
}

.breadcrumb li:not(:last-child) a:after {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    font-size: 8px;
    padding: 3px;
}

.wrapperMobile input[type=checkbox] {
    position: absolute;
    left: -900%;
    width: auto;
}

.wrapperMobile label {
    display: block;
    width: 100%;
    font-size: 1em;
    line-height: normal;
    cursor: pointer;
}

.wrapperMobile label a {
    text-decoration: none;
    text-transform: uppercase;
}

.headerMobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 5.8125em;
    background-color: #fff;
    z-index: 600;
}

.headerMobile label {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    width: auto;
    height: 5.8125em;
}

.headerMobile label i {
    display: block;
    overflow: hidden;
    color: #00a6da;
    padding: 0.7em;
    font-size: 2.5em;
}

.headerMobile label.menu {
    width: 5.8125em;
    left: auto;
    right: 0;
}

.headerMobile label.search {
    width: 5.8125em;
    left: auto;
    right: 5.8125em;
}
.headerMobile .accessibility{
    margin: 1em;
}

.languageMobile {
    margin: 2.1875em 0 0 1.25em;
    float: left;
}

.languageMobile a {
    font-size: 1.75em;
    font-weight: bold;
    color: #00a6da;
    padding: 0.0625em 0.3125em;
    border-right: 1px solid #00548f;
}

.languageMobile a:last-child {
    border: none;
}

.languageMobile a.active {
    color: #00548f;
}

.searchMobile {
    position: fixed;
    z-index: 540;
    top: 0;
    width: 100%;
    height: 5.8125em;
    background: #00a6da;
    text-align: center;
    -webkit-transition: top 0.4s ease-in-out;
    -moz-transition: top 0.4s ease-in-out;
    transition: top 0.4s ease-in-out;
}

.searchMobile input {
    margin-top: 1.13636em;
    padding: 0;
    text-align: center;
    width: 95%;
    height: 2.04545em;
    border: none;
    font-family: "DINPro";
    text-transform: uppercase;
    font-size: 1.375em;
    letter-spacing: 0.125em;
    color: #00548f;
    border-top-left-radius: 0.45455em;
    border-bottom-left-radius: 0.45455em;
    border-top-right-radius: 0.45455em;
    border-bottom-right-radius: 0.45455em;
}

.menuMobile {
    position: fixed;
    top: 5.8125em;
    bottom: 0;
    left: 100%;
    width: 100%;
    /*    overflow: hidden;*/
    z-index: 620;
    -webkit-transition: left 0.4s ease-in-out, top 0.4s ease-in-out;
    -moz-transition: left 0.4s ease-in-out, top 0.4s ease-in-out;
    transition: left 0.4s ease-in-out, top 0.4s ease-in-out;
}

.menuMobile ul {
    position: absolute;
    overflow-y: auto;
    top: 0;
    bottom: 0;
    width: 100%;
    left: 0;
    background-color: #00548f;
}

.menuMobile ul li {
    border-bottom: 0.125em solid #fff;
    background-color: #00a6da;
}

.menuMobile ul li.footmenu {
    background-color: #00548f;
}

.menuMobile ul li a {
    position: relative;
    display: block;
    padding: 1.07143em;
    font-family: "DINPro";
    font-weight: normal;
    font-size: 1.75em;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
}

.menuMobile ul li a i {
    position: absolute;
    padding-top: 0.25em;
    left: auto;
    right: 1em;
}

.menuMobile ul li.back a {
    padding-left: 2.8125em;
}

.menuMobile ul li.back a i {
    left: 0.9375em;
}

.menuMobile ul ul {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    width: 100%;
    z-index: 999;
    background-color: red;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform 0.4s ease-in-out;
    -moz-transition: -moz-transform 0.4s ease-in-out;
    transition: transform 0.4s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
}

.menuMobile ul ul li:first-child {
    background: red;
}

/*==========  MENU HANDLER  ==========*/

#chk-menu:checked ~ .menuMobile {
    left: 0;
}

#chk-menu:checked ~ .headerMobile label.menu {
    background-color: #00a6da;
}

#chk-menu:checked ~ .headerMobile label.menu i.icon-hamburger {
    color: white;
}

/*==========  SEARCH HANDLER  ==========*/

#chk-search:checked ~ .searchMobile {
    top: 5.8125em;
}

#chk-search:checked ~ .menuMobile {
    top: 11.625em;
}

#chk-search:checked ~ .headerMobile label.search {
    background-color: #00a6da;
}

#chk-search:checked ~ .headerMobile label.search i.icon-search {
    color: white;
}

/*==========  MENU HANDLER  ==========*/

.menuMobile input[type=checkbox]:checked ~ .submenu {
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
}

.footer {
    padding: 18px 0;
    width: 100%;
    background: #00548f url("/public/img/footerPattern.jpg");
    color: white;
}

.footer a {
    color: white;
    text-decoration: underline;
}

.footer a:hover {
    color: #00a6da;
    text-decoration: underline;
}

.footer .label {
    font-size: 22px !important;
    font-weight: 600;
    margin-bottom: 0.75em;
}

.footer .logo {
    padding-top: 30px;
    float: left;
}

.footer .address {
    font-size: 13px;
    float: left;
    padding: 20px 75px 0 30px;
}

.footer .address a {
    text-decoration: none;
}

.footer .shortcuts {
    border-left: 1px solid #00a6da;
    float: left;
    padding: 20px 50px 20px 115px;
}

.footer .follow {
    padding: 20px 0 0 0;
    float: left;
}

.footer .bottom {
    margin-top: 18px;
    border-top: 1px solid #00a6da;
    padding: 20px 0 10px 0;
}

.footer .bottom .copyright {
    font-size: 15px;
    font-weight: 600;
    color: #00a6da;
    display: inline-block;
}

.footer .bottom ul {
    display: inline-block;
    float: right;
}

.footer .bottom ul li {
    display: inline-block;
    padding: 0 10px;
}

.footer .bottom ul li a {
    font-size: 15px;
    font-weight: 200;
}

.notification {
    background: #C71818;
    font-family: "DINPro";
    color: white;
    text-align: center;
    cursor: pointer;
}

.notification .controller {
    float: right;
    clear: both;
    margin-top: 0.625em;
    margin-right: 0.3125em;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.notification .title {
    font-size: 1em;
    padding: 0.625em 1.875em;
    text-align: center;
}

.notification .content {
    max-height: 0px;
    overflow: hidden;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.notification.active .controller {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.notification.active .content {
    max-height: 500px;
    padding: 0.625em 0 1.875em 0;
}

@media only screen and (max-width: 1023px) {
    .notification {
        margin-top: 3.125em;
        font-size: 14px;
    }
}

body#body_0_0 .breadcrumb {
    display: none;
}

body#body_0_0 .block-news {
    text-align: center;
}

body#body_0_0 .block-partners {
    text-align: center;
}

body#body_0_0 .block-partners .gr-4 {
    float: none;
}

body#body_0_0 .block-partners .card {
    padding: 1.25em;
    background: none;
}

body#body_0_0 .block-partners .card .img {
    background-size: contain;
    margin-bottom: 0em;
}

.article .info,
.notification .content .info {
    margin-bottom: 2.5em;
}

.article .info div,
.notification .content .info div {
    display: table;
    padding: 1em 0.625em;
}

.article .info div i,
.notification .content .info div i {
    vertical-align: middle;
    background-color: #00a6da;
    color: white;
    border-radius: 50%;
    width: 3.125em;
    height: 3.125em;
    margin-right: 0.9375em;
    text-align: center;
    line-height: 3.125em;
}

.article .info div i:before,
.notification .content .info div i:before {
    font-size: 1.25em;
}

.article .info div span,
.notification .content .info div span {
    display: table-cell;
    vertical-align: middle;
    color: #00548f;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.125em;
}

.article .info div span.email,
.notification .content .info div span.email {
    text-transform: none;
}

.article .info div span span.desc,
.notification .content .info div span span.desc {
    display: block;
    font-size: 0.625em;
}

.partners .card {
    padding: 1.25em;
}

.partners .card .img {
    background-size: contain;
    margin-bottom: 0em;
}

@media only screen and (max-width: 1023px) {
    .partners .card {
        padding: 0.625em;
    }
}

.galleries .gallery {
    background: none;
}

.galleries .label {
    text-transform: none;
    font-size: 1.5em;
    color: #00548f;
    font-weight: 600;
}

.article h5.date,
.notification .content h5.date {
    margin-top: 2.5em;
}

.article .author,
.notification .content .author {
    margin-top: 1.875em;
    font-style: italic;
}

#body_6_0 .billboard {
    height: 28.125em;
}

#body_6_0 .map {
    width: 100%;
    height: 100%;
}

#body_port_0 .billboard {
    height: 34.375em;
}

.ports .marker .i {
    color: white;
}

.ports .controll-panel {
    margin: 0 auto;
    width: 70%;
    background: white;
    position: relative;
    margin-top: -8.75em;
    margin-bottom: 4.375em;
    padding: 0.625em;
}

.ports .controll-panel .controll-wrapper {
    margin: 0 2.5em;
    padding: 0 1.25em;
    border: 1px solid #00a6da;
    border-width: 0 1px;
}

.ports .controll-panel .controll-header {
    text-align: center;
    color: #00548f;
    padding-bottom: 0.5em;
    font-size: 0.875em;
    font-weight: 600;
}

.ports .controll-panel ul {
    margin-left: 0;
}

.ports .controll-panel li {
    cursor: pointer;
    padding: 0 0.3125em;
    height: 2.1875em;
}

.ports .controll-panel li i {
    display: inline-block;
    background-color: #00548f;
    color: white;
    border-radius: 50%;
    width: 1.875em;
    height: 1.875em;
    line-height: 1.875em;
    vertical-align: middle;
}

.ports .controll-panel li.type-1 i {
    background-color: #00a6da;
}

.ports .controll-panel .arrows {
    margin-top: 0;
    opacity: 1;
    filter: alpha(opacity=100);
}

.ports .controll-panel .arrows i {
    color: #00a6da;
    font-size: 1em;
}

.ports .controll-panel .arrows.left {
    margin-left: -3.125em;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

.ports .controll-panel .arrows.right {
    margin-left: 40em;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.ports .controll-panel .navbar {
    font-size: 3px;
}

.ports .view-map {
    color: #00a6da;
    display: block;
    font-size: 0.375em;
    text-transform: none;
    padding-top: 0.3125em;
}

.ports .view-map i {
    padding-right: 0.3125em;
}

.ports .info div span span i {
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    border-radius: 50%;
    background-color: #00548f;
    margin-right: 0.625em;
}

.ports .info div span span i.light {
    background-color: #00a6da;
}

.ports .services {
    text-align: center;
    margin-bottom: 1.875em;
}

.ports .services div {
    display: inline-block;
    width: 9.375em;
    text-align: center;
    vertical-align: top;
    color: #00a6da;
    text-transform: uppercase;
    font-size: 0.625em;
    font-weight: bold;
    margin-bottom: 1.5625em;
}

.ports .services div i {
    font-size: 1.375em;
    display: inline-block;
    margin: -0.625em 1.375em 0.3125em 1.375em;
    background-color: none;
    border: 3px solid #00a6da;
    color: #00a6da;
    border-radius: 50%;
    width: 3.125em;
    height: 3.125em;
    text-align: center;
    line-height: 3.125em;
}

.ports .services div i:before {
    font-size: 1.75em;
}

@media only screen and (max-width: 1023px) {
    #body_6_0 .billboard {
        display: none;
    }

    .ports .controll-panel {
        font-size: 0.8125em;
    }
}

.article .rent-a-boat,
.notification .content .rent-a-boat {
    text-align: center;
}

.article .carousels-tab,
.notification .content .carousels-tab {
    text-align: center;
    margin-bottom: 1.875em;
}

.article .carousels-tab .blueButton,
.notification .content .carousels-tab .blueButton {
    margin: 0;
    padding: 0.9375em;
    width: 20%;
    display: inline-block;
}

.article .carousels-tab .blueButton.inverse,
.notification .content .carousels-tab .blueButton.inverse {
    background-color: #00a6da !important;
}

.article .ship-info i:before,
.notification .content .ship-info i:before {
    font-size: 2.5em !important;
}

#body_programs_index_0 .billboard,
#body_programs_town_0 .billboard,
#body_programs_program_0 .billboard,
#body_sights_program_0 .billboard {
    height: 28.125em;
}

#body_programs_index_0 .map,
#body_programs_town_0 .map,
#body_programs_program_0 .map,
#body_sights_program_0 .map {
    width: 100%;
    height: 100%;
}

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

.programs .info > div {
    display: block;
}

.programs .info > div span {
    white-space: nowrap;
    display: inline;
}

@media only screen and (max-width: 1023px) {
    #body_programs_index_0 .billboard,
    #body_programs_town_0 .billboard {
        display: none;
    }
}

#body_sights_index_0 .billboard,
#body_sights_town_0 .billboard {
    height: 28.125em;
}

#body_sights_index_0 .map,
#body_sights_town_0 .map {
    width: 100%;
    height: 100%;
}

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

.sights .info > div {
    display: block;
}

.sights .info > div span {
    white-space: nowrap;
    display: inline;
}

@media only screen and (max-width: 1023px) {
    #body_sights_town_0 .billboard,
    #body_sights_index_0 .billboard {
        display: none;
    }
}

.map .marker {
    box-sizing: border-box;
    cursor: pointer !important;
}

.map .marker span {
    box-sizing: border-box;
    display: block;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
    color: black;
    margin: 0 auto;
    position: absolute;
    text-shadow: 1px 1px rgba(242, 242, 242, 0.8);
}

.map .marker i {
    display: block;
    background-color: white;
    border: 4px solid #00548f;
    color: #00a6da;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    text-align: center;
    line-height: 15px;
    margin: 0 auto;
    font-size: 9px;
    color: white;
}

.map .marker.inactive span {
    color: #636363;
}

.map .marker.inactive i {
    border-color: #C2C2C2;
}

#Timetable .preloading {
    width: 100%;
    height: 25em;
    background: #F2F2F2 url(/public/svg/fallback.svg);
    background-size: auto 90%;
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    padding-top: 21.875em;
    box-sizing: border-box;
}

#Timetable .preloading .preload {
    padding-right: 0.3125em;
    display: inline-block;
}

#Timetable .modal {
    position: absolute;
    top: 420px;
    bottom: auto;
    overflow-x: visible;
    overflow-y: visible;
}

#Timetable .modal .modal-ferrytimetable table tr td:first-child {
    border-right: none;
}

#Timetable .modal .modal-ferrytimetable table tr:nth-child(2n+1) td {
    font-size: 0.625em;
}

#Timetable .infowindow-content i {
    position: absolute;
}

#Timetable .infowindow-content i:before {
    color: #111111;
    font-size: 30px;
}

#Timetable .infowindow-content span {
    padding: 5px 0 0 40px;
    text-align: left;
    display: inline-block;
    max-width: 150px;
}

.component-thumbnail {
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-color: #e8e8e8;
    width: 100;
}

.component-thumbnail:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 75%;
}

.component-thumbnail > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.component-ferry {
    background: white;
    text-align: center;
    background-image: linear-gradient(rgba(255, 255, 255, 0) 80%, #00548f 0%);
    background-position: right;
    background-size: 1px 4px;
    background-repeat: repeat-y;
}

.component-ferry .title {
    font-weight: bold;
    color: #00548f;
    padding: 1.25em 0;
}

.component-ferry .countdown .item {
    float: left;
    width: 50%;
    padding: 0.3125em 0;
}

.component-ferry .countdown .item:first-child {
    background-image: linear-gradient(rgba(255, 255, 255, 0) 80%, #00548f 0%);
    background-position: right;
    background-size: 1px 4px;
    background-repeat: repeat-y;
}

.component-ferry .countdown .item .departure-title {
    text-transform: uppercase;
    font-size: 0.875em;
    color: #111111;
}

.component-ferry .countdown .item .departure-time {
    font-size: 2.5em;
    color: #00548f;
    font-weight: 200;
}

.component-ferry .countdown .item .departure-unit {
    color: #00548f;
}

.component-ferry .blueButton {
    text-transform: none;
    margin: 0.625em 0 1.25em 0;
    padding: 1em 1.5625em;
}

.compontent-filter {
    background: #00a6da;
    height: 26.125em;
    padding: 0.9375em;
    display: block;
    width: 100%;
    box-sizing: border-box;
    color: white;
    overflow: hidden;
}

.compontent-filter.compact {
    height: auto;
    cursor: pointer;
    width: 98%;
}

.compontent-filter .iconcontainer {
    cursor: auto;
    float: left;
    padding-top: 0.4375em;
    padding-right: 0.3125em;
}

.compontent-filter .iconcontainer i {
    width: 1.875em;
    height: 1.875em;
}

.compontent-filter .iconcontainer i:before {
    font-size: 1.875em;
}

.compontent-filter .iconcontainer i.icon-angle-down {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

.compontent-filter .title {
    text-align: left;
    font-weight: 200;
    font-size: 1.125em;
    min-height: 2.5em;
}

.compontent-filter .title .small {
    font-size: 0.625em;
}

.compontent-filter .title:after {
    content: '';
    clear: both;
}

.compontent-filter .field .iconcontainer {
    float: left;
    margin-top: 35px;
}

.compontent-filter .field .iconcontainer i:before {
    font-size: 1.25em;
}

.compontent-filter .field .input {
    width: 80% !important;
    float: left;
    height: 72px;
    overflow: hidden;
}

.compontent-filter .field .input label,
.compontent-filter .field .input input,
.compontent-filter .field .input div {
    color: white !important;
    font-family: DINPro !important;
}

.compontent-filter .field.types {
    display: table;
    width: 100%;
}

.compontent-filter .field.types button {
    width: auto !important;
}

.compontent-filter .field.types > div {
    display: table-cell;
    width: 20%;
    border-bottom: 1px solid #00548f;
    cursor: pointer;
}

.compontent-filter .field.types > div i {
    display: block;
    border: 1px solid #00548f;
    color: #00548f;
    border-radius: 50%;
    width: 2.0625em;
    height: 2.0625em;
    text-align: center;
    line-height: 2.0625em;
    position: relative;
    top: -0.625em;
}

.compontent-filter .field.types > div i:before {
    font-size: 1.4375em;
}

.compontent-filter .field.types > div i.active {
    color: white;
    border-color: white;
}

.compontent-filter .addField {
    cursor: pointer;
}

.compontent-filter .addField span {
    font-size: 0.8125em;
}

.compontent-filter .addField span:before {
    content: '+';
    padding: 0 0.3125em 0 1.875em;
}

.compontent-filter .blueButton {
    text-transform: none;
    font-size: 0.9375em;
    width: 100%;
    margin: 0.3125em 0;
    padding: 0.9375em 1.875em 0.9375em 0.9375em;
}

.compontent-filter .blueButton:hover,
.compontent-filter .card:hover .blueButton,
.card:hover .compontent-filter .blueButton {
    background-color: #00548f;
}

.compontent-filter .action {
    text-align: center;
    padding: 0.3125em 0 0.9375em 0;
    cursor: pointer;
}

.compontent-filter .action span {
    color: #00548f;
    font-size: 0.9375em;
    text-decoration: underline;
}

.compontent-map .map {
    height: 470px;
    background: #F7F7F7;
}

.component-weather {
    height: 155px;
    background: white;
    color: #00a6da;
}

.component-weather .container {
    margin: 0 60px;
    padding: 30px 0px;
    background-image: -webkit-linear-gradient( left , #00548f 0%, #00548f 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0) 100%);
    background-image: linear-gradient(to right, #00548f 0%, #00548f 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0) 100%);
    background-size: 4px 1px;
    background-position: top;
    background-repeat: repeat-x;
}

.component-weather .container div {
    display: inline-block;
    box-sizing: border-box;
    padding-top: 5px;
    padding-bottom: 5px;
}

.component-weather .container div.label {
    /*text-align: right;*/
    text-align: left;
    padding-right: 35px;
    width: 60%;
    /*border-right: 2px #00a6da solid;*/
    font-size: 20px;
    line-height: 26px;
    font-weight: bold;
    text-indent: -1000px;
    overflow: hidden;
}

.component-weather .container div.label::first-line {
    font-weight: normal;
}

.component-weather .container div.value {
    padding-left: 25px;
    width: auto;
    font-size: 60px;
    font-weight: 200;
}

.component-weather .container div i {
    font-size: 80px;
    position: absolute;
    margin: -5px 0 0px 15px;
}

.component-routes {
    text-align: left;
    background: white;
    padding: 0.3125em 0 3.125em 0;
}

.component-routes .route {
    border-bottom: 1px solid #00a6da;
    margin: 0 0.9375em;
}

.component-routes .route .title {
    padding-bottom: 0.3125em;
    display: table;
    width: 100%;
    min-height: 3.125em;
}

.component-routes .route .title .route-type {
    display: tabel-cell;
    width: 15%;
}

.component-routes .route .title .route-type i {
    display: block;
    background-color: white;
    border: 1px solid #00548f;
    color: #00548f;
    border-radius: 50%;
    width: 1.875em;
    height: 1.875em;
    text-align: center;
    line-height: 1.875em;
    position: relative;
    top: 0.8125em;
}

.component-routes .route .title .route-type i:before {
    font-size: 1.3125em;
}

.component-routes .route .title .short-title {
    display: table-cell;
    width: 65%;
    color: #00548f;
    font-size: 1em;
    word-break: break-word;
    padding: 0 0.3125em;
}

.component-routes .route .title .travel-time {
    display: table-cell;
    width: 20%;
    white-space: nowrap;
}

.component-routes .route .title .travel-time span {
    background-color: #00548f;
    color: white;
    font-size: 0.5625em;
    padding: 0.375em 0.625em;
}

.component-routes .route .description .long-title {
    color: #26BAE8;
    font-size: 0.75em;
    word-break: break-word;
}

.component-routes .route .action {
    text-align: center;
    padding: 0.625em 0 0.9375em 0;
    cursor: pointer;
}

.component-routes .route .action div {
    color: #00548f;
    font-size: 0.9375em;
    text-decoration: underline;
    font-weight: normal;
}

.component-routes .route .prices {
    color: #26BAE8;
    padding: 0.9375em 0;
    font-size: 1em;
    line-height: 1.75em;
}

.component-routes .route .prices > span {
    width: 50%;
    display: inline-block;
}

.component-routes .route .prices i {
    margin: 0 0.4375em;
}

.component-routes .route.referel .title .short-title {
    width: 80%;
}

.component-routes .trip {
    margin: 0.9375em 0.9375em;
    background-image: linear-gradient(rgba(255, 255, 255, 0) 30%, #26BAE8 0%);
    background-position: 28% 0;
    background-size: 1px 13px;
    background-repeat: repeat-y;
    border-bottom: 1px solid #00a6da;
}

.component-routes .trip .stop:last-child {
    background-color: white;
    padding-bottom: 0.9375em;
}
.component-routes .relatedRoute .trip .stop:last-child {
    background-color: #eee;
    padding-bottom: 0.9375em;
}

.component-routes .stop {
    padding-bottom: 0.9375em;
    display: table;
    width: 100%;
    color: #26BAE8;
}

.component-routes .stop .departure-time {
    display: table-cell;
    font-weight: 600;
    width: 20%;
    text-align: right;
}

.component-routes .stop .departure-time span {
    padding: 0.3125em 0.3125em;
    font-size: 0.75em;
}

.component-routes .stop .stop-icon {
    display: table-cell;
    width: 16%;
    text-align: center;
}

.component-routes .stop .stop-icon i {
    border: 2px solid #26BAE8;
    background-color: white;
    width: 0.9375em;
    height: 0.9375em;
    display: inline-block;
    border-radius: 50%;
    color: white;
}

.component-routes .stop .stop-icon i:before {
    font-size: 10px;
    display: block;
    padding-top: 2px;
}

.component-routes .stop .stop-info {
    display: table-cell;
    font-weight: 200;
    font-size: 0.75em;
    width: 64%;
}

.component-routes .stop .stop-info .title {
    color: #00548f;
    font-weight: 600;
}

.component-routes .stop.active .departure-time span {
    background-color: #00548f;
    color: white;
}

.component-routes .stop.active .stop-icon i {
    color: #00548f;
}

.component-routes .stop.active .hide {
    display: inherit !important;
}

.component-routes .commands {
    margin: 1.5625em 0.9375em;
}

.component-routes .commands .blueButton {
    text-transform: none;
    font-size: 0.9375em;
    width: 100%;
    margin: 0.3125em 0;
    padding: 0.9375em 1.875em 0.9375em 0.9375em;
    text-align: left;
}

.component-routes .commands .blueButton i {
    padding-top: 0.4375em;
    float: left;
    width: 2.5em;
    height: 2.5em;
}

.component-routes .commands .blueButton i:before {
    font-size: 1.875em;
}

.component-modal .iconcontainer {
    text-align: center;
    border-bottom: 1px solid #00548f;
    padding-bottom: 0.625em;
}

.component-modal .iconcontainer i {
    border: 1px solid #00548f;
    padding: 0.125em;
    border-radius: 50%;
    width: 1.875em;
    height: 1.875em;
    line-height: 1.875em;
    margin: 0em 0.3125em;
    cursor: pointer;
}

.component-modal .iconcontainer i:before {
    font-size: 1.625em;
}

.component-modal .iconcontainer i.active {
    color: #00a6da;
}

#Timetable .trips {
    height: 300px;
    overflow: scroll;
    overflow-x: hidden;
}

@media only screen and (min-width: 1024px) {
    #Timetable {
    //margin-top: -40px;
    }

    #Timetable .gr-3 {
        padding-right: 0;
    }

    #Timetable .gr-9 {
        padding-left: 0;
    }

    #body_route_ferry_0 .compontent-map .map,
    #body_9_2 .compontent-map .map {
        height: 920px;
    }
}

@media only screen and (max-width: 1023px) {
    #Timetable .component-ferry {
        font-size: 20px;
    }
}

.inquiry-overlay {
    display: none;
}

.modal .inquiry-overlay {
    display: block;
}

.inquiry > DIV {
    text-transform: none !important;
    font-family: DINPro;
}

.inquiry label {
    color: #00548f !important;
    font-weight: normal;
}

.inquiry hr {
    border-color: #00548f !important;
}

.inquiry .caption {
    font-size: 0.875em;
}

.inquiry .blueButton {
    font-size: 1.25em;
    margin-top: 0;
}

[id^="body_10_"] #Timetable,
[id^="body_9_"] #Timetable,
[id^="body_route_"] #Timetable {
    margin-top: 40px;
}
/*
[id^="body_10_"] .component-weather,
[id^="body_9_"] .component-weather,
[id^="body_route_"] .component-weather {
    display: none;
}
*/
@media only screen and (max-width: 1023px) {
    .wrapperMobile {
        display: block;
    }

    .wrapper {
        width: 100%;
    }

    .wrapperDesktop,
    .breadcrumb,
    .footer {
        display: none;
    }

    .block-title {
        font-size: 1.875em !important;
    }

    .blueButton.double {
        font-size: 1.25em !important;
        font-weight: 200;
    }
}

@media only screen and (min-width: 1024px) {
    .wrapperMobile {
        display: none;
    }

    .wrapperDesktop {
        display: block;
    }

    .wrapper {
        max-width: 970px;
        margin: 0 auto;
    }

    .sibling-menu {
        display: none;
    }
}

.baseFontSize,
body {
    line-height: normal;
}

@media only screen and (max-width: 767px) {
    .baseFontSize,
    body {
        font-size: 8px;
    }

    .billboard {
        height: 4.375em;
        overflow: hidden;
        background-color: #00548f;
        background-position: center;
        text-align: center;
    }


}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .baseFontSize,
    body {
        font-size: 12px;
    }
}

@media only screen and (min-width: 1024px) {
    .baseFontSize,
    body {
        font-size: 16px;
    }
}

@media only screen and (max-width: 767px) {
    .baseFontFamily,
    body {
        font-family: DINPro, sans-serif;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .baseFontFamily,
    body {
        font-family: DINPro, sans-serif;
    }
}

@media only screen and (min-width: 1024px) {
    .baseFontFamily,
    body {
        font-family: DINPro, sans-serif;
    }
}

body {
    overflow-x: hidden;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    color: #00548f;
}

.clr {
    margin: 0;
    content: "";
    display: table;
    clear: both;
}

.margin-top-0 {
    margin-top: 0px !important;
}

.hide {
    display: none !important;
}

.blueButton {
    color: #fff;
    background-color: #00548f;
    display: inline-block;
    padding: 1em 2.5em;
    margin: 1.25em;
    text-align: center;
    text-transform: uppercase;
    box-sizing: border-box;
}

.blueButton:hover,
.card:hover .blueButton {
    background-color: #00a6da;
    -webkit-transition: background-color 0.3s ease-in-out;
    -moz-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
    text-decoration: none;
    cursor: pointer;
    color: white;
}

.blueButton.inverse {
    background-color: #00a6da;
}

.blueButton.inverse:hover,
.card:hover .inverse.blueButton {
    background-color: #00548f;
}

.blueButton.double {
    margin: 1.25em;
    padding: 0.625em 2.5em;
    font-size: 2.1875em;
    font-weight: 200;
}

.blueButton.disable {
    cursor: not-allowed;
    border: 1px solid white;
    background-color: #00a6da;
}

.blueButton.disable:hover,
.card:hover .disable.blueButton {
    color: #111111;
    background-color: #e8e8e8;
}

.blueButton.loading {
    cursor: progress;
}

.row-gray {
    background-color: #f2f2f2;
}

.row-blue {
    background-color: #00a6da;
    background-image: url("/public/img/blueLightPattern.jpg");
}

.block-separator {
    margin: -2.1875em auto 0 auto;
    background: #00a6da;
    border: 0.9375em solid white;
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    position: relative;
}

.block-separator:after {
    color: white;
    font-size: 0.875em;
    padding-top: 1em;
    text-align: center;
}

.block-title {
    text-align: center;
    font-weight: 200;
    color: #00548f;
    text-transform: uppercase;
    font-size: 2.8125em;
    margin: 0.625em 0;
}

.block-sub-title {
    text-align: center;
    margin: 0em 0 0.625em 0;
}

.preload {
    margin: 0 auto;
}

.preload:before {
    font-size: 1.875em;
    color: #111111;
    content: "\E01E";
}

.spinning,
.preload:before {
    animation: animation_rotation 1.5s infinite linear;
}

@keyframes animation_rotation {
    0% {
        transform: rotate(-180deg);
    }
}

.close {
    float: right;
    font-size: 21px;
    font-weight: bold;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    filter: alpha(opacity=20);
    opacity: .2;
  }
  .close:hover,
  .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    filter: alpha(opacity=50);
    opacity: .5;
  }
  button.close {
    -webkit-appearance: none;
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
  }


.modal-open {
    overflow: hidden;
  }
  .modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    display: none;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    outline: 0;
  }
  .modal.fade .modal-dialog {
    -webkit-transition: -webkit-transform .3s ease-out;
         -o-transition:      -o-transform .3s ease-out;
            transition:         transform .3s ease-out;
    -webkit-transform: translate(0, -25%);
        -ms-transform: translate(0, -25%);
         -o-transform: translate(0, -25%);
            transform: translate(0, -25%);
  }
  .modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
         -o-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
  }
  .modal-dialog {
    position: relative;
    width: auto;
    margin: 10px;
  }
  .modal-content {
    position: relative;
    background-color: #fff;
    -webkit-background-clip: padding-box;
            background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 6px;
    outline: 0;
    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
            box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
  }
  .modal-backdrop {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    background-color: #000;
  }
  .modal-backdrop.fade {
    filter: alpha(opacity=0);
    opacity: 0;
  }
  .modal-backdrop.in {
    filter: alpha(opacity=50);
    opacity: .5;
  }
  .modal-header {
    min-height: 16.42857143px;
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
  }
  .modal-header .close {
    margin-top: -2px;
  }
  .modal-title {
    margin: 0;
    line-height: 1.42857143;
  }
  .modal-body {
    position: relative;
    padding: 15px;
  }
  .modal-footer {
    padding: 15px;
    text-align: right;
    border-top: 1px solid #e5e5e5;
  }
  .modal-footer .btn + .btn {
    margin-bottom: 0;
    margin-left: 5px;
  }
  .modal-footer .btn-group .btn + .btn {
    margin-left: -1px;
  }
  .modal-footer .btn-block + .btn-block {
    margin-left: 0;
  }
  .modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll;
  }
  @media (min-width: 768px) {
    .modal-dialog {
      width: 600px;
      margin: 30px auto;
    }
    .modal-content {
      -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
              box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
    }
    .modal-sm {
      width: 300px;
    }
  }
  @media (min-width: 992px) {
    .modal-lg {
      width: 900px;
    }
  }


  .glyphicon-modal-window:before {
    content: "\e237";
  }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc2V0LnNjc3MiLCJub3JtYWxpemUuc2NzcyIsImdyaWRsZS9fZ2VuZXJhdGUtbWl4aW5zLnNjc3MiLCJncmlkbGUvX21peGlucy5zY3NzIiwiZ3JpZGxlL19hcGkuc2NzcyIsImdyaWRsZS9fZHJpdmVyLWRlZmF1bHQuc2NzcyIsImdyaWRsZS9fZnVuY3Rpb25zLnNjc3MiLCJncmlkbGUvX3NldHRpbmdzLW1peGlucy5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImZvbnRzLnNjc3MiLCJpY29ucy5zY3NzIiwiY29tcG9uZW50cy9hdHRhY2htZW50cy5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIuc2NzcyIsIi4uLy4uL3N0ZGluIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJlbWJlZHMuc2NzcyIsImNvbXBvbmVudHMvd3lzaXd5Zy5zY3NzIiwiY29tcG9uZW50cy9ub3RpZmljYXRpb24uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwibWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL3NpYmxpbmctbWVudS5zY3NzIiwiY29tcG9uZW50cy9jYXJkLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJjb21wb25lbnRzL3BhZ2luYXRvci5zY3NzIiwiY29tcG9uZW50cy9jYXJvdXNlbC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJjb21wb25lbnRzL2JpbGxib2FyZC5zY3NzIiwiY29tcG9uZW50cy9nYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL21vZGFsLnNjc3MiLCJjb21wb25lbnRzL21vYmlsZS1oZWFkZXIuc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIuc2NzcyIsInZpZXdzL2hvbWUuc2NzcyIsInZpZXdzL2NvbW1vbi5zY3NzIiwidmlld3MvcGFydG5lcnMuc2NzcyIsInZpZXdzL2dhbGxlcmllcy5zY3NzIiwidmlld3MvYXJ0aWNsZXMuc2NzcyIsInZpZXdzL3BvcnRzLnNjc3MiLCJ2aWV3cy9zaGlwcy5zY3NzIiwidmlld3MvcHJvZ3JhbXMuc2NzcyIsInZpZXdzL3NpZ2h0cy5zY3NzIiwidmlld3MvbWFwLnNjc3MiLCJ2aWV3cy90aW1ldGFibGUuc2NzcyIsInZpZXdzL2lucXVpcnkuc2NzcyIsInZpZXdzL3JvdXRlcy5zY3NzIiwibWVkaWEtcXVlcmllcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7RUFHRTtBQUVGLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFF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RHNlYixhQUFnQixFRXZXMkIsSUFBYTtJRnVXeEQsWUFBZ0IsRUV4VzBCLElBQWEsR0hwWnhEOztBQXhCRyxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VENmhCN0IsQUN4Z0JKLGVEd2dCbUIsRUFBZixBQ3hnQkosZUR3Z0JtQixFQUFmLEFDeGdCSixlRHdnQm1CLEVBQWYsQUN4Z0JKLGVEd2dCbUIsRUFBZixBQ3hnQkosZUR3Z0JtQixFQUFmLEFDeGdCSixlRHdnQm1CLEVBQWYsQUN4Z0JKLGVEd2dCbUIsRUFBZixBQ3hnQkosZUR3Z0JtQixFQUFmLEFDeGdCSixlRHdnQm1CLEVBQWYsQUN4Z0JKLGVEd2dCbUIsRUFBZixBQ3hnQkosZ0JEd2dCb0IsRUFBaEIsQUN4Z0JKLGdCRHdnQm9CLEVBQWhCLEFDeGdCSixnQkR3Z0JvQixDQ3hnQnBCO0lDMFJELFFBQVEsRUFBQyxRQUFTLEdEdlJoQjs7QUF4QkcsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFRGtpQjdCLEFDN2dCSixlRDZnQm1CLEVBQWYsQUM3Z0JKLGVENmdCbUIsRUFBZixBQzdnQkosZUQ2Z0JtQixFQUFmLEFDN2dCSixlRDZnQm1CLEVBQWYsQUM3Z0JKLGVENmdCbUIsRUFBZixBQzdnQkosZUQ2Z0JtQixFQUFmLEFDN2dCSixlRDZnQm1CLEVBQWYsQUM3Z0JKLGVENmdCbUIsRUFBZixBQzdnQkosZUQ2Z0JtQixFQUFmLEFDN2dCSixlRDZnQm1CLEVBQWYsQUM3Z0JKLGdCRDZnQm9CLEVBQWhCLEFDN2dCSixnQkQ2Z0JvQixFQUFoQixBQzdnQkosZ0JENmdCb0IsQ0M3Z0JwQjtJQ3dWRCxRQUFRLEVBQUMsUUFBUyxHRHJWaEI7O0FBeEJHLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUQ4UWpDLEFDelBBLGVEeVBlLENDelBmO0lFaURELFdBQVcsRUFBRSxNQUFPLEdGOUNsQjtJRWdEQSxBSHNNRCxlQUFlLEdHdE1kLENBQUMsQ0FBQztNQUNILFdBQVcsRUFBRSxNQUFPLEdBQ3BC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Q3hnQkosa0JEd2dCc0IsRUFBbEIsQUN4Z0JKLGtCRHdnQnNCLEVBQWxCLEFDeGdCSixrQkR3Z0JzQixFQUFsQixBQ3hnQkosa0JEd2dCc0IsRUFBbEIsQUN4Z0JKLGtCRHdnQnNCLEVBQWxCLEFDeGdCSixrQkR3Z0JzQixFQUFsQixBQ3hnQkosa0JEd2dCc0IsRUFBbEIsQUN4Z0JKLGtCRHdnQnNCLEVBQWxCLEFDeGdCSixrQkR3Z0JzQixFQUFsQixBQ3hnQkosbUJEd2dCdUIsRUFBbkIsQUN4Z0JKLG1CRHdnQnVCLEVBQW5CLEFDeGdCSixtQkR3Z0J1QixDQ3hnQnZCO0lDMFJELFFBQVEsRUFBQyxRQUFTLEdEdlJoQjs7QUF4QkcsTUFBTSxFQUFMLFdBQVcsRUFBRyxTQUFTO0VEa2lCeEIsQUM3Z0JKLGtCRDZnQnNCLEVBQWxCLEFDN2dCSixrQkQ2Z0JzQixFQUFsQixBQzdnQkosa0JENmdCc0IsRUFBbEIsQUM3Z0JKLGtCRDZnQnNCLEVBQWxCLEFDN2dCSixrQkQ2Z0JzQixFQUFsQixBQzdnQkosa0JENmdCc0IsRUFBbEIsQUM3Z0JKLGtCRDZnQnNCLEVBQWxCLEFDN2dCSixrQkQ2Z0JzQixFQUFsQixBQzdnQkosa0JENmdCc0IsRUFBbEIsQUM3Z0JKLGtCRDZnQnNCLEVBQWxCLEFDN2dCSixtQkQ2Z0J1QixFQUFuQixBQzdnQkosbUJENmdCdUIsRUFBbkIsQUM3Z0JKLG1CRDZnQnVCLENDN2dCdkI7SUN3VkQsUUFBUSxFQUFDLFFBQVMsR0RyVmhCOztBQXhCRyxNQUFNLEVBQUwsV0FBVyxFQUFHLFNBQVM7RUQ4UTVCLEFDelBBLGtCRHlQa0IsQ0N6UGxCO0lFaURELFdBQVcsRUFBRSxNQUFPLEdGOUNsQjtJRWdEQSxBSHNNRCxrQkFBa0IsR0d0TWpCLENBQUMsQ0FBQztNQUNILFdBQVcsRUFBRSxNQUFPLEdBQ3BCOztBRjFFSSxNQUFNLEVBQUwsV0FBVyxFQUFHLFNBQVM7RURtUjVCLEFDOVBBLGdCRDhQZ0IsQ0M5UGhCO0lFbUVELFdBQVcsRUFBQyxNQUFPLEdGaEVqQjs7QUF4QkcsTUFBTSxF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QUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzFDLEFBQWUsZUFBQSxPQUFPLENBQUM7RUFBRSxPQUFPLEVBQUUsT0FBUyxHQUFFOztBQUM3QyxBQUFnQixnQkFBQSxPQUFPLENBQUM7RUFBRSxPQUFPLEVBQUUsT0FBUyxHQUFFOztBQUM5QyxBQUFlLGVBQUEsT0FBTyxDQUFDO0VBQUUsT0FBTyxFQUFFLE9BQVMsR0FBRTs7QUFDN0MsQUFBZSxlQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzdDLEFBQWUsZUFBQSxPQUFPLENBQUM7RUFBRSxPQUFPLEVBQUUsT0FBUyxHQUFFOztBQUM3QyxBQUFlLGVBQUEsT0FBTyxDQUFDO0VBQUUsT0FBTyxFQUFFLE9BQVMsR0FBRTs7QUFDN0MsQUFBZSxlQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzdDLEFBQWUsZUFBQSxPQUFPLENBQUM7RUFBRSxPQUFPLEVBQUUsT0FBUyxHQUFFOztBQUM3QyxBQUFlLGVBQUEsT0FBTyxDQUFDO0VBQUUsT0FBTyxFQUFFLE9BQVMsR0FBRTs7QUFDN0MsQUFBZSxlQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzdDLEFBQWdCLGdCQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzlDLEFBQWdCLGdCQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzlDLEFBQWdCLGdCQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzlDLEFBQWdCLGdCQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzlDLEFBQWdCLGdCQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzlDLEFBQWdCLGdCQUFBLE9BQU8sQ0FBQztFQUFFLE9BQU8sRUFBRSxPQUFTLEdBQUU7O0FBQzlDLEFBQWdCLGdC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QVYsa0JBQVU7RUFFTixFQUFFO0lBQUUsU0FBUyxFQUFFLGVBQU0iLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0LyBcbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG4gXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksIGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG4gXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuIFxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBub25lOyB9XG4gXG5ibG9ja3F1b3RlIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuIFxucSB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjb250ZW50OiBub25lOyB9IH1cbiBcbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH0iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMSBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1hcmdpblxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLyogQmxvY2txdW90ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDA7XG59XG4iLCIvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8IEdlbmVyYXRlIG1peGluc1xuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbSBjbGFzcyBmb3IgYWxsIHRoZSBzdGF0ZXNcbi8vXG4vLyBAcGFyYW0gXHRsaXN0IFx0JHBhdHRlcm4gXHRcdFRoZSBuYW1lIHBhdHRlcm4gb2YgdGhlIGNsYXNzXG4vLyBAcGFyYW0gXHRsaXN0IFx0JHN0YXRlc05hbWVzIFx0XHRUaGUgc3RhdGVzIG5hbWVzIHRvIGdlbmVyYXRlXG4vL1xuQG1peGluIGdyaWRsZV9nZW5lcmF0ZV9jdXN0b21fY2xhc3MoXG5cdCRwYXR0ZXJuLFxuXHQkc3RhdGVzTmFtZXMgOiBudWxsLFxuXHQkcmVwbGFjZW1lbnRzLi4uXG4pIHtcblx0Ly8gbWFuYWdlIHN0YXRlcyB0byBnZW5lcmF0ZSA6XG5cdCRzdGF0ZXMgOiAoKTtcblx0QGlmICRzdGF0ZXNOYW1lcyA9PSBudWxsIG9yICRzdGF0ZXNOYW1lcyA9PSBhbGwge1xuXHRcdC8vIGxvb3Agb24gZWFjaCBzdGF0ZXMgdG8gZ2VuZXJhdGUgbmFtZXMgbGlzdCA6XG5cdFx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluICRfZ3JpZGxlX3N0YXRlcyB7XG5cdFx0XHQkc3RhdGVzIDogYXBwZW5kKCRzdGF0ZXMsICRzdGF0ZU5hbWUpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0JHN0YXRlcyA6ICRzdGF0ZXNOYW1lcztcblx0fVxuXG5cdC8vIEdldCBhbGwgcGF0dGVyblxuXHQkdW5tYXRjaGVkX3BhdHRlcm5zIDogIF9ncmlkbGVfdW5tYXRjaGVkX3BhdHRlcm5zKCRwYXR0ZXJuKTtcblx0JG1hdGNoZWRfcGF0dGVybnMgOiAgX2dyaWRsZV9tYXRjaGVkX3BhdHRlcm5zKCRwYXR0ZXJuKTtcblxuICAgIC8vIEFkanVzdCB0aGUgcmVwbGFjZW1lbnQgbGlzdCBsZW5ndGggdG8gYmUgdGhlIHNhbWUgYXMgdW5tYXRjaGVkX3BhdHRlcm5zXG4gICAgQHdoaWxlIGxlbmd0aCggJHVubWF0Y2hlZF9wYXR0ZXJucyApICE9IGxlbmd0aCggJHJlcGxhY2VtZW50cyApIHtcbiAgICAgICAgQGlmIGxlbmd0aCggJHVubWF0Y2hlZF9wYXR0ZXJucyApIDwgbGVuZ3RoKCAkcmVwbGFjZW1lbnRzICkge1xuICAgICAgICAgICAgJHJlcGxhY2VtZW50cyA6IGxpc3QtcG9wKCRyZXBsYWNlbWVudHMpO1xuICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgICAkcmVwbGFjZW1lbnRzIDogYXBwZW5kKCRyZXBsYWNlbWVudHMsIChudWxsKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBmb3IgZWFjaCB2YWxpZCBwYXR0ZXJuLCBnZXQgcmVwbGFjZW1lbnQgbGlzdFxuICAgIEBlYWNoICRpbmRleCwgJHBhdHRlcm4gaW4gJG1hdGNoZWRfcGF0dGVybnMge1xuICAgICAgICBAaWYgJHBhdHRlcm4gPT0gXCIlc3RhdGVcIiB7XG4gICAgICAgICAgICAkbWF0Y2hlZF9wYXR0ZXJucyA6IG1hcC1yZW1vdmUoJG1hdGNoZWRfcGF0dGVybnMsICRpbmRleCk7XG4gICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICRyZXBsYWNlbWVudHMgOiBhcHBlbmQoJHJlcGxhY2VtZW50cywgX2dyaWRsZV9nZXRfcGF0dGVybl92YWx1ZXMoc3RyLXNsaWNlKCRwYXR0ZXJuLCAyKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJGZvdW5kX3BhdHRlcm5zIDogbWFwLW1lcmdlKCR1bm1hdGNoZWRfcGF0dGVybnMsICRtYXRjaGVkX3BhdHRlcm5zKTtcblxuXHQvLyBsb29wIG9uIGVhY2ggc3RhdGVzIDpcblx0QGVhY2ggJHN0YXRlTmFtZSBpbiAkc3RhdGVzXG5cdHtcblx0XHQvLyBtYW5hZ2Ugc3RhdGVuYW1lIDpcblx0XHRAaWYgdHlwZS1vZigkc3RhdGVOYW1lKSAhPSBzdHJpbmcge1xuXHRcdFx0JHN0YXRlTmFtZSA6IG1hcC1nZXQoJHN0YXRlTmFtZSwgbmFtZSk7XG5cdFx0fVxuXG5cdFx0Ly8gY2xhc3NlcyA6XG5cdFx0JGNsYXNzZXMgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihjbGFzc2VzLCAkc3RhdGVOYW1lKTtcblxuXHRcdC8vIGdlbnJhdGUgdGhlIGNsYXNzbmFtZSA6XG5cdFx0QGlmICRjbGFzc2VzXG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCRzdGF0ZU5hbWUsIGZhbHNlKSB7XG5cdFx0XHRcdCRsZW5ndGhfYTpsZW5ndGgoJGZvdW5kX3BhdHRlcm5zKTtcblx0XHRcdFx0JGxlbmd0aF9iOmxlbmd0aCgkcmVwbGFjZW1lbnRzKTtcblx0XHRcdFx0QGlmICRsZW5ndGhfYSA+IDAgYW5kICRsZW5ndGhfYSA8PSAkbGVuZ3RoX2Ige1xuXHRcdFx0XHRcdCRsaXN0X2luZGV4ZXMgOiAoKTtcblx0XHRcdFx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGhfYSB7XG5cdFx0XHRcdFx0XHQkbGlzdF9pbmRleGVzIDogYXBwZW5kKCRsaXN0X2luZGV4ZXMsIDEpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEB3aGlsZSBudGgoJGxpc3RfaW5kZXhlcywgMSkgPD0gbGVuZ3RoKCBudGgoJHJlcGxhY2VtZW50cywgMSkgKXtcblx0XHRcdFx0XHRcdCRncmlkbGUtc2NvcGUgOiAoKSAhZ2xvYmFsO1xuXHRcdFx0XHRcdFx0JHJlcGxhY2VtZW50X3BhdHRlcm4gOiAkcGF0dGVybjtcblx0XHRcdFx0XHRcdCRyZXBsYWNlZF9jb3VudCA6IDA7XG5cblx0XHRcdFx0XHRcdC8vIFdvcmsgdGhlIHJlcGxhY2VtZW50XG5cdFx0XHRcdFx0XHRAZWFjaCAkaW5kZXgsICRmbGFnIGluICRmb3VuZF9wYXR0ZXJucyB7XG5cdFx0XHRcdFx0XHRcdCRyZXBsYWNlZF9jb3VudCA6ICRyZXBsYWNlZF9jb3VudCArIDE7XG5cblx0XHRcdFx0XHRcdFx0JGN1cnJlbnRfcmVwbGFjZW1lbnQgOiBudGgoICRyZXBsYWNlbWVudHMsICRyZXBsYWNlZF9jb3VudCApO1xuXHRcdFx0XHRcdFx0XHQkY3VycmVudF9pbmRleCA6IG50aCgkbGlzdF9pbmRleGVzLCAkcmVwbGFjZWRfY291bnQpO1xuXG5cdFx0XHRcdFx0XHRcdCRyZXBsYWNlbWVudF9wYXR0ZXJuIDogc2V0LW50aCggJHJlcGxhY2VtZW50X3BhdHRlcm4sICRpbmRleCwgbnRoKCAkY3VycmVudF9yZXBsYWNlbWVudCwgJGN1cnJlbnRfaW5kZXggKSApO1xuXG5cdFx0XHRcdFx0XHRcdCR2YXJfbmFtZSA6IHN0ci1zbGljZSgkZmxhZywgMik7XG5cblx0XHRcdFx0XHRcdFx0JGdyaWRsZS1zY29wZSA6IG1hcC1zZXQoICRncmlkbGUtc2NvcGUsICR2YXJfbmFtZSwgbnRoKCAkY3VycmVudF9yZXBsYWNlbWVudCwgJGN1cnJlbnRfaW5kZXggKSApICFnbG9iYWw7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoJHJlcGxhY2VtZW50X3BhdHRlcm4sICRzdGF0ZU5hbWUpfSB7XG5cdFx0XHRcdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQkZ3JpZGxlLXNjb3BlIDogKCkgIWdsb2JhbDtcblxuXHRcdFx0XHRcdFx0Ly8gQWRkIDEgdG8gaW5kZXhlc1xuXHRcdFx0XHRcdFx0JGJyZWFrIDogZmFsc2U7XG5cdFx0XHRcdFx0XHQkY3VycmVudF9pdGVyYXRpb25faW5kZXggOiBsZW5ndGgoICRsaXN0X2luZGV4ZXMgKTsgLy8gVGhlIGxhc3QgaW5kZXhcblx0XHRcdFx0XHRcdEB3aGlsZSAkYnJlYWsgPT0gZmFsc2Uge1xuXHRcdFx0XHRcdFx0XHQkbGlzdF9pbmRleGVzIDogc2V0LW50aCggJGxpc3RfaW5kZXhlcywgJGN1cnJlbnRfaXRlcmF0aW9uX2luZGV4LCBudGgoICRsaXN0X2luZGV4ZXMsICRjdXJyZW50X2l0ZXJhdGlvbl9pbmRleCApICsgMSApO1xuXG5cdFx0XHRcdFx0XHRcdEBpZiBudGgoICRsaXN0X2luZGV4ZXMsICRjdXJyZW50X2l0ZXJhdGlvbl9pbmRleCApID4gbGVuZ3RoKCBudGgoICRyZXBsYWNlbWVudHMsICRjdXJyZW50X2l0ZXJhdGlvbl9pbmRleCApIClcblx0XHRcdFx0XHRcdFx0XHRhbmQgJGN1cnJlbnRfaXRlcmF0aW9uX2luZGV4ICE9IDEge1xuXHRcdFx0XHRcdFx0XHRcdCRsaXN0X2luZGV4ZXMgOiBzZXQtbnRoKCAkbGlzdF9pbmRleGVzLCAkY3VycmVudF9pdGVyYXRpb25faW5kZXgsIDEpO1xuXG5cdFx0XHRcdFx0XHRcdFx0JGN1cnJlbnRfaXRlcmF0aW9uX2luZGV4IDogJGN1cnJlbnRfaXRlcmF0aW9uX2luZGV4IC0gMTtcblx0XHRcdFx0XHRcdFx0fUBlbHNle1xuXHRcdFx0XHRcdFx0XHRcdCRicmVhayA6IHRydWU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1AZWxzZXtcblx0XHRcdFx0XHQje19ncmlkbGVfY2xhc3NuYW1lKCRwYXR0ZXJuLCAkc3RhdGVOYW1lKX0ge1xuXHRcdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEdlbmVyYXRlIGFsbCBoZWxwZXJzIGNsYXNzZXNcbi8vXG5AbWl4aW4gX2dyaWRsZV9nZW5lcmF0ZV9oZWxwZXJfY2xhc3NlcyAoXG5cdCRzdGF0ZSA6IG51bGwsXG5cdCRwYWNrYWdlIDogbnVsbFxuKSB7XG5cdC8vIGhlbHBlcnMgOlxuXHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKGZsb2F0LCAkcGFja2FnZSkge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoZmxvYXQsICRzdGF0ZSwgbGVmdCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9mbG9hdChsZWZ0KTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShmbG9hdCwgJHN0YXRlLCByaWdodCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9mbG9hdChyaWdodCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShjbGVhciwgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKGNsZWFyLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfY2xlYXIoYm90aCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoY2xlYXIsICRzdGF0ZSwgbGVmdCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcihsZWZ0KTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShjbGVhciwgJHN0YXRlLCByaWdodCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcihyaWdodCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShuby1ndXR0ZXIsICRwYWNrYWdlKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShuby1ndXR0ZXIsICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub19ndXR0ZXIoKTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShuby1ndXR0ZXIsICRzdGF0ZSwgbGVmdCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub19ndXR0ZXIobGVmdCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUobm8tZ3V0dGVyLCAkc3RhdGUsIHJpZ2h0KX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vX2d1dHRlcihyaWdodCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUobm8tZ3V0dGVyLCAkc3RhdGUsIHRvcCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub19ndXR0ZXIodG9wKTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShuby1ndXR0ZXIsICRzdGF0ZSwgYm90dG9tKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vX2d1dHRlcihib3R0b20pO1xuXHRcdH1cblx0fVxuXG5cdEBpZiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUoZ3V0dGVyLCAkcGFja2FnZSkge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoZ3V0dGVyLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3V0dGVyKHRvcCByaWdodCBib3R0b20gbGVmdCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoZ3V0dGVyLCAkc3RhdGUsIGxlZnQpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3V0dGVyKGxlZnQpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKGd1dHRlciwgJHN0YXRlLCByaWdodCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ndXR0ZXIocmlnaHQpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKGd1dHRlciwgJHN0YXRlLCB0b3ApfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3V0dGVyKHRvcCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoZ3V0dGVyLCAkc3RhdGUsIGJvdHRvbSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ndXR0ZXIoYm90dG9tKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKGF1dG8taGVpZ2h0LCAkcGFja2FnZSkge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoYXV0by1oZWlnaHQsICRzdGF0ZSl9IHtcblx0XHRcdGhlaWdodDppbmhlcml0O1xuXHRcdH1cblx0fVxuXG5cdEBpZiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUoZ3JpZC1jZW50ZXJlZCwgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKGdyaWQtY2VudGVyZWQsICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ncmlkX2NlbnRlcmVkKCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShjb250YWluZXIsICRwYWNrYWdlKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShjb250YWluZXIsICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jb250YWluZXIoKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKHJvdywgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKHJvdywgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3JvdyhmYWxzZSk7XG5cdFx0fVxuXHRcdEBpZiBncmlkbGVfaXNfZHJpdmVyKGZsZXgpIHtcblx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUocm93LCAkc3RhdGUsIHJldmVyc2UpfSB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9yb3codHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShyb3ctZnVsbCwgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKHJvdy1mdWxsLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93X2Z1bGwoKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKGNvbCwgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKGNvbCwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NvbChmYWxzZSk7XG5cdFx0fVxuXHRcdEBpZiBncmlkbGVfaXNfZHJpdmVyKGZsZXgpIHtcblx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoY29sLCAkc3RhdGUsIHJldmVyc2UpfSB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jb2wodHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShncmlkLXRhYmxlLCAkcGFja2FnZSkge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoZ3JpZC10YWJsZSwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2dyaWRfdGFibGUoKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKGdyaWQtYWRhcHQsICRwYWNrYWdlKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShncmlkLWFkYXB0LCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZF9hZGFwdCgpO1xuXHRcdH1cblx0fVxuXG5cdEBpZiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUoZ3JpZC1ncm93LCAkcGFja2FnZSkge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoZ3JpZC1ncm93LCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZF9ncm93KCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShyb3ctYWxpZ24sICRwYWNrYWdlKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShyb3ctYWxpZ24sICRzdGF0ZSwgbGVmdCl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9yb3dfYWxpZ24obGVmdCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUocm93LWFsaWduLCAkc3RhdGUsIGNlbnRlcil9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9yb3dfYWxpZ24oY2VudGVyKTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShyb3ctYWxpZ24sICRzdGF0ZSwgcmlnaHQpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93X2FsaWduKHJpZ2h0KTtcblx0XHR9XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShyb3ctYWxpZ24sICRzdGF0ZSwgbWlkZGxlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Jvd19hbGlnbihtaWRkbGUpO1xuXHRcdH1cblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKHJvdy1hbGlnbiwgJHN0YXRlLCB0b3ApfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93X2FsaWduKHRvcCk7XG5cdFx0fVxuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUocm93LWFsaWduLCAkc3RhdGUsIGJvdHRvbSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9yb3dfYWxpZ24oYm90dG9tKTtcblx0XHR9XG5cdFx0QGlmIGdyaWRsZV9pc19kcml2ZXIoZmxleCkge1xuXHRcdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShyb3ctYWxpZ24sICRzdGF0ZSwgYXJvdW5kKX0ge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93X2FsaWduKGFyb3VuZCk7XG5cdFx0XHR9XG5cdFx0XHQje19ncmlkbGVfY2xhc3NuYW1lKHJvdy1hbGlnbiwgJHN0YXRlLCBiZXR3ZWVuKX0ge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93X2FsaWduKGJldHdlZW4pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vXG5cdC8vIFdyYXBwaW5nXG5cdC8vXG5cdEBpZiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUobm93cmFwLCAkcGFja2FnZSkge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUobm93cmFwLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfbm93cmFwKCk7XG5cdFx0fVxuXHR9XG5cdEBpZiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUod3JhcCwgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKHdyYXAsICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV93cmFwKCk7XG5cdFx0fVxuXHR9XG5cblx0Ly9cblx0Ly8gVmlzaWJsZSwgaGlkZSwgZXRjLi4uXG5cdC8vXG5cdEBpZiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUoaGlkZSwgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKGhpZGUsICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9oaWRlKCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShub3QtdmlzaWJsZSwgJHBhY2thZ2UpIHtcblx0XHQje19ncmlkbGVfY2xhc3NuYW1lKG5vdC12aXNpYmxlLCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfbm90X3Zpc2libGUoKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKHNob3csICRwYWNrYWdlKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShzaG93LCAkc3RhdGUpfSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfc2hvdygpO1xuXHRcdH1cblx0fVxuXG5cdEBpZiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUoc2hvdy1pbmxpbmUsICRwYWNrYWdlKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShzaG93LWlubGluZSwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Nob3dfaW5saW5lKCk7XG5cdFx0fVxuXHR9XG5cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZSh2aXNpYmxlLCAkcGFja2FnZSkge1xuXHRcdCN7X2dyaWRsZV9jbGFzc25hbWUodmlzaWJsZSwgJHN0YXRlKX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Zpc2libGUoKTtcblx0XHR9XG5cdH1cblxuXHQvL1xuXHQvLyBDbGVhciBlYWNoIGNsYXNzIDpcblx0Ly9cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShjbGVhci1lYWNoLCAkcGFja2FnZSkge1xuXHRcdEBlYWNoICRjbGVhck5hbWUsICRjbGVhck1hcCBpbiAkX2dyaWRsZV9jbGVhcl9jbGFzc2VzIHtcblx0XHRcdC8vIGdldCBjb3VudCA6XG5cdFx0XHQkY2xlYXJDb3VudCA6IG1hcC1nZXQoJGNsZWFyTWFwLCBjbGVhckVhY2gpO1xuXHRcdFx0Ly8gd2hhdCB0byBjbGVhciA6XG5cdFx0XHQkY2xlYXJXaGF0IDogbWFwLWdldCgkY2xlYXJNYXAsIGNsZWFyV2hhdCk7XG5cdFx0XHQvLyBnZW5lcmF0ZSB0aGUgY2xhc3MgOlxuXHRcdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShjbGVhci1lYWNoLCAkc3RhdGUsICRjbGVhckNvdW50KX0ge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfY2xlYXJfZWFjaCgkY2xlYXJDb3VudCwgJGNsZWFyV2hhdCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly9cblx0Ly8gZGVidWdcblx0Ly9cblx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShyb3ctZGVidWcsICRwYWNrYWdlKSB7XG5cdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShyb3ctZGVidWcsICRzdGF0ZSl9IHtcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9yb3dfZGVidWcoKTtcblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gR2VuZXJhdGUganNvbiBzZXR0aW5nc1xuLy9cbkBtaXhpbiBncmlkbGVfZ2VuZXJhdGVfanNvbl9zZXR0aW5ncygpIHtcblxuXHQvLyBzZXR0aW5ncyBjb250ZW50IDpcblx0JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXMgOiBcIntcIjtcblxuXHQvLyBnZW5lcmF0ZSBhbGwgY2xhc3NlcyBmb3IgZGlmZmVyZW50cyBtZWRpYSBxdWVyaWVzIDpcblx0JHN0YXRlc0NvdW50IDogbGVuZ3RoKCRfZ3JpZGxlX3N0YXRlcyk7XG5cdCRpIDogMDtcblx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluICRfZ3JpZGxlX3N0YXRlcyB7XG5cblx0XHQkbmFtZSA6ICRzdGF0ZU5hbWU7XG5cblx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gXFxcIiN7JG5hbWV9XFxcIjp7XCI7XG5cblx0XHRAZWFjaCAkdmFyTmFtZSwgJHZhciBpbiAkc3RhdGUge1xuXG5cdFx0XHQkdmFsdWUgOiBudWxsO1xuXHRcdFx0QGlmICR2YXJOYW1lID09IFwicXVlcnlcIiB7XG5cdFx0XHRcdCR2YWx1ZSA6IGdyaWRsZV9nZXRfbWVkaWFfcXVlcnkoJHN0YXRlTmFtZSk7XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0JHZhbHVlIDogbWFwLWdldCgkc3RhdGUsJHZhck5hbWUpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaWYgJHZhbHVlID09IG51bGwge1xuXHRcdFx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gXFxcIiN7JHZhck5hbWV9XFxcIiA6IG51bGwsXCI7XG5cdFx0XHR9IEBlbHNlaWYgdHlwZS1vZigkdmFsdWUpID09IGJvb2wge1xuXHRcdFx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gXFxcIiN7JHZhck5hbWV9XFxcIiA6ICN7JHZhbHVlfSxcIjtcblx0XHRcdH0gQGVsc2VpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcblx0XHRcdFx0JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXMgOiBcIiN7JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXN9IFxcXCIjeyR2YXJOYW1lfVxcXCIgOiB7XCI7XG5cdFx0XHRcdEBlYWNoICR2biwgJHZ2IGluICR2YWx1ZSB7XG5cdFx0XHRcdFx0JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXMgOiBcIiN7JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXN9IFxcXCIjeyR2bn1cXFwiIDogXFxcIiN7JHZ2fVxcXCIsXCJcblx0XHRcdFx0fVxuXHRcdFx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gXFxcIl9cXFwiIDogdHJ1ZVwiO1xuXHRcdFx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gfSxcIjtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gXFxcIiN7JHZhck5hbWV9XFxcIiA6IFxcXCIjeyR2YWx1ZX1cXFwiLFwiO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzIDogXCIjeyRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzfSBcXFwiX1xcXCIgOiB0cnVlXCI7XG5cblx0XHRAaWYgJGkgPj0gJHN0YXRlc0NvdW50IC0gMSB7XG5cdFx0XHQkZ3JpZGxlLXNldHRpbmdzLXN0YXRlcyA6IFwiI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc30gfVwiO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXMgOiBcIiN7JGdyaWRsZS1zZXR0aW5ncy1zdGF0ZXN9IH0sXCI7XG5cdFx0fVxuXG5cdFx0Ly8gdXBkYXRlIGkgOlxuXHRcdCRpIDogJGkgKyAxO1xuXG5cdH1cblxuXHQgLy8gZ2VuZXJhdGUgc2V0dGluZ3MganNvbiA6XG5cdCRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzIDogXCIjeyRncmlkbGUtc2V0dGluZ3Mtc3RhdGVzfX1cIjtcblx0JGdyaWRsZS1zZXR0aW5ncyA6IFwie1wiO1xuXHQkZ3JpZGxlLXNldHRpbmdzIDogXCIjeyRncmlkbGUtc2V0dGluZ3N9IFxcXCJ2ZXJzaW9uXFxcIiA6IFxcXCIjeyRfZ3JpZGxlLXZlcnNpb259XFxcIlwiO1xuXG5cdC8vIHN0YXRlcyA6XG5cdCRncmlkbGUtc2V0dGluZ3MgOiBcIiN7JGdyaWRsZS1zZXR0aW5nc30sIFxcXCJzdGF0ZXNcXFwiIDogI3skZ3JpZGxlLXNldHRpbmdzLXN0YXRlc31cIjtcblxuXHQvLyBzZXR0aW5ncyA6XG5cdCRncmlkbGUtc2V0dGluZ3MgOiBcIiN7JGdyaWRsZS1zZXR0aW5nc30gfVwiO1xuXHQjZ3JpZGxlLXNldHRpbmdzIHtcblx0XHRjb250ZW50IDogJGdyaWRsZS1zZXR0aW5ncztcblx0fVxufVxuXG5cbi8vXG4vLyBHZW5lcmF0ZSBjbGFzc2VzXG4vL1xuQG1peGluIGdyaWRsZV9nZW5lcmF0ZV9jbGFzc2VzKFxuXHQkc3RhdGVzIDogYWxsLFxuXHQkcGFja2FnZSA6IGFsbCxcblx0JHNjb3BlIDogbnVsbFxuKSB7XG5cblx0Ly8gaW5pdCBncmlkbGVcblx0QGluY2x1ZGUgZ3JpZGxlX2luaXQoKTtcblxuXHQvLyBjaGVjayBpZiBhIHNjb3BlIGV4aXN0XG5cdEBpZiAkc2NvcGUge1xuXHRcdC8vIHdyYXBwIGdyaWQgaW50byBzY29wZVxuXHRcdC4jeyRzY29wZX0ge1xuXHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9nZW5lcmF0ZV9jbGFzc2VzKCRzdGF0ZXMsICRwYWNrYWdlLCB0cnVlKTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdC8vIGdlbmVyYXRlIGNsYXNzZXNcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2dlbmVyYXRlX2NsYXNzZXMoJHN0YXRlcywgJHBhY2thZ2UsIGZhbHNlKTtcblx0fVxufVxuJF9ncmlkbGVfZ2VuZXJhdGVPbmx5T25jZSA6IHRydWU7IC8vIGtlZXAgdHJhY2sgb2YgZ2VuZXJhdGUgb25jZSBjbGFzc2VzXG5AbWl4aW4gX2dyaWRsZV9nZW5lcmF0ZV9jbGFzc2VzKFxuXHQkc3RhdGVzIDogYWxsLFxuXHQkcGFja2FnZSA6IGFsbCxcblx0JGhhcy1wYXJlbnQgOiBmYWxzZVxuKSB7XG5cblx0Ly8gc2V0IHRoYXQgd2UgYXJlIGluIGdlbmVyYXRlIHBoYXNlICh0aGF0IGNhbiBiZSB1c2VkIGFueXdoZXJlKVxuXHQkX2dyaWRsZV9pc19pbl9nZW5lcmF0ZV9waGFzZSA6IHRydWUgIWdsb2JhbDtcblxuXHQvLyBnZXQgYWxsIHRoZSByZWdpc3RlcmVkIHN0YXRlcyB0aGF0IHdpbGwgYmUgcHJvY2Vzc2VkIGFmdGVyXG5cdC8vIHRvIGRldGVybWluZSB3aGljaCBzdGF0ZXMgdG8gZ2VuZXJhdGVcblx0JGdlbmVyYXRlLXN0YXRlcyA6IGdyaWRsZV9nZXRfc3RhdGVzX25hbWVzKCk7XG5cblx0Ly8gaWYgd2UgaGF2ZSBwcm92aWRlZCBzb21lIHN0YXRlcyB0byBnZW5lcmF0ZVxuXHRAaWYgJHN0YXRlcyAhPSBudWxsIGFuZCAkc3RhdGVzICE9IGFsbCB7XG5cdFx0Ly8gY2hlY2sgaWYgd2UgaGF2ZSBvbmx5IHNvbWUgLSBpbiB0aGUgc3RhdGVzIGxpc3Rcblx0XHQvLyBtZWFuIHRoYXQgd2Ugd2FudCB0byBvbmx5IHJlbW92ZSB0aGVzZSBzcGVjaWZpZWQgc3RhdGVzXG5cdFx0Ly8gZnJvbSB0aGUgYWxsIHN0YXRlcyBsaXN0XG5cdFx0JG9ubHlSZW1vdmUgOiB0cnVlO1xuXHRcdEBlYWNoICRzdGF0ZU5hbWUgaW4gJHN0YXRlcyB7XG5cdFx0XHRAaWYgc3RyLXNsaWNlKCRzdGF0ZU5hbWUsMSwxKSAhPSAnLScge1xuXHRcdFx0XHQkb25seVJlbW92ZSA6IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyBpZiB3ZSB3YW50IHRvIG9ubHkgcmVtb3ZlIHNvbWUgc3RhdGVzXG5cdFx0QGlmICRvbmx5UmVtb3ZlIHtcblx0XHRcdC8vIGxvb3Agb24gYWxsIHRoZSBzdGF0ZXMgdG8gcmVtb3ZlXG5cdFx0XHRAZWFjaCAkc3RhdGVOYW1lIGluICRzdGF0ZXMge1xuXHRcdFx0XHQkc24gOiBzdHItc2xpY2UoJHN0YXRlTmFtZSwyKTtcblx0XHRcdFx0JGlkeCA6IGluZGV4KCRnZW5lcmF0ZS1zdGF0ZXMsICRzbik7XG5cdFx0XHRcdEBpZiAkaWR4ICE9IG51bGwge1xuXHRcdFx0XHRcdCRnZW5lcmF0ZS1zdGF0ZXMgOiByZW1vdmUtbnRoKCRnZW5lcmF0ZS1zdGF0ZXMsJGlkeCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdCRnZW5lcmF0ZS1zdGF0ZXMgOiAkc3RhdGVzO1xuXHRcdH1cblx0fVxuXG5cblx0Ly8gZ2VuZXJhdGUgdGhlc2UgY2xhc3NlcyBvbmx5IG9uY2Vcblx0QGlmICRfZ3JpZGxlX2dlbmVyYXRlT25seU9uY2Vcblx0e1xuXG5cdFx0Ly8gdXBkYXRlIHN0YXR1c1xuXHRcdCRfZ3JpZGxlX2dlbmVyYXRlT25seU9uY2UgOiBmYWxzZTtcblxuXHRcdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdFx0Ly8gfCBXaW5kb3dzIDggZml4XG5cdFx0Ly8gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRcdC8vIFdpbmRvd3MgOCBmaXggZm9yIHNuYXAgbW9kZVxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG5cdFx0XHRALW1zLXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXHRcdH1cblxuXHRcdC8vIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdFx0Ly8gfCBKU09OIFNldHRpbmdzXG5cdFx0Ly8gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRcdC8vIGdlbmVyYXRlIGpzb24gc2V0dGluZ3Ncblx0XHRAaWYgJGdyaWRsZS1nZW5lcmF0ZS1qc29uLXNldHRpbmdzXG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2dlbmVyYXRlX2pzb25fc2V0dGluZ3MoKTtcblx0XHR9XG5cblx0fVxuXG5cdC8vIGxvb3Agb24gZWFjaCBzdGF0ZXMgdG8gZ2VuZXJhdGUgYWxsIHRoZSBjbGFzc2VzXG5cdEBlYWNoICRzdGF0ZU5hbWUgaW4gJGdlbmVyYXRlLXN0YXRlcyB7XG5cblx0XHQvLyBnZXQgdGhlIGFjdHVhbCBzdGF0ZVxuXHRcdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlTmFtZSk7XG5cdFx0JGNsYXNzZXMgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihjbGFzc2VzLCAkc3RhdGUpO1xuXG5cdFx0Ly8gc3RvcCBoZXJlIGlmIG5vIGNsYXNzZXMgd2FudGVkXG5cdFx0QGlmICRjbGFzc2VzIHtcblxuXHRcdFx0Ly8gZGVidWdcblx0XHRcdC8vIEBkZWJ1ZyhcIkdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YXRlICN7JHN0YXRlTmFtZX1cIik7XG5cblx0XHRcdC8vIHNjb3BlIGFsbCB0aGUgY2xhc3NlcyBpbiBhIG1lZGlhIHF1ZXJ5XG5cdFx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlLCBmYWxzZSkge1xuXG5cdFx0XHRcdC8vIGdlbmVyYXRlIGFsbCBjbGFzc2VzIGZvciBjb2x1bW5zXG5cdFx0XHRcdCRpIDogMDtcblx0XHRcdFx0QGVhY2ggJGNvbHVtbk5hbWUsICRjb2x1bW4gaW4gZ3JpZGxlX2dldF9jb2x1bW5zKCRzdGF0ZSkge1xuXG5cdFx0XHRcdFx0Ly8gdmFyaWFibGVzXG5cdFx0XHRcdFx0JGNvbHVtbnNDb3VudCA6IG1hcC1nZXQoJGNvbHVtbiwgY29sdW1ucyk7XG5cdFx0XHRcdFx0JGNvbHVtbnNDb250ZXh0IDogbWFwLWdldCgkY29sdW1uLCBjb250ZXh0KTtcblx0XHRcdFx0XHQkY29sdW1uc05hbWVNdWx0aXBsaWNhdG9yIDogbWFwLWdldCgkY29sdW1uLCBuYW1lLW11bHRpcGxpY2F0b3IpO1xuXG5cdFx0XHRcdFx0Ly8gZXh0ZW5kIGNvbnRleHQgaW4gc3RhdGUgKGZvciBjb2x1bW5zKVxuXHRcdFx0XHRcdCRleHRlbmRlZFN0YXRlIDogbWFwLW1lcmdlKCRzdGF0ZSwgKFxuXHRcdFx0XHRcdFx0Y29udGV4dCA6ICRjb2x1bW5zQ29udGV4dCxcblx0XHRcdFx0XHRcdG5hbWUtbXVsdGlwbGljYXRvciA6ICRjb2x1bW5zTmFtZU11bHRpcGxpY2F0b3IgLy8gaW5qZWN0IHRoZSBuYW1lIG11bHRpcGxpY2F0b3IgaGVyZSBnZXR0ZWQgZnJvbSBjb2x1bW4gdG8gaGFuZGxlIGN1c3RvbSByZWdpc3RlcmVkIGNvbHVtbnNcblx0XHRcdFx0XHQpKTtcblxuXHRcdFx0XHRcdC8vIGNsYXNzZXNcblx0XHRcdFx0XHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKGdyaWQsICRwYWNrYWdlKSB7XG5cdFx0XHRcdFx0XHQje19ncmlkbGVfY2xhc3NuYW1lKGdyaWQsICRzdGF0ZU5hbWUsICRjb2x1bW5OYW1lKX0ge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZCgkY29sdW1uc0NvdW50LCAkY29sdW1uc0NvbnRleHQpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKHB1c2gsICRwYWNrYWdlKSB7XG5cdFx0XHRcdFx0XHQje19ncmlkbGVfY2xhc3NuYW1lKHB1c2gsICRzdGF0ZU5hbWUsICRjb2x1bW5OYW1lKX0ge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcHVzaCgkY29sdW1uc0NvdW50LCAkY29sdW1uc0NvbnRleHQpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKHB1bGwsICRwYWNrYWdlKSB7XG5cdFx0XHRcdFx0XHQje19ncmlkbGVfY2xhc3NuYW1lKHB1bGwsICRzdGF0ZU5hbWUsICRjb2x1bW5OYW1lKX0ge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcHVsbCgkY29sdW1uc0NvdW50LCAkY29sdW1uc0NvbnRleHQpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKHByZWZpeCwgJHBhY2thZ2UpIHtcblx0XHRcdFx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUocHJlZml4LCAkc3RhdGVOYW1lLCAkY29sdW1uTmFtZSl9IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3ByZWZpeCgkY29sdW1uc0NvdW50LCAkY29sdW1uc0NvbnRleHQpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKHN1ZmZpeCwgJHBhY2thZ2UpIHtcblx0XHRcdFx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUoc3VmZml4LCAkc3RhdGVOYW1lLCAkY29sdW1uTmFtZSl9IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N1ZmZpeCgkY29sdW1uc0NvdW50LCAkY29sdW1uc0NvbnRleHQpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKG9yZGVyLCAkcGFja2FnZSkge1xuXHRcdFx0XHRcdFx0I3tfZ3JpZGxlX2NsYXNzbmFtZShvcmRlciwgJHN0YXRlTmFtZSwgZmlyc3QpfSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9vcmRlcigtMSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQje19ncmlkbGVfY2xhc3NuYW1lKG9yZGVyLCAkc3RhdGVOYW1lLCAkaSl9IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX29yZGVyKCRpKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCN7X2dyaWRsZV9jbGFzc25hbWUob3JkZXIsICRzdGF0ZU5hbWUsIGxhc3QpfSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9vcmRlcig5OTk5KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ly8gdXAgJGlcblx0XHRcdFx0XHQkaSA6ICRpICsgMTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIG1lZGlhIHF1ZXJpZXMgaGVscGVycyBjbGFzc2VzXG5cdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfZ2VuZXJhdGVfaGVscGVyX2NsYXNzZXMoJHN0YXRlTmFtZSwgJHBhY2thZ2UpO1xuXG5cdFx0XHRcdC8vIGhhbmRsZSBkaXJlY3Rpb24gb24gYm9keVxuXHRcdFx0XHRib2R5IHtcblx0XHRcdFx0XHRkaXJlY3Rpb246IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpcmVjdGlvbik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBhcHBseSBjc3MgZm9yIHN0YXRlcyBvZiBlYWNoIGVsZW1lbnRzXG5cdEBlYWNoICRtYXAgaW4gJF9ncmlkbGVfYXBwbHlfY3NzX2ZvciB7XG5cdFx0QGVhY2ggJHN0YXRlTmFtZSwgJGZvcnMgaW4gJG1hcCB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3N0YXRlKCRzdGF0ZU5hbWUsIGZhbHNlKSB7XG5cdFx0XHRcdEBlYWNoICRmLCAkcnVsZXMgaW4gJGZvcnMge1xuXHRcdFx0XHRcdEBpZiBtYXAtZ2V0KCRmb3JzLCAkZikge1xuXHRcdFx0XHRcdFx0QGlmIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZSgkZiwgJHBhY2thZ2UpIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3NlbGVjdG9yKCRmLCBudWxsKSB7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9tYXBfMl9jc3MoJHJ1bGVzKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIG1ha2UgbmVzdGVkIGdyaWRzIHdvcmtpbmcgYXV0b21hdGljYWxseVxuXHRAaWYgX2dyaWRsZV9uZWVkX3RvX2dlbmVyYXRlKGNvbCwgJHBhY2thZ2UpIG9yIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShyb3csICRwYWNrYWdlKSB7XG5cdFx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluIGdyaWRsZV9nZXRfc3RhdGVzKCkge1xuXHRcdFx0JGNsYXNzZXMgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihjbGFzc2VzLCAkc3RhdGUpO1xuXHRcdFx0QGlmICRjbGFzc2VzIHtcblx0XHRcdFx0JGd1dHRlci1sZWZ0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLWxlZnQsICRzdGF0ZSk7XG5cdFx0XHRcdCRndXR0ZXItcmlnaHQgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihndXR0ZXItcmlnaHQsICRzdGF0ZSk7XG5cdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfc3RhdGUoJHN0YXRlTmFtZSwgZmFsc2UpIHtcblx0XHRcdFx0XHRbY2xhc3MqPVwiI3tzdHItc2xpY2UoX2dyaWRsZV9jbGFzc25hbWUoZ3JpZCksMil9XCJdID4gW2NsYXNzXj1cIiN7c3RyLXNsaWNlKF9ncmlkbGVfY2xhc3NuYW1lKHJvdyksMil9XCJdLFxuXHRcdFx0XHRcdFtjbGFzcyo9XCIje3N0ci1zbGljZShfZ3JpZGxlX2NsYXNzbmFtZShncmlkKSwyKX1cIl0gPiBbY2xhc3NePVwiI3tzdHItc2xpY2UoX2dyaWRsZV9jbGFzc25hbWUoY29sKSwyKX1cIl0ge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0jeyRndXR0ZXItbGVmdH07XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0jeyRndXR0ZXItcmlnaHR9O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIHJlc2V0IHRoZSB2YXJpYWJsZSB0aGF0IHRyYWNrIGlmIHdlIGFyZSBpbiBnZW5lcmF0ZSBwaGFzZSBvciBub3Rcblx0JF9ncmlkbGVfaXNfaW5fZ2VuZXJhdGVfcGhhc2UgOiBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfCBNaXhpbnNcbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vL1xuLy8gSW5pdFxuLy8gY2FsbGVkIGJ5IF9ncmlkbGVfY2FsbCBtaXhpbiBtdWx0aXBsZSB0aW1lc1xuLy9cbkBtaXhpbiBncmlkbGVfaW5pdCgpIHtcblx0QGlmICRfZ3JpZGxlX2luaXRlZCA9PSBmYWxzZSB7XG5cdFx0JF9ncmlkbGVfaW5pdGVkIDogdHJ1ZSAhZ2xvYmFsO1xuXHRcdEBlYWNoICRzdGF0ZU5hbWUsICRzdGF0ZSBpbiAkX2dyaWRsZV9zdGF0ZXMge1xuXHRcdFx0JGNsYXNzZXMgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihjbGFzc2VzLCAkc3RhdGUpO1xuXHRcdFx0QGlmICRjbGFzc2VzIHtcblx0XHRcdFx0QGF0LXJvb3QgKHdpdGhvdXQ6YWxsKSB7XG5cdFx0XHRcdFx0JHEgOiBncmlkbGVfZ2V0X21lZGlhX3F1ZXJ5KCRzdGF0ZSk7XG5cdFx0XHRcdFx0QGlmICRxIHtcblx0XHRcdFx0XHRcdEBtZWRpYSAjeyRxfSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5pdF9jb21tb25fc2lsZW50X2NsYXNzZXMoJHN0YXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5pdF9jb21tb25fc2lsZW50X2NsYXNzZXMoJHN0YXRlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gSW5pdCBzaWxlbnQgY2xhc3Nlc1xuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9zaWxlbnRfY2xhc3NfbmFtZShcblx0JGZvcixcblx0JHN0YXRlTmFtZSA6IGRlZmF1bHRcbikge1xuXHRAaWYgbWl4aW4tZXhpc3RzKCdfZ3JpZGxlX2NvbW1vbl8jeyRmb3J9Jykge1xuXHRcdCUjeyRzdGF0ZU5hbWV9LSN7JGZvcn0ge1xuXHRcdFx0Ly8gaW5qZWN0IGNvbnRlbnRcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0XHRAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcblx0XHRcdCVhdC1yb290LSN7JHN0YXRlTmFtZX0tI3skZm9yfSB7XG5cdFx0XHRcdC8vIGluamVjdCBjb250ZW50XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuQG1peGluIF9ncmlkbGVfaW5pdF9jb21tb25fc2lsZW50X2NsYXNzZXMoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyBnZXQgc3RhdGUgbmFtZVxuXHQkc3RhdGVOYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJHN0YXRlKTtcblxuXHQvLyBkZWZpbmUgcGFja2FnZXMgdG8gaW5pdFxuXHQvLyB0aGUgb3JkZXIgY2FuIG1hdHRlciBoZXJlXG5cdCRwYWNrYWdlcyA6IChcblx0XHRjb250YWluZXIsXG5cdFx0Z3JpZC1vcmRlcixcblx0XHRyb3csXG5cdFx0cm93LWZ1bGwsXG5cdFx0Y29sLFxuXHRcdGdyaWQsXG5cdFx0Z3JpZC10YWJsZSxcblx0XHRncmlkLWFkYXB0LFxuXHRcdGdyaWQtZ3Jvdyxcblx0XHRwdXNoLFxuXHRcdHB1bGwsXG5cdFx0cHJlZml4LFxuXHRcdHN1ZmZpeCxcblx0XHRub3dyYXAsXG5cdFx0d3JhcCxcblx0XHRjbGVhci1lYWNoLFxuXHRcdGdyaWQtY2VudGVyZWQsXG5cdFx0cm93LWFsaWduLFxuXHRcdGhpZGUsXG5cdFx0bm90LXZpc2libGUsXG5cdFx0c2hvdyxcblx0XHRzaG93LWlubGluZSxcblx0XHR2aXNpYmxlLFxuXHRcdGZsb2F0LFxuXHRcdGNsZWFyLFxuXHRcdG5vLWd1dHRlcixcblx0XHRndXR0ZXIsXG5cdFx0cm93LWRlYnVnXG5cdCk7XG5cblx0Ly8gbG9vcCBvbiBlYWNoIHBhY2thZ2VzIHRvIGluaXQgdGhlaXIgY29tbW9uIHNpbGllbnQgY2xhc3Nlc1xuXHRAZWFjaCAkcGFja2FnZSBpbiAkcGFja2FnZXMge1xuXHRcdC8vIGluY2x1ZGUgY29tbW9uXG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fc2lsZW50X2NsYXNzX25hbWUoJHBhY2thZ2UsICRzdGF0ZU5hbWUpIHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5jbHVkZV9jb21tb24oJHBhY2thZ2UsICRzdGF0ZU5hbWUpO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gX2dyaWRsZV9pbmNsdWRlX2NvbW1vbihcblx0JHBhY2thZ2UsXG5cdCRzdGF0ZSA6IGN1cnJlbnRcbikge1xuXG5cdC8vIGdldCBzdGF0ZSBuYW1lXG5cdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlKTtcblx0XG5cdC8vIGNvbnRhaW5lclxuXHRAaWYgJHBhY2thZ2UgPT0gY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9jb250YWluZXIoJHN0YXRlKTtcblx0fVxuXG5cdC8vIG9yZGVyXG5cdEBpZiAkcGFja2FnZSA9PSBncmlkLW9yZGVyIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkX29yZGVyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyByb3dcblx0QGlmICRwYWNrYWdlID09IHJvdyB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcm93KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyByb3ctZnVsbFxuXHRAaWYgJHBhY2thZ2UgPT0gcm93LWZ1bGwge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3Jvd19mdWxsKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjb2xcblx0QGlmICRwYWNrYWdlID09IGNvbCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fY29sKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkXG5cdEBpZiAkcGFja2FnZSA9PSBncmlkIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkLXRhYmxlXG5cdEBpZiAkcGFja2FnZSA9PSBncmlkLXRhYmxlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkX3RhYmxlKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkLWFkYXB0XG5cdEBpZiAkcGFja2FnZSA9PSBncmlkLWFkYXB0IHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkX2FkYXB0KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkLWdyb3dcblx0QGlmICRwYWNrYWdlID09IGdyaWQtZ3JvdyB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fZ3JpZF9ncm93KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBwdXNoXG5cdEBpZiAkcGFja2FnZSA9PSBwdXNoe1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3B1c2goJHN0YXRlKTtcblx0fVxuXG5cdC8vIHB1bGxcblx0QGlmICRwYWNrYWdlID09IHB1bGx7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcHVsbCgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gcHJlZml4XG5cdEBpZiAkcGFja2FnZSA9PSBwcmVmaXh7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcHJlZml4KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBzdWZmaXhcblx0QGlmICRwYWNrYWdlID09IHN1ZmZpeCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fc3VmZml4KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBub3dyYXBcblx0QGlmICRwYWNrYWdlID09IG5vd3JhcCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fbm93cmFwKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyB3cmFwXG5cdEBpZiAkcGFja2FnZSA9PSB3cmFwIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl93cmFwKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjbGVhci1lYWNoXG5cdEBpZiAkcGFja2FnZSA9PSBjbGVhci1lYWNoIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9jbGVhcl9lYWNoKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjZW50ZXJlZFxuXHRAaWYgJHBhY2thZ2UgPT0gZ3JpZC1jZW50ZXJlZCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fZ3JpZF9jZW50ZXJlZCgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gcm93LWFsaWduXG5cdEBpZiAkcGFja2FnZSA9PSByb3ctYWxpZ24ge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3Jvd19hbGlnbigkc3RhdGUpO1xuXHR9XG5cblx0Ly8gaGlkZVxuXHRAaWYgJHBhY2thZ2UgPT0gaGlkZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25faGlkZSgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gbm90LXZpc2libGVcblx0QGlmICRwYWNrYWdlID09IG5vdC12aXNpYmxlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ub3RfdmlzaWJsZSgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gc2hvd1xuXHRAaWYgJHBhY2thZ2UgPT0gc2hvd3tcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9zaG93KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBzaG93LWlubGluZVxuXHRAaWYgJHBhY2thZ2UgPT0gc2hvdy1pbmxpbmUge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3Nob3dfaW5saW5lKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyB2aXNpYmxlXG5cdEBpZiAkcGFja2FnZSA9PSB2aXNpYmxlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl92aXNpYmxlKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBmbG9hdFxuXHRAaWYgJHBhY2thZ2UgPT0gZmxvYXQge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX2Zsb2F0KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjbGVhclxuXHRAaWYgJHBhY2thZ2UgPT0gY2xlYXIge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX2NsZWFyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBuby1ndXR0ZXJcblx0QGlmICRwYWNrYWdlID09IG5vLWd1dHRlciB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fbm9fZ3V0dGVyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBndXR0ZXJcblx0QGlmICRwYWNrYWdlID09IGd1dHRlciB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fZ3V0dGVyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyByb3cgZGVidWdcblx0QGlmICRwYWNrYWdlID09IHJvdy1kZWJ1ZyB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcm93X2RlYnVnKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBleHRlbmQgY29tbW9uIGNsYXNzIGJ5IHRoZSByZWdpc3RlcmVkIGNzc1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2V4dGVuZF9jb21tb25fY2xhc3MoJHBhY2thZ2UsICRzdGF0ZSk7XG59XG5cblxuLy9cbi8vIFdyYXAgZ3JpZGxlIG1peGluIGNvbnRlbnQgdG8gaW5pdCBpZiBuZWVkZWQgYW5kIHRoZW4gaWYgbmVlZGVkXG4vL1x0XHRcdFxuQG1peGluIF9ncmlkbGVfY2FsbChcblx0JGZvciA6IG51bGxcbikge1xuXHQvLyBpbml0IGlmIG5lZWRlZFxuXHRAaW5jbHVkZSBncmlkbGVfaW5pdCgpO1xuXG5cdC8vIHB1dCBjb250ZW50XG5cdEBjb250ZW50O1xuXG5cdC8vIGV4dGVuZCBhbmQgYXBwbHkgY3NzIGZvciBkaWZmZXJlbnQgc3RhdGVzXG5cdEBpZiAkZm9yIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2V4dGVuZCgkZm9yKTtcblx0XHRAaWYgbm90IF9ncmlkbGVfaXNfaW5fZ2VuZXJhdGVfcGhhc2UoKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX2FwcGx5X2Nzc19mb3IoJGZvcik7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEV4dGVuZFxuLy8gQHN0YXRlQ29udGV4dFxuLy8gQGNhbGxlZEJ5IFx0XHRfZ3JpZGxlX2NhbGxcbi8vXG5AbWl4aW4gX2dyaWRsZV9leHRlbmQoXG5cdCRwYWNrYWdlXG4pIHtcblx0Ly8gY2hlY2sgaWYgd2UgbmVlZCB0aGUgc3RhdGUgY2xhc3Nlc1xuXHQkc3RhdGVzLWNsYXNzZXMgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihzdGF0ZXMtY2xhc3Nlcyk7XG5cdCRzdGF0ZU5hbWUgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lKTtcblxuXHQvLyBpZiBpcyBhbiBleGlzdGluZyBncmlkbGUgc3RhdGVcblx0QGlmIGdyaWRsZV9oYXNfc3RhdGUoJHN0YXRlTmFtZSkge1xuXHRcdC8vIGV4dGVuZCB0aGUgXCJhdC1yb290XCIgdmVyc2lvbiBmb3IgdGhlIC5zdGF0ZS17c3RhdGVOYW1lfSBjbGFzc2VzXG5cdFx0QGlmICRzdGF0ZXMtY2xhc3NlcyBhbmQgc3RyLWluZGV4KHVucXVvdGUoXCIjeyZ9XCIpLCB1bnF1b3RlKCcuc3RhdGUtI3skX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZX0nKSkge1xuXHRcdFx0Ly8gQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7IC8vIHNlZW1zIG5vdCBuZWVkZWQgaGVyZSwgY2F1c2UgaXNzdWVzIHdpdGggbGlic2Fzc1xuXHRcdFx0XHQvLyBAZGVidWcoXCIlYXQtcm9vdC0jeyRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lfS0jeyRwYWNrYWdlfVwiKTtcblx0XHRcdFx0QGV4dGVuZCAlYXQtcm9vdC0jeyRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lfS0jeyRwYWNrYWdlfSAhb3B0aW9uYWw7XG5cdFx0XHQvLyB9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQvLyBleHRlbmQgdXNpbmcgdGhlIGN1cnJlbnQgc3RhdGUgbmFtZSBzZXQgaW4gZWFjaCBncmlkbGVfc3RhdGUgY2FsbFxuXHRcdFx0Ly8gQGRlYnVnKFwiJSN7JF9ncmlkbGVfY3VycmVudF9zdGF0ZU5hbWV9LSN7JHBhY2thZ2V9XCIpO1xuXHRcdFx0QGV4dGVuZCAlI3skX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZX0tI3skcGFja2FnZX0gIW9wdGlvbmFsO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ly8gaXQncyBub3QgYW4gZXhpc3Rpbmcgc3RhdGUgc28gd2UgY2Fubm90IGV4dGVuZC5cblx0XHQvLyB3ZSBuZWVkIHRvIGluY2x1ZGUgaW5zdGVhZFxuXHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5jbHVkZV9jb21tb24oJHBhY2thZ2UsICRzdGF0ZU5hbWUpO1xuXHR9XG59XG5cblxuLy9cbi8vIEFwcGx5IHRoZSByZWdpc3RlcmVkIGNzcyBmb3IgYSBjZXJ0YWluIHR5cGUgKGdyaWQsIHB1c2gsIGV0Yy4uLilcbi8vIGluIGVhY2ggc3RhdGVzXG4vL1xuJF9ncmlkbGVfYXBwbGllZF9mb3IgOiAoKTtcbkBtaXhpbiBfZ3JpZGxlX2FwcGx5X2Nzc19mb3IoXG5cdCRfZm9yXG4pIHtcblx0JHNlbGVjdG9yIDogXCIjeyZ9LSN7JF9mb3J9XCI7IC8vIGdlbmVyYXRlIGEgdW5pcXVlIG5hbWUgdGhhdCB3aWxsIGJlIHN0YWNrZWQgaW4gYSBtYXAgdG8gZ2VuZXJhdGUgb25seSAxIHRpbWUgXG5cdEBpZiBtYXAtZ2V0KCRfZ3JpZGxlX2FwcGxpZWRfZm9yLCAkc2VsZWN0b3IpID09IG51bGwge1xuXHRcdCRfZ3JpZGxlX2FwcGxpZWRfZm9yIDogbWFwLXNldCgkX2dyaWRsZV9hcHBsaWVkX2ZvciwgJHNlbGVjdG9yLCB0cnVlKSAhZ2xvYmFsO1xuXHRcdCRmb3JzLXBhdHRlcm5zIDogJF9ncmlkbGUtcGFja2FnZXM7XG5cdFx0QGVhY2ggJG1hcCBpbiAkX2dyaWRsZV9hcHBseV9jc3NfZm9yIHtcblx0XHRcdEBlYWNoICRzdGF0ZU5hbWUsICRmb3JzIGluICRtYXAge1xuXHRcdFx0XHQkcnVsZXMgOiBtYXAtZ2V0KCRmb3JzLCAkX2Zvcik7XG5cdFx0XHRcdEBpZiAkcnVsZXMgYW5kIG1hcC1nZXQoJGZvcnMtcGF0dGVybnMsICRfZm9yKSB7XG5cdFx0XHRcdFx0QGF0LXJvb3QgKHdpdGhvdXQgOiBtZWRpYSkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9zdGF0ZSgkc3RhdGVOYW1lLCB0cnVlLCBmYWxzZSkge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfdXNlX3N0YXRlKCRzdGF0ZU5hbWUpIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX21hcF8yX2NzcygkcnVsZXMpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEdyaWRsZSBzdGF0ZVxuLy9cbi8vIEBwYXJhbSBcdHN0cmluZ3xtYXB8bGlzdCBcdCRzdGF0ZXMgXHRcdEEgbGlzdCBvZiBzdGF0ZXMsIGEgc3RhdGUgbmFtZSBvciBhIHN0YXRlIG1hcFxuLy8gQHBhcmFtIFx0Ym9vbGVhbiBcdFx0XHQkaGFzLXBhcmVudCBcdE1vc3RseSBhbHdheXMgdHJ1ZSwgbWVhbiB0aGF0IHRoZSBtaXhpbiBpcyB1c2VkIGluIGEgY3NzIHNlbGVjdG9yIGFuZCBub3QgaW4gY3NzIHJvb3QgbGV2ZWxcbi8vXG5AbWl4aW4gX2dyaWRsZV9zdGF0ZShcblx0JHN0YXRlIDogZGVmYXVsdCxcblx0JGhhcy1wYXJlbnQgOiB0cnVlLFxuXHQkdHJhY2stY3VycmVudC1zdGF0ZSA6IHRydWVcbikge1xuXG5cdC8vIHZhcmlhYmxlcyA6XG5cdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlKTtcblx0JHN0YXRlcy1jbGFzc2VzIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoc3RhdGVzLWNsYXNzZXMsICRzdGF0ZSk7XG5cdCRzdGF0ZU5hbWUgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLCAkc3RhdGUpO1xuXG5cdC8vIG1hbmFnZSBwcmV2aW91cyBzdGF0ZVxuXHQkcHJldmlvdXNfc3RhdGUgOiBudWxsO1xuXHQkcHJldmlvdXNfc3RhdGVOYW1lIDogbnVsbDtcblxuXHQvLyBjaGVjayBpZiBuZWVkIHRvIHRhY2sgdGhlIGN1cnJlbnQgc3RhdGVcblx0QGlmICR0cmFjay1jdXJyZW50LXN0YXRlIHtcblx0XHRAaWYgJF9ncmlkbGVfY3VycmVudF9zdGF0ZSB7XG5cdFx0XHQkcHJldmlvdXNfc3RhdGUgOiAkX2dyaWRsZV9jdXJyZW50X3N0YXRlO1xuXHRcdFx0JHByZXZpb3VzX3N0YXRlTmFtZSA6ICRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lO1xuXHRcdH1cblx0XHQvLyBpZiB3ZSBoYXZlIGEgcHJldmlvdXMgc3RhdGUgdGhhdCBpcyBub3QgdGhlIGRlZmF1bHQgb25lLCB3ZVxuXHRcdC8vIG1ha2UgdGhlIGluaGVyaXRlbmNlIHByb2Nlc3MuXG5cdFx0Ly8gaWYgYm90aCBzdGF0ZXMgYXJlIHJlZ2lzdGVyZWQgb25lcyA6IGp1c3QgdGFrZSB0aGUgd2FudGVkIHN0YXRlXG5cdFx0Ly8gaWYgb25seSBwcmV2aW91c19zdGF0ZSBpcyBhIHJlZ2lzdGVyZWQgb25lIDogZXh0ZW5kIHByZXZpb3VzX3N0YXRlIHdpdGggdGhlIHdhbnRlZCBvbmVcblx0XHQvLyBpZiBub25lIG9mIHRoZW0gYXJlIHJlc2l0ZXJlZCA6IGV4dGVuZCB0aGUgd2FudGVkIHdpdGggdGhlIHByZXZpb3VzIG9uZVxuXHRcdEBpZiAkcHJldmlvdXNfc3RhdGUge1xuXHRcdFx0JF9ncmlkbGVfY3VycmVudF9zdGF0ZSA6IF9ncmlkbGVfaW5oZXJpdF9zdGF0ZSgkc3RhdGUsICRwcmV2aW91c19zdGF0ZSkgIWdsb2JhbDtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCRfZ3JpZGxlX2N1cnJlbnRfc3RhdGUgOiAkc3RhdGUgIWdsb2JhbDtcdFxuXHRcdH1cblx0XHQkX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZSA6ICRzdGF0ZU5hbWUgIWdsb2JhbDtcblx0fVxuXG5cdC8vIGNoZWNrIGlmIGlzIGEgc3RhdGUgOlxuXHRAaWYgKCRzdGF0ZXMtY2xhc3Nlcylcblx0XHRhbmQgJHN0YXRlTmFtZSB7XG5cdFx0Ly8gaHRtbCBjbGFzcyA6XG5cdFx0QGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG5cdFx0XHRAaWYgJGhhcy1wYXJlbnQge1xuXHRcdFx0XHQuc3RhdGUtI3skc3RhdGVOYW1lfSAmIHsgXG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQuc3RhdGUtI3skc3RhdGVOYW1lfSB7XG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBnZXQgdGhlIG1lZGlhIHF1ZXJ5IDpcblx0JHEgOiBncmlkbGVfZ2V0X21lZGlhX3F1ZXJ5KCRzdGF0ZSk7XG5cblx0Ly8gbWFrZSB0aGUgbWVkaWEgcXVlcnkgaWYgYSBxdWVyeSBleGlzdCA6XG5cdEBpZiAkcSB7XG5cdFx0QG1lZGlhICN7JHF9IHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblxuXHQvLyByZXNldCBjdXJyZW50IHN0YXRlIHRvIGRlZmF1bHRcblx0QGlmICR0cmFjay1jdXJyZW50LXN0YXRlIGFuZCAkcHJldmlvdXNfc3RhdGUgYW5kICRwcmV2aW91c19zdGF0ZU5hbWUge1xuXHRcdCRfZ3JpZGxlX2N1cnJlbnRfc3RhdGUgOiAkcHJldmlvdXNfc3RhdGUgIWdsb2JhbDtcblx0XHQkX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZSA6ICRwcmV2aW91c19zdGF0ZU5hbWUgIWdsb2JhbDtcblx0fVxufVxuXG5cbi8vXG4vLyBUcmFuc2Zvcm0gbWFwIHRvIGNzc1xuLy9cbkBtaXhpbiBfZ3JpZGxlX21hcF8yX2Nzcyhcblx0JG1hcFxuKSB7XG5cdEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcblx0XHRAaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG5cdFx0XHQmI3ska2V5fSB7XG5cdFx0XHRcdEBlYWNoICRrLCAkdiBpbiAkdmFsdWUge1xuXHRcdFx0XHRcdEBpZiAkayAhPSBudWxsIGFuZCBzdHItaW5kZXgoJGssIGdyaWRsZSkgYW5kIG1peGluLWV4aXN0cygkaykge1xuXHRcdFx0XHRcdFx0JHNldC1uYW1lIDogc3RyLXJlcGxhY2UoJGssIFwiZ3JpZGxlX1wiLCBcIlwiKTtcblx0XHRcdFx0XHRcdCRzZXQtbmFtZSA6IHN0ci1yZXBsYWNlKCRzZXQtbmFtZSwgXCJfXCIsIFwiLVwiLCAxKTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfc2V0KChcblx0XHRcdFx0XHRcdFx0JHNldC1uYW1lIDogJHZcblx0XHRcdFx0XHRcdCkpO1xuXHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0I3ska306I3skdn07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRAaWYgJGtleSAhPSBudWxsIGFuZCBzdHItaW5kZXgoJGtleSwgZ3JpZGxlKSBhbmQgbWl4aW4tZXhpc3RzKCRrZXkpIHtcblx0XHRcdFx0JHNldC1uYW1lIDogc3RyLXJlcGxhY2UoXCIjeyRrZXl9XCIsIFwiZ3JpZGxlX1wiLCBcIlwiKTtcblx0XHRcdFx0JHNldC1uYW1lIDogc3RyLXJlcGxhY2UoXCIjeyRzZXQtbmFtZX1cIiwgXCJfXCIsIFwiLVwiLCAxKTtcblx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9zZXQoKFxuXHRcdFx0XHRcdCRzZXQtbmFtZSA6ICR2YWx1ZVxuXHRcdFx0XHQpKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQjeyRrZXl9OiN7JHZhbHVlfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy9cbi8vIEV4dGVuZCBjb21tb24gY2xhc3Ncbi8vXG5AbWl4aW4gX2dyaWRsZV9leHRlbmRfY29tbW9uX2NsYXNzKFxuXHQkd2hhdCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGV4dGVuZFxuXHQkc3RhdGVOYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJHN0YXRlKTtcblx0JGV4dGVuZCA6IGdyaWRsZV9nZXRfZXh0ZW5kX2NsYXNzX21hcCgkd2hhdCwgJHN0YXRlTmFtZSk7XG5cdEBpZiAkZXh0ZW5kICE9IG51bGwge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfbWFwXzJfY3NzKCRleHRlbmQpO1xuXHR9XG59IiwiLy9cbi8vIExheW91dCBoZWxwZXJcbi8vXG5AbWl4aW4gZ3JpZGxlX2xheW91dChcblx0JGxheW91dCxcblx0JGNvbnRleHQgOiBudWxsXG4pIHtcblx0QGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCRjb250ZXh0KSB7XG5cdFx0QGluY2x1ZGUgZ3JpZGxlX3JvdygpO1xuXHRcdEBlYWNoICRzZWwsICRsIGluICRsYXlvdXQge1xuXHRcdFx0PiAjeyRzZWx9IHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlKCRsKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy9cbi8vIEdyaWRsZSBzdGF0ZVxuLy9cbi8vIEBwYXJhbSBcdHN0cmluZ3xtYXB8bGlzdCBcdCRzdGF0ZXMgXHRcdEEgbGlzdCBvZiBzdGF0ZXMsIGEgc3RhdGUgbmFtZSBvciBhIHN0YXRlIG1hcFxuLy8gQHBhcmFtIFx0Ym9vbGVhbiBcdFx0XHQkaGFzLXBhcmVudCBcdE1vc3RseSBhbHdheXMgdHJ1ZSwgbWVhbiB0aGF0IHRoZSBtaXhpbiBpcyB1c2VkIGluIGEgY3NzIHNlbGVjdG9yIGFuZCBub3QgaW4gY3NzIHJvb3QgbGV2ZWxcbi8vXG5AbWl4aW4gZ3JpZGxlX3N0YXRlKFxuXHQkc3RhdGVzLFxuXHQkaGFzLXBhcmVudCA6IHRydWVcbikge1xuXG5cdC8vIGNoZWNrIGlmIGlzIGEgbWluLW1heCB3aXRkaCBxdWVyeSAoY29tcGF0aWJpbGl0eSBsYXllcilcblx0QGlmIHR5cGUtb2YoJHN0YXRlcykgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRoYXMtcGFyZW50KSA9PSBudW1iZXIge1xuXG5cdFx0Ly8gZ2V0IGEgbmV3IHN0YXRlIGZyb20gc2V0dGluZ3MgcGFzc2VkXG5cdFx0JHN0YXRlIDogZ3JpZGxlX2dldF9zdGF0ZSgoXG5cdFx0XHRtaW4td2lkdGggOiAkc3RhdGVzLFxuXHRcdFx0bWF4LXdpZHRoIDogJGhhcy1wYXJlbnRcblx0XHQpKTtcblxuXHRcdC8vIG1ha2UgYSBxdWVyeVxuXHRcdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlaWYgdHlwZS1vZigkc3RhdGVzKSA9PSBsaXN0XG5cdFx0b3IgdHlwZS1vZigkc3RhdGVzKSA9PSBzdHJpbmcge1xuXG5cdFx0Ly8gbG9vcCBvbiBlYWNoIHN0YXRlcyA6XG5cdFx0QGVhY2ggJHN0YXRlIGluICRzdGF0ZXNcblx0XHR7XG5cdFx0XHQvLyBtYWtlIHN1cmUgd2UgaGF2ZSB0aGUgc3RhdGUgb2JqZWN0XG5cdFx0XHQkc3RhdGUgOiBncmlkbGVfZ2V0X3N0YXRlKCRzdGF0ZSk7XG5cblx0XHRcdC8vIG1ha2UgZ3JpZGxlIHN0YXRlXG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX3N0YXRlKCRzdGF0ZSwgJGhhcy1wYXJlbnQsIHRydWUpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH0gQGVsc2VpZiB0eXBlLW9mKCRzdGF0ZXMpID09IG1hcCB7XG5cblx0XHQvLyBnZXQgYSBzdGF0ZSBmcm9tIHRoZSBwYXNzZWQgb25lXG5cdFx0JHN0YXRlIDogZ3JpZGxlX2dldF9zdGF0ZSgkc3RhdGVzKTtcblxuXHRcdC8vIG1ha2UgZ3JpZGxlIHN0YXRlXG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9zdGF0ZSgkc3RhdGUsICRoYXMtcGFyZW50LCB0cnVlKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cblxuLy9cbi8vIEVsZW1lbnQgcXVlcmllc1xuLy9cbkBtaXhpbiBncmlkbGVfZXEoXG5cdCR2YXIsXG5cdCRoZWlnaHQgOiBmYWxzZVxuKSB7XG5cdCRvcCA6IFwibWluLXdpZHRoXCI7XG5cdEBpZiAkaGVpZ2h0IHtcblx0XHRAaWYgJHZhciA8IDAge1xuXHRcdFx0JG9wIDogXCJtYXgtaGVpZ2h0XCI7XG5cdFx0XHQkdmFyIDogJHZhciAqIC0xO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JG9wIDogXCJtaW4taGVpZ2h0XCI7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAaWYgJHZhciA8IDAge1xuXHRcdFx0JG9wIDogXCJtYXgtd2lkdGhcIjtcblx0XHRcdCR2YXIgOiAkdmFyICogLTE7XG5cdFx0fVxuXHR9XG5cblx0JlsjeyRvcH1+PVwiI3skdmFyfVwiXSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuXG4vL1xuLy8gR3JpZGxlIHVzZSBzdGF0ZVxuLy8gVGhpcyBtaXhpbiB3aWxsIG9ubHkgc2V0IHRoZSBjdXJyZW50IHN0YXRlIHRvIHVzZSBhbmQgTk9UIHByaW50IG91dCBhbnkgbWVkaWEgcXVlcnlcbi8vXG5AbWl4aW4gZ3JpZGxlX3VzZV9zdGF0ZShcblx0JHN0YXRlXG4pIHtcblx0Ly8gZ2V0IHRoZSBzdGF0ZVxuXHQkc3RhdGUgOiBncmlkbGVfZ2V0X3N0YXRlKCRzdGF0ZSk7XG5cdCRzdGF0ZU5hbWUgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLCAkc3RhdGUpO1xuXG5cdC8vIHNhdmUgdGhlIGN1cnJlbnQgc3RhdGVcblx0JHNhdmVkU3RhdGUgOiAkX2dyaWRsZV9jdXJyZW50X3N0YXRlO1xuXHQkc2F2ZWRTdGF0ZU5hbWUgOiAkX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZTtcblxuXHQvLyBzZXQgdGhlIGN1cnJlbnQgc3RhdGVcblx0JF9ncmlkbGVfY3VycmVudF9zdGF0ZSA6ICRzdGF0ZSAhZ2xvYmFsO1xuXHQkX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZSA6ICRzdGF0ZU5hbWUgIWdsb2JhbDtcblxuXHQvLyBnZW5lcmF0ZSBjb250ZW50XG5cdEBjb250ZW50O1xuXG5cdC8vIHJlc2V0IHRoZSBzdGF0ZVxuXHQkX2dyaWRsZV9jdXJyZW50X3N0YXRlIDogJHNhdmVkU3RhdGUgIWdsb2JhbDtcblx0JF9ncmlkbGVfY3VycmVudF9zdGF0ZU5hbWUgOiAkc2F2ZWRTdGF0ZU5hbWUgIWdsb2JhbDtcbn1cblxuXG4vL1xuLy8gR3JpZGxlIHNlbGVjdG9yXG4vL1xuQG1peGluIGdyaWRsZV9zZWxlY3Rvcihcblx0JGZvcixcblx0JHN0YXRlcyA6IG51bGxcbikge1xuXHQje2dyaWRsZV9zZWxlY3RvcigkZm9yLCAkc3RhdGVzKX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cblxuLy9cbi8vIEdyaWRsZSBoZWxwZXJcbi8vXG5AbWl4aW4gZ3JpZGxlKCRsYXlvdXQpIHtcblx0JG1hcCA6IF9ncmlkbGVfZ2V0X2dyaWRsZV9zZXRfbWFwX2Zyb21fbGlzdCgkbGF5b3V0KTtcblx0QGlmIHR5cGUtb2YoJG1hcCkgPT0gbWFwIHtcblx0XHRAaW5jbHVkZSBncmlkbGVfc2V0KCRtYXApO1xuXHR9XG59XG5cblxuLy9cbi8vIEhlbHBlciB0byBhcHBseSBtdWx0aXBsZSBjb25maWcgZm9yIGEgY2VydGFpbiBzdGF0ZSB3aXRoIG9uZSBtaXhpblxuLy9cbkBtaXhpbiBncmlkbGVfc2V0KFxuXHQkc2V0dGluZ3MsXG5cdCRzdGF0ZSA6IGN1cnJlbnRcbikge1xuXHQvLyBpbml0IGlmIG5lZWRlZFxuXHRAaW5jbHVkZSBncmlkbGVfaW5pdCgpO1xuXHQvLyB3cmFwIGluIG1lZGlhIHF1ZXJ5XG5cdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkc3RhdGUpIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX3NldCgkc2V0dGluZ3MpO1xuXHR9XG59XG5AbWl4aW4gX2dyaWRsZV9zZXQoXG5cdCRzZXR0aW5nc1xuKSB7XG5cdC8vIGxvb3Agb24gZWFjaCBzZXR0aW5nc1xuXHRAZWFjaCAkc2V0dGluZ05hbWUsICRzZXR0aW5nVmFsdWUgaW4gJHNldHRpbmdzXG5cdHtcblx0XHQkc24gOiB1bnF1b3RlKFwiI3skc2V0dGluZ05hbWV9XCIpO1xuXHRcdCRzdiA6ICRzZXR0aW5nVmFsdWU7XG5cblx0XHQvLyBjaGVjayBpZiBzZXR0aW5nIG5hbWUgaXMgYSBzdGF0ZSA6XG5cdFx0QGlmIGdyaWRsZV9oYXNfc3RhdGUoJHNuKSB7XG5cdFx0XHQvLyBwcm9jZXNzIHRoZSBzdGF0ZVxuXHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3NldCgkc3YsICRzbik7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRAaWYgJHNuID09IGNvbnRhaW5lciB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NvbnRhaW5lcigpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBncmlkIHtcblx0XHRcdFx0QGlmIGxlbmd0aCgkc3YpID09IDIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ncmlkKG50aCgkc3YsMSksIG50aCgkc3YsMikpO1xuXHRcdFx0XHR9IEBlbHNlIGlmIHR5cGUtb2YoJHN2KSA9PSBsaXN0IGFuZCBsZW5ndGgoJHN2KSA9PSAxIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZChudGgoJHN2LDEpKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2dyaWQoJHN2KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gZ3JpZC1ncm93IHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZF9ncm93KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGdyaWQtYWRhcHQge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ncmlkX2FkYXB0KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGdyaWQtdGFibGUge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ncmlkX3RhYmxlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHB1c2gge1xuXHRcdFx0XHRAaWYgbGVuZ3RoKCRzdikgPT0gMiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3B1c2gobnRoKCRzdiwxKSwgbnRoKCRzdiwyKSk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9wdXNoKCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHB1bGwge1xuXHRcdFx0XHRAaWYgbGVuZ3RoKCRzdikgPT0gMiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3B1bGwobnRoKCRzdiwxKSwgbnRoKCRzdiwyKSk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9wdWxsKCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHByZWZpeCB7XG5cdFx0XHRcdEBpZiBsZW5ndGgoJHN2KSA9PSAyIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcHJlZml4KG50aCgkc3YsMSksIG50aCgkc3YsMikpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcHJlZml4KCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHN1ZmZpeCB7XG5cdFx0XHRcdEBpZiBsZW5ndGgoJHN2KSA9PSAyIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfc3VmZml4KG50aCgkc3YsMSksIG50aCgkc3YsMikpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfc3VmZml4KCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGNsZWFyLWVhY2gge1xuXHRcdFx0XHRAaWYgbGVuZ3RoKCRzdikgPT0gMiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NsZWFyX2VhY2gobnRoKCRzdiwxKSwgbnRoKCRzdiwyKSk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcl9lYWNoKCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGdyaWQtY2VudGVyZWQgYW5kICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2dyaWRfY2VudGVyZWQoKTtcblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHJvdyBhbmQgJHN2ID09IHRydWUge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93KCk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSByb3ctZnVsbCBhbmQgJHN2ID09IHRydWUge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93X2Z1bGwoKTtcblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGNvbCBhbmQgJHN2ID09IHRydWUge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfY29sKCk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSByb3ctYWxpZ24ge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcm93X2FsaWduKCRzdik7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBub3dyYXAge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub3dyYXAoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3dyYXAoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gd3JhcCB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3dyYXAoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vd3JhcCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBvcmRlciB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9vcmRlcigkc3YpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gaGlkZSB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2hpZGUoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Nob3coKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gc2hvdyB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Nob3coKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2hpZGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gdmlzaWJsZSB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Zpc2libGUoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vdF92aXNpYmxlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IG5vdC12aXNpYmxlIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfbm90X3Zpc2libGUoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Zpc2libGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gc2hvdy1pbmxpbmUge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zaG93X2lubGluZSgpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfaGlkZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBmbG9hdCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9mbG9hdCgkc3YpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gY2xlYXIge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcigpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfY2xlYXIoJHN2KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gbm8tZ3V0dGVyIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfbm9fZ3V0dGVyKCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub19ndXR0ZXIoJHN2KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gZ3V0dGVyIG9yICRzbiA9PSBndXR0ZXItd2lkdGgge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ndXR0ZXIoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2d1dHRlcigkc3YpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0Ly8gd2UgZG8gbm90aGluZ1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBQdXNoXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX3B1c2goXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyBjc3Ncblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdC8vIGhhbmRsZSBkaXJlY3Rpb24gYXR0cmlidXRlXG5cdEBpZiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXItYXR0cmlidXRlLCAkc3RhdGUpIHtcblx0XHRbZGlyPVwicnRsXCJdICYge1xuXHRcdFx0bGVmdDogYXV0bztcblx0XHR9XG5cdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxufVxuQG1peGluIGdyaWRsZV9wdXNoKFxuXHQkY29sdW1ucyxcblx0JGNvbnRleHQgOiBudWxsXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHB1c2gpIHtcblx0XHQvLyB2YXJpYWJsZXMgOlxuXHRcdEBpZiB0eXBlLW9mKCRjb250ZXh0KSAhPSBudW1iZXIge1xuXHRcdFx0JGNvbnRleHQgOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb250ZXh0KTtcblx0XHR9XG5cdFx0JGRpcmVjdGlvbiA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpcmVjdGlvbik7XG5cdFx0JG5hbWUtbXVsdGlwbGljYXRvciA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0JGNvbHVtbi13aWR0aCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGNvbHVtbi13aWR0aCk7XG5cblx0XHQvLyB2YXJzIDpcblx0XHQkd2lkdGggOiAwO1xuXHRcdEBpZiAkY29sdW1uLXdpZHRoIHtcblx0XHRcdCR3aWR0aCA6ICRjb2x1bW4td2lkdGggKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCR3aWR0aCA6IHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0KSAqICgkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdH1cblx0XHQvLyBAaWYgJGRpcmVjdGlvbiA9PSBydGwgeyAkd2lkdGggOiAkd2lkdGgqLTE7IH1cblx0XHQvLyBsZWZ0OiR3aWR0aDtcblx0XHQvLyBAaWYgJGRpcmVjdGlvbiA9PSBsdHIge1xuXHRcdC8vIFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHQvLyBcdFx0bGVmdDogJHdpZHRoICogLTE7XG5cdFx0Ly8gXHR9XG5cdFx0Ly8gfVxuXG5cdFx0Ly8gc2V0IHZhbHVlIDpcblx0XHRAaWYgJGRpcmVjdGlvbiA9PSBydGwgeyByaWdodDokd2lkdGg7bGVmdDphdXRvOyB9XG5cdFx0QGVsc2UgeyBsZWZ0OiR3aWR0aDtyaWdodDphdXRvOyB9XG5cdFx0Ly8gaGFuZGxlIGRpcmVjdGlvbiBhdHRyaWJ1dGVcblx0XHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSkge1xuXHRcdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdFx0cmlnaHQ6ICR3aWR0aDtcblx0XHRcdH1cblx0XHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHRcdGxlZnQ6ICR3aWR0aDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gUHVsbFxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9wdWxsKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY3NzXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQvLyBoYW5kbGUgZGlyZWN0aW9uIGF0dHJpYnV0ZVxuXHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSwgJHN0YXRlKSB7XG5cdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdH1cblx0XHRbZGlyPVwibHRyXCJdICYge1xuXHRcdFx0bGVmdDogYXV0bztcblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBncmlkbGVfcHVsbChcblx0JGNvbHVtbnMsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChwdWxsKSB7XG5cdFx0Ly8gdmFyaWFibGVzIDpcblx0XHRAaWYgdHlwZS1vZigkY29udGV4dCkgIT0gbnVtYmVyIHtcblx0XHRcdCRjb250ZXh0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29udGV4dCk7XG5cdFx0fVxuXHRcdCRkaXJlY3Rpb24gOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXJlY3Rpb24pO1xuXHRcdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdCRjb2x1bW4td2lkdGggOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb2x1bW4td2lkdGgpO1xuXG5cdFx0Ly8gdmFycyA6XG5cdFx0JHdpZHRoIDogMDtcblx0XHRAaWYgJGNvbHVtbi13aWR0aCB7XG5cdFx0XHQkd2lkdGggOiAkY29sdW1uLXdpZHRoICogKCRjb2x1bW5zIC8gJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkd2lkdGggOiBwZXJjZW50YWdlKDEgLyAkY29udGV4dCkgKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHR9XG5cdFx0Ly8gQGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgJHdpZHRoIDogJHdpZHRoKi0xOyB9XG5cdFx0Ly8gcmlnaHQ6JHdpZHRoO1xuXHRcdC8vIEBpZiAkZGlyZWN0aW9uID09IGx0ciB7XG5cdFx0Ly8gXHRbZGlyPVwicnRsXCJdICYge1xuXHRcdC8vIFx0XHRsZWZ0OiAkd2lkdGggKiAtMTtcblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cblx0XHQvLyBzZXQgdmFsdWUgOlxuXHRcdEBpZiAkZGlyZWN0aW9uID09IHJ0bCB7IGxlZnQ6JHdpZHRoO3JpZ2h0OmF1dG87IH1cblx0XHRAZWxzZSB7IHJpZ2h0OiR3aWR0aDtsZWZ0OmF1dG87IH1cblx0XHQvLyBoYW5kbGUgZGlyZWN0aW9uIGF0dHJpYnV0ZVxuXHRcdEBpZiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXItYXR0cmlidXRlKSB7XG5cdFx0XHRbZGlyPVwicnRsXCJdICYge1xuXHRcdFx0XHRsZWZ0OiAkd2lkdGg7XG5cdFx0XHR9XG5cdFx0XHRbZGlyPVwibHRyXCJdICYge1xuXHRcdFx0XHRyaWdodDogJHdpZHRoO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBQcmVmaXhcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fcHJlZml4KFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gaGFuZGxlIGRpcmVjdGlvbiBhdHRyaWJ1dGVcblx0QGlmIGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpci1hdHRyaWJ1dGUsICRzdGF0ZSkge1xuXHRcdFtkaXI9XCJydGxcIl0gJiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR9XG5cdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBncmlkbGVfcHJlZml4KFxuXHQkY29sdW1ucyxcblx0JGNvbnRleHQgOiBudWxsXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHByZWZpeCkge1xuXHRcdC8vIHZhcnMgOlxuXHRcdEBpZiB0eXBlLW9mKCRjb250ZXh0KSAhPSBudW1iZXIge1xuXHRcdFx0JGNvbnRleHQgOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb250ZXh0KTtcblx0XHR9XG5cdFx0JGRpcmVjdGlvbiA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpcmVjdGlvbik7XG5cdFx0JG5hbWUtbXVsdGlwbGljYXRvciA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0JGNvbHVtbi13aWR0aCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGNvbHVtbi13aWR0aCk7XG5cblx0XHQvLyB2YXJzIDpcblx0XHQkd2lkdGggOiAwO1xuXHRcdEBpZiAkY29sdW1uLXdpZHRoIHtcblx0XHRcdCR3aWR0aCA6ICRjb2x1bW4td2lkdGggKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCR3aWR0aCA6IHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0KSAqICgkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdH1cblxuXHRcdC8vIHNldCB2YWx1ZSA6XG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgbWFyZ2luLXJpZ2h0OiR3aWR0aDsgfVxuXHRcdEBlbHNlIHsgbWFyZ2luLWxlZnQ6JHdpZHRoOyB9XG5cdFx0Ly8gaGFuZGxlIGRpcmVjdGlvbiBhdHRyaWJ1dGVcblx0XHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSkge1xuXHRcdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAkd2lkdGg7XG5cdFx0XHR9XG5cdFx0XHRbZGlyPVwibHRyXCJdICYge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogJHdpZHRoO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBTdWZmaXhcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fc3VmZml4KFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0QGlmIGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpci1hdHRyaWJ1dGUsICRzdGF0ZSkge1xuXHRcdFtkaXI9XCJydGxcIl0gJiB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBncmlkbGVfc3VmZml4KFxuXHQkY29sdW1ucyxcblx0JGNvbnRleHQgOiBudWxsXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHN1ZmZpeCkge1xuXHRcdC8vIHZhcnMgOlxuXHRcdEBpZiB0eXBlLW9mKCRjb250ZXh0KSAhPSBudW1iZXIge1xuXHRcdFx0JGNvbnRleHQgOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb250ZXh0KTtcblx0XHR9XG5cdFx0JGRpcmVjdGlvbiA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpcmVjdGlvbik7XG5cdFx0JG5hbWUtbXVsdGlwbGljYXRvciA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0JGNvbHVtbi13aWR0aCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGNvbHVtbi13aWR0aCk7XG5cblx0XHQvLyB2YXJzIDpcblx0XHQkd2lkdGggOiAwO1xuXHRcdEBpZiAkY29sdW1uLXdpZHRoIHtcblx0XHRcdCR3aWR0aCA6ICRjb2x1bW4td2lkdGggKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCR3aWR0aCA6IHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0KSAqICgkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdH1cblxuXHRcdC8vIHNldCB2YWx1ZSA6XG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgbWFyZ2luLWxlZnQ6JHdpZHRoOyB9XG5cdFx0QGVsc2UgeyBtYXJnaW4tcmlnaHQ6JHdpZHRoOyB9XG5cblx0XHQvLyBoYW5kbGUgZGlyZWN0aW9uIGF0dHJpYnV0ZVxuXHRcdEBpZiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXItYXR0cmlidXRlKSB7XG5cdFx0XHRbZGlyPVwicnRsXCJdICYge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogJHdpZHRoO1xuXHRcdFx0fVxuXHRcdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAkd2lkdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIFJvdyBkZWJ1Z1xuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9yb3dfZGVidWcoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9yb3dfZGVidWcoXG5cdCRzdGF0ZXMgOiBudWxsXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHJvdy1kZWJ1Zykge1xuXHRcdC8vIHZhcmlhYmxlcyA6XG5cdFx0JGNvbnRleHQgOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb250ZXh0KTtcblxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdHotaW5kZXg6OTk5OTk7XG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRjb250ZW50OicnO1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHR0b3A6MDsgbGVmdDowO1xuXHRcdFx0d2lkdGg6MTAwJTsgaGVpZ2h0Ojk5OTk5cHg7XG5cdFx0XHQvLyB2YXJzIDpcblx0XHRcdCR3aWR0aCA6IHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0KTtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLDAsMCwwKSA1MCUgLCByZ2JhKDAsMCwwLC4wMikgNTAlKTsgLy8gU3RhbmRhcmQgc3ludGF4XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6KCR3aWR0aCoyKSAxMDAlO1xuXHRcdFx0ei1pbmRleDo5OTk5OTtcblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gRGVidWdcbi8vXG5AbWl4aW4gZ3JpZGxlX2RlYnVnKFxuXHQkd2hhdCxcblx0JG91dHB1dCA6IHNoZWxsXG4pIHtcblx0QGlmICRncmlkbGUtZGVidWcge1xuXHRcdEBpZiAkb3V0cHV0ID09IHNoZWxsIHtcblx0XHRcdEBkZWJ1ZyhpbnNwZWN0KCR3aGF0KSk7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRAaWYgdHlwZS1vZigkd2hhdCkgPT0gbWFwIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2RlYnVnX21hcCgkd2hhdCk7XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0QF8ge1xuXHRcdFx0XHRcdCN7dHlwZS1vZigkd2hhdCl9IDogaW5zcGVjdCgkd2hhdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gRGVidWcgYSBtYXBcbi8vXG5AbWl4aW4gZ3JpZGxlX2RlYnVnX21hcCgkbWFwLCAkbmFtZSA6ICcnKSB7XG5cdEBhdC1yb290IHtcblx0XHRAXyAjeyRuYW1lfSB7XG5cdFx0XHRAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG5cdFx0XHRcdEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZGVidWdfbWFwKCR2YWx1ZSwgJGtleSk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdCN7JGtleX06IGluc3BlY3QoJHZhbHVlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBDb250YWluZXJcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fY29udGFpbmVyKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG59XG5AbWl4aW4gZ3JpZGxlX2NvbnRhaW5lcihcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoY29udGFpbmVyKSB7XG5cdH1cbn1cblxuXG4vL1xuLy8gQ2VudGVyZWRcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fZ3JpZF9jZW50ZXJlZChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcblx0ZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDphdXRvICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDphdXRvICFpbXBvcnRhbnQ7XG5cdGNsZWFyOmJvdGggIWltcG9ydGFudDtcbn1cbkBtaXhpbiBncmlkbGVfZ3JpZF9jZW50ZXJlZChcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoZ3JpZC1jZW50ZXJlZCkge1xuXHR9XG59XG5cblxuLy9cbi8vIEhpZGVcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25faGlkZShcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX2hpZGUoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGhpZGUpIHtcblx0XHRkaXNwbGF5Om5vbmU7XG5cdH1cbn1cblxuXG4vL1xuLy8gTm90IHZpc2libGUgb25cbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fbm90X3Zpc2libGUoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9ub3RfdmlzaWJsZShcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwobm90LXZpc2libGUpIHtcblx0XHR2aXNpYmlsaXR5OmhpZGRlbjtcblx0fVxufVxuXG5cbi8vXG4vLyBTaG93IG9uXG4vL1xuLy8gQHBhcmFtIFx0U3RyaW5nIFx0JG1lZGlhIFx0V2hhdCB0byBoaWRlIChvbmUgb2YgdGhlIDMgc3RhdGUgY2xhc3NlcyBuYW1lKVxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9zaG93KFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfc2hvdyhcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoc2hvdykge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdH1cbn1cblxuXG4vL1xuLy8gU2hvdyBpbmxpbmVcbi8vXG4vLyBAcGFyYW0gXHRTdHJpbmcgXHRcdCRzdGF0ZSBcdFx0VGhlIHN0YXRlIG5hbWVcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fc2hvd19pbmxpbmUoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9zaG93X2lubGluZShcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoc2hvdy1pbmxpbmUpIHtcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0fVxufVxuXG5cbi8vXG4vLyBWaXNpYmxlIG9uIDpcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRtZWRpYSBcdE9uIHdoYXQgc3RhdGVcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fdmlzaWJsZShcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX3Zpc2libGUoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHZpc2libGUpIHtcblx0XHR2aXNpYmlsaXR5OnZpc2libGU7XG5cdH1cbn1cblxuXG4vL1xuLy8gRmxvYXQgOlxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9mbG9hdChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX2Zsb2F0KFxuXHQkZmxvYXQtZGlyZWN0aW9uIDogbGVmdFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChmbG9hdCkge1xuXHRcdGZsb2F0OiN7JGZsb2F0LWRpcmVjdGlvbn07XG5cdH1cbn1cblxuXG4vL1xuLy8gR3JpZGxlIGNsZWFyIDpcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fY2xlYXIoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9jbGVhcihcblx0JGNsZWFyLWRpcmVjdGlvbiA6IGJvdGhcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoY2xlYXIpIHtcblx0XHRjbGVhcjojeyRjbGVhci1kaXJlY3Rpb259O1xuXHR9XG59XG5cblxuLy9cbi8vIEdyaWRsZSBubyBndXR0ZXIgOlxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9ub19ndXR0ZXIoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9ub19ndXR0ZXIoXG5cdCRzaWRlIDogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKG5vLWd1dHRlcikge1xuXHRcdEBlYWNoICRzIGluICRzaWRlIHtcblx0XHRcdHBhZGRpbmctI3skc30gOiAwO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBHcmlkbGUgZ3V0dGVyIDpcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fZ3V0dGVyKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfZ3V0dGVyKFxuXHQkc2lkZS1vci1zaXplIDogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGd1dHRlcikge1xuXG5cdFx0Ly8gZ2V0IGEgZ3V0dGVyIG1hcFxuXHRcdCRndXR0ZXJzIDogX2dyaWRsZV9mb3JnZV9ndXR0ZXJzX21hcCgkc2lkZS1vci1zaXplKTtcblxuXHRcdC8vIGNoZWNrIHRoYXQgd2UgaGF2ZSBhIGd1dHRlciBtYXBcblx0XHRAZWFjaCAkc2lkZSwgJHZhbHVlIGluICRndXR0ZXJzIHtcblx0XHRcdEBpZiAkdmFsdWUgYW5kICR2YWx1ZSA+IDAge1xuXHRcdFx0XHRwYWRkaW5nLSN7JHNpZGV9IDogJHZhbHVlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG4iLCIvL1xuLy8gUm93XG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX3Jvdyhcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIEZvciBtb2Rlcm4gYnJvd3NlclxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDpcIlwiO1xuXHRcdGRpc3BsYXk6dGFibGU7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6Ym90aDtcblx0fVxuXHQvLyBGb3IgSUUgNi83ICh0cmlnZ2VyIGhhc0xheW91dFxuXHQmIHtcblx0ICAgem9vbToxO1xuXHR9XG59XG5AbWl4aW4gZ3JpZGxlX3Jvdyhcblx0JHJldmVyc2UgOiBmYWxzZVxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChyb3cpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWxlZnQ6IC0je2dyaWRsZV9nZXRfc3RhdGVfdmFyKGd1dHRlci1sZWZ0KX07XG5cdFx0bWFyZ2luLXJpZ2h0OiAtI3tncmlkbGVfZ2V0X3N0YXRlX3ZhcihndXR0ZXItcmlnaHQpfTtcblx0XHQvLyBmb250LXNpemU6MDsgLy8gdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCBpbmxpbmUtYmxvY2sgbWFyZ2luc1xuXHRcblx0XHQje19ncmlkbGVfZ2V0X2dlbmVyaWNfc2VsZWN0b3Iobm8tZ3V0dGVyKX0gPiAmIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQvLyBkbyB0aGlzIG9ubHkgd2hlbiBub3QgaW4gZ2VuZXJhdGUgcGhhc2Vcblx0XHQvLyBtZWFuIHRoYXQgd2UgdXNlIHRoZSBtaXhpbiBkaXJlY3RseVxuXHRcdEBpZiBfZ3JpZGxlX2lzX2luX2dlbmVyYXRlX3BoYXNlKCkgPT0gZmFsc2Uge1xuXHRcdFx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluIGdyaWRsZV9nZXRfc3RhdGVzKCkge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XHRcblx0XHRcdFx0XHQmICN7c3RyLXJlcGxhY2UodW5xdW90ZShcIiN7Jn1cIiksXCIuc3RhdGUtI3tncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLCAkc3RhdGUpfVwiLFwiXCIpfSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLSN7Z3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLWxlZnQsICRzdGF0ZSl9O1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtI3tncmlkbGVfZ2V0X3N0YXRlX3ZhcihndXR0ZXItcmlnaHQsICRzdGF0ZSl9O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBDb2xcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fY29sKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfY29sKFxuXHQkcmV2ZXJzZSA6IGZhbHNlXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGNvbCkge1xuXHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0XHRtYXJnaW4tbGVmdDogLSN7Z3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLWxlZnQpfTtcblx0XHRtYXJnaW4tcmlnaHQ6IC0je2dyaWRsZV9nZXRfc3RhdGVfdmFyKGd1dHRlci1yaWdodCl9O1xuXHRcdC8vIGZvbnQtc2l6ZTowOyAvLyB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIGlubGluZS1ibG9jayBtYXJnaW5zXG5cblx0XHQvLyBkbyB0aGlzIG9ubHkgd2hlbiBub3QgaW4gZ2VuZXJhdGUgcGhhc2Vcblx0XHQvLyBtZWFuIHRoYXQgd2UgdXNlIHRoZSBtaXhpbiBkaXJlY3RseVxuXHRcdEBpZiBfZ3JpZGxlX2lzX2luX2dlbmVyYXRlX3BoYXNlKCkgPT0gZmFsc2Uge1xuXHRcdFx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluIGdyaWRsZV9nZXRfc3RhdGVzKCkge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XHRcblx0XHRcdFx0XHQmICN7c3RyLXJlcGxhY2UoI3smfSxcIi5zdGF0ZS0je2dyaWRsZV9nZXRfc3RhdGVfdmFyKG5hbWUsICRzdGF0ZSl9XCIsXCJcIil9IHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtI3tncmlkbGVfZ2V0X3N0YXRlX3ZhcihndXR0ZXItbGVmdCwgJHN0YXRlKX07XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0je2dyaWRsZV9nZXRfc3RhdGVfdmFyKGd1dHRlci1yaWdodCwgJHN0YXRlKX07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIE5vd3JhcFxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9ub3dyYXAoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdD4gKiB7XG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0fVxufVxuQG1peGluIGdyaWRsZV9ub3dyYXAoKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChub3dyYXApIHtcblx0fVxufVxuXG5cbi8vXG4vLyBXcmFwXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX3dyYXAoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHR3aGl0ZS1zcGFjZTpub3JtYWw7XG59XG5AbWl4aW4gZ3JpZGxlX3dyYXAoKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbCh3cmFwKSB7XG5cdH1cbn1cblxuXG4vL1xuLy8gR3JpZFxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9ncmlkKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gdmFyc1xuXHQkZGlyZWN0aW9uIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyZWN0aW9uLCAkc3RhdGUpO1xuXHRcblx0Ly8gY3NzXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRtaW4taGVpZ2h0OjFweDtcblx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHtcblx0XHRmbG9hdDpyaWdodDtcblx0fSBAZWxzZSB7XG5cdFx0ZmxvYXQ6bGVmdDtcblx0fVxuXHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdC8vIGZvbnQtc2l6ZToxcmVtOyAvLyByZXNldCB0aGUgZm9udCBzaXplXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdEBpbmNsdWRlIGdyaWRsZV9ndXR0ZXIoKTtcblxuXHQvLyBoYW5kbGUgZGlyZWN0aW9uIGF0dHJpYnV0ZVxuXHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSwgJHN0YXRlKSB7XG5cdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblx0fVxuXHRcbn1cbkBtaXhpbiBncmlkbGVfZ3JpZChcblx0JGNvbHVtbnMsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdEBpZiAkY29sdW1ucyA9PSBncm93IHtcblx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZF9ncm93KCk7XG5cdH0gQGVsc2UgaWYgJGNvbHVtbnMgPT0gYWRhcHQge1xuXHRcdEBpbmNsdWRlIGdyaWRsZV9ncmlkX2FkYXB0KCk7XG5cdH0gQGVsc2Uge1xuXHRcdFxuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChncmlkKSB7XG5cblx0XHRcdC8vIHZhcnNcblx0XHRcdCRuYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSk7XG5cdFx0XHRAaWYgdHlwZS1vZigkY29udGV4dCkgIT0gbnVtYmVyIHtcblx0XHRcdFx0JGNvbnRleHQgOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb250ZXh0KTtcblx0XHRcdH1cblx0XHRcdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdFx0JGd1dHRlci1sZWZ0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLWxlZnQpO1xuXHRcdFx0JGd1dHRlci1yaWdodCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGd1dHRlci1yaWdodCk7XG5cdFx0XHQkY29sdW1uLXdpZHRoIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29sdW1uLXdpZHRoKTtcblxuXHRcdFx0Ly8gbWFuYWdlIGNvbHVtbnNcblx0XHRcdEBpZiB0eXBlLW9mKCRjb2x1bW5zKSAhPSBudW1iZXIgYW5kIGdyaWRsZV9oYXNfY29sdW1uKCRjb2x1bW5zKSB7XG5cdFx0XHRcdC8vIHRoZSBjb2x1bW5zIGlzIGEgc2F2ZWQgb25lLCBnZXQgdGhlIGNvbnRleHQgYW5kIGNvbHVtbiB2YWx1ZVxuXHRcdFx0XHQkY29sdW1uIDogbWFwLWdldCgkX2dyaWRsZV9jb2x1bW5zLCAkY29sdW1ucyk7XG5cdFx0XHRcdCRjb250ZXh0IDogbWFwLWdldCgkY29sdW1uLCBjb250ZXh0KTtcblx0XHRcdFx0JGNvbHVtbnMgOiBtYXAtZ2V0KCRjb2x1bW4sIGNvbHVtbnMpO1xuXHRcdFx0fSBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSBudW1iZXIge1xuXHRcdFx0XHQvLyBjaGVjayBpZiB3ZSBoYXZlIGEgcmF0aW9cblx0XHRcdFx0QGlmICRjb2x1bW5zIDwgMSB7XG5cdFx0XHRcdFx0JGNvbHVtbnMgOiAkY29udGV4dCAvIDEwMCAqICgkY29sdW1ucyAqIDEwMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JGNvbHVtbnMgOiAkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3I7XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0QGVycm9yIFwidGhlIGNvbHVtbiAjeyRjb2x1bW5zfSBkb2VzIG5vdCBleGlzdC4uLlwiO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyB3aWR0aCA6XG5cdFx0XHQkd2lkdGggOiAwO1xuXHRcdFx0QGlmICRjb2x1bW4td2lkdGgge1xuXHRcdFx0XHQkd2lkdGggOiAkY29sdW1uLXdpZHRoICogJGNvbHVtbnM7XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0JHdpZHRoIDogcGVyY2VudGFnZSgxIC8gJGNvbnRleHQgKiAkY29sdW1ucyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIHNldCB2YWx1ZSA6XG5cdFx0XHR3aWR0aDokd2lkdGg7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEdyaWQgdGFibGVcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fZ3JpZF90YWJsZShcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX2dyaWRfdGFibGUoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGdyaWQtdGFibGUpIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdH1cbn1cblxuXG4vL1xuLy8gUm93IGZ1bGxcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fcm93X2Z1bGwoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9yb3dfZnVsbChcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwocm93LWZ1bGwpIHtcblx0XHQkZGlyZWN0aW9uIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyZWN0aW9uKTtcblx0XHR3aWR0aDogMTAwdnc7XG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gbHRyIHtcblx0XHRcdG1hcmdpbi1sZWZ0OjUwJSAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDtcblx0XHRcdEBpZiAkZ3JpZGxlLXZlbmRvci1wcmVmaXgge1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHR9XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6NTAlICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7XG5cdFx0XHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcblx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcblx0XHRcdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHR9XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcblx0XHR9XG5cdFx0QGlmIGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpci1hdHRyaWJ1dGUpIHtcblx0XHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OjUwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O1xuXHRcdFx0XHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0XHQtbW96LXRyYW5zaXRpb246IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0fVxuXHRcdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OjUwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7XG5cdFx0XHRcdEBpZiAkZ3JpZGxlLXZlbmRvci1wcmVmaXgge1xuXHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXHRcdFx0XHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBncmlkIGFkYXB0XG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2dyaWRfYWRhcHQoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR3aWR0aDoxcHg7XG5cdHdoaXRlLXNwYWNlOm5vd3JhcCAhaW1wb3J0YW50O1xuXHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0QGluY2x1ZGUgZ3JpZGxlX2d1dHRlcigpO1xufVxuQG1peGluIGdyaWRsZV9ncmlkX2FkYXB0KFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChncmlkLWFkYXB0KSB7XG5cdH1cbn1cblxuXG4vL1xuLy8gR3Jvd1xuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9ncmlkX2dyb3coXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR3aWR0aDo5OTk5OXB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0QGluY2x1ZGUgZ3JpZGxlX2d1dHRlcigpO1xuXHRcbn1cbkBtaXhpbiBncmlkbGVfZ3JpZF9ncm93KFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChncmlkLWdyb3cpIHtcblx0fVxufVxuXG5cbi8vXG4vLyBPcmRlclxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9vcmRlcihcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX29yZGVyKFxuXHQkcG9zaXRpb25cbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwob3JkZXIpIHtcblx0fVxufVxuXG5cbi8vXG4vLyBDbGVhciBlYWNoXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2NsZWFyX2VhY2goXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9jbGVhcl9lYWNoKFxuXHQkY2xlYXJFYWNoLFxuXHQkY2xlYXJXaGF0IDogYm90aFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChjbGVhci1lYWNoKSB7XG5cdFx0JGdyaWQgOiBtYXAtZ2V0KCRfZ3JpZGxlLXBhY2thZ2VzLCBncmlkKTtcblx0XHQkc2VsIDogbWFwLWdldCgkZ3JpZCwgZ2VuZXJpYy1zZWxlY3Rvcik7XG5cdFx0QGlmIG5vdCAkc2VsIHtcblx0XHRcdCRzZWwgOiBfZ3JpZGxlX2dldF9nZW5lcmljX3NlbGVjdG9yKGdyaWQpO1xuXHRcdH1cblxuXHRcdD4gI3skc2VsfTpudGgtb2YtdHlwZSgjeyRjbGVhckVhY2h9bisxKSB7XG5cdFx0XHRjbGVhciA6ICRjbGVhcldoYXQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEFsaWduIDpcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fcm93X2FsaWduKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cblxuQG1peGluIGdyaWRsZV9yb3dfYWxpZ24oXG5cdCRhbGlnbiA6IG1pZGRsZVxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChyb3ctYWxpZ24pIHtcblx0XHQvLyBuZWVkIHRvIGNoYW5nZSB0aGUgd2F5IGdyaWRzIGl0ZW1zIGFyZSBsYXllZCBvdXRcblx0XHRAaWYgaW4tbWFwKCRhbGlnbiwgdG9wKSBvZiBpbi1tYXAoJGFsaWduLCBtaWRkbGUpIG9yIGluLW1hcCgkYWxpZ24sIGJvdHRvbSkge1xuXHRcdFx0Zm9udC1zaXplOjA7XG5cdFx0XHRjbGVhcjpib3RoO1xuXG5cdFx0XHQ+ICoge1xuXHRcdFx0XHRmbG9hdDpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdEBpZiBpbi1tYXAoJGFsaWduLCB0b3ApIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdFx0XHRcdH0gQGVsc2VpZiBpbi1tYXAoJGFsaWduLCBtaWRkbGUpIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRmb250LXNpemU6MXJlbTtcblx0XHRcdFx0QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblx0XHRcdFx0XHQmIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTAuNXB4OyAvLyBmaXggZmlyZWZveCB3ZWlyZCBpc3N1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gXG5cblx0XHRAZWFjaCAkYSBpbiAkYWxpZ24ge1xuXHRcdFx0QGlmICRhID09IGxlZnQge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fSBAZWxzZSBpZiAkYSA9PSBjZW50ZXIge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9IEBlbHNlIGlmICRhID09IHJpZ2h0IHtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHR9IEBlbHNlIGlmICRhID09IHRvcCB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHR9IEBlbHNlIGlmICRhID09IG1pZGRsZSB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHR9IEBlbHNlIGlmICRhID09IGJvdHRvbSB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGlmIGluLW1hcCgkYWxpZ24sIGNlbnRlcikgb3IgaW4tbWFwKCRhbGlnbiwgcmlnaHQpIHtcblx0XHRcdC8vIHJlc3RvcmUgdGV4dCBhbGlnbiBvZiB0aGUgZ3JpZCBpdGVtc1xuXHRcdFx0PiAqIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8IEZ1bmN0aW9uc1xuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gU3RyIHJlcGxhY2Vcbi8vXG4vLyBAcGFyYW0ge3N0cmluZ30gICRzdHJpbmcgICAgU3RyaW5nIHRoYXQgeW91IHdhbnQgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtzdHJpbmd9ICAkc3Vic3RyICAgIFN0cmluZyB0aGF0IGlzIHRvIGJlIHJlcGxhY2VkIGJ5IGAkbmV3c3Vic3RyYFxuLy8gQHBhcmFtIHtzdHJpbmd9ICAkbmV3c3Vic3RyIFN0cmluZyB0aGF0IHJlcGxhY2VzIGAkc3Vic3RyYFxuLy8gQHBhcmFtIHtudW1iZXIqfSAkYWxsICAgICAgIEZsYWcgZm9yIHJlcGxhY2VpbmcgYWxsICgxKykgb3Igbm90ICgwKVxuLy8gQHJldHVybiB7c3RyaW5nfVxuLy9cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc3Vic3RyLCAkbmV3c3Vic3RyLCAkYWxsOiAwKSB7XG5cdCRwb3NpdGlvbi1mb3VuZDogc3RyLWluZGV4KCRzdHJpbmcsICRzdWJzdHIpO1xuXHQkcHJvY2Vzc2VkOiAoKTtcblxuXHRAd2hpbGUgKCRwb3NpdGlvbi1mb3VuZCBhbmQgJHBvc2l0aW9uLWZvdW5kID4gMCkge1xuXHRcdCRsZW5ndGgtc3Vic3RyOiBzdHItbGVuZ3RoKCRzdWJzdHIpO1xuXHRcdCRwcm9jZXNzZWQ6IGFwcGVuZCgkcHJvY2Vzc2VkLCBzdHItc2xpY2UoJHN0cmluZywgMCwgJHBvc2l0aW9uLWZvdW5kIC0gMSkpO1xuXHRcdCRwcm9jZXNzZWQ6IGFwcGVuZCgkcHJvY2Vzc2VkLCAkbmV3c3Vic3RyKTtcblx0XHQkc3RyaW5nOiBzdHItc2xpY2UoJHN0cmluZywgJHBvc2l0aW9uLWZvdW5kICsgJGxlbmd0aC1zdWJzdHIpO1xuXG5cdFx0JHBvc2l0aW9uLWZvdW5kOiAwO1xuXG5cdFx0QGlmICgkYWxsID4gMCkge1xuXHRcdFx0JHBvc2l0aW9uLWZvdW5kOiBzdHItaW5kZXgoJHN0cmluZywgJHN1YnN0cik7XG5cdFx0fVxuXHR9XG5cblx0JHByb2Nlc3NlZDogYXBwZW5kKCRwcm9jZXNzZWQsICRzdHJpbmcpO1xuXHQkc3RyaW5nOiBcIlwiO1xuXG5cdEBlYWNoICRzIGluICRwcm9jZXNzZWQge1xuXHRcdCRzdHJpbmc6ICN7JHN0cmluZ30jeyRzfTtcblx0fVxuXG5cdEByZXR1cm4gJHN0cmluZztcbn1cblxuLy9cbi8vIE1hcCBzZXRcbi8vXG4vLyBAcGFyYW0gXHRNYXAgXHQkbWFwIFx0XHRUaGUgbWFwIHRvIHVzZVxuLy8gQHBhcmFtIFx0U3RyaW5nIFx0JGtleSBcdFx0VGhlIGtleSB0byB1cGRhdGVcbi8vIEBwYXJhbSBcdE1peGVkIFx0JHZhbHVlIFx0XHRUaGUgbmV3IHZhbHVlXG4vLyBAcmV0dXJuIFx0TWFwIFx0XHRcdFRoZSBuZXcgbWFwXG4vL1xuQGZ1bmN0aW9uIG1hcC1zZXQoJG1hcCwgJGtleSwgJHZhbHVlKSB7XG5cdCRuZXc6ICgka2V5OiAkdmFsdWUpO1xuXHRAcmV0dXJuIG1hcC1tZXJnZSgkbWFwLCAkbmV3KTtcbn1cblxuLy9cbi8vIFJlbW92ZSBpdGVtIGZyb20gbGlzdFxuLy9cbkBmdW5jdGlvbiByZW1vdmUtbnRoKCRsaXN0LCAkaW5kZXgpIHtcbiAgJHJlc3VsdDogbnVsbDtcblxuICBAaWYgdHlwZS1vZigkaW5kZXgpICE9IG51bWJlciB7XG5cdEB3YXJuIFwiJGluZGV4OiAje3F1b3RlKCRpbmRleCl9IGlzIG5vdCBhIG51bWJlciBmb3IgYHJlbW92ZS1udGhgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgJGluZGV4ID09IDAge1xuXHRAd2FybiBcIkxpc3QgaW5kZXggMCBtdXN0IGJlIGEgbm9uLXplcm8gaW50ZWdlciBmb3IgYHJlbW92ZS1udGhgLlwiO1xuICB9XG5cbiAgQGVsc2UgaWYgYWJzKCRpbmRleCkgPiBsZW5ndGgoJGxpc3QpIHtcblx0QHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JGluZGV4fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgcmVtb3ZlLW50aGAuXCI7XG4gIH1cblxuICBAZWxzZSB7XG5cdCRyZXN1bHQ6ICgpO1xuXHQkaW5kZXg6IGlmKCRpbmRleCA8IDAsIGxlbmd0aCgkbGlzdCkgKyAkaW5kZXggKyAxLCAkaW5kZXgpO1xuXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRsaXN0KSB7XG5cdCAgQGlmICRpICE9ICRpbmRleCB7XG5cdFx0JHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcblx0ICB9XG5cdH1cbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy9cbi8vIExpc3Qgc2hpZnRcbi8vXG4vLyBAcGFyYW0gXHRMaXN0IFx0JGxpc3QgXHRcdFRoZSBsaXN0IHRvIHVzZVxuLy8gQHJldHVybiBcdExpc3QgXHRcdFx0XHRUaGUgcHJvY2Vzc2VkIGxpc3Rcbi8vXG5AZnVuY3Rpb24gbGlzdC1zaGlmdCgkbGlzdCkge1xuXHRAcmV0dXJuIHJlbW92ZS1udGgoJGxpc3QsMSk7XG59XG5cbi8vXG4vLyBMaXN0IHBvcFxuLy9cbi8vIEBwYXJhbSBcdExpc3QgXHQkbGlzdCBcdFx0VGhlIGxpc3QgdG8gdXNlXG4vLyBAcmV0dXJuIFx0TGlzdCBcdFx0XHRcdFRoZSBwcm9jZXNzZWQgbGlzdFxuLy9cbkBmdW5jdGlvbiBsaXN0LXBvcCgkbGlzdCkge1xuXHRAcmV0dXJuIHJlbW92ZS1udGgoJGxpc3QsbGVuZ3RoKCRsaXN0KSk7XG59XG5cbi8vXG4vLyBJbiBtYXBcbi8vIERldGVybWluZSBpZiBzb21ldGhpbmcgaXMgaW4gdGhlIHByb3ZpZGVkIG1hcFxuLy9cbi8vIEBwYXJhbSBcdE1hcCBcdCRtYXAgXHRcdFRoZSBtYXAgdG8gdXNlXG4vLyBAcGFyYW0gXHRNaXhlZCBcdCRuZWVkbGVcdFx0V2hhdCB0byBzZWFyY2hcbi8vIEByZXR1cm4gXHRCb29sZWFuXHRcdFx0XHRUcnVlfGZhbHNlXG4vL1xuQGZ1bmN0aW9uIGluLW1hcCgkbWFwLCAkbmVlZGxlKSB7XG5cdEBlYWNoICR2IGluICRtYXAge1xuXHRcdEBpZiAkdiA9PSAkbmVlZGxlIHtcblx0XHRcdEByZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblx0QHJldHVybiBmYWxzZTtcbn1cblxuXG4vL1xuLy8gR2V0IHN0YXRlcyBjb3VudFxuLy9cbi8vIEByZXR1cm4gXHRpbnQgXHRUaGUgbnVtYmVyIG9mIHN0YXRlcyBkZWZpbmVkXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9zdGF0ZXNfY291bnQoKSB7XG5cdEByZXR1cm4gbGVuZ3RoKCRfZ3JpZGxlX3N0YXRlcyk7XG59XG5cblxuLy9cbi8vIEdldCB0aGUgY3VycmVudCBzdGF0ZVxuLy9cbkBmdW5jdGlvbiBncmlkbGVfY3VycmVudF9zdGF0ZSgpIHtcblx0QHJldHVybiAkX2dyaWRsZV9jdXJyZW50X3N0YXRlO1xufVxuXG5cbi8vXG4vLyBHZXQgdGhlIGN1cnJlbnQgc3RhdGUgbmFtZVxuLy9cbkBmdW5jdGlvbiBncmlkbGVfY3VycmVudF9zdGF0ZV9uYW1lKCkge1xuXHRAcmV0dXJuICRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lO1xufVxuXG5cbi8vXG4vLyBHZXQgdGhlIGNvbHVtbiB3aWR0aCBpbiBwZXJjZW50IGZvciB0aGUgZ2xvYmFsIG9yIGEgc3BlY2lmaWMgY29udGV4dFxuLy9cbi8vIEBwYXJhbSBcdGludCBcdFx0JGNvbHVtbnMgXHRcdFx0XHRcdFRoZSBudW1iZXIgb2YgY29sdW1ucyB0byBjYWxjdWxhdGVcbi8vIEBwYXJhbSBcdGludCBcdFx0JGNvbnRleHQgOiAkZ3JpZGxlLWNvbHVtbnMtY291bnQgXHQgXHRUaGUgY29udGV4dCB0byB1c2Vcbi8vIEByZXR1cm4gXHRwZXJjZW50YWdlIFx0XHRcdFx0XHRcdFx0VGhlIHdpZHRoIGluIHBlcmNlbnRcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2NvbHVtbl93aWR0aChcblx0JGNvbHVtbnMgOiAxLFxuXHQkc3RhdGVNYXAtb3Itc3RhdGVOYW1lIDogY3VycmVudFxuKSB7XG5cdCRjb250ZXh0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29udGV4dCwgJHN0YXRlTWFwLW9yLXN0YXRlTmFtZSk7XG5cdEByZXR1cm4gcGVyY2VudGFnZSgxIC8gJGNvbnRleHQgKiAkY29sdW1ucyk7XG59XG5cblxuLy9cbi8vICBHZXQgYSBzdGF0ZSBtYXBcbi8vXG4vLyBAcGFyYW0gXHRzdHJpbmcgXHRcdCRuYW1lIFx0XHRUaGUgbmFtZSBvZiB0aGUgc3RhdGUgdG8gZ2V0XG4vLyBAcmV0dXJuIFx0bWFwIFx0XHRcdFx0QSBzdGF0ZSBtYXAgb2JqZWN0XG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9nZXRfc3RhdGUoXG5cdCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgOiBjdXJyZW50XG4pIHtcblxuXHQvLyBjaGVjayBpZiBuZWVkIHRvIHJldHVybiB0aGUgY3VycmVudCBzdGF0ZVxuXHRAaWYgJHN0YXRlTWFwLW9yLXN0YXRlTmFtZSA9PSBjdXJyZW50IHtcblx0XHRAcmV0dXJuIGdyaWRsZV9jdXJyZW50X3N0YXRlKCk7XG5cdH1cblxuXHQvLyBjaGVjayBpZiBoYXMgYSBzdGF0ZSBuYW1lZCBsaWtlIHRoaXNcblx0QGlmICh0eXBlLW9mKCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUpID09IHN0cmluZ1xuXHRcdGFuZCAgbWFwLWhhcy1rZXkoJF9ncmlkbGVfc3RhdGVzLCB1bnF1b3RlKFwiI3skc3RhdGVNYXAtb3Itc3RhdGVOYW1lfVwiKSkpXG5cdHtcblx0XHRAcmV0dXJuIG1hcC1nZXQoJF9ncmlkbGVfc3RhdGVzLCB1bnF1b3RlKFwiI3skc3RhdGVNYXAtb3Itc3RhdGVOYW1lfVwiKSk7XG5cdH1cblxuXHQvLyBjaGVjayBpZiBpdCdzIGEgcmVnaXN0ZXJlZCBzdGF0ZSBhcyBtYXAgcGFzc2VkXG5cdEBpZiB0eXBlLW9mKCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUpID09IG1hcFxuXHRcdGFuZCBtYXAtZ2V0KCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUsIG5hbWUpIHtcblx0XHQkbmFtZSA6IG1hcC1nZXQoJHN0YXRlTWFwLW9yLXN0YXRlTmFtZSwgbmFtZSk7XG5cdFx0QGlmIGdyaWRsZV9oYXNfc3RhdGUoJG5hbWUpIHtcblx0XHRcdEByZXR1cm4gJHN0YXRlTWFwLW9yLXN0YXRlTmFtZTtcblx0XHR9XG5cdH1cblxuXHQvLyBhIG1hcCBpcyBwYXNzZWQsIHNvIGl0J3MgYSBzdGF0ZSBoaW1zZWxmXG5cdEBpZiAkc3RhdGVNYXAtb3Itc3RhdGVOYW1lXG5cdFx0YW5kIHR5cGUtb2YoJHN0YXRlTWFwLW9yLXN0YXRlTmFtZSkgPT0gbWFwXG5cdHtcblx0XHQvLyBwcmVwYXJlIHN0YXRlXG5cdFx0JHN0YXRlTWFwLW9yLXN0YXRlTmFtZSA6IF9ncmlkbGVfcHJlcGFyZV9zdGF0ZV9zZXR0aW5ncygkc3RhdGVNYXAtb3Itc3RhdGVOYW1lKTtcblx0XHQvLyBjcmVhdGUgYSBuZXcgc3RhdGUgYnkgbWVyZ2luZyBnaXZlbiBvbmUgd2l0aCBkZWZhdWx0IG9uZVxuXHRcdCRzdGF0ZSA6IG1hcC1tZXJnZSgkX2dyaWRsZS1zZXR0aW5ncywgJHN0YXRlTWFwLW9yLXN0YXRlTmFtZSk7XG5cdFx0Ly8gc2V0IHRoZSBuYW1lIHdpdGggcmFuZG9tIG5hbWVcblx0XHQkc3RhdGUgOiBtYXAtc2V0KCRzdGF0ZSwgbmFtZSwgdW5pcXVlLWlkKCkpO1xuXHRcdC8vIHJldHVybiB0aGUgY3VzdG9tIHN0YXRlXG5cdFx0QHJldHVybiAkc3RhdGU7XG5cdH1cblxuXHQvLyByZXR1cm4gdGhlIGRlZmF1bHQgb25lIGlmIGV4aXN0XG5cdEBpZiBtYXAtaGFzLWtleSgkX2dyaWRsZV9zdGF0ZXMsIGRlZmF1bHQpXG5cdHtcblx0XHRAcmV0dXJuIG1hcC1nZXQoJF9ncmlkbGVfc3RhdGVzLCBkZWZhdWx0KTtcblx0fVxuXG5cdC8vIG5vdGhpbmcgZmluZGVkLCByZXR1cm4gdGhlIGRlZmF1bHQgc3RhdGVcblx0QHJldHVybiAkX2dyaWRsZS1zZXR0aW5ncztcbn1cblxuXG4vL1xuLy8gQ2hlY2sgaWYgYSBzdGF0ZSBleGlzdCA6XG4vL1xuLy8gQHBhcmFtIFx0c3RyaW5nIFx0XHQkbmFtZSBcdFx0VGhlIG5hbWUgb2YgdGhlIHN0YXRlIHRvIGNoZWNrXG4vLyBAcmV0dXJuIFx0Qm9vbGVhbiBcdFx0XHR0cnVlIGlzIGV4aXN0XG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9oYXNfc3RhdGUoXG5cdCRzdGF0ZU5hbWVcbikge1xuXHRAaWYgJHN0YXRlTmFtZSA9PSBjdXJyZW50IHtcblx0XHRAcmV0dXJuIHRydWU7XG5cdH1cblx0QGlmIG1hcC1oYXMta2V5KCRfZ3JpZGxlX3N0YXRlcywgdW5xdW90ZShcIiN7JHN0YXRlTmFtZX1cIikpIHtcblx0XHRAcmV0dXJuIHRydWU7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdH1cbn1cblxuXG4vL1xuLy8gR2V0IGEgdmFyaWFibGVcbi8vXG4vLyBAcGFyYW0gXHRTdHJpbmcgXHRcdCR2YXJOYW1lIFx0XHRcdFx0XHRUaGUgdmFyaWFibGUgbmFtZVxuLy8gQHBhcmFtICBcdFN0cmluZyBcdFx0JHN0YXRlTWFwLW9yLXN0YXRlTmFtZSBcdCBcdFRoZSBzdGF0ZSBuYW1lIG9yIGEgbWFwIHN0YXRlIHZhbHVlXG4vLyBAcmV0dXJuIFx0TWl4ZWQgXHRcdFx0XHRcdFx0XHRcdFx0VGhlIGZpbmRlZCB2YWx1ZVxuLy9cbkBmdW5jdGlvbiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihcblx0JHZhck5hbWUsXG5cdCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgOiBjdXJyZW50XG4pIHtcblx0Ly8gaWYgaXMgYSBzdGF0ZSA6XG5cdCRzdGF0ZSA6IG51bGw7XG5cblx0Ly8gZ2V0IHRoZSBzdGF0ZSAoaWYgbm8gc3RhdGUgZmluZCwgcmV0dXJuIHRoZSBjdXJyZW50IG9uZSkgOlxuXHQkc3RhdGUgOiBncmlkbGVfZ2V0X3N0YXRlKCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUpO1xuXG5cdC8vIGNoZWNrIGlmIGhhcyBrZXlcblx0QGlmIG1hcC1oYXMta2V5KCRzdGF0ZSwgdW5xdW90ZShcIiN7JHZhck5hbWV9XCIpKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRzdGF0ZSwgdW5xdW90ZShcIiN7JHZhck5hbWV9XCIpKTtcblx0fVxuXG5cdC8vIG5vdGhpbmcgZmluZGVkIDpcblx0QHJldHVybiBudWxsO1xufVxuXG5cbi8vXG4vLyBTZXQgYSB2YXJpYWJsZSBpbiBhIHN0YXRlXG4vLyBAcGFyYW0gXHRNaXhlZCAkc3RhdGVOYW1lLW9yLXN0YXRlSW5kZXggXHRUaGUgc3RhdGUgbmFtZSBvZiBzdGF0ZSBpbmRleFxuLy8gQHBhcmFtICBcdFN0cmluZyAkdmFyICAgICAgICAgICAgICAgICAgICBcdFx0VmFyaWFibGUgbmFtZSB0byBhc3NpZ25cbi8vIEBwYXJhbSAgXHRNaXhlZCAkbmV3VmFsdWUgICAgICAgICAgXHRcdFRoZSBuZXcgdmFsdWUgdG8gYXNzaWduXG4vLyBAcmV0dXJuIFx0TGlzdCAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0XHRUaGUgc3RhdGVzIGxpc3QgKGZ1bGwpXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9zZXRfc3RhdGVfdmFyKFxuXHQkdmFyLFxuXHQkbmV3VmFsdWUsXG5cdCRzdGF0ZU5hbWUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gZ2V0IHRoZSBzdGF0ZSA6XG5cdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlTmFtZSk7XG5cblx0Ly8gY2hlY2sgaWcgc3RhdGUgYW5kIGlmIGhhcyB0aGUgdmFyaWFibGUgOlxuXHRAaWYgJHN0YXRlXG5cdFx0ICBhbmQgbWFwLWhhcy1rZXkoJHN0YXRlLHVucXVvdGUoXCIjeyR2YXJ9XCIpKVxuXHR7XG5cdFx0Ly8gc2V0IG5ldyB2YWx1ZSBpbiBzdGF0ZSA6XG5cdFx0JHN0YXRlIDogbWFwLXNldCgkc3RhdGUsIHVucXVvdGUoXCIjeyR2YXJ9XCIpLCAkbmV3VmFsdWUpO1xuXG5cdFx0Ly8gc2V0IHN0YXRlcyA6XG5cdFx0JF9ncmlkbGVfc3RhdGVzIDogbWFwLXNldCgkX2dyaWRsZV9zdGF0ZXMsIHVucXVvdGUoXCIjeyRzdGF0ZU5hbWV9XCIpLCAkc3RhdGUpO1xuXG5cdFx0Ly8gcmV0dXJuIG5ldyBzdGF0ZSA6XG5cdFx0QHJldHVybiAkc3RhdGU7XG5cdH1cblxuXHQvLyBub3RoaW5nIGdldHRlZCA6XG5cdEByZXR1cm4gbnVsbDtcbn1cblxuXG4vL1xuLy8gZ2V0IHRoZSByZWdpc3RlcmVkIGdyaWRsZSBzdGF0ZXNcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2dldF9zdGF0ZXMoKSB7XG5cdEByZXR1cm4gJF9ncmlkbGVfc3RhdGVzO1xufVxuXG5cbi8vXG4vLyBHZXQgdGhlIHN0YXRlcyBuYW1lc1xuLy9cbkBmdW5jdGlvbiBncmlkbGVfZ2V0X3N0YXRlc19uYW1lcygpIHtcblx0JGxpc3QgOiAoKTtcblx0QGVhY2ggJHN0YXRlTmFtZSwgJHN0YXRlIGluICRfZ3JpZGxlX3N0YXRlcyB7XG5cdFx0JGxpc3QgOiBhcHBlbmQoJGxpc3QsICRzdGF0ZU5hbWUpO1xuXHR9XG5cdEByZXR1cm4gJGxpc3Q7XG59XG5AZnVuY3Rpb24gZ3JpZGxlX3N0YXRlc19uYW1lcygpIHtcblx0QHJldHVybiBncmlkbGVfZ2V0X3N0YXRlc19uYW1lcygpO1xufVxuXG5cbi8vXG4vLyBHZXQgdGhlIGFwcGx5IGNzcyBmb3IgbWFwIGZvciBhIGNlcnRhaW4gY2xhc3MgYW5kIHN0YXRlXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9nZXRfYXBwbHlfY3NzX2Zvcl9tYXAoXG5cdCRmb3IsXG5cdCRzdGF0ZU5hbWUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY2hlY2sgaWYgaGFzIHNvbWUgZXh0ZW5kIGZvciB0aGlzIHN0YXRlXG5cdCRtYXAgOiBtYXAtZ2V0KCRfZ3JpZGxlX2FwcGx5X2Nzc19mb3IsICRzdGF0ZU5hbWUpO1xuXHRAaWYgJG1hcCA9PSBudWxsIHsgQHJldHVybiBudWxsOyB9XG5cblx0Ly8gY2hlY2sgaWYgaGFzIHNvbWUgZXh0ZW5kIGZvciB0aGUgcmVxdWVzdGVkIGZvclxuXHQkZXh0ZW5kIDogbWFwLWdldCgkbWFwLCAkZm9yKTtcblxuXHQvLyByZXR1cm4gdGhlIHJlc3VsdGluZyBleHRlbmQgbWFwXG5cdEByZXR1cm4gJGV4dGVuZDtcbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBleHRlbmQgbWFwIGZvciBhIGNlcnRhaW4gY2xhc3MgYW5kIHN0YXRlXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9nZXRfZXh0ZW5kX2NsYXNzX21hcChcblx0JGZvcixcblx0JHN0YXRlTmFtZSA6IGRlZmF1bHRcbikge1xuXHQvLyBjaGVjayBpZiBoYXMgc29tZSBleHRlbmQgZm9yIHRoaXMgc3RhdGVcblx0JG1hcCA6IG1hcC1nZXQoJF9ncmlkbGVfZXh0ZW5kX2Jhc2VfY2xhc3NlcywgJHN0YXRlTmFtZSk7XG5cdEBpZiAkbWFwID09IG51bGwgeyBAcmV0dXJuIG51bGw7IH1cblxuXHQvLyBjaGVjayBpZiBoYXMgc29tZSBleHRlbmQgZm9yIHRoZSByZXF1ZXN0ZWQgZm9yXG5cdCRleHRlbmQgOiBtYXAtZ2V0KCRtYXAsICRmb3IpO1xuXG5cdC8vIHJldHVybiB0aGUgcmVzdWx0aW5nIGV4dGVuZCBtYXBcblx0QHJldHVybiAkZXh0ZW5kO1xufVxuXG5cbi8vXG4vLyBHZW5lcmF0ZSBhIGNvbHVtblxuLy9cbi8vIEBwYXJhbSBcdFN0cmluZyBcdFx0JG5hbWUgXHRcdFx0XHRUaGUgY29sdW1uIG5hbWUgKG9mdGVuIGNvdW50KVxuLy8gQHBhcmFtIFx0aW50IFx0XHQkY29sdW1ucyBcdFx0XHRUaGUgY29sdW1uIGNvdW50IHRoYXQgdGhlIGNvbHVtbiB3aWxsIHRha2Vcbi8vIEBwYXJhbSBcdGludCBcdFx0JGNvbnRleHQgXHRcdFx0VGhlIGNvbnRleHQgb24gd2hpY2ggdGhlIHdpZHRoIHdpbGwgYmUgY2FsY3VsZWRcbi8vIEBwYXJhbSBcdEJvb2xlYW4gXHQkZ2VuZXJhdGVDbGFzc2VzIFx0U2V0IGlmIHRoZSBjb2x1bW4gaGFzIHRvIGJlIGdlbmVyYXRlZCBpbiBjc3Ncbi8vXG5AZnVuY3Rpb24gX2dyaWRsZV9jcmVhdGVfY29sdW1uKFxuXHQkbmFtZSxcblx0JGNvbHVtbnMsXG5cdCRjb250ZXh0LFxuXHQkbmFtZS1tdWx0aXBsaWNhdG9yIDogMSAvLyB1c2VkIHRvIGV4dGVuZCB0aGUgc3RhdGUgb24gY3VzdG9tIHJlZ2lzdGVyZWQgY29sdW1uc1xuKSB7XG5cdEByZXR1cm4gKFxuXHRcdG5hbWUgOiAkbmFtZSxcblx0XHRjb2x1bW5zIDogJGNvbHVtbnMsXG5cdFx0Y29udGV4dCA6ICRjb250ZXh0LFxuXHRcdG5hbWUtbXVsdGlwbGljYXRvciA6ICRuYW1lLW11bHRpcGxpY2F0b3Jcblx0KTtcbn1cblxuXG4vLyBnZXQgY29sdW1ucyBuYW1lcyBpbiBhIGxpc3RcbkBmdW5jdGlvbiBncmlkbGVfZ2V0X2NvbHVtbnMoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyBnZXQgdmFyaWFibGVzXG5cdCRjb250ZXh0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29udGV4dCwgJHN0YXRlKTtcblx0JG5hbWUtbXVsdGlwbGljYXRvciA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKG5hbWUtbXVsdGlwbGljYXRvciwgJHN0YXRlKTtcblxuXHQvLyBnZXQgc3BlY2lhbHMgY29sdW1uc1xuXHQkY29sdW1uc01hcCA6IG1hcC1tZXJnZSgoKSwgJF9ncmlkbGVfY29sdW1ucyk7XG5cblx0Ly8gbG9vcCB0aHJvdWdoIGNvbnRleHRcblx0QGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29udGV4dCB7XG5cblx0XHQvLyBuYW1lXG5cdFx0JGNvbHVtbk5hbWUgOiBcIiN7JGkqJG5hbWUtbXVsdGlwbGljYXRvcn1cIjtcblx0XHQkY29sdW1uV2lkdGggOiAkaSAqICRuYW1lLW11bHRpcGxpY2F0b3I7XG5cblx0XHQvLyAvLyBjcmVhdGUgYSBjb2x1bW5cblx0XHQkY29sIDogX2dyaWRsZV9jcmVhdGVfY29sdW1uKCRjb2x1bW5OYW1lLCAkY29sdW1uV2lkdGgsICRjb250ZXh0LCAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblxuXHRcdC8vIC8vIGFkZCBjb2x1bW4gaW4gY29sdW1ucyBtYXBcblx0XHQkY29sdW1uc01hcCA6IG1hcC1zZXQoJGNvbHVtbnNNYXAsICRjb2x1bW5OYW1lLCAgJGNvbCk7XG5cdH1cblxuXHQvLyByZXR1cm4gY29sdW1uc1xuXHRAcmV0dXJuICRjb2x1bW5zTWFwO1xufVxuXG5cbi8vXG4vLyBDaGVjayBpZiBoYXMgY29sdW1uXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9oYXNfY29sdW1uKFxuXHQkbmFtZVxuKSB7XG5cdCRjb2x1bW4gOiBtYXAtZ2V0KCRfZ3JpZGxlX2NvbHVtbnMsJG5hbWUpO1xuXHRAaWYgJGNvbHVtbiB7XG5cdFx0QHJldHVybiB0cnVlO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cblxuQGZ1bmN0aW9uIF9ncmlkbGVfcHJlcGFyZV9zdGF0ZV9zZXR0aW5ncyhcblx0JHNldHRpbmdzXG4pIHtcblx0Ly8gbWFuYWdlIGd1dHRlcnNcblx0JGd1dHRlci10b3AgOiBtYXAtZ2V0KCRzZXR0aW5ncywgZ3V0dGVyLXRvcCk7XG5cdCRndXR0ZXItYm90dG9tIDogbWFwLWdldCgkc2V0dGluZ3MsIGd1dHRlci1ib3R0b20pO1xuXHQkZ3V0dGVyLWxlZnQgOiBtYXAtZ2V0KCRzZXR0aW5ncywgZ3V0dGVyLWxlZnQpO1xuXHQkZ3V0dGVyLXJpZ2h0IDogbWFwLWdldCgkc2V0dGluZ3MsIGd1dHRlci1yaWdodCk7XG5cdCRndXR0ZXItd2lkdGggOiBtYXAtZ2V0KCRzZXR0aW5ncywgZ3V0dGVyLXdpZHRoKTtcblx0JGd1dHRlci1oZWlnaHQgOiBtYXAtZ2V0KCRzZXR0aW5ncywgZ3V0dGVyLWhlaWdodCk7XG5cdEBpZiAkZ3V0dGVyLXJpZ2h0IGFuZCAkZ3V0dGVyLWxlZnQge1xuXHRcdC8vIGNhbGN1bGF0ZSB0aGUgZ3V0dGVyLXdpZHRoXG5cdFx0JHNldHRpbmdzIDogbWFwLXNldCgkc2V0dGluZ3MsIGd1dHRlci13aWR0aCwgJGd1dHRlci1sZWZ0ICsgJGd1dHRlci1yaWdodCk7XG5cdH0gQGVsc2UgaWYgJGd1dHRlci13aWR0aCB7XG5cdFx0Ly8gY2FsY3VsYXRlIHRoZSBndXR0ZXItbGVmdCBhbmQgcmlnaHRcblx0XHQkc2V0dGluZ3MgOiBtYXAtc2V0KCRzZXR0aW5ncywgZ3V0dGVyLWxlZnQsICRndXR0ZXItd2lkdGggKiAuNSk7XG5cdFx0JHNldHRpbmdzIDogbWFwLXNldCgkc2V0dGluZ3MsIGd1dHRlci1yaWdodCwgJGd1dHRlci13aWR0aCAqIC41KTtcblx0fVxuXHRAaWYgJGd1dHRlci10b3AgYW5kICRndXR0ZXItYm90dG9tIHtcblx0XHQvLyBjYWxjdWxhdGUgdGhlIGd1dHRlci1oZWlnaHRcblx0XHQkc2V0dGluZ3MgOiBtYXAtc2V0KCRzZXR0aW5ncywgZ3V0dGVyLWhlaWdodCwgJGd1dHRlci1ib3R0b20gKyAkZ3V0dGVyLXRvcCk7XG5cdH0gQGVsc2UgaWYgJGd1dHRlci1oZWlnaHQge1xuXHRcdC8vIGNhbGN1bGF0ZSB0aGUgZ3V0dGVyLWJvdHRvbSBhbmQgdG9wXG5cdFx0JHNldHRpbmdzIDogbWFwLXNldCgkc2V0dGluZ3MsIGd1dHRlci1ib3R0b20sICRndXR0ZXItaGVpZ2h0ICogLjUpO1xuXHRcdCRzZXR0aW5ncyA6IG1hcC1zZXQoJHNldHRpbmdzLCBndXR0ZXItdG9wLCAkZ3V0dGVyLWhlaWdodCAqIC41KTtcblx0fVxuXG5cdC8vIHJldHVybiBwcmVwYXJlZCBzZXR0aW5nc1xuXHRAcmV0dXJuICRzZXR0aW5ncztcbn1cblxuXG4vL1xuLy8gRXh0ZW5kIGEgc3RhdGVcbi8vXG5AZnVuY3Rpb24gX2dyaWRsZV9pbmhlcml0X3N0YXRlKFxuXHQkc3RhdGUsXG5cdCRleHRlbmQtc3RhdGVcbikge1xuXHQkZXh0ZW5kLXN0YXRlLW5hbWUgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLCAkZXh0ZW5kLXN0YXRlKTtcblx0JHN0YXRlLW5hbWUgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLCAkc3RhdGUpO1xuXHQkaGFzLXN0YXRlIDogZ3JpZGxlX2hhc19zdGF0ZSgkc3RhdGUtbmFtZSk7XG5cdCRoYXMtZXh0ZW5kLXN0YXRlIDogZ3JpZGxlX2hhc19zdGF0ZSgkZXh0ZW5kLXN0YXRlLW5hbWUpO1xuXHRAaWYgJGhhcy1zdGF0ZSBhbmQgJGhhcy1leHRlbmQtc3RhdGUge1xuXHRcdC8vIHdlIGRvIG5vdGhpbmcgaWYgdGhpcyBpcyBuZXN0ZWQgZXhpc3Rpbmcgc3RhdGVzXG5cdFx0QHJldHVybiAkc3RhdGU7XG5cdH0gQGVsc2UgaWYgJGhhcy1leHRlbmQtc3RhdGUge1xuXHRcdC8vIGlmIHRoZSBiYXNlIHN0YXRlIGlzIGEgcmVnaXN0ZXJlZCBvbmVcblx0XHQvLyBrZWVwIHRoZSBleHRlbmQgc3RhdGUgYW5kIGV4dGVuZCBpdCB3aXRoIHRoZSB3YW50ZWQgc3RhdGVcblx0XHRAcmV0dXJuIG1hcC1tZXJnZSgkZXh0ZW5kLXN0YXRlLCAkc3RhdGUpO1xuXHR9IEBlbHNlIHtcblx0XHQvLyBvdGhlcndpc2UsIHRoZSBiYXNlIHN0YXRlIGlzIGEgY3VzdG9tIG9uZSBzbyB3ZSBrZWVwXG5cdFx0Ly8gaXQgYW5kIGV4dGVuZCB0aGUgd2FudGVkIHN0YXRlIHdpdGggaXRcblx0XHQkbmV3LXN0YXRlIDogbWFwLXJlbW92ZSgkZXh0ZW5kLXN0YXRlLCBuYW1lKTsgLy8gcmVtb3ZlIHRoZSBuYW1lIGlzIGltcG9ydGFudCBoZXJlIVxuXHRcdEByZXR1cm4gbWFwLW1lcmdlKCRzdGF0ZSwgJG5ldy1zdGF0ZSk7XG5cdH1cbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBwYWRkaW5nIHZhbHVlXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfZm9yZ2VfZ3V0dGVyc19tYXAoXG5cdCRzaWRlLW9yLXNpemUsXG5cdCRzdGF0ZSA6IGN1cnJlbnRcbikge1xuXHQkbWFwIDogKCk7XG5cdC8vIGNoZWNrIGlmIGlzIG51bWJlciBwYXNzZWRcblx0QGlmIHR5cGUtb2YoJHNpZGUtb3Itc2l6ZSkgPT0gbWFwIHtcblx0XHRAZWFjaCAkc2lkZSBpbiAodG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KSB7XG5cdFx0XHRAaWYgbWFwLWdldCgkc2lkZS1vci1zaXplLCAkc2lkZSkge1xuXHRcdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkc2lkZSwgbWFwLWdldCgkc2lkZS1vci1zaXplLCAkc2lkZSkpO1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdCRtYXAgOiBtYXAtc2V0KCRtYXAsICRzaWRlLCAwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgdHlwZS1vZigkc2lkZS1vci1zaXplKSA9PSBudW1iZXIge1xuXHRcdCRtYXAgOiAoXG5cdFx0XHR0b3AgOiAwLFxuXHRcdFx0cmlnaHQgOiAkc2lkZS1vci1zaXplICogLjUsXG5cdFx0XHRib3R0b20gOiAwLFxuXHRcdFx0bGVmdCA6ICRzaWRlLW9yLXNpemUgKiAuNVxuXHRcdCk7XG5cdH0gQGVsc2UgaWYgdHlwZS1vZigkc2lkZS1vci1zaXplKSA9PSBsaXN0IG9yIHR5cGUtb2YoJHNpZGUtb3Itc2l6ZSkgPT0gc3RyaW5nIHtcblxuXHRcdC8vIGNoZWNrIGlmIGlzIGEgZnVsbCBudW1iZXIgbGlzdFxuXHRcdCRsaXN0LW51bWJlciA6IHRydWU7XG5cdFx0QGVhY2ggJHMgaW4gJHNpZGUtb3Itc2l6ZSB7XG5cdFx0XHRAaWYgdHlwZS1vZigkcykgIT0gbnVtYmVyIHtcblx0XHRcdFx0JGxpc3QtbnVtYmVyIDogZmFsc2U7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGlmICRsaXN0LW51bWJlciB7XG5cblx0XHRcdEBpZiBsZW5ndGgoJHNpZGUtb3Itc2l6ZSkgPT0gMiB7XG5cdFx0XHRcdCR2YWwxIDogbnRoKCRzaWRlLW9yLXNpemUsMSkgKiAuNTtcblx0XHRcdFx0JHZhbDIgOiBudGgoJHNpZGUtb3Itc2l6ZSwyKSAqIC41O1xuXHRcdFx0XHQkbWFwIDogKFxuXHRcdFx0XHRcdHRvcCA6ICR2YWwxLFxuXHRcdFx0XHRcdHJpZ2h0IDogJHZhbDIsXG5cdFx0XHRcdFx0Ym90dG9tIDogJHZhbDEsXG5cdFx0XHRcdFx0bGVmdCA6ICR2YWwyXG5cdFx0XHRcdClcblx0XHRcdH0gQGVsc2UgaWYgbGVuZ3RoKCRzaWRlLW9yLXNpemUpID09IDQge1xuXHRcdFx0XHQkbWFwIDogKFxuXHRcdFx0XHRcdHRvcCA6IG50aCgkc2lkZS1vci1zaXplLDEpLFxuXHRcdFx0XHRcdHJpZ2h0IDogbnRoKCRzaWRlLW9yLXNpemUsMiksXG5cdFx0XHRcdFx0Ym90dG9tIDogbnRoKCRzaWRlLW9yLXNpemUsMyksXG5cdFx0XHRcdFx0bGVmdCA6IG50aCgkc2lkZS1vci1zaXplLDQpXG5cdFx0XHRcdClcblx0XHRcdH1cblxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0Ly8gZm9yZ2UgdGhlIG1hcCB3aXRoIHJlZ2lzdGVyZWQgdmFsdWVzXG5cdFx0XHRAZWFjaCAkc2lkZSBpbiAodG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KSB7XG5cdFx0XHRcdEBpZiBpbmRleCgkc2lkZS1vci1zaXplLCAkc2lkZSkge1xuXHRcdFx0XHRcdCRtYXAgOiBtYXAtc2V0KCRtYXAsICRzaWRlLCBncmlkbGVfZ2V0X3N0YXRlX3ZhcihcImd1dHRlci0jeyRzaWRlfVwiLCAkc3RhdGUpKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0JG1hcCA6IG1hcC1zZXQoJG1hcCwgJHNpZGUsIDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvLyBAZGVidWcoXCJnZXQgZ3V0dGVycyBmcm9tIHJlZ2lzdGVyZWQgI3tpbnNwZWN0KCRtYXApfVwiKTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdC8vIHVuYWJsZSB0byBnZW5lcmF0ZSBhIGd1dHRlciBtYXBcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Ly8gcmV0dXJuIHRoZSBwYWRkaW5nIG1hcFxuXHRAcmV0dXJuICRtYXA7XG59XG5cblxuLy9cbi8vIEdldCB0aGUgYXR0cmlidXRlIHNlbGVjdG9yXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9zZWxlY3Rvcihcblx0JGZvcixcblx0JHN0YXRlcyA6IG51bGwsXG5cdCR2YWx1ZXMgOiBudWxsXG4pIHtcblx0JHNlbCA6ICgpO1xuXG5cdEBpZiBsZW5ndGgoJGZvcikgPiAxIHtcblx0XHRAZWFjaCAkZiBpbiAkZm9yIHtcblx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgZ3JpZGxlX3NlbGVjdG9yKCRmLCAkc3RhdGVzLCAkdmFsdWVzKSwgY29tbWEpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cblx0XHQvLyBnZXQgYWxsIHN0YXRlcyBpZiBub3Qgc3BlY2lmaWVkXG5cdFx0QGlmICRzdGF0ZXMgPT0gbnVsbCB7XG5cdFx0XHQkc3RhdGVzIDogZ3JpZGxlX2dldF9zdGF0ZXNfbmFtZXMoKTtcblx0XHR9XG5cblx0XHQvLyBnZXQgdGhlIHBhdHRlcm5cblx0XHQkcGF0dGVybiA6IG1hcC1nZXQoJF9ncmlkbGUtcGFja2FnZXMsICRmb3IpO1xuXHRcdCRwYXR0ZXJuIDogbWFwLWdldCgkcGF0dGVybiwgY2xhc3NuYW1lKTtcblxuXHRcdEBlYWNoICRzdGF0ZU5hbWUgaW4gJHN0YXRlcyB7XG5cdFx0XHRAaWYgJHZhbHVlcyAhPSBudWxsIHtcblx0XHRcdFx0JHNlbCA6IGFwcGVuZCgkc2VsLCBfZ3JpZGxlX2NsYXNzbmFtZSgkZm9yLCAkc3RhdGVOYW1lLCAkdmFsdWVzKSwgY29tbWEpO1xuXHRcdFx0fSBAZWxzZSBpZiBpbmRleCgkcGF0dGVybiwgJyVjb2x1bW4nKSB7XG5cdFx0XHRcdEBlYWNoICRjb2x1bW5OYW1lLCAkY29sdW1uIGluIF9ncmlkbGVfZ2V0X3BhdHRlcm5fdmFsdWVzKGNvbHVtbikge1xuXHRcdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSwgJGNvbHVtbk5hbWUpLCBjb21tYSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgaW5kZXgoJHBhdHRlcm4sICclY29sdW1uLWNvdW50Jykge1xuXHRcdFx0XHRAZm9yICRpIGZyb20gMCB0aHJvdWdoIF9ncmlkbGVfZ2V0X3BhdHRlcm5fdmFsdWVzKGNvbHVtbi1jb3VudCkge1xuXHRcdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSwgJGkpLCBjb21tYSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGlmICRmb3IgPT0gZmxleC1vcmRlciB7XG5cdFx0XHRcdFx0JHNlbCA6IGFwcGVuZCgkc2VsLCBfZ3JpZGxlX2NsYXNzbmFtZSgkZm9yLCAkc3RhdGVOYW1lLCBmaXJzdCksIGNvbW1hKTtcblx0XHRcdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIF9ncmlkbGVfY2xhc3NuYW1lKCRmb3IsICRzdGF0ZU5hbWUsIGxhc3QpLCBjb21tYSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgaW5kZXgoJHBhdHRlcm4sICclYWxpZ24nKSB7XG5cdFx0XHRcdEBlYWNoICRhIGluIF9ncmlkbGVfZ2V0X3BhdHRlcm5fdmFsdWVzKGFsaWduKSB7XG5cdFx0XHRcdFx0JHNlbCA6IGFwcGVuZCgkc2VsLCBfZ3JpZGxlX2NsYXNzbmFtZSgkZm9yLCAkc3RhdGVOYW1lLCAkYSksIGNvbW1hKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiBpbmRleCgkcGF0dGVybiwgJyVjb3VudCcpIGFuZCAkZm9yID09IGNsZWFyLWVhY2gge1xuXHRcdFx0XHRAZWFjaCAkaWR4LCAkY2xlYXJFYWNoIGluIF9ncmlkbGVfZ2V0X3BhdHRlcm5fdmFsdWVzKGNvdW50KSB7XG5cdFx0XHRcdFx0JGNvdW50IDogbWFwLWdldCgkY2xlYXJFYWNoLCBjbGVhckVhY2gpO1xuXHRcdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSwgJGNvdW50KSwgY29tbWEpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmIGluZGV4KCRwYXR0ZXJuLCAnJXNpZGUnKSB7XG5cdFx0XHRcdEBlYWNoICRzaWRlIGluIF9ncmlkbGVfZ2V0X3BhdHRlcm5fdmFsdWVzKHNpZGUpIHtcblx0XHRcdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIF9ncmlkbGVfY2xhc3NuYW1lKCRmb3IsICRzdGF0ZU5hbWUsICRzaWRlKSwgY29tbWEpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmIGluZGV4KCRwYXR0ZXJuLCAnJWZsb2F0Jykge1xuXHRcdFx0XHRAZWFjaCAkZmxvYXQgaW4gX2dyaWRsZV9nZXRfcGF0dGVybl92YWx1ZXMoZmxvYXQpIHtcblx0XHRcdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIF9ncmlkbGVfY2xhc3NuYW1lKCRmb3IsICRzdGF0ZU5hbWUsICRmbG9hdCksIGNvbW1hKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiBpbmRleCgkcGF0dGVybiwgJyVyZXZlcnNlJykge1xuXHRcdFx0XHRAZWFjaCAkcmV2ZXJzZSBpbiBfZ3JpZGxlX2dldF9wYXR0ZXJuX3ZhbHVlcyhyZXZlcnNlKSB7XG5cdFx0XHRcdFx0JHNlbCA6IGFwcGVuZCgkc2VsLCBfZ3JpZGxlX2NsYXNzbmFtZSgkZm9yLCAkc3RhdGVOYW1lLCAkcmV2ZXJzZSksIGNvbW1hKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSksIGNvbW1hKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QHJldHVybiAkc2VsO1xufVxuXG5cbi8vXG4vLyBHZW5lcmF0ZSBjbGFzc25hbWVcbi8vXG4vLyBAcGFyYW0gXHRMaXN0IFx0XHQkcGF0dGVybiBcdFRoZSBwYXR0ZXJuIHRvIHVzZSB0byBnZW5lcmF0ZSBjbGFzc25hbWVcbi8vIEBwYXJhbSBcdFN0cmluZyBcdFx0JHN0YXRlIFx0XHRUaGUgc3RhdGVcbi8vIEBwYXJhbSBcdGludCBcdFx0JGNvdW50IFx0XHRUaGUgY29sdW1uIGNvdW50XG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfY2xhc3NuYW1lKFxuXHQkZm9yLFxuXHQkc3RhdGUgOiBudWxsLFxuXHQkdmFsdWUgOiBudWxsXG4pIHtcblxuXHQvLyBnZXQgdGhlIHBhdHRlcm5cblx0JHBhdHRlcm4gOiAkZm9yO1xuXHRAaWYgdHlwZS1vZigkZm9yKSA9PSBzdHJpbmcge1xuXHRcdCRwYXR0ZXJuIDogbWFwLWdldCgkX2dyaWRsZS1wYWNrYWdlcywgJGZvcik7XG5cdFx0JHBhdHRlcm4gOiBtYXAtZ2V0KCRwYXR0ZXJuLCBjbGFzc25hbWUpO1xuXHR9XG5cblx0Ly8gZGVsZXRlIGRlZmF1bHQgOlxuXHRAaWYgdW5xdW90ZShcIiN7JHN0YXRlfVwiKSA9PSBkZWZhdWx0IHtcblx0XHQkc3RhdGUgOiBudWxsO1xuXHR9XG5cblx0Ly8gY29uc3RydWN0IGNsYXNzIG5hbWUgOlxuXHQkcmVtb3ZlU2VwYXJhdG9yIDogZmFsc2U7XG5cdEBmb3IgJGkgZnJvbSBsZW5ndGgoJHBhdHRlcm4pIHRocm91Z2ggMSB7XG5cdFx0JHZhciA6IG50aCgkcGF0dGVybiwgJGkpO1xuXG5cdFx0QGlmICR2YXIgPT0gJ0AnIHtcblx0XHRcdCRwYXR0ZXJuIDogc2V0LW50aCgkcGF0dGVybiwgJGksICdcXFxcQCcpO1xuXHRcdH1cblxuXHRcdEBpZiBpbmRleCgkX2dyaWRsZV9uYW1lcy1zZXBhcmF0b3JzLCAkdmFyKSB7XG5cdFx0XHQvLyBjaGVjayBpZiBuZWVkIHRvIHJlbW92ZSBzZXBhcmF0b3Jcblx0XHRcdEBpZiAkcmVtb3ZlU2VwYXJhdG9yIHtcblx0XHRcdFx0JHBhdHRlcm4gOiBzZXQtbnRoKCRwYXR0ZXJuLCAkaSwgbnVsbCk7XG5cdFx0XHR9XG5cdFx0XHQkcmVtb3ZlU2VwYXJhdG9yIDogZmFsc2U7XG5cdFx0fSBAZWxzZSBpZiAkdmFyID09IFwiJXN0YXRlXCIge1xuXHRcdFx0QGlmICRzdGF0ZSA9PSBudWxsIHtcblx0XHRcdFx0JHBhdHRlcm4gOiBzZXQtbnRoKCRwYXR0ZXJuLCAkaSwgbnVsbCk7XG5cdFx0XHRcdCRyZW1vdmVTZXBhcmF0b3IgOiB0cnVlO1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdCRwYXR0ZXJuIDogc2V0LW50aCgkcGF0dGVybiwgJGksICRzdGF0ZSk7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSBpZiAkdmFyIGFuZCBzdHItaW5kZXgoJHZhciwgJyUnKSA9PSAxIHtcblx0XHRcdCR0b2tlbiA6IHN0ci1zbGljZSgkdmFyLCAyKTtcblx0XHRcdC8vIGNoZWNrIHRoYXQgdGhlIHZhbHVlIGlzIHBhcnQgb2YgdGhlIHRva2VuXG5cdFx0XHQkdG9rZW5zIDogbWFwLWdldCgkX2dyaWRsZS1uYW1lcy10b2tlbnMsICR0b2tlbik7XG5cdFx0XHRAaWYgJHRva2VucyB7XG5cdFx0XHRcdCRwYXR0ZXJuIDogc2V0LW50aCgkcGF0dGVybiwgJGksICR2YWx1ZSk7XG5cdFx0XHRcdEBpZiAkdmFsdWUgPT0gbnVsbCB7XG5cdFx0XHRcdFx0JHJlbW92ZVNlcGFyYXRvciA6IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IEBlbHNlIGlmICR2YXIgPT0gbnVsbCB7XG5cdFx0XHQkcmVtb3ZlU2VwYXJhdG9yIDogdHJ1ZTtcblx0XHR9XG5cblx0fVxuXG5cdC8vIGNsZWFuIHNlbGVjdG9yXG5cdCRsaXN0OiAoKTtcblx0QGVhY2ggJHZhciBpbiAkcGF0dGVybiB7XG5cdFx0QGlmICR2YXIge1xuXHRcdFx0JGxpc3Q6IGFwcGVuZCgkbGlzdCwgJHZhcik7XG5cdFx0fVxuXHR9XG5cdCRwYXR0ZXJuIDogJGxpc3Q7XG5cblx0Ly8gYnVpbGQgc2VsZWN0b3Jcblx0JHNlbCA6IFwiXCI7XG5cdCRwcmVmaXggOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihjbGFzc2VzLXByZWZpeCwgJHN0YXRlKTtcblx0QGVhY2ggJHBhcnQgaW4gJHBhdHRlcm4ge1xuXHRcdEBpZiAkcGFydCB7XG5cdFx0XHQkc2VsIDogXCIjeyRzZWx9I3skcGFydH1cIjtcblx0XHR9XG5cdH1cblx0QGlmICRwcmVmaXggYW5kIHN0ci1zbGljZSgkc2VsLDEsc3RyX2xlbmd0aCgkcHJlZml4KSkgIT0gJHByZWZpeCB7XG5cdFx0JHNlbCA6IFwiLiN7JHByZWZpeH0jeyRzZWx9XCI7XG5cdH0gQGVsc2Uge1xuXHRcdCRzZWwgOiBcIi4jeyRzZWx9XCI7XG5cdH1cblxuXHQvLyByZXR1cm4gZ2VuZXJhdGVkIGNsYXNzIDpcblx0QHJldHVybiB1bnF1b3RlKCRzZWwpO1xufVxuXG5cbi8vXG4vLyBVbm1hdGNoZWQgcGF0dGVybnNcbi8vXG4vLyBAcGFyYW0gXHRMaXN0IFx0XHQkcGF0dGVybiBcdFRoZSBwYXR0ZXJuIHRvIHVzZSB0byBnZW5lcmF0ZSBjbGFzc25hbWVcbi8vIEByZXR1cm4gIE1hcCAgICAgICAgICAgICAgICAgICAgIE1hcCBvZiB1bm1hdGNoZWQgcGF0dGVybiBpbmRleDpwYXR0ZXJuXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfdW5tYXRjaGVkX3BhdHRlcm5zKFxuXHQkcGF0dGVyblxuKSB7XG5cdCR1bm1hdGNoZWQgOiAoKTtcblxuXHQvLyBMb29wIGVhY2ggcGFydGVyblxuXHRAZm9yICRpIGZyb20gbGVuZ3RoKCRwYXR0ZXJuKSB0aHJvdWdoIDEge1xuXHRcdCR2YXIgOiBudGgoJHBhdHRlcm4sICRpKTtcblx0XHRAaWYgJHZhciBhbmQgc3RyLWluZGV4KCR2YXIsICclJykgPT0gMSB7XG5cdFx0XHQkdG9rZW4gOiBzdHItc2xpY2UoJHZhciwgMik7XG5cdFx0XHQvLyBjaGVjayB0aGF0IHRoZSB2YWx1ZSBpcyBwYXJ0IG9mIHRoZSB0b2tlblxuXHRcdFx0JHRva2VucyA6IG1hcC1nZXQoJF9ncmlkbGUtbmFtZXMtdG9rZW5zLCAkdG9rZW4pO1xuXHRcdFx0QGlmICR0b2tlbnMgPT0gbnVsbCB7XG5cdFx0XHRcdCR1bm1hdGNoZWQgOiBtYXAtc2V0KCR1bm1hdGNoZWQsICRpLCAkdmFyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuICR1bm1hdGNoZWQ7XG59XG5cblxuLy9cbi8vIG1hdGNoZWQgcGF0dGVybnNcbi8vXG4vLyBAcGFyYW0gXHRMaXN0IFx0XHQkcGF0dGVybiBcdFRoZSBwYXR0ZXJuIHRvIHVzZSB0byBnZW5lcmF0ZSBjbGFzc25hbWVcbi8vIEByZXR1cm4gIE1hcCAgICAgICAgICAgICAgICAgICAgIE1hcCBvZiBtYXRjaGVkIHBhdHRlcm4gaW5kZXg6cGF0dGVyblxuLy9cbkBmdW5jdGlvbiBfZ3JpZGxlX21hdGNoZWRfcGF0dGVybnMoXG5cdCRwYXR0ZXJuXG4pIHtcblx0JG1hdGNoZWQgOiAoKTtcblxuXHQvLyBMb29wIGVhY2ggcGFydGVyblxuXHRAZm9yICRpIGZyb20gbGVuZ3RoKCRwYXR0ZXJuKSB0aHJvdWdoIDEge1xuXHRcdCR2YXIgOiBudGgoJHBhdHRlcm4sICRpKTtcblx0XHRAaWYgJHZhciBhbmQgc3RyLWluZGV4KCR2YXIsICclJykgPT0gMSB7XG5cdFx0XHQkdG9rZW4gOiBzdHItc2xpY2UoJHZhciwgMik7XG5cdFx0XHQvLyBjaGVjayB0aGF0IHRoZSB2YWx1ZSBpcyBwYXJ0IG9mIHRoZSB0b2tlblxuXHRcdFx0JHRva2VucyA6IG1hcC1nZXQoJF9ncmlkbGUtbmFtZXMtdG9rZW5zLCAkdG9rZW4pO1xuXHRcdFx0QGlmICR0b2tlbnMgIT0gbnVsbCB7XG5cdFx0XHRcdCRtYXRjaGVkIDogbWFwLXNldCgkbWF0Y2hlZCwgJGksICR2YXIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEByZXR1cm4gJG1hdGNoZWQ7XG59XG5cblxuLy9cbi8vIEdldCBkeW5hbWljIHBhdHRlcm4gdmFsdWVzXG4vL1xuLy8gQHBhcmFtIFx0U3RyaW5nIFx0XHQkZm9yIFx0XHRcdE5hbWUgb2YgdGhlIHRva2VuXG4vLyBAcmV0dXJuIFx0TWl4ZWQgXHRcdFx0XHRcdCAgICBWYWx1ZXMgb2YgdGhlIHRva2VuXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfZ2V0X3BhdHRlcm5fdmFsdWVzKFxuXHQkZm9yXG4pe1xuXHRAaWYgJGZvciA9PSBjb2x1bW4ge1xuXHRcdEByZXR1cm4gZ3JpZGxlX2dldF9jb2x1bW5zKCk7XG5cdH1cblxuXHRAaWYgJGZvciA9PSBjb2x1bW4tY291bnQge1xuXHRcdEByZXR1cm4gbGVuZ3RoKGdyaWRsZV9nZXRfY29sdW1ucygpKTtcblx0fVxuXG5cdEBpZiAkZm9yID09IGNvdW50IHtcblx0XHRAcmV0dXJuICRfZ3JpZGxlX2NsZWFyX2NsYXNzZXM7XG5cdH1cblxuXHRAcmV0dXJuIG1hcC1nZXQoJF9ncmlkbGUtbmFtZXMtdG9rZW5zLCAkZm9yKTtcbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBjdXJyZW50IGRyaXZlclxuLy9cbkBmdW5jdGlvbiBncmlkbGVfZ2V0X2RyaXZlcigpIHtcblx0QHJldHVybiAkX2dyaWRsZS1kcml2ZXI7XG59XG5cblxuLy9cbi8vIElzIGRyaXZlclxuLy9cbkBmdW5jdGlvbiBncmlkbGVfaXNfZHJpdmVyKCRkcml2ZXIpIHtcblx0QGVhY2ggJGQgaW4gJGRyaXZlciB7XG5cdFx0QGlmICRkID09IGdyaWRsZV9nZXRfZHJpdmVyKCkge1xuXHRcdFx0QHJldHVybiB0cnVlO1xuXHRcdH1cblx0fVxuXHRAcmV0dXJuIGZhbHNlO1xufVxuXG5cbi8vXG4vLyBDaGVjayBpZiB3ZSBuZWVkIHRvIGdlbmVyYXRlIHRoZSBjbGFzcyBvciBub3Rcbi8vXG4vLyBAcGFyYW0gXHRMaXN0IFx0XHQkZm9yIFx0XHRcdE5hbWUgb2YgdGhlIGNsYXNzIG1hcFxuLy8gQHBhcmFtIFx0TGlzdCBcdFx0JHdoYXQgXHRcdFx0VGhlIG1hcCB0aGF0IHNldCB3aGljaCBjbGFzcyBtYXAgdG8gaW5jbHVkZSBhbmQgZXhjbHVkZVxuLy8gQHJldHVybiBcdEJvb2xlYW4gXHRcdFx0XHRcdHRydWUgaWYgbmVlZCB0byBnZW5lcmF0ZSwgZmFsc2UgaWYgbm90XG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfbmVlZF90b19nZW5lcmF0ZShcblx0JHBhY2thZ2UsXG5cdCR3aGF0XG4pIHtcblx0Ly8gY2hlY2sgdGhhdCB0aGUgd2FudGVkIHBhY2thZ2UgZXhpc3QgaW4gc3lzdGVtXG5cdEBpZiBtYXAtZ2V0KCRfZ3JpZGxlLXBhY2thZ2VzLCAkcGFja2FnZSkge1xuXHRcdCRwYWNrYWdlIDogbWFwLWdldCgkX2dyaWRsZS1wYWNrYWdlcywgJHBhY2thZ2UpO1xuXHRcdCRwYWNrYWdlIDogbWFwLWdldCgkcGFja2FnZSwgcGFja2FnZSk7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvLyBpZiB3ZSBoYXZlIGEgd2hhdCBwYXJhbSwgbmVlZCB0byBjaGVjayBpZiB0aGUgcGFja2FnZSBpcyBuZWVkZWRcblx0QGlmICR3aGF0IGFuZCAkd2hhdCAhPSBhbGwge1xuXG5cdFx0Ly8gY2hlY2sgaWYgd2UgaGF2ZSBvbmx5IHNvbWUgLSBpbiB0aGUgc3RhdGVzIGxpc3Rcblx0XHQvLyBtZWFuIHRoYXQgd2Ugd2FudCB0byBvbmx5IHJlbW92ZSB0aGVzZSBzcGVjaWZpZWQgc3RhdGVzXG5cdFx0Ly8gZnJvbSB0aGUgYWxsIHN0YXRlcyBsaXN0XG5cdFx0JG9ubHlSZW1vdmUgOiB0cnVlO1xuXHRcdEBlYWNoICR3IGluICR3aGF0IHtcblx0XHRcdEBpZiBzdHItc2xpY2UoJHcsMSwxKSAhPSAnLScge1xuXHRcdFx0XHQkb25seVJlbW92ZSA6IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpZiAkb25seVJlbW92ZSB7XG5cdFx0XHRAZWFjaCAkbmFtZSBpbiAkcGFja2FnZSB7XG5cdFx0XHRcdEBpZiBpbmRleCgkd2hhdCwgdW5xdW90ZShcIi0jeyRuYW1lfVwiKSkge1xuXHRcdFx0XHRcdEByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEByZXR1cm4gdHJ1ZTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdEBlYWNoICRuYW1lIGluICRwYWNrYWdlIHtcblx0XHRcdFx0QGlmIGluZGV4KCR3aGF0LCB1bnF1b3RlKFwiI3skbmFtZX1cIikpIHtcblx0XHRcdFx0XHRAcmV0dXJuIHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEByZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG5cdC8vIHdlIGRvbid0IGhhdmUgYSB3aGF0IHBhcmFtIHNvIHRoZSBwYWNrYWdlIGlzXG5cdEByZXR1cm4gdHJ1ZTtcbn1cblxuXG4vL1xuLy8gR2V0IGdlbmVyaWMgc2VsZWN0b3IgZm9yIGEgY2xhc3Ncbi8vXG5AZnVuY3Rpb24gX2dyaWRsZV9nZXRfZ2VuZXJpY19zZWxlY3Rvcihcblx0JHBhY2thZ2Vcbikge1xuXHQkcCA6IG1hcC1nZXQoJF9ncmlkbGUtcGFja2FnZXMsICRwYWNrYWdlKTtcblx0JHNlbCA6IG1hcC1nZXQoJHAsIGdlbmVyaWMtc2VsZWN0b3IpO1xuXHRAaWYgJHNlbCB7XG5cdFx0QHJldHVybiB1bnF1b3RlKCRzZWwpO1xuXHR9XG5cdCRzZWwgOiBtYXAtZ2V0KCRwLCBjbGFzc25hbWUpO1xuXHQkZ2VuZXJpYyA6IFwiXCI7XG5cdCRlbmQgOiBmYWxzZTtcblx0JGkgOiAxO1xuXHRAZWFjaCAkcGFydCBpbiAkc2VsIHtcblx0XHRAaWYgbm90ICRlbmQge1xuXHRcdFx0Ly8gaWYgd2UgaGF2ZSBhIHNlcGFyYXRvciwgY2hlY2sgdGhlIG5leHQgdmFsdWUgdG8gc2VlIGlmIGl0J3MgYSB2YXJpYWJsZVxuXHRcdFx0QGlmIGluZGV4KCRfZ3JpZGxlLW5hbWVzLXNlcGFyYXRvcnMsICRwYXJ0KSBhbmQgJGkgPCBsZW5ndGgoJHNlbCkge1xuXHRcdFx0XHRAaWYgbnRoKCRzZWwsJGkgKyAxKSAhPSAnJXN0YXRlJyB7XG5cdFx0XHRcdFx0JGdlbmVyaWMgOiAjeyRnZW5lcmljfSN7JHBhcnR9O1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHQkZW5kIDogdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdEBpZiBzdHItc2xpY2UoJHBhcnQsMSwxKSAhPSAnJScge1xuXHRcdFx0XHRcdCRnZW5lcmljIDogI3skZ2VuZXJpY30jeyRwYXJ0fTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0JGVuZCA6IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0JGkgOiAkaSArIDE7XG5cdH1cblx0QHJldHVybiB1bnF1b3RlKCdbY2xhc3MqPVwiI3skZ2VuZXJpY31cIl0nKTtcbn1cblxuXG4vL1xuLy8gQ2hlY2sgaWYgZ3JpZGxlIGlzIGluIGdlbmVyYXRpb24gcGhhc2Vcbi8vXG5AZnVuY3Rpb24gX2dyaWRsZV9pc19pbl9nZW5lcmF0ZV9waGFzZSgpIHtcblx0QHJldHVybiAkX2dyaWRsZV9pc19pbl9nZW5lcmF0ZV9waGFzZTtcbn1cblxuXG4vL1xuLy8gUGFyc2UgZ3JpZGxlIG1peGluIGxpc3Rcbi8vXG5AZnVuY3Rpb24gX2dyaWRsZV9wYXJzZV9ncmlkbGVfbWl4aW5fbGlzdChcblx0JGxpc3Rcbikge1xuXHQvLyBtYXBcblx0JG1hcCA6ICgpO1xuXG5cdC8vIGNvbnRleHRcblx0JGNvbnRleHQgOiBudWxsO1xuXHQkb2YgOiBpbmRleCgkbGlzdCwgb2YpO1xuXHRAaWYgJG9mIHtcblx0XHQkY29udGV4dCA6IG50aCgkbGlzdCwgKCRvZiArIDEpKTtcblx0XHQkbGlzdCA6IHJlbW92ZS1udGgoJGxpc3QsJG9mKTtcblx0XHQkbGlzdCA6IHJlbW92ZS1udGgoJGxpc3QsJG9mKTtcblx0fSBAZWxzZSB7XG5cdFx0JGN0eCA6IGluZGV4KCRsaXN0LCBjb250ZXh0KTtcblx0XHRAaWYgJGN0eCB7XG5cdFx0XHQkY29udGV4dCA6IG50aCgkbGlzdCwgKCRjdHggKyAxKSk7XG5cdFx0XHQkbGlzdCA6IHJlbW92ZS1udGgoJGxpc3QsJGN0eCk7XG5cdFx0XHQkbGlzdCA6IHJlbW92ZS1udGgoJGxpc3QsJGN0eCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZ3JpZFxuXHQkZ3IgOiBudGgoJGxpc3QsIDEpO1xuXHRAaWYgdHlwZS1vZigkZ3IpID09IG51bWJlciBvciAkZ3IgPT0gYWRhcHQgb3IgJGdyID09IGdyb3cgb3IgZ3JpZGxlX2hhc19jb2x1bW4oJGdyKSB7XG5cdFx0JG1hcCA6IG1hcC1zZXQoJG1hcCwgZ3JpZCwgJGdyICRjb250ZXh0KTtcblx0XHQkbGlzdCA6IHJlbW92ZS1udGgoJGxpc3QsMSk7XG5cdH1cblxuXHQvLyBwcmVmaXhcblx0JHByZWZpeCA6IG51bGw7XG5cdCRhdCA6IGluZGV4KCRsaXN0LCBhdCk7XG5cdEBpZiAkYXQge1xuXHRcdCRtYXAgOiBtYXAtc2V0KCRtYXAsIHByZWZpeCwgbnRoKCRsaXN0LCgkYXQgKyAxKSkgJGNvbnRleHQpO1xuXHRcdCRsaXN0IDogcmVtb3ZlLW50aCgkbGlzdCwkYXQpO1xuXHRcdCRsaXN0IDogcmVtb3ZlLW50aCgkbGlzdCwkYXQpO1xuXHR9XG5cblx0Ly8gbG9vcCBvbiBlYWNoIHBhcmFtZXRlcnNcblx0JHByb3BfdmFsdWVzIDogKCk7XG5cdCRwcm9wX25hbWUgOiBudWxsO1xuXHQkbGlzdCA6IGFwcGVuZCgkbGlzdCwgX2dyaWRsZS1sYXN0KTtcblx0QGVhY2ggJHBhcmFtIGluICRsaXN0IHtcblxuXHRcdEBpZiAkcGFyYW0gIT0gd2l0aCBhbmQgJHBhcmFtICE9ICdhbmQnIHtcblx0XHRcdEBpZiBtYXAtZ2V0KCRfZ3JpZGxlLXBhY2thZ2VzLCAkcGFyYW0pIG9yICRwYXJhbSA9PSBfZ3JpZGxlLWxhc3Qge1xuXHRcdFx0XHRAaWYgJHByb3BfbmFtZSB7XG5cdFx0XHRcdFx0JHZhbHVlcyA6IHRydWU7XG5cdFx0XHRcdFx0QGlmIGxlbmd0aCgkcHJvcF92YWx1ZXMpID4gMCB7XG5cdFx0XHRcdFx0XHQkdmFsdWVzIDogJHByb3BfdmFsdWVzO1xuXHRcdFx0XHRcdFx0QGlmIGxlbmd0aCgkcHJvcF92YWx1ZXMpID09IDEge1xuXHRcdFx0XHRcdFx0XHQkdmFsdWVzIDogbnRoKCRwcm9wX3ZhbHVlcywxKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCRwcm9wX3ZhbHVlcyA6ICgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkcHJvcF9uYW1lLCAkdmFsdWVzKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQkcHJvcF9uYW1lIDogJHBhcmFtO1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdCRwcm9wX3ZhbHVlcyA6IGFwcGVuZCgkcHJvcF92YWx1ZXMsICRwYXJhbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQvLyAvLyBjaGVjayBpZiB3ZSBkb24ndCBoYXZlIGFueSBndXR0ZXIgcGFyYW1ldGVyc1xuXHQvLyBAaWYgbm90IG1hcC1nZXQoJG1hcCwgZ3V0dGVyKSBhbmQgbm90IG1hcC1nZXQoJG1hcCwgbm8tZ3V0dGVyKSB7XG5cdC8vIFx0JG1hcCA6IG1hcC1zZXQoJG1hcCwgZ3V0dGVyLCB0cnVlKTtcblx0Ly8gfVxuXG5cdC8vIHJldHVybiB0aGUgbWFwXG5cdEByZXR1cm4gJG1hcDtcbn1cblxuXG4vL1xuLy8gR2V0IHNldCBtYXAgZnJvbSBzdHJpbmdcbi8vXG5AZnVuY3Rpb24gX2dyaWRsZV9nZXRfZ3JpZGxlX3NldF9tYXBfZnJvbV9saXN0KFxuXHQkbGlzdFxuKSB7XG5cdC8vIGxvb3Agb24gZWFjaCBsaXN0IGVsZW1lbnQgdG8gc3BsaXQgaW50byBzdGF0ZXMgbGlzdHNcblx0JHN0YXRlIDogY3VycmVudDtcblx0JG1hcCA6ICgpO1xuXHRAZWFjaCAkcHJvcCBpbiAkbGlzdCB7XG5cdFx0QGlmIG1hcC1nZXQoJG1hcCwgJHN0YXRlKSA9PSBudWxsIHtcblx0XHRcdCRtYXAgOiBtYXAtc2V0KCRtYXAsICRzdGF0ZSwgKCkpO1xuXHRcdH1cblx0XHRAaWYgdHlwZS1vZigkcHJvcCkgPT0gc3RyaW5nIGFuZCBncmlkbGVfaGFzX3N0YXRlKCRwcm9wKSB7XG5cdFx0XHQkc3RhdGUgOiAkcHJvcDtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCRscyA6IG1hcC1nZXQoJG1hcCwgJHN0YXRlKTtcblx0XHRcdCRscyA6IGFwcGVuZCgkbHMsICRwcm9wKTtcblx0XHRcdCRtYXAgOiBtYXAtc2V0KCRtYXAsICRzdGF0ZSwgJGxzKTtcblx0XHR9XG5cdH1cblxuXHQvLyBsb29wIG9uIGVhY2ggc3RhdGVzXG5cdEBlYWNoICRzdGF0ZU5hbWUsICRwcm9wcyBpbiAkbWFwIHtcblx0XHRAaWYgbGVuZ3RoKCRwcm9wcykgPiAwIHtcblx0XHRcdCRwcm9wc19tYXAgOiBfZ3JpZGxlX3BhcnNlX2dyaWRsZV9taXhpbl9saXN0KCRwcm9wcyk7XG5cdFx0XHRAaWYgdHlwZS1vZigkcHJvcHNfbWFwKSA9PSBtYXAge1xuXHRcdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkc3RhdGVOYW1lLCAkcHJvcHNfbWFwKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkc3RhdGVOYW1lLCBudWxsKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdEByZXR1cm4gJG1hcDtcbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBtZWRpYSBxdWVyeSBmb3IgYSBwYXJ0aWN1bGFyIHN0YXRlLCBvciB3aWR0aCwgZXRjLi4uXG4vL1xuLy8gQHBhcmFtIFx0TWl4ZWQgXHRcdCRzdGF0ZS1vci1taW4td2lkdGggXHRcdFRoZSBzdGF0ZSBuYW1lIG9mIHRoZSBtaW4gd2lkdGhcbi8vIEBwYXJhbSBcdE1peGVkIFx0XHQkbWF4LXdpZHRoIFx0XHRcdFRoZSBtYXggd2lkdGggaWYgZmlyc3QgcGFyYW0gaXMgYSBtaW4gd2lkdGhcbi8vIEByZXR1cm4gXHRTdHJpbmcgXHRcdFx0XHRcdFx0VGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyB3aXRob3V0IHRoZSBAbWVkaWFcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2dldF9tZWRpYV9xdWVyeShcblx0JHN0YXRlLW9yLXNldHRpbmdzIDogY3VycmVudFxuKSB7XG5cdC8vIGNoZWNrIGlmIGlzIGEgc3RyaW5nIDpcblx0JHN0YXRlIDogbnVsbDtcblx0QGlmIHR5cGUtb2YoJHN0YXRlLW9yLXNldHRpbmdzKSA9PSBzdHJpbmdcblx0e1xuXHRcdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlLW9yLXNldHRpbmdzKTtcblx0fVxuXHRAZWxzZSBpZiAkc3RhdGUtb3Itc2V0dGluZ3MgPT0gbnVsbFxuXHR7XG5cdFx0JHN0YXRlIDogJF9ncmlkbGUtc2V0dGluZ3M7XG5cdH1cblx0QGVsc2Vcblx0e1xuXHRcdCRzdGF0ZSA6IG1hcC1tZXJnZSgkX2dyaWRsZS1zZXR0aW5ncywgJHN0YXRlLW9yLXNldHRpbmdzKTtcblx0fVxuXG5cdC8vIGlmIGl0J3Mgc29tZSBzZXR0aW5ncyBvciBhIHN0YXRlIDpcblx0QGlmICRzdGF0ZSB7XG5cblx0XHQvLyBnZXQgdmFycyA6XG5cdFx0JG5hbWUgOiBtYXAtZ2V0KCRzdGF0ZSwgbmFtZSk7XG5cdFx0JG1pbi13aWR0aCA6IG1hcC1nZXQoJHN0YXRlLCBtaW4td2lkdGgpO1xuXHRcdCRtYXgtd2lkdGggOiBtYXAtZ2V0KCRzdGF0ZSwgbWF4LXdpZHRoKTtcblx0XHQkcXVlcnkgOiBtYXAtZ2V0KCRzdGF0ZSwgcXVlcnkpO1xuXG5cdFx0Ly8gZGlyZWN0IHF1ZXJ5IDpcblx0XHRAaWYgJHF1ZXJ5XG5cdFx0e1xuXHRcdFx0QHJldHVybiAkcXVlcnk7XG5cdFx0fVxuXHRcdEBlbHNlIGlmICRtaW4td2lkdGggYW5kICRtYXgtd2lkdGhcblx0XHR7XG5cdFx0XHRAcmV0dXJuIFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSlcIjtcblx0XHR9XG5cdFx0QGVsc2UgaWYgJG1pbi13aWR0aFxuXHRcdHtcblx0XHRcdEByZXR1cm4gXCJzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pXCI7XG5cdFx0fVxuXHRcdEBlbHNlIGlmICRtYXgtd2lkdGhcblx0XHR7XG5cdFx0XHRAcmV0dXJuIFwic2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KVwiO1xuXHRcdH1cblx0XHRAZWxzZVxuXHRcdHtcblx0XHRcdEByZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0fVxuXHRAZWxzZVxuXHR7XG5cdFx0QHJldHVybiBudWxsO1xuXHR9XG59XG4iLCIvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB8IFNldHRpbmdzIG1peGluc1xuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gU2V0dXBcbi8vXG5AbWl4aW4gZ3JpZGxlX3NldHVwKFxuXHQkc2V0dGluZ3MgOiAoKVxuKSB7XG5cdC8vIHByZXBhcmUgc3RhdGVcblx0JHNldHRpbmdzIDogX2dyaWRsZV9wcmVwYXJlX3N0YXRlX3NldHRpbmdzKCRzZXR0aW5ncyk7XG5cblx0Ly8gZXh0ZW5kIGRlZmF1bHQgc2V0dGluZ3Ncblx0JF9ncmlkbGUtc2V0dGluZ3MgOiBtYXAtbWVyZ2UoKFxuXHRcdG5hbWUgOiBkZWZhdWx0LFxuXHRcdG1pbi13aWR0aCA6IG51bGwsXG5cdFx0bWF4LXdpZHRoIDogbnVsbCxcblx0XHRxdWVyeSA6IG51bGwsXG5cdFx0Y2xhc3NlcyA6IHRydWUsXG5cdFx0Y29udGV4dCA6IDEyLFxuXHRcdGNvbHVtbi13aWR0aCA6IG51bGwsXG5cdFx0Z3V0dGVyLXdpZHRoIDogMjBweCxcblx0XHRndXR0ZXItaGVpZ2h0IDogMCxcblx0XHRndXR0ZXItdG9wIDogMCxcblx0XHRndXR0ZXItcmlnaHQgOiAxMHB4LFxuXHRcdGd1dHRlci1ib3R0b20gOiAwLFxuXHRcdGd1dHRlci1sZWZ0IDogMTBweCxcblx0XHRkaXJlY3Rpb24gOiBsdHIsXG5cdFx0ZGlyLWF0dHJpYnV0ZSA6IGZhbHNlLFxuXHRcdG5hbWUtbXVsdGlwbGljYXRvciA6IDEsXG5cdFx0c3RhdGVzLWNsYXNzZXMgOiBmYWxzZSxcblx0XHRjbGFzc2VzLXByZWZpeCA6IG51bGxcblx0KSwgJHNldHRpbmdzKSAhZ2xvYmFsO1xuXG5cdC8vIHJlZ2lzdGVyIGRlZmF1bHQgc3RhdGUgOlxuXHRAaW5jbHVkZSBncmlkbGVfcmVnaXN0ZXJfc3RhdGUoZGVmYXVsdCwgJF9ncmlkbGUtc2V0dGluZ3MpO1xuXG5cdC8vIHNldCBjdXJyZW50IHN0YXRlIHRvIGRlZmF1bHRcblx0JF9ncmlkbGVfY3VycmVudF9zdGF0ZSA6ICRfZ3JpZGxlLXNldHRpbmdzICFnbG9iYWw7XG5cdCRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lIDogZGVmYXVsdCAhZ2xvYmFsO1xuXG59XG5cbi8vXG4vLyBSZWdpc3RlciBhIHN0YXRlXG4vL1xuQG1peGluIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZShcblx0JG5hbWUsXG5cdCRzZXR0aW5ncyA6ICgpXG4pIHtcblx0Ly8gcHJlcGFyZSBzdGF0ZVxuXHQkc2V0dGluZ3MgOiBfZ3JpZGxlX3ByZXBhcmVfc3RhdGVfc2V0dGluZ3MoJHNldHRpbmdzKTtcblxuXHQvLyBzZXR0aW5ncyA6XG5cdCRzZXR0aW5ncyA6IG1hcC1tZXJnZSgkX2dyaWRsZS1zZXR0aW5ncywgJHNldHRpbmdzKTtcblxuXHQvLyBzZXQgbmFtZSA6XG5cdCRzZXR0aW5ncyA6IG1hcC1zZXQoJHNldHRpbmdzLCBuYW1lLCAkbmFtZSk7XG5cblx0Ly8gZ3V0dGVyIHNpemVzIDpcblx0JGd1dHRlci10b3AgOiBtYXAtZ2V0KCRzZXR0aW5ncywgZ3V0dGVyLXRvcCk7XG5cdCRndXR0ZXItcmlnaHQgOiBtYXAtZ2V0KCRzZXR0aW5ncywgZ3V0dGVyLXJpZ2h0KTtcblx0JGd1dHRlci1ib3R0b20gOiBtYXAtZ2V0KCRzZXR0aW5ncywgZ3V0dGVyLWJvdHRvbSk7XG5cdCRndXR0ZXItbGVmdCA6IG1hcC1nZXQoJHNldHRpbmdzLCBndXR0ZXItbGVmdCk7XG5cblx0Ly8gYWRkIHN0YXRlIGluIG1hcHMgOlxuXHQkX2dyaWRsZV9zdGF0ZXMgOiBtYXAtc2V0KCRfZ3JpZGxlX3N0YXRlcywgJG5hbWUsICRzZXR0aW5ncykgIWdsb2JhbDtcblxuXHQvLyBhZGQgcnVsZXMgaWYgZ3V0dGVyIGlzIGRpZmZlcmVudFxuXHRAaWYgJGd1dHRlci10b3AgIT0gbWFwLWdldCgkX2dyaWRsZS1zZXR0aW5ncywgZ3V0dGVyLXRvcClcblx0XHRvciAkZ3V0dGVyLXJpZ2h0ICE9IG1hcC1nZXQoJF9ncmlkbGUtc2V0dGluZ3MsIGd1dHRlci1yaWdodClcblx0XHRvciAkZ3V0dGVyLWJvdHRvbSAhPSBtYXAtZ2V0KCRfZ3JpZGxlLXNldHRpbmdzLCBndXR0ZXItYm90dG9tKVxuXHRcdG9yICRndXR0ZXItbGVmdCAhPSBtYXAtZ2V0KCRfZ3JpZGxlLXNldHRpbmdzLCBndXR0ZXItbGVmdCkge1xuXHRcdCRndXR0ZXJzIDogX2dyaWRsZV9mb3JnZV9ndXR0ZXJzX21hcCh0b3AgcmlnaHQgYm90dG9tIGxlZnQsICRuYW1lKTtcblx0XHRAaW5jbHVkZSBncmlkbGVfYXBwbHlfY3NzX2ZvcihncmlkIGdyaWQtZ3JvdyBncmlkLWFkYXB0LCAoXG5cdFx0XHRncmlkbGVfZ3V0dGVyIDogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG5cdFx0KSwgJG5hbWUpO1xuXHR9XG5cblx0Ly8gYWRkIHJ1bGVzIGlmIGRpcmVjdGlvbiBpcyBkaWZmZXJlbnRcblx0JGRpcmVjdGlvbiA6IG1hcC1nZXQoJHNldHRpbmdzLCBkaXJlY3Rpb24pO1xuXHRAaWYgJGRpcmVjdGlvbiAhPSBtYXAtZ2V0KCRfZ3JpZGxlLXNldHRpbmdzLCBkaXJlY3Rpb24pIHtcblx0XHQkZmxvYXQgOiBsZWZ0O1xuXHRcdEBpZiAkZGlyZWN0aW9uID09IHJ0bCB7XG5cdFx0XHQkZmxvYXQgOiByaWdodDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgZ3JpZGxlX2FwcGx5X2Nzc19mb3IoZ3JpZCwgKFxuXHRcdFx0ZGlyZWN0aW9uIDogJGRpcmVjdGlvbixcblx0XHRcdGZsb2F0IDogJGZsb2F0XG5cdFx0KSwgJG5hbWUpO1xuXHR9XG59XG5cblxuLy9cbi8vICBSZWdpc3RlciBhIGNsZWFyIGVhY2ggY2xhc3Ncbi8vXG5AbWl4aW4gZ3JpZGxlX3JlZ2lzdGVyX2NsZWFyX2VhY2goXG5cdCRjb3VudCxcblx0JGNsZWFyV2hhdFxuKSB7XG5cdC8vIGNyZWF0ZSB0aGUgY2xlYXIgbWFwIDpcblx0JGNsYXNzTWFwIDogKFxuXHRcdGNsZWFyRWFjaCA6ICRjb3VudCxcblx0XHRjbGVhcldoYXQgOiAkY2xlYXJXaGF0XG5cdCk7XG5cblx0Ly8gYXBwZW5kIHRvIG1hcCA6XG5cdCRfZ3JpZGxlX2NsZWFyX2NsYXNzZXMgOiBtYXAtc2V0KCRfZ3JpZGxlX2NsZWFyX2NsYXNzZXMsICRjb3VudCwgJGNsYXNzTWFwKSAhZ2xvYmFsO1xufVxuXG5cbi8vXG4vLyBSZWdpc3RlciBhIHNwZWNpYWwgY2xhc3Ncbi8vXG5AbWl4aW4gZ3JpZGxlX3JlZ2lzdGVyX2NvbHVtbihcblx0JG5hbWUsXG5cdCRjb2x1bW5zLFxuXHQkY29udGV4dFxuKSB7XG5cdC8vIGNyZWF0ZSBhIGNvbHVtbiA6XG5cdCRjb2wgOiBfZ3JpZGxlX2NyZWF0ZV9jb2x1bW4oJG5hbWUsICRjb2x1bW5zLCAkY29udGV4dCk7XG5cblx0Ly8gYWRkIGNvbHVtbiBpbiBtYXBzIDpcblx0JF9ncmlkbGVfY29sdW1ucyA6IG1hcC1zZXQoJF9ncmlkbGVfY29sdW1ucywgJG5hbWUsICRjb2wpICFnbG9iYWw7XG59XG5cblxuLy9cbi8vIFNldCBhIGNsYXNzbWFwXG4vL1xuQG1peGluIGdyaWRsZV9zZXRfY2xhc3NuYW1lX21hcChcblx0JGZvcixcblx0JHBhdHRlcm5cbikge1xuXHQvLyBnZXQgdGhlIG1hcFxuXHQkbWFwIDogbWFwLWdldCgkX2dyaWRsZS1wYWNrYWdlcywgJGZvcik7XG5cdC8vIHNldCB0aGUgbmV3IGNsYXNzbmFtZVxuXHQkbWFwIDogbWFwLXNldCgkbWFwLCBjbGFzc25hbWUsICRwYXR0ZXJuKTtcblx0Ly8gc2V0IHRoZSBjbGFzc21hcFxuXHQkX2dyaWRsZS1wYWNrYWdlcyA6IG1hcC1zZXQoJF9ncmlkbGUtcGFja2FnZXMsICRmb3IsICRtYXApICFnbG9iYWw7XG59XG5cblxuLy9cbi8vIFNldCBhIGdlbmVyaWMgc2VsZWN0b3Jcbi8vXG5AbWl4aW4gZ3JpZGxlX3NldF9nZW5lcmljX3NlbGVjdG9yKFxuXHQkZm9yLFxuXHQkc2VsZWN0b3Jcbikge1xuXHQvLyBnZXQgdGhlIG1hcFxuXHQkbWFwIDogbWFwLWdldCgkX2dyaWRsZS1wYWNrYWdlcywgJGZvcik7XG5cdC8vIHNldCB0aGUgbmV3IGNsYXNzbmFtZVxuXHQkbWFwIDogbWFwLXNldCgkbWFwLCBnZW5lcmljLXNlbGVjdG9yLCAkc2VsZWN0b3IpO1xuXHQvLyBzZXQgdGhlIGNsYXNzbWFwXG5cdCRfZ3JpZGxlLXBhY2thZ2VzIDogbWFwLXNldCgkX2dyaWRsZS1wYWNrYWdlcywgJGZvciwgJG1hcCkgIWdsb2JhbDtcbn1cblxuXG4vL1xuLy8gRXh0ZW5kIGEgZ3JpZGxlIGNsYXNzXG4vL1xuLy8gbWFwIGZvcm1hdCA6XG4vLyAoXG4vLyBcdGdyaWQgOiAoXG4vLyBcdFx0bW9iaWxlIDogKFxuLy8gXHRcdFx0cGFkZGluZyA6IDEwcHgsXG4vLyBcdFx0XHRmbG9hdCA6IGxlZnRcbi8vIFx0XHQpLFxuLy8gXHRcdHRhYmxldCA6IChcbi8vIFx0XHRcdHBhZGRpbmcgOiAxMHB4XG4vLyBcdFx0KVxuLy8gXHQpLFxuLy8gXHRmbGV4LWdyaWQgOiAoXG4vLyBcdFx0bW9iaWxlIDogKFxuLy8gXHRcdFx0cGFkZGluZyA6IDEwcHhcbi8vIFx0XHQpXG4vLyBcdClcbi8vIClcbi8vXG4vLyBAbWl4aW4gZ3JpZGxlX2V4dGVuZF9iYXNlX2NsYXNzKFxuLy8gXHQkZm9yLFxuLy8gXHQkZXh0ZW5kLFxuLy8gXHQkc3RhdGVzTmFtZXMgOiBudWxsXG4vLyApIHtcbi8vIFx0Ly8gaWYgJHN0YXRlcyBpcyBhbGxcbi8vIFx0QGlmICRzdGF0ZXNOYW1lcyA9PSBudWxsIHtcbi8vIFx0XHQkc3RhdGVzTmFtZXMgOiBncmlkbGVfZ2V0X3N0YXRlc19uYW1lcygpO1xuLy8gXHR9XG5cbi8vIFx0Ly8gYWxsb3cgbXVsdGlwbGUgXCIkZm9yXCJcbi8vIFx0QGVhY2ggJGYgaW4gJGZvciB7XG5cbi8vIFx0XHQvLyBnZXQgdGhlIG1hcCBmb3IgdGhlIHBhc3NlZCBtaXhpbiBcImNhdGVnb3J5XCJcbi8vIFx0XHQkZm9yTWFwIDogbWFwLWdldCgkX2dyaWRsZV9leHRlbmRfYmFzZV9jbGFzc2VzLCAkZik7XG5cbi8vIFx0XHQvLyBjcmVhdGUgdGhlIG1hcCBpZiBub3QgZXhpc3Rcbi8vIFx0XHRAaWYgJGZvck1hcCA9PSBudWxsIHsgJGZvck1hcCA6ICgpOyB9XG5cbi8vIFx0XHQvLyBsb29wIG9uIGVhY2ggc3RhdGVzIHRvIHJlZ2lzdGVyIGFuIGV4dGVuZCBtYXBcbi8vIFx0XHRAZWFjaCAkc3RhdGVOYW1lIGluICRzdGF0ZXNOYW1lcyB7XG5cbi8vIFx0XHRcdC8vIGNoZWNrIGlmIGhhcyBhIG1hcCBmb3IgdGhlIHN0YXRlXG4vLyBcdFx0XHQkZm9yU3RhdGVNYXAgOiBtYXAtZ2V0KCRmb3JNYXAsICRzdGF0ZU5hbWUpO1xuLy8gXHRcdFx0QGlmICRmb3JTdGF0ZU1hcCA9PSBudWxsIHtcbi8vIFx0XHRcdFx0JGZvclN0YXRlTWFwIDogKCk7XG4vLyBcdFx0XHR9XG5cbi8vIFx0XHRcdC8vIG1lcmdlIG1hcFxuLy8gXHRcdFx0JGZvclN0YXRlTWFwIDogbWFwLW1lcmdlKCRmb3JTdGF0ZU1hcCwgJGV4dGVuZCk7XG5cbi8vIFx0XHRcdC8vIHNldCB0aGUgbmV3IHN0YXRlIG1hcCBpbnRvIGZvck1hcFxuLy8gXHRcdFx0JGZvck1hcCA6IG1hcC1zZXQoJGZvck1hcCwgJHN0YXRlTmFtZSwgJGZvclN0YXRlTWFwKTtcblxuLy8gXHRcdFx0Ly8gc2V0IHRoZSBtYXAgaW4gdGhlIGdyaWRsZSBnbG9iYWwgdmFyaWFibGVcbi8vIFx0XHRcdCRfZ3JpZGxlX2V4dGVuZF9iYXNlX2NsYXNzZXMgOiBtYXAtc2V0KCRfZ3JpZGxlX2V4dGVuZF9iYXNlX2NsYXNzZXMsICRmLCAkZm9yTWFwKSAhZ2xvYmFsO1xuXG4vLyBcdFx0fVxuXG4vLyBcdH1cbi8vIH1cbkBtaXhpbiBncmlkbGVfZXh0ZW5kX2Jhc2VfY2xhc3MoXG5cdCRmb3IsXG5cdCRleHRlbmQsXG5cdCRzdGF0ZXNOYW1lcyA6IG51bGxcbikge1xuXHQvLyBpZiAkc3RhdGVzIGlzIGFsbFxuXHRAaWYgJHN0YXRlc05hbWVzID09IG51bGwge1xuXHRcdCRzdGF0ZXNOYW1lcyA6IGdyaWRsZV9nZXRfc3RhdGVzX25hbWVzKCk7XG5cdH1cblxuXHQvLyBhbGxvdyBtdWx0aXBsZSBcIiRmb3JcIlxuXHRAZWFjaCAkc3RhdGVOYW1lIGluICRzdGF0ZXNOYW1lcyB7XG5cblx0XHQvLyBnZXQgdGhlIG1hcCBmb3IgdGhlIHBhc3NlZCBtaXhpbiBcImNhdGVnb3J5XCJcblx0XHQkc3RhdGVNYXAgOiBtYXAtZ2V0KCRfZ3JpZGxlX2V4dGVuZF9iYXNlX2NsYXNzZXMsICRzdGF0ZU5hbWUpO1xuXG5cdFx0Ly8gY3JlYXRlIHRoZSBtYXAgaWYgbm90IGV4aXN0XG5cdFx0QGlmICRzdGF0ZU1hcCA9PSBudWxsIHsgJHN0YXRlTWFwIDogKCk7IH1cblxuXHRcdC8vIGxvb3Agb24gZWFjaCBzdGF0ZXMgdG8gcmVnaXN0ZXIgYW4gZXh0ZW5kIG1hcFxuXHRcdEBlYWNoICRmIGluICRmb3Ige1xuXG5cdFx0XHQvLyBjaGVjayBpZiBoYXMgYSBtYXAgZm9yIHRoZSBzdGF0ZVxuXHRcdFx0JGZvclN0YXRlTWFwIDogbWFwLWdldCgkc3RhdGVNYXAsICRmKTtcblx0XHRcdEBpZiAkZm9yU3RhdGVNYXAgPT0gbnVsbCB7XG5cdFx0XHRcdCRmb3JTdGF0ZU1hcCA6ICgpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBtZXJnZSBtYXBcblx0XHRcdCRmb3JTdGF0ZU1hcCA6IG1hcC1tZXJnZSgkZm9yU3RhdGVNYXAsICRleHRlbmQpO1xuXG5cdFx0XHQvLyBzZXQgdGhlIG5ldyBzdGF0ZSBtYXAgaW50byBmb3JNYXBcblx0XHRcdCRzdGF0ZU1hcCA6IG1hcC1zZXQoJHN0YXRlTWFwLCAkZiwgJGZvclN0YXRlTWFwKTtcblxuXHRcdFx0Ly8gc2V0IHRoZSBtYXAgaW4gdGhlIGdyaWRsZSBnbG9iYWwgdmFyaWFibGVcblx0XHRcdCRfZ3JpZGxlX2V4dGVuZF9iYXNlX2NsYXNzZXMgOiBtYXAtc2V0KCRfZ3JpZGxlX2V4dGVuZF9iYXNlX2NsYXNzZXMsICRzdGF0ZU5hbWUsICRzdGF0ZU1hcCkgIWdsb2JhbDtcblx0XHR9XG5cdH1cbn1cblxuLy9cbi8vIEFwcGx5IGNzcyBmb3Jcbi8vXG4vLyBtYXAgZm9ybWF0IDpcbi8vIChcbi8vIFx0KFxuLy8gXHRcdGdyaWQgOiAoXG4vLyBcdFx0XHRtb2JpbGUgOiAoXG4vLyBcdFx0XHRcdHBhZGRpbmcgOiAwLFxuLy8gXHRcdFx0XHRtYXJnaW4gOiAwXG4vLyBcdFx0XHQpLFxuLy8gXHRcdFx0dGFibGV0IDogKFxuLy8gXHRcdFx0XHRwYWRkaW5nIDogMFxuLy8gXHRcdFx0KVxuLy8gXHRcdClcbi8vIFx0KSxcbi8vIFx0KFxuLy8gXHRcdGV0Yy4uLlxuLy8gXHQpXG4vLyApXG4vLyBAbWl4aW4gZ3JpZGxlX2FwcGx5X2Nzc19mb3IoXG4vLyBcdCRmb3IsXG4vLyBcdCRleHRlbmQsXG4vLyBcdCRzdGF0ZXNOYW1lcyA6IG51bGxcbi8vICkge1xuXG4vLyBcdC8vIGlmIHN0YXRlc05hbWVzIGlzIG51bGwsIG1lYW4gdGhhdCBpdCdzIGFsbCB0aGUgc3RhdGVzXG4vLyBcdEBpZiAkc3RhdGVzTmFtZXMgPT0gbnVsbCB7XG4vLyBcdFx0JHN0YXRlc05hbWVzIDogZ3JpZGxlX2dldF9zdGF0ZXNfbmFtZXMoKTtcbi8vIFx0fVxuXG4vLyBcdC8vIGFsbG93IG11bHRpcGxlIFwiJGZvclwiXG4vLyBcdEBlYWNoICRmIGluICRmb3Ige1xuXG4vLyBcdFx0Ly8gZ2V0IHRoZSBtYXAgZm9yIHRoZSBwYXNzZWQgbWl4aW4gXCJjYXRlZ29yeVwiXG4vLyBcdFx0JHN0YXRlTWFwIDogKCk7XG5cbi8vIFx0XHQvLyBsb29wIG9uIGVhY2ggc3RhdGVzIHRvIHJlZ2lzdGVyIGFuIGV4dGVuZCBtYXBcbi8vIFx0XHRAZWFjaCAkc3RhdGVOYW1lIGluICRzdGF0ZXNOYW1lcyB7XG4vLyBcdFx0XHQvLyBhZGQgdGhlIGNzc1xuLy8gXHRcdFx0JHN0YXRlTWFwIDogbWFwLXNldCgkc3RhdGVNYXAsICRzdGF0ZU5hbWUsICRleHRlbmQpO1xuLy8gXHRcdH1cblxuLy8gXHRcdC8vIHNldCBpbiBtYXBcbi8vIFx0XHQkZm9yTWFwIDogbWFwLXNldCgoKSwgJGYsICRzdGF0ZU1hcCk7XG5cbi8vIFx0XHQvLyBzZXQgdGhlIG1hcCBpbiB0aGUgZ3JpZGxlIGdsb2JhbCB2YXJpYWJsZVxuLy8gXHRcdCRfZ3JpZGxlX2FwcGx5X2Nzc19mb3IgOiBhcHBlbmQoJF9ncmlkbGVfYXBwbHlfY3NzX2ZvciwgJGZvck1hcCkgIWdsb2JhbDtcblxuLy8gXHR9XG4vLyB9XG5AbWl4aW4gZ3JpZGxlX2FwcGx5X2Nzc19mb3IoXG5cdCRmb3IsXG5cdCRleHRlbmQsXG5cdCRzdGF0ZXNOYW1lcyA6IG51bGxcbikge1xuXG5cdC8vIGlmIHN0YXRlc05hbWVzIGlzIG51bGwsIG1lYW4gdGhhdCBpdCdzIGFsbCB0aGUgc3RhdGVzXG5cdEBpZiAkc3RhdGVzTmFtZXMgPT0gbnVsbCB7XG5cdFx0JHN0YXRlc05hbWVzIDogZ3JpZGxlX2dldF9zdGF0ZXNfbmFtZXMoKTtcblx0fVxuXG5cdC8vIGFsbG93IG11bHRpcGxlIFwiJGZvclwiXG5cdEBlYWNoICRzdGF0ZU5hbWUgaW4gJHN0YXRlc05hbWVzIHtcblxuXHRcdC8vIGdldCB0aGUgbWFwIGZvciB0aGUgcGFzc2VkIG1peGluIFwiY2F0ZWdvcnlcIlxuXHRcdCRmb3JNYXAgOiAoKTtcblxuXHRcdC8vIGxvb3Agb24gZWFjaCBzdGF0ZXMgdG8gcmVnaXN0ZXIgYW4gZXh0ZW5kIG1hcFxuXHRcdEBlYWNoICRmIGluICRmb3Ige1xuXHRcdFx0Ly8gYWRkIHRoZSBjc3Ncblx0XHRcdCRmb3JNYXAgOiBtYXAtc2V0KCRmb3JNYXAsICRmLCAkZXh0ZW5kKTtcblx0XHRcdC8vICRzdGF0ZU1hcCA6IG1hcC1zZXQoJHN0YXRlTWFwLCAkc3RhdGVOYW1lLCAkZXh0ZW5kKTtcblx0XHR9XG5cblx0XHQvLyBzZXQgaW4gbWFwXG5cdFx0JHN0YXRlc01hcCA6IG1hcC1zZXQoKCksICRzdGF0ZU5hbWUsICRmb3JNYXApO1xuXG5cdFx0Ly8gc2V0IHRoZSBtYXAgaW4gdGhlIGdyaWRsZSBnbG9iYWwgdmFyaWFibGVcblx0XHQkX2dyaWRsZV9hcHBseV9jc3NfZm9yIDogYXBwZW5kKCRfZ3JpZGxlX2FwcGx5X2Nzc19mb3IsICRzdGF0ZXNNYXApICFnbG9iYWw7XG5cdH1cbn1cblxuXG4vL1xuLy8gUmVnaXN0ZXIgZGVmYXVsdCBzdGF0ZXNcbi8vXG5AbWl4aW4gZ3JpZGxlX3JlZ2lzdGVyX2RlZmF1bHRfc3RhdGVzKCkge1xuXHRAaW5jbHVkZSBncmlkbGVfcmVnaXN0ZXJfc3RhdGUobW9iaWxlLCAoXG5cdFx0bWF4LXdpZHRoIDogNDgwcHhcblx0KSk7XG5cdEBpbmNsdWRlIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZSh0YWJsZXQsIChcblx0XHRtaW4td2lkdGggOiA0ODFweCxcblx0XHRtYXgtd2lkdGggOiAxMDI0cHhcblx0KSk7XG59XG5cblxuLy9cbi8vIFJlZ2lzdGVyIGRlZmF1bHQgbW9iaWxlIGZpcnN0IHN0YXRlcyA6XG4vL1xuQG1peGluIGdyaWRsZV9yZWdpc3Rlcl9kZWZhdWx0X21vYmlsZV9maXJzdF9zdGF0ZXMoKSB7XG5cdEBpbmNsdWRlIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZSh4cywgKFxuXHRcdG1heC13aWR0aCA6IDc1MHB4XG5cdCkpO1xuXHRAaW5jbHVkZSBncmlkbGVfcmVnaXN0ZXJfc3RhdGUoc20sIChcblx0XHRtaW4td2lkdGggOiA3NTBweFxuXHQpKTtcblx0QGluY2x1ZGUgZ3JpZGxlX3JlZ2lzdGVyX3N0YXRlKG1kLCAoXG5cdFx0bWluLXdpZHRoIDogOTcwcHhcblx0KSk7XG5cdEBpbmNsdWRlIGdyaWRsZV9yZWdpc3Rlcl9zdGF0ZShsZywgKFxuXHRcdG1pbi13aWR0aCA6IDExNzBweFxuXHQpKTtcbn0iLCIvLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXG5cbkBtaXhpbiBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsLCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpO1xuICAgICAgc3JjOiBmb250LXVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICBmb250LXVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSAgICAgIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwibWl4aW5zLnNjc3NcIjtcblxuXG5AaW5jbHVkZSBmb250LWZhY2UoXCJPcGVuIFNhbnNcIiwgXCIvcHVibGljL2ZvbnRzL09wZW5TYW5zL1JlZ3VsYXIvT3BlblNhbnMtUmVndWxhclwiLCBub3JtYWwpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiT3BlbiBTYW5zXCIsIFwiL3B1YmxpYy9mb250cy9PcGVuU2Fucy9JdGFsaWMvT3BlblNhbnMtSXRhbGljXCIsIG5vcm1hbCwgaXRhbGljKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIk9wZW4gU2Fuc1wiLCBcIi9wdWJsaWMvZm9udHMvT3BlblNhbnMvQm9sZC9PcGVuU2Fucy1Cb2xkXCIsIGJvbGQpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiT3BlbiBTYW5zXCIsIFwiL3B1YmxpYy9mb250cy9PcGVuU2Fucy9Cb2xkSXRhbGljL09wZW5TYW5zLUJvbGRJdGFsaWNcIiwgYm9sZCwgaXRhbGljKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIk9wZW4gU2Fuc1wiLCBcIi9wdWJsaWMvZm9udHMvT3BlblNhbnMvRXh0cmFCb2xkL09wZW5TYW5zLUV4dHJhQm9sZFwiLCA4MDApO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiT3BlbiBTYW5zXCIsIFwiL3B1YmxpYy9mb250cy9PcGVuU2Fucy9FeHRyYUJvbGRJdGFsaWMvT3BlblNhbnMtRXh0cmFCb2xkSXRhbGljXCIsIDgwMCwgaXRhbGljKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIk9wZW4gU2Fuc1wiLCBcIi9wdWJsaWMvZm9udHMvT3BlblNhbnMvU2VtaWJvbGQvT3BlblNhbnMtU2VtaWJvbGRcIiwgNjAwKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIk9wZW4gU2Fuc1wiLCBcIi9wdWJsaWMvZm9udHMvT3BlblNhbnMvU2VtaWJvbGRJdGFsaWMvT3BlblNhbnMtU2VtaWJvbGRJdGFsaWNcIiwgNjAwLCBpdGFsaWMpO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiT3BlbiBTYW5zXCIsIFwiL3B1YmxpYy9mb250cy9PcGVuU2Fucy9MaWdodC9PcGVuU2Fucy1MaWdodFwiLCAzMDApO1xuQGluY2x1ZGUgZm9udC1mYWNlKFwiT3BlbiBTYW5zXCIsIFwiL3B1YmxpYy9mb250cy9PcGVuU2Fucy9MaWdodEl0YWxpYy9PcGVuU2Fucy1MaWdodEl0YWxpY1wiLCAzMDAsIGl0YWxpYyk7IiwiQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIm1peGlucy5zY3NzXCI7XG5cbkBpbmNsdWRlIGZvbnQtZmFjZShcImljb25zXCIsIFwiL3B1YmxpYy9mb250cy9pY29uc1wiLCBub3JtYWwpO1xuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0sXG4uaWNvbjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tbGcge1xuICBmb250LXNpemU6IDEuMzMzMzMzMzMzMzMzMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cbi5pY29uLTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi5pY29uLTN4IHsgZm9udC1zaXplOiAzZW07IH1cbi5pY29uLTR4IHsgZm9udC1zaXplOiA0ZW07IH1cbi5pY29uLTV4IHsgZm9udC1zaXplOiA1ZW07IH1cbi5pY29uLWZ3IHtcbiAgd2lkdGg6IDEuMjg1NzE0Mjg1NzE0Mjg1OGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pY29uLWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDFcIiB9XG4uaWNvbi1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDJcIiB9XG4uaWNvbi1oYW1idXJnZXI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDNcIiB9XG4uaWNvbi1jaXJjbGUtby11cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwNFwiIH1cbi5pY29uLXdlYXRoZXItY2xvdWR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA1XCIgfVxuLmljb24td2VhdGhlci1yYWlueTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwNlwiIH1cbi5pY29uLXdlYXRoZXItc3Vubnk6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDdcIiB9XG4uaWNvbi1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA4XCIgfVxuLmljb24tbWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwOVwiIH1cbi5pY29uLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDBBXCIgfVxuLmljb24tbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDBCXCIgfVxuLmljb24tc2VydmljZV8xOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDBDXCIgfVxuLmljb24tc2VydmljZV8xMDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwRFwiIH1cbi5pY29uLXNlcnZpY2VfMjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwRVwiIH1cbi5pY29uLXNlcnZpY2VfMzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwRlwiIH1cbi5pY29uLXNlcnZpY2VfNDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxMFwiIH1cbi5pY29uLXNlcnZpY2VfNTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxMVwiIH1cbi5pY29uLXNlcnZpY2VfNjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxMlwiIH1cbi5pY29uLXNlcnZpY2VfNzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxM1wiIH1cbi5pY29uLXNlcnZpY2VfODpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxNFwiIH1cbi5pY29uLXNlcnZpY2VfOTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxNVwiIH1cbi5pY29uLXNlcnZpY2VfMTE6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMTZcIiB9XG4uaWNvbi1zZXJ2aWNlXzEyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDE3XCIgfVxuLmljb24tc2VydmljZV8xMzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxOFwiIH1cbi5pY29uLXNlcnZpY2VfMTQ6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMTlcIiB9XG4uaWNvbi1zZXJ2aWNlXzE1OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDFBXCIgfVxuLmljb24tc2VydmljZV8xNjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxQlwiIH1cbi5pY29uLXNlcnZpY2VfMTc6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMUNcIiB9XG4uaWNvbi10eXBlXzE6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMURcIiB9XG4uaWNvbi10eXBlXzI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMUVcIiB9XG4uaWNvbi10eXBlXzM6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMUZcIiB9XG4uaWNvbi10eXBlXzU6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMjBcIiB9XG4uaWNvbi10eXBlXzc6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMjFcIiB9XG4uaWNvbi10eXBlXzk6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMjJcIiB9XG4uaWNvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMjNcIiB9XG4uaWNvbi1pbnZlcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDI0XCIgfVxuLmljb24tYWRkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDI1XCIgfVxuLmljb24tdGltZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAyNlwiIH1cbi5pY29uLWFkdWx0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDI3XCIgfVxuLmljb24tYmljeWNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAyOFwiIH1cbi5pY29uLWNoaWxkcmVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDI5XCIgfVxuLmljb24tdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDJBXCIgfVxuLmljb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMkJcIiB9XG4uaWNvbi1ib2F0X3NwYWNlMTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAyQ1wiIH1cbi5pY29uLWJvYXRfc3BhY2UyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDJEXCIgfVxuLmljb24tYm9hdF9zcGFjZTM6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMkVcIiB9XG4uaWNvbi1jYXI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMkZcIiB9XG4uaWNvbi1tYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAxXCIgfVxuLmljb24tdHlwZV80OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAyXCIgfVxuLmljb24tdHlwZV84OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAzXCIgfVxuLmljb24tZmFyZXM6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDRcIiB9XG5cblxuLmljb24tdkZsaXA6YmVmb3JlXG57IFxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoLTEsIDEpKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufSIsIlxuXG4uYXR0YWNobWVudHNcbntcblx0cGFkZGluZzogZW0oMjApIDA7XG5cblx0LmxhYmVsXG5cdHtcblx0XHRmb250LXNpemU6IGVtKDQwKTtcblx0XHRmb250LXdlaWdodDogMjAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICRibHVlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiBlbSgxMCk7XG5cdH1cblxuXHQuY29udGFpbmVyXG5cdHtcblx0XHRhXG5cdFx0e1xuXHRcdFx0Y29sb3I6ICRibHVlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZTllOWU5O1xuXHRcdFx0cGFkZGluZzogZW0oMjApIGVtKDMwKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IGVtKDcpOyBcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTgpO1xuXG5cdFx0XHQmOmhvdmVyXG5cdFx0XHR7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRibHVlTGlnaHQ7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXHRcdFx0fVxuXG5cdFx0XHQuZG93bmxvYWRcblx0XHRcdHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGVtKDEwKTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXG5cdFx0XHRcdCY6YWZ0ZXJcblx0XHRcdFx0e1xuXHRcdFx0XHRcdEBleHRlbmQgLmljb246YmVmb3JlO1xuXHQgICAgXHQgICAgXHRAZXh0ZW5kIC5pY29uLWNpcmNsZS1vLXVwOmJlZm9yZTtcblx0ICAgIFx0ICAgIFx0QGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XG5cdCAgICBcdCAgICBcdGZvbnQtc2l6ZTogZW0oMjIpO1xuXHQgICAgXHQgICAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICBcdCAgICBcdHRvcDogNXB4O1xuXHQgICAgXHQgICAgXHRsZWZ0OiA3cHg7XG5cdCAgICBcdCAgICB9XG5cdFx0XHR9XG5cblx0XHRcdC5hdHRyaWJ1dGVzXG5cdFx0XHR7XG5cdFx0XHQgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIkBpbXBvcnQgXCIuLi9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMuc2Nzc1wiO1xuXG5cbi5oZWFkZXJEZXNrdG9wXG57XG5cdGhlaWdodDogZW0oOTUpO1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZSB1cmwoJy9wdWJsaWMvaW1nL2hlYWRlckJhY2tncm91bmQucG5nJykgYm90dG9tIHJlcGVhdC14O1xuXHRmb250LWZhbWlseTogJGZvbnQ7XG5cblx0YVxuXHR7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0LmxvZ29cblx0e1xuXHRcdHdpZHRoOiBlbSgxMzUpO1xuXHRcdGhlaWdodDogZW0oMTM1KTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogNjEwO1xuXHRcdG1hcmdpbi10b3A6IGVtKDcpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9wdWJsaWMvaW1nL2JhaGFydExvZ28xMzUucG5nJyk7XG5cdH1cblxuXG4vLyB0b3BNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0LnRvcE1lbnVcblx0e1xuXHRcdG1hcmdpbi1sZWZ0OiBlbSgxMzUpO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGhlaWdodDogZW0oNDUpO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblxuXHRcdC5hY2Nlc3NpYmlsaXR5XG5cdFx0e1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0aGVpZ2h0OiBlbSgzMCk7XG5cdFx0XHRwYWRkaW5nLXRvcDogZW0oNSk7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblxuXHRcdC5sYW5ndWFnZVxuXHRcdHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICMwMzQxNmI7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgMXB4O1xuXHRcdFx0aGVpZ2h0OiBlbSg1MCk7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogZW0oMTApIGVtKDE1KTtcblx0XHRcdG1hcmdpbjogMCBlbSgxNSk7XG5cblx0XHRcdGFcblx0XHRcdHtcblx0XHRcdFx0Zm9udC1zaXplOiBlbSgxMik7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0Y29sb3I6ICRibHVlTGlnaHQ7XG5cdFx0XHRcdHBhZGRpbmc6IGVtKDEpIGVtKDUpO1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB3aGl0ZTtcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGRcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGJvcmRlcjpub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5hY3RpdmUsIFxuXHRcdFx0XHQmOmhvdmVyXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2VhcmNoXG5cdFx0e1xuXHRcdCAgICBvdmVyZmxvdzogaGlkZGVuO1xuXHRcdCAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdCAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuXHQgICAgICAgIC5zZWFyY2gtaW5wdXRcblx0ICAgICAgICB7XG5cdFx0XHQgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdCAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0ICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cblxuXHRcdCAgICAgICAgaW5wdXRcblx0XHQgICAgICAgIHtcblx0XHQgICAgICAgIFx0d2lkdGg6IDEwMCU7XG5cdFx0ICAgICAgICBcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdCAgICAgICAgXHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0ICAgICAgICBcdGJvcmRlcjogbm9uZTtcblx0XHQgICAgICAgIFx0YmFja2dyb3VuZDogJGJsdWVEYXJrO1xuXHRcdCAgICAgICAgXHRvdXRsaW5lOiBub25lO1xuXHRcdCAgICAgICAgXHRjb2xvcjogJGJsdWVEYXJrO1xuXHRcdCAgICAgICAgXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNXMgZWFzZS1pbi1vdXQpO1xuXG5cblx0XHRcdFx0XHQmOi1tb3otcGxhY2Vob2xkZXJcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogMjAwOyBcblx0XHRcdFx0XHRcdGNvbG9yOiAkYmx1ZURhcms7XG5cdFx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjo6LW1vei1wbGFjZWhvbGRlclxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7IFxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlRGFyaztcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlclxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7IFxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlRGFyaztcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHR9IFxuXG5cdFx0XHRcdFx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlclxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7IFxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlRGFyaztcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHR9XG5cblx0XHQgICAgICAgIFx0Jjpmb2N1c1xuXHRcdCAgICAgICAgXHR7XG5cdFx0ICAgICAgICBcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAxNjYsIDIxOCwgMC4yNSk7XG5cdFx0ICAgICAgICBcdFx0Y29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcblxuXHRcdCAgICAgICAgXHRcdCY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJcblx0XHQgICAgICAgIFx0XHR7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7IFxuXHRcdCAgICAgICAgXHRcdH1cblx0XHQgICAgICAgIFx0fVxuXHRcdCAgICAgICAgfVxuXHQgICAgICAgIH1cblxuXHQgICAgICAgIC5zZWFyY2gtYnV0dG9uXG5cdCAgICAgICAge1xuXHQgICAgICAgIFx0bWFyZ2luOiA3cHggMCAwIDVweDtcblx0ICAgICAgICBcdGNvbG9yOiAkYmx1ZUxpZ2h0O1xuXHQgICAgICAgIFx0ZmxvYXQ6IHJpZ2h0O1xuXG5cdCAgICAgICAgXHRpXG5cdCAgICAgICAgXHR7XG5cdCAgICAgICAgXHRcdGZvbnQtc2l6ZTogZW0oMjYpO1xuXHQgICAgICAgIFx0fVxuXG5cdCAgICAgICAgXHQmOmhvdmVyIGlcblx0ICAgICAgICBcdHtcblx0ICAgICAgICBcdFx0Y29sb3I6IHdoaXRlO1xuXHQgICAgICAgIFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdCAgICAgICAgXHR9XG5cblx0ICAgICAgICB9XG5cblx0XHR9XG5cblx0XHQmOmhvdmVyXG5cdFx0e1xuXHRcdFx0aW5wdXRcblx0XHRcdHtcblx0XHRcdFx0QGV4dGVuZCBpbnB1dDpmb2N1cztcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cblxuXG5cbi8vIG1haW5NZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0Lm1haW5NZW51XG5cdHtcblx0XHRtYXJnaW4tbGVmdDogZW0oMTM1KTtcblxuXHRcdHVsXG5cdFx0e1xuXHRcdFx0Zm9udC1zaXplOiAwO1xuXHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cblx0XHRsaVxuXHRcdHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdC8vIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCAkYmx1ZURhcms7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSA4MCUsICRibHVlRGFyayAwJSk7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMXB4IDRweDtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcblxuXHRcdFx0JjpsYXN0LWNoaWxkXG5cdFx0XHR7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdGFcblx0XHRcdHtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdCAgICAgICAgY29sb3I6ICRibHVlRGFyaztcblx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNTBweDtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMTBweDtcblx0XHRcdFx0cGFkZGluZzogMCAxMXB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbjogMCAzcHg7XG5cblx0XHRcdFx0c3BhblxuXHRcdFx0XHR7XHRcdFx0XHRcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTRweDtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIGFcblx0XHRcdHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGJsdWVMaWdodDtcblx0XHRcdFx0Y29sb3I6IHdoaXRlXG5cdFx0XHR9XG5cblx0XHRcdHVsXG5cdFx0XHR7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0YmFja2dyb3VuZDogJGJsdWVMaWdodDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdHBhZGRpbmc6IGVtKDEwKSBlbSgyMCkgZW0oMTApIGVtKDIwKTtcblx0XHRcdFx0d2lkdGg6IDE2MHB4O1xuXHRcdFx0XHR6LWluZGV4OiA2MjA7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzcHg7XG5cblx0XHRcdFx0bGlcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGFcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IGVtKDEyKTtcblx0XHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblxuXHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMTYwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA4cHggMDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0XHRcdCY6aG92ZXJcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlRGFyaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblxuXHRcdFx0Jjpob3ZlclxuXHRcdFx0e1xuXHRcdFx0XHR1bFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufVxuXG5cblxuXG4uYnJlYWRjcnVtYlxue1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICRibHVlTGlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgIC8vIG1hcmdpbi1ib3R0b206IC0yOHB4O1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgIHVsXG4gICAge1xuICAgIFx0cGFkZGluZzogMTJweCAxNXB4O1xuICAgIH1cblxuICAgIGxpXG4gICAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gXG4gICAgICAgIGFcbiAgICAgICAge1xuICAgIFx0ICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBcdCAgICBmb250LXdlaWdodDogNjAwO1xuICAgIFx0ICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgIFx0ICAgICYuYWN0aXZlXG4gICAgXHQgICAge1xuICAgIFx0ICAgIFx0Y29sb3I6IHdoaXRlO1xuICAgIFx0ICAgIFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBcdCAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZClcbiAgICAgICAge1xuICAgICAgICBcdGE6YWZ0ZXJcbiAgICAgICAgXHR7XG4gICAgXHQgICAgXHRAZXh0ZW5kIC5pY29uOmJlZm9yZTtcbiAgICBcdCAgICBcdEBleHRlbmQgLmljb24tYW5nbGUtZG93bjpiZWZvcmU7XG4gICAgXHQgICAgXHRAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBcdCAgICBcdGZvbnQtc2l6ZTogOHB4O1xuICAgIFx0ICAgIFx0cGFkZGluZzogM3B4O1xuICAgICAgICBcdH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gYXJ0aWNsZVxuLy8ge1xuLy8gXHRtYXJnaW4tdG9wOiA0MHB4O1xuLy8gfVxuXG5cblxuXG5cblxuIixudWxsLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiLmJhY2tyb3VuZC1lbWJlZCB7XG5cdGJhY2tncm91bmQtc2l6ZTogICBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7ICBcbn1cblxuLmJhaGFydExvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaUlIZHBaSFJvUFNJNU5DNHdNVEp3ZUNJZ2FHVnBaMmgwUFNJek5TNHpNRGR3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRGswTGpBeE1pQXpOUzR6TURjaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEazBMakF4TWlBek5TNHpNRGNpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBqeG5QanhrWldaelBqeHdZWFJvSUdsa1BTSlRWa2RKUkY4eFh5SWdaRDBpVFRBdU56STBMREUzTGpZME5HTXdMRGt1TXpZMExESXdMamMwTlN3eE5pNDVNemdzTkRZdU16VTFMREUyTGprek9HTXlOUzQyTVRRc01DdzBOaTR6TlRZdE55NDFOek1zTkRZdU16VTJMVEUyTGprek9HTXdMVGt1TXpZNExUSXdMamMwTWkweE5pNDVNemd0TkRZdU16VTJMVEUyTGprek9FTXlNUzQwTmprc01DNDNNRFlzTUM0M01qUXNPQzR5TnpZc01DNDNNalFzTVRjdU5qUTBJaTgrUEM5a1pXWnpQanhqYkdsd1VHRjBhQ0JwWkQwaVUxWkhTVVJmTWw4aVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkxTldSMGxFWHpGZklpQWdiM1psY21ac2IzYzlJblpwYzJsaWJHVWlMejQ4TDJOc2FYQlFZWFJvUGp4eVlXUnBZV3hIY21Ga2FXVnVkQ0JwWkQwaVUxWkhTVVJmTTE4aUlHTjRQU0l3SWlCamVUMGlNelV1TXpBMk5pSWdjajBpTVNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUltMWhkSEpwZUNneU1ETXVNamN5SURBZ01DQXRNVGs0TGpJeE1URWdORFl1TnpVZ056RTVNaTQ0TkRrMktTSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGp4emRHOXdJQ0J2Wm1aelpYUTlJakFpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EQXdNREFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpJeE5qUWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TURBd01FSWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalEzTmlJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QXdNRE15TVNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU55SWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekF3TUVZeVJpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPVEEwTlNJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QXdNMFEzUXlJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU9USXdOQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05qRTVSaUl2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1T1RNMklpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRGs0TkVNeElpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDVORGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNeU16bERSRFlpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGprMU5TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekpEUVRWRVJTSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqRWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU15UTBFMVJFVWlMejQ4TDNKaFpHbGhiRWR5WVdScFpXNTBQanh5WldOMElIZzlJakF1TnpJMElpQjVQU0l3TGpjd05pSWdZMnhwY0Mxd1lYUm9QU0oxY213b0kxTldSMGxFWHpKZktTSWdabWxzYkQwaWRYSnNLQ05UVmtkSlJGOHpYeWtpSUhkcFpIUm9QU0k1TWk0M01URWlJR2hsYVdkb2REMGlNek11T0RjMUlpOCtQQzluUGp4blBqeGtaV1p6UGp4d1lYUm9JR2xrUFNKVFZrZEpSRjgwWHlJZ1pEMGlUVFF1TWpFekxERTNMalkwT0dNd0xEQXVOak0xTERBdU1USTVMREV1TWpZc01DNHpOelFzTVM0NE56UmpMVEF1TVRBMkxUQXVOREEwTFRBdU1UWXhMVEF1T0RFeUxUQXVNVFl4TFRFdU1qSTJZekF0Tnk0M05UUXNNVGt1TVRreExURTBMakF6T0N3ME1pNDROalF0TVRRdU1ETTRZekl4TGpjM055d3dMRE01TGpjMU5pdzFMak14T0N3ME1pNDBPVGtzTVRJdU1qQTFRemczTGprMk1pdzVMakl4T1N3Mk9TNDFNemdzTXk0MU1qY3NORGN1TURjMUxETXVOVEkzUXpJekxqUXdNeXd6TGpVeU55dzBMakl4TXl3NUxqZzBPQ3cwTGpJeE15d3hOeTQyTkRnaUx6NDhMMlJsWm5NK1BHTnNhWEJRWVhSb0lHbGtQU0pUVmtkSlJGODFYeUkrUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVTFaSFNVUmZORjhpSUNCdmRtVnlabXh2ZHowaWRtbHphV0pzWlNJdlBqd3ZZMnhwY0ZCaGRHZytQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0pUVmtkSlJGODJYeUlnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaUlIZ3hQU0l3SWlCNU1UMGlNelV1TXpBMU55SWdlREk5SWpFaUlIa3lQU0l6TlM0ek1EVTNJaUJuY21Ga2FXVnVkRlJ5WVc1elptOXliVDBpYldGMGNtbDRLREFnTFRNMUxqZzNPVGdnTFRNMUxqZzNPVGdnTUNBeE16RXpMamM1TlRrZ016VXVOamd4TmlraVBqeHpkRzl3SUNCdlptWnpaWFE5SWpBaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV5TXpnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqRTNORGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXpNMEVpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpNeU9UY2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13T0RFM05EQWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalEzTnpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRVEZGTkVJaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqWXhPVGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FqSTFOVGdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpjMU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJETWtVMk9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPREE1SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXpNVFpHSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NU1qSTFJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURBMU16a3dJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05qaEJOeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEhKbFkzUWdlRDBpTkM0eU1UTWlJSGs5SWpNdU5USTNJaUJqYkdsd0xYQmhkR2c5SW5WeWJDZ2pVMVpIU1VSZk5WOHBJaUJtYVd4c1BTSjFjbXdvSTFOV1IwbEVYelpmS1NJZ2QybGtkR2c5SWpnMUxqVTNOaUlnYUdWcFoyaDBQU0l4TlM0NU9UWWlMejQ4TDJjK1BHYytQR1JsWm5NK1BIQmhkR2dnYVdROUlsTldSMGxFWHpkZklpQmtQU0pOT1RFdU5EazVMREUzTGpZME9HTXdMRGd1TlRNNUxURTVMamc1TERFMUxqUTJNaTAwTkM0ME1qUXNNVFV1TkRZeVl5MHlNUzQ0TXpRc01DMHpPUzQ1T0RZdE5TNDBPREl0TkRNdU56SXRNVEl1TnpBMVl6SXVPRFF4TERjdU5USXpMREl4TGpRM05Dd3hNeTR6TWprc05EUXVNRFFzTVRNdU16STVZekkwTGpVekxEQXNORFF1TkRFMkxUWXVPRFl4TERRMExqUXhOaTB4TlM0ek16RmpNQzB3TGpnMU9TMHdMakl3TlMweExqY3dNeTB3TGpZdE1pNDFNak5ET1RFdU5EQXhMREUyTGpRMk1TdzVNUzQwT1Rrc01UY3VNRFV4TERreExqUTVPU3d4Tnk0Mk5EZ2lMejQ4TDJSbFpuTStQR05zYVhCUVlYUm9JR2xrUFNKVFZrZEpSRjg0WHlJK1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJalUxWkhTVVJmTjE4aUlDQnZkbVZ5Wm14dmR6MGlkbWx6YVdKc1pTSXZQand2WTJ4cGNGQmhkR2crUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjg1WHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTXpVdU16QTNOaUlnZURJOUlqRWlJSGt5UFNJek5TNHpNRGMySWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUTTFMamc0TWpjZ0xUTTFMamc0TWpjZ01DQXhNekUwTGpRNU1EY2dNelV1TmpneE5pa2lQanh6ZEc5d0lDQnZabVp6WlhROUlqQWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TmpFeU16Z2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMakUzTkRnaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV6TTBFaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqTXlPVGNpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd09ERTNOREFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpRM056RWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UVRGRk5FSWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMall4T1RnaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRakkxTlRnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqYzFPQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpCRE1rVTJPQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1T0RBNUlpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRU16TVRaR0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDVNakkxSWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTFNemt3SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTVNJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QXdOamhCTnlJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BISmxZM1FnZUQwaU15NHpOVFVpSUhrOUlqRTFMamc0TVNJZ1kyeHBjQzF3WVhSb1BTSjFjbXdvSTFOV1IwbEVYemhmS1NJZ1ptbHNiRDBpZFhKc0tDTlRWa2RKUkY4NVh5a2lJSGRwWkhSb1BTSTRPQzQwTlRZaUlHaGxhV2RvZEQwaU1UY3VPRFUwSWk4K1BDOW5QanhuUGp4a1pXWnpQanh3WVhSb0lHbGtQU0pUVmtkSlJGOHhNRjhpSUdROUlrMDFOUzR6TlRNc01Ua3VNVFExWXkwd0xqazVOeXd4TGpBek55MHhMakEyT1N3eUxqTTNOeTB3TGpReE9Dd3lMams0TVdNd0xqSXpNeXd3TGpJeE5pd3dMalV3TVN3d0xqTXhOQ3d3TGpjNE55d3dMak16TW1NdE1DNDBNall0TUM0MU16a3RNQzQyTWpVdE1TNDFPVFV0TUM0d09UZ3RNaTQwTXpGakxUQXVNRGs0TFRBdU1qUTNMVEF1TVRFM0xUQXVOVEkxTFRBdU1EWXRNQzQ0TURSak1DNHdNVFF0TUM0d05qWXRNQzR3TkMwd0xqRXlPUzB3TGpFd09DMHdMakV5T1VNMU5TNDBNak1zTVRrdU1EazFMRFUxTGpNNE55d3hPUzR4TVN3MU5TNHpOVE1zTVRrdU1UUTFJaTgrUEM5a1pXWnpQanhqYkdsd1VHRjBhQ0JwWkQwaVUxWkhTVVJmTVRGZklqNDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRWa2RKUkY4eE1GOGlJQ0J2ZG1WeVpteHZkejBpZG1semFXSnNaU0l2UGp3dlkyeHBjRkJoZEdnK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSlRWa2RKUkY4eE1sOGlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNE1UMGlNQ0lnZVRFOUlqTTFMak14TURVaUlIZ3lQU0l4SWlCNU1qMGlNelV1TXpFd05TSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3dJQzB5TkM0NE5Ua3lJQzB5TkM0NE5Ua3lJREFnT1RNeUxqZ3dOVGNnTWprdU5USTFOQ2tpUGp4emRHOXdJQ0J2Wm1aelpYUTlJakFpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXlNemdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpFM05EZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TmpFek0wRWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMak15T1RjaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdPREUzTkRBaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqUTNOekVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FURkZORUlpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpZeE9UZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UWpJMU5UZ2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamMxT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkRNa1UyT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU9EQTVJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNek1UWkdJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ1TWpJMUlpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNREExTXprd0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekF3TmpoQk55SXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQSEpsWTNRZ2VEMGlOVFF1TWpnMElpQjVQU0l4T1M0d09UVWlJR05zYVhBdGNHRjBhRDBpZFhKc0tDTlRWa2RKUkY4eE1WOHBJaUJtYVd4c1BTSjFjbXdvSTFOV1IwbEVYekV5WHlraUlIZHBaSFJvUFNJeExqUXpPQ0lnYUdWcFoyaDBQU0l6TGpNMk15SXZQand2Wno0OFp6NDhaR1ZtY3o0OGNHRjBhQ0JwWkQwaVUxWkhTVVJmTVROZklpQmtQU0pOTmpVdU5qRXpMREl4TGpNMU5XTXdMakF4TlN3d0xqRTFOeXd3TGpBMU5pd3dMalExTVN3d0xqQTRPU3d3TGpZM01tTXdMakExTWkwd0xqQTVPU3d3TGpFd015MHdMakl3TlN3d0xqRTFPQzB3TGpNeE5XTXdMakEwTFRBdU1EZ3pMREF1TURFNUxUQXVNVEV0TUM0d01UWXRNQzR4TWpOakxUQXVNVEF6TFRBdU1ETTNMVEF1TWpBM0xUQXVNVEUxTFRBdU1qSXhMVEF1TVRrMVl5MHdMakF3Tnkwd0xqQXhOUzB3TGpBeExUQXVNRE10TUM0d01TMHdMakEwTmxZeU1TNHpOVFY2SWk4K1BDOWtaV1p6UGp4amJHbHdVR0YwYUNCcFpEMGlVMVpIU1VSZk1UUmZJajQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5UVmtkSlJGOHhNMThpSUNCdmRtVnlabXh2ZHowaWRtbHphV0pzWlNJdlBqd3ZZMnhwY0ZCaGRHZytQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0pUVmtkSlJGOHhOVjhpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElpQjRNVDBpTUNJZ2VURTlJak0xTGpNd05qWWlJSGd5UFNJeElpQjVNajBpTXpVdU16QTJOaUlnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d3SUMweU5TNHhPVFEwSUMweU5TNHhPVFEwSURBZ09UVTFMakkzT0RrZ01qa3VOak0wT0NraVBqeHpkRzl3SUNCdlptWnpaWFE5SWpBaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV5TXpnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqRTNORGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXpNMEVpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpNeU9UY2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13T0RFM05EQWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalEzTnpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRVEZGTkVJaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqWXhPVGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FqSTFOVGdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpjMU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJETWtVMk9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPREE1SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXpNVFpHSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NU1qSTFJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURBMU16a3dJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05qaEJOeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEhKbFkzUWdlRDBpTmpVdU5qRXpJaUI1UFNJeU1TNHpORGdpSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05UVmtkSlJGOHhORjhwSWlCbWFXeHNQU0oxY213b0kxTldSMGxFWHpFMVh5a2lJSGRwWkhSb1BTSXdMakk0TnlJZ2FHVnBaMmgwUFNJd0xqWTRJaTgrUEM5blBqeG5QanhrWldaelBqeHdZWFJvSUdsa1BTSlRWa2RKUkY4eE5sOGlJR1E5SWswMk55NDBNRFlzTVRrdU1ESXhZekF1TURFMUxEQXVNVFk0TERBdU1UUXhMREF1TVRnNUxEQXVNalExTERBdU1EUXhZekF1TURJM0xUQXVNRFF4TERBdU1EWXRNQzR3T1N3d0xqQTVOaTB3TGpFME4yTXRNQzR3TWprdE1DNHdNemt0TUM0d05Ua3RNQzR3TnpndE1DNHdPUzB3TGpFeE9HTXRNQzR4TkRZdE1DNHhOekV0TUM0ME9URXRNQzQxTkRJdE1DNDRNall0TUM0NE16UkROamN1TVRZekxERTRMakk0TVN3Mk55NHpOamNzTVRndU5qWTNMRFkzTGpRd05pd3hPUzR3TWpFaUx6NDhMMlJsWm5NK1BHTnNhWEJRWVhSb0lHbGtQU0pUVmtkSlJGOHhOMThpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOV1IwbEVYekUyWHlJZ0lHOTJaWEptYkc5M1BTSjJhWE5wWW14bElpOCtQQzlqYkdsd1VHRjBhRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYekU0WHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTXpVdU16QTJOaUlnZURJOUlqRWlJSGt5UFNJek5TNHpNRFkySWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUSXpMakEzT1RNZ0xUSXpMakEzT1RNZ01DQTRPREl1TVRVeE1TQXlPQzQyTlRBMEtTSStQSE4wYjNBZ0lHOW1abk5sZEQwaU1DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekEyTVRJek9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVNVGMwT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QTJNVE16UVNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU16STVOeUlnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBNE1UYzBNQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TkRjM01TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJCTVVVMFFpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVOakU1T0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkNNalUxT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU56VTRJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNeVJUWTRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ0TURraUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRek14TmtZaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqa3lNalVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EVXpPVEFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l4SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTJPRUUzSWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGNtVmpkQ0I0UFNJMk5pNDRNekVpSUhrOUlqRTNMamsyTkNJZ1kyeHBjQzF3WVhSb1BTSjFjbXdvSTFOV1IwbEVYekUzWHlraUlHWnBiR3c5SW5WeWJDZ2pVMVpIU1VSZk1UaGZLU0lnZDJsa2RHZzlJakF1T1RFMklpQm9aV2xuYUhROUlqRXVNalEzSWk4K1BDOW5QanhuUGp4a1pXWnpQanh3WVhSb0lHbGtQU0pUVmtkSlJGOHhPVjhpSUdROUlrMDFNeTQwTWpRc01UZ3VPRFl4WXkwd0xqQXdNeXd3TGpFM05Dd3dMakV5TWl3d0xqRTJNU3d3TGpJd05Td3dMakEwTkdNd0xqQTBOUzB3TGpBMk5Dd3dMakE0T1Mwd0xqRXlOU3d3TGpFek1pMHdMakU0TTJNdE1DNHhPVFV0TUM0MkxUQXVORGsxTFRFdU1UZzRMVEF1TnpBNUxURXVOREZETlRNdU16RTRMREUzTGpZM05DdzFNeTQwTkRRc01UZ3VNVGsxTERVekxqUXlOQ3d4T0M0NE5qRWlMejQ4TDJSbFpuTStQR05zYVhCUVlYUm9JR2xrUFNKVFZrZEpSRjh5TUY4aVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkxTldSMGxFWHpFNVh5SWdJRzkyWlhKbWJHOTNQU0oyYVhOcFlteGxJaTgrUEM5amJHbHdVR0YwYUQ0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUlsTldSMGxFWHpJeFh5SWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUhneFBTSXdJaUI1TVQwaU16VXVNekEyTmlJZ2VESTlJakVpSUhreVBTSXpOUzR6TURZMklpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtEQWdMVEl6TGpnMU1UTWdMVEl6TGpnMU1UTWdNQ0E0T1RVdU5URTFPU0F5T0M0NU56ZzFLU0krUEhOMGIzQWdJRzltWm5ObGREMGlNQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBMk1USXpPQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TVRjME9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekEyTVRNelFTSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVNekk1TnlJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QTRNVGMwTUNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU5EYzNNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpCQk1VVTBRaUl2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TmpFNU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJDTWpVMU9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVOelU0SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXlSVFk0SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NE1Ea2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UXpNeE5rWWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamt5TWpVaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdNRFV6T1RBaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJeElpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNREEyT0VFM0lpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhjbVZqZENCNFBTSTFNeTR3TlRJaUlIazlJakUzTGpNeE1pSWdZMnhwY0Mxd1lYUm9QU0oxY213b0kxTldSMGxFWHpJd1h5a2lJR1pwYkd3OUluVnliQ2dqVTFaSFNVUmZNakZmS1NJZ2QybGtkR2c5SWpBdU56QTVJaUJvWldsbmFIUTlJakV1TnpJeklpOCtQQzluUGp4blBqeGtaV1p6UGp4d1lYUm9JR2xrUFNKVFZrZEpSRjh5TWw4aUlHUTlJazAzTkM0M05UWXNNVEl1TkRsMkxUQXVNREF6VmpFeUxqUTVlaUl2UGp3dlpHVm1jejQ4WTJ4cGNGQmhkR2dnYVdROUlsTldSMGxFWHpJelh5SStQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpVMVpIU1VSZk1qSmZJaUFnYjNabGNtWnNiM2M5SW5acGMybGliR1VpTHo0OEwyTnNhWEJRWVhSb1BqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlVMVpIU1VSZk1qUmZJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJamMwTGpjMU5Ua2lJSGt4UFNJeE1pNDBPRGd6SWlCNE1qMGlOelF1TnpVMU9TSWdlVEk5SWpFeUxqUTRPRE1pSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTUNBdE1DNHdNRE0wSUMwd0xqQXdNelFnTUNBM05DNDROelE0SURFeUxqUTVNRElwSWo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EWXhNak00SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0eE56UTRJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURZeE16TkJJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzR6TWprM0lpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRGd4TnpRd0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDBOemN4SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FRXhSVFJDSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0Mk1UazRJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVJeU5UVTRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQzTlRnaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRekpGTmpnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqZ3dPU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpCRE16RTJSaUl2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1T1RJeU5TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekF3TlRNNU1DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqRWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TURZNFFUY2lMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanh3WVhSb0lHTnNhWEF0Y0dGMGFEMGlkWEpzS0NOVFZrZEpSRjh5TTE4cElpQm1hV3hzUFNKMWNtd29JMU5XUjBsRVh6STBYeWtpSUdROUlrMDNOQzQzTlRZc01USXVORGwyTFRBdU1EQXpWakV5TGpRNWVpSXZQand2Wno0OFp6NDhaR1ZtY3o0OGNHRjBhQ0JwWkQwaVUxWkhTVVJmTWpWZklpQmtQU0pOTmpJdU1qTTNMREl3TGpjNU5HTXRNQzQ1TWprc01TNHhOREV0TVM0ME1qa3NNaTR6TFRFdU5EUTRMRE11TkROakxUQXVNREE0TERBdU5EQXlMREF1TVRRMUxEQXVPRGs0TERBdU5UQXhMREV1TURneVl6QXVNVEUxTERBdU1EWXlMREF1TWpNeUxEQXVNVEF5TERBdU16VTFMREF1TVRJell5MHdMakEwTXkwd0xqRTJNaTB3TGpBMk1pMHdMak14T1Mwd0xqQTJNeTB3TGpRMU5HTXRNQzR3TVRNdE1TNHhOalVzTUM0ek5Ea3RNaTR6TXpNc01TNHlOemd0TXk0ME56SmpNUzR4TWpRdE1TNHpPRGdzTWk0ek1EWXRNaTR3Tnpjc015NHhNamt0TVM0Mk9UZGpMVEF1TURReUxUQXVNekEwTFRBdU1pMHdMalUyT1Mwd0xqVTFMVEF1TnpNeVl5MHdMakUxTFRBdU1EY3pMVEF1TXpFMUxUQXVNVEE0TFRBdU5Ea3hMVEF1TVRBNFF6WTBMakUyTkN3eE9DNDVOallzTmpNdU1UWXhMREU1TGpZMU5pdzJNaTR5TXpjc01qQXVOemswSWk4K1BDOWtaV1p6UGp4amJHbHdVR0YwYUNCcFpEMGlVMVpIU1VSZk1qWmZJajQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5UVmtkSlJGOHlOVjhpSUNCdmRtVnlabXh2ZHowaWRtbHphV0pzWlNJdlBqd3ZZMnhwY0ZCaGRHZytQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0pUVmtkSlJGOHlOMThpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElpQjRNVDBpTUNJZ2VURTlJak0xTGpNd05qWWlJSGd5UFNJeElpQjVNajBpTXpVdU16QTJOaUlnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d3SUMweU5TNHhOVEV6SUMweU5TNHhOVEV6SURBZ09UVXhMak01T1RJZ01qa3VOakU1TVNraVBqeHpkRzl3SUNCdlptWnpaWFE5SWpBaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV5TXpnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqRTNORGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXpNMEVpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpNeU9UY2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13T0RFM05EQWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalEzTnpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRVEZGTkVJaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqWXhPVGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FqSTFOVGdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpjMU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJETWtVMk9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPREE1SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXpNVFpHSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NU1qSTFJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURBMU16a3dJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05qaEJOeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEhKbFkzUWdlRDBpTmpBdU56Z3hJaUI1UFNJeE9DNDVOallpSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05UVmtkSlJGOHlObDhwSWlCbWFXeHNQU0oxY213b0kxTldSMGxFWHpJM1h5a2lJSGRwWkhSb1BTSTFMakl3T0NJZ2FHVnBaMmgwUFNJMkxqUTJNeUl2UGp3dlp6NDhaejQ4WkdWbWN6NDhjR0YwYUNCcFpEMGlVMVpIU1VSZk1qaGZJaUJrUFNKTk5ETXVOaXd4T0M0ek56VmpMVEV1TWpZc01DNDBOemt0TWk0MU1qTXNNUzR5TWpFdE15NHpPVGNzTWk0ek9URmpMVEF1T1RnNUxERXVNekk0TFRFdU1qVTNMREl1T1RJM0xUQXVOVGt6TERNdU9EUTNZekF1TVRVMkxEQXVNakUzTERBdU16UTBMREF1TXpjMUxEQXVOVFV6TERBdU5EaGpMVEF1TXpVNExURXVNVEF4TFRBdU1EazRMVEl1TlRjMUxEQXVOelF5TFRNdU56RXhZekF1T0RZMkxURXVNVGN6TERFdU9EUXRNUzQyTVRVc01pNDVORGt0TWk0d09UVmpNQzR4TkRZdE1DNHdOalVzTUM0eE5qUXRNQzR4TkRnc01DNHhNemN0TUM0eU56WmpMVEF1TURRNExUQXVNakl4TFRBdU1qQXhMVEF1TnpZMExUQXVNalE1TFRBdU9VTTBNeTQzTnpZc01UZ3VNak1zTkRNdU56UTFMREU0TGpNeU1pdzBNeTQyTERFNExqTTNOU0JOTkRNdU56UXhMREU0TGpFd09HTXdMREF1TURBeExEQXVNREF4TERBdU1EQXlMREF1TURBeExEQXVNREF6UXpRekxqYzBNaXd4T0M0eE1URXNORE11TnpReExERTRMakV3T0N3ME15NDNOREVzTVRndU1UQTRURFF6TGpjME1Td3hPQzR4TURoNklpOCtQQzlrWldaelBqeGpiR2x3VUdGMGFDQnBaRDBpVTFaSFNVUmZNamxmSWo0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOVFZrZEpSRjh5T0Y4aUlDQnZkbVZ5Wm14dmR6MGlkbWx6YVdKc1pTSXZQand2WTJ4cGNGQmhkR2crUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjh6TUY4aUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJaUI0TVQwaU1DSWdlVEU5SWpNMUxqTXhNalVpSUhneVBTSXhJaUI1TWowaU16VXVNekV5TlNJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUltMWhkSEpwZUNnd0lDMHlOUzR4TkRZeklDMHlOUzR4TkRZeklEQWdPVEk1TGpRMU56Y2dNamt1TmpFNU1Ta2lQanh6ZEc5d0lDQnZabVp6WlhROUlqQWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TmpFeU16Z2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMakUzTkRnaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV6TTBFaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqTXlPVGNpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd09ERTNOREFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpRM056RWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UVRGRk5FSWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMall4T1RnaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRakkxTlRnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqYzFPQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpCRE1rVTJPQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1T0RBNUlpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRU16TVRaR0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDVNakkxSWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTFNemt3SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTVNJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QXdOamhCTnlJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BISmxZM1FnZUQwaU16Z3VPVFEySWlCNVBTSXhPQzR4TURjaUlHTnNhWEF0Y0dGMGFEMGlkWEpzS0NOVFZrZEpSRjh5T1Y4cElpQm1hV3hzUFNKMWNtd29JMU5XUjBsRVh6TXdYeWtpSUhkcFpIUm9QU0kxTGpBM01pSWdhR1ZwWjJoMFBTSTJMams0TmlJdlBqd3ZaejQ4Wno0OFpHVm1jejQ4Y0dGMGFDQnBaRDBpVTFaSFNVUmZNekZmSWlCa1BTSk5OVE11TURFNExESXhMamt4TkdNdE1TNHhOelFzTVM0M09UTXRNaTR5TnpFc015NDFNall0TXk0ME16UXNOUzR6TldNdE1DNHdOakVzTUM0d09EUXRNQzR4TVRVc01DNHhNemt0TUM0eU16UXNNQzR4TkRWakxUQXVOeklzTUMweExqVXdPQzB3TGpBd01pMHlMak13TWl3d0xqQXdNbU10TUM0d09ETXNNQzB3TGpFMExUQXVNRE0zTFRBdU1UVTRMVEF1TURrMVl6QXVNRFl5TERBdU1qYzRMREF1TVRZekxEQXVOemd5TERBdU1Ua3hMREF1T0RrNVl6QXVNREU1TERBdU1EZ3NNQzR3Tnprc01DNHhNakVzTUM0eE5qY3NNQzR4TWpGak1DNDROVElzTUN3eExqZzVPQ3d3TERJdU5qQTNMVEF1TURBMFl6QXVNVEEzTFRBdU1EQTNMREF1TVRndE1DNHdOallzTUM0eU16VXRNQzR4TkRaak1TNHdOVGt0TVM0Mk5UY3NNaTR4T1MwekxqUTFOeXd6TGpJM0xUVXVNVEUzWXpBdU1qUXNNQzQ0TXpZc01DNHpOaXd4TGpJeU9Dd3dMamd3TVN3eExqWXlNV013TGpRME9Td3dMalF3TWl3d0xqZzJOQ3d3TGpVd05pd3hMalEzTlN3d0xqVXhOR013TGpVMU5pd3dMakF3Tml3eExqRXdOQzB3TGpJeE5pd3hMamMxTXkwd0xqUTROMk13TGpJek15MHdMakE1T0N3d0xqUTBNeTB3TGpJeE55d3dMall6TFRBdU16TTNZekF0TUM0ek1Ea3NNQzR3TXpFdE1DNDJNVGNzTUM0d09EWXRNQzQ1TVRGak1DNHdNRFF0TUM0d016TXRNQzR3TWpZdE1DNHlNell0TUM0eU1ERXRNQzR4TVRWakxUQXVNeXd3TGpJeE5DMHdMalk1TVN3d0xqUTFNaTB4TGpFM09Td3dMall6TTJNdE1DNDFPVGtzTUM0eU1qVXRNQzQ0Tnprc01DNHpNRGt0TVM0ME16VXNNQzR6TURKakxUQXVOamszTFRBdU1EQTFMVEV1TXpJMkxUQXVNekF5TFRFdU56Y3RNQzQ1T1RGakxUQXVNalEyTFRBdU16YzBMVEF1TXpRNUxUQXVPVFEwTFRBdU16Y3pMVEV1TXpVNVl5MHdMakF3TWkwd0xqQXpMVEF1TURJM0xUQXVNRGMwTFRBdU1EWXpMVEF1TURjMFF6VXpMakEyTlN3eU1TNDROaklzTlRNdU1EUXlMREl4TGpnM05pdzFNeTR3TVRnc01qRXVPVEUwSWk4K1BDOWtaV1p6UGp4amJHbHdVR0YwYUNCcFpEMGlVMVpIU1VSZk16SmZJajQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5UVmtkSlJGOHpNVjhpSUNCdmRtVnlabXh2ZHowaWRtbHphV0pzWlNJdlBqd3ZZMnhwY0ZCaGRHZytQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0pUVmtkSlJGOHpNMThpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElpQjRNVDBpTUNJZ2VURTlJak0xTGpNd05qWWlJSGd5UFNJeElpQjVNajBpTXpVdU16QTJOaUlnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d3SUMweU5DNDVOek0zSUMweU5DNDVOek0zSURBZ09UTTBMakl6T0RrZ01qa3VOakF6TlNraVBqeHpkRzl3SUNCdlptWnpaWFE5SWpBaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV5TXpnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqRTNORGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXpNMEVpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpNeU9UY2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13T0RFM05EQWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalEzTnpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRVEZGTkVJaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqWXhPVGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FqSTFOVGdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpjMU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJETWtVMk9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPREE1SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXpNVFpHSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NU1qSTFJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURBMU16a3dJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05qaEJOeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEhKbFkzUWdlRDBpTkRZdU9Ea2lJSGs5SWpJeExqZzJNaUlnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMU5XUjBsRVh6TXlYeWtpSUdacGJHdzlJblZ5YkNnalUxWkhTVVJmTXpOZktTSWdkMmxrZEdnOUlqRXhMakl4T1NJZ2FHVnBaMmgwUFNJMkxqUTNOQ0l2UGp3dlp6NDhaejQ4WkdWbWN6NDhjR0YwYUNCcFpEMGlVMVpIU1VSZk16UmZJaUJrUFNKTk56TXVNakkzTERJeUxqZ3pObU10TVM0eE1qSXNNUzR6TmprdE1pNHpOakVzTWk0Mk5qSXRNeTQxTkRVc015NDFOelpqTFRFdU9EUTNMREV1TkRJNUxUTXVOamcyTERFdU56ZzVMVFF1TlRrNExEQXVPRGMzWXkwd0xqTXpPUzB3TGpNME15MHdMalV5TlMwd0xqZ3pMVEF1TlRRNUxURXVNalJqTFRBdU1ERXRNQzR5TWpVdE1DNHhNalV0TUM0eU16UXRNQzR5TXkwd0xqRXpNV010TVM0d09EY3NNUzR3TnpVdE1pNDVOemdzTWk0eU5qZ3ROQzQyT1Rrc01TNDBNbU10TUM0NE9EY3RNQzQwTXpndE1TNHpOVE10TVM0eU5qSXRNUzQxTVRndE1pNHhOamRqTUM0d01ERXNNQzR3TVN3d0xqQXdOQ3d3TGpBeU1Td3dMakF3TlN3d0xqQXpNbU13TGpFeExEQXVOalF6TERBdU1qUTVMREV1TlRZM0xEQXVOVFV4TERJdU1UUmpNQzR4T1Rjc01DNHpOemNzTUM0Mk16WXNNQzQ0TURFc01DNDVNRFlzTUM0NU16UmpNUzQxTWpjc01DNDNOVE1zTXk0M01EY3RNQzR4TURFc05TNHhNRFl0TVM0ME5EWmpNQzR3TVRRdE1DNHdNVGtzTUM0d01UZ3RNQzR3TWl3d0xqQXpPQzB3TGpBME1XTXdMakEyTkN3d0xqSTBNaXd3TGpFME1Td3dMalV6TkN3d0xqRTFOQ3d3TGpVM05HTXdMakE1TkN3d0xqTXhNaXd3TGpJME5Dd3dMalU1Tnl3d0xqTTNOaXd3TGpjME4yTXdMamsxT0N3eExqQTRNeXd5TGprNU1Td3dMalU1TERVdU1UQTRMVEV1TURRM1l6RXVNVGd5TFRBdU9URTFMREl1TURZdE1TNDRNelFzTXk0eE16TXRNeTR3T0RSak1DNHdORE10TUM0d05UTXNNQzR3TkMwd0xqRXlPU3d3TGpBeE5pMHdMakkwTkdNdE1DNHdOakl0TUM0eU56RXRNQzR4TlRrdE1DNDNOall0TUM0eU1URXRNUzR3TVRORE56TXVNamNzTWpJdU56WTNMRGN6TGpJMUxESXlMamd3Tml3M015NHlNamNzTWpJdU9ETTJJaTgrUEM5a1pXWnpQanhqYkdsd1VHRjBhQ0JwWkQwaVUxWkhTVVJmTXpWZklqNDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRWa2RKUkY4ek5GOGlJQ0J2ZG1WeVpteHZkejBpZG1semFXSnNaU0l2UGp3dlkyeHBjRkJoZEdnK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSlRWa2RKUkY4ek5sOGlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNE1UMGlNQ0lnZVRFOUlqTTFMak13TlRjaUlIZ3lQU0l4SWlCNU1qMGlNelV1TXpBMU55SWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3dJQzB5TlM0eE5UYzJJQzB5TlM0eE5UYzJJREFnT1RVMExqQXlOaklnTWprdU5qRTVNU2tpUGp4emRHOXdJQ0J2Wm1aelpYUTlJakFpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXlNemdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpFM05EZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TmpFek0wRWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMak15T1RjaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdPREUzTkRBaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqUTNOekVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FURkZORUlpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpZeE9UZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UWpJMU5UZ2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamMxT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkRNa1UyT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU9EQTVJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNek1UWkdJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ1TWpJMUlpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNREExTXprd0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekF3TmpoQk55SXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQSEpsWTNRZ2VEMGlOVGd1TURnNElpQjVQU0l5TWk0M01qTWlJR05zYVhBdGNHRjBhRDBpZFhKc0tDTlRWa2RKUkY4ek5WOHBJaUJtYVd4c1BTSjFjbXdvSTFOV1IwbEVYek0yWHlraUlIZHBaSFJvUFNJeE5TNDBNaUlnYUdWcFoyaDBQU0kyTGpRM01TSXZQand2Wno0OFp6NDhaR1ZtY3o0OGNHRjBhQ0JwWkQwaVUxWkhTVVJmTXpkZklpQmtQU0pOTlRndU5qTTBMREU1TGpBMk5XTXRNQzR4TURrc01DNDJPRFF0TUM0ME56Z3NNUzR5T0RNdE1TNHhNRFVzTVM0MU9UVmpMVEF1TlRNeUxEQXVNall0TVM0eE5UUXNNQzR5TVRVdE1TNDFPRGd0TUM0eE56TmpMVEF1TVRNM0xUQXVNVEkxTFRBdU1qTTFMVEF1TWpjekxUQXVNekExTFRBdU5ETXlZekF1TVRFMExEQXVOVEUwTERBdU1qRXNNQzQ0T1RRc01DNHpORFFzTVM0d09UWmpNQzQwTVRJc01DNDJNVGNzTVM0eE1qSXNNQzQzTnpVc01TNDVNRFFzTUM0ek5USmpNQzQxTmpndE1DNHpNRGdzTVM0d05qWXRNQzQ1TlRnc01TNHdNRFF0TWk0d01UVmpMVEF1TURNekxUQXVOVEl6TFRBdU1UZzJMVEV1TURZMExUQXVORE14TFRFdU5UQXhRelU0TGpZeU15d3hPQzR6TURjc05UZ3VOamt6TERFNExqWTNPQ3cxT0M0Mk16UXNNVGt1TURZMUlpOCtQQzlrWldaelBqeGpiR2x3VUdGMGFDQnBaRDBpVTFaSFNVUmZNemhmSWo0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOVFZrZEpSRjh6TjE4aUlDQnZkbVZ5Wm14dmR6MGlkbWx6YVdKc1pTSXZQand2WTJ4cGNGQmhkR2crUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjh6T1Y4aUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJaUI0TVQwaU1DSWdlVEU5SWpNMUxqTXdOVGNpSUhneVBTSXhJaUI1TWowaU16VXVNekExTnlJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUltMWhkSEpwZUNnd0lDMHlOUzR4TnpReElDMHlOUzR4TnpReElEQWdPVFEyTGpBM056Y2dNamt1TmpFNU1Ta2lQanh6ZEc5d0lDQnZabVp6WlhROUlqQWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TmpFeU16Z2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMakUzTkRnaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV6TTBFaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqTXlPVGNpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd09ERTNOREFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpRM056RWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UVRGRk5FSWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMall4T1RnaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRakkxTlRnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqYzFPQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpCRE1rVTJPQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1T0RBNUlpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRU16TVRaR0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDVNakkxSWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTFNemt3SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTVNJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QXdOamhCTnlJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BISmxZM1FnZUQwaU5UVXVOak0ySWlCNVBTSXhOeTQ1T0RjaUlHTnNhWEF0Y0dGMGFEMGlkWEpzS0NOVFZrZEpSRjh6T0Y4cElpQm1hV3hzUFNKMWNtd29JMU5XUjBsRVh6TTVYeWtpSUhkcFpIUm9QU0l6TGpNeE5DSWdhR1ZwWjJoMFBTSXpMamswSWk4K1BDOW5QanhuUGp4a1pXWnpQanh3WVhSb0lHbGtQU0pUVmtkSlJGODBNRjhpSUdROUlrMDNOQzQzTXpjc01USXVOVGxqTFRBdU16VTRMREF1TmpFNUxUY3VNalUwTERFeExqRXhOeTAzTGpZNE9Td3hNaTR5TUROakxUQXVNVE00TERBdU16UXpMVEF1TVRVMUxEQXVOakExTFRBdU1ERXpMREF1TnprMll6QXVNVFF4TERBdU1Ua3NNQzR6TkRrc01DNHlOalFzTUM0MU9EWXNNQzR5TlRsak1DNHdNakl0TUM0eE16RXNNQzR3TnpJdE1DNHlPRElzTUM0eE16WXRNQzQwTkdNd0xqUXpOeTB4TGpBNE9DdzJMamc1TXkweE1DNDVNREVzTnk0eU5EZ3RNVEV1TlRJeVl6QXVNRE14TFRBdU1EVTBMREF1TURJdE1DNHhNVE1zTUM0d01Ea3RNQzR4TlROakxUQXVNREl4TFRBdU1EazRMVEF1TWpNdE1TNHhNRGd0TUM0eU5UY3RNUzR5TXpORE56UXVOell5TERFeUxqVXlOQ3czTkM0M05UUXNNVEl1TlRVM0xEYzBMamN6Tnl3eE1pNDFPU0JOTnpRdU56VTNMREV5TGpRNU9XTXdMVEF1TURBeUxUQXVNREF4TFRBdU1EQTBMVEF1TURBeExUQXVNREEyUXpjMExqYzFOaXd4TWk0ME9UVXNOelF1TnpVM0xERXlMalE1Tnl3M05DNDNOVGNzTVRJdU5EazVJaTgrUEM5a1pXWnpQanhqYkdsd1VHRjBhQ0JwWkQwaVUxWkhTVVJmTkRGZklqNDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRWa2RKUkY4ME1GOGlJQ0J2ZG1WeVpteHZkejBpZG1semFXSnNaU0l2UGp3dlkyeHBjRkJoZEdnK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSlRWa2RKUkY4ME1sOGlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNE1UMGlNQ0lnZVRFOUlqTTFMak13TmpZaUlIZ3lQU0l4SWlCNU1qMGlNelV1TXpBMk5pSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3dJQzB5TlM0eE5UQTJJQzB5TlM0eE5UQTJJREFnT1RVNExqazJOeklnTWprdU5qRTVNU2tpUGp4emRHOXdJQ0J2Wm1aelpYUTlJakFpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXlNemdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpFM05EZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TmpFek0wRWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMak15T1RjaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdPREUzTkRBaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqUTNOekVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FURkZORUlpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpZeE9UZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UWpJMU5UZ2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamMxT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkRNa1UyT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU9EQTVJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNek1UWkdJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ1TWpJMUlpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNREExTXprd0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekF3TmpoQk55SXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQSEpsWTNRZ2VEMGlOall1T0RreklpQjVQU0l4TWk0ME9UTWlJR05zYVhBdGNHRjBhRDBpZFhKc0tDTlRWa2RKUkY4ME1WOHBJaUJtYVd4c1BTSjFjbXdvSTFOV1IwbEVYelF5WHlraUlIZHBaSFJvUFNJNExqRTBNeUlnYUdWcFoyaDBQU0l4TXk0ek5pSXZQand2Wno0OFp6NDhaR1ZtY3o0OGNHRjBhQ0JwWkQwaVUxWkhTVVJmTkROZklpQmtQU0pOTkRZdU1UWTVMREUzTGpVME1tTXdMalF4Tml3d0xqWXhPQ3d3TGpZME1Td3hMalE0Tnl3d0xqWTJNeXd5TGpNNE5XTXdMakF5Tml3d0xqRTRPQ3d3TGpFd055d3dMakU1TXl3d0xqRTVPU3d3TGpBNU5tTXdMakE0TkMwd0xqQTROU3d3TGpFMk5pMHdMakUzTkN3d0xqSTBOeTB3TGpJMk5HTXRNQzR4TWpJdE1DNDBPREl0TUM0ek1URXRNQzQ1TVRVdE1DNDFNRFF0TVM0ek16SmpMVEF1TURjeUxUQXVNVFV6TFRBdU16ZzRMVEF1TmprMExUQXVOall0TUM0NU5USkRORFl1TVRNMExERTNMalE1Tnl3ME5pNHhOVElzTVRjdU5URTVMRFEyTGpFMk9Td3hOeTQxTkRJaUx6NDhMMlJsWm5NK1BHTnNhWEJRWVhSb0lHbGtQU0pUVmtkSlJGODBORjhpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOV1IwbEVYelF6WHlJZ0lHOTJaWEptYkc5M1BTSjJhWE5wWW14bElpOCtQQzlqYkdsd1VHRjBhRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYelExWHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTXpVdU16QTNOaUlnZURJOUlqRWlJSGt5UFNJek5TNHpNRGMySWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUSTBMalUyT1RrZ0xUSTBMalUyT1RrZ01DQTVNVFF1TVRnMU1pQXlPUzR6TXpjNUtTSStQSE4wYjNBZ0lHOW1abk5sZEQwaU1DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekEyTVRJek9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVNVGMwT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QTJNVE16UVNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU16STVOeUlnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBNE1UYzBNQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TkRjM01TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJCTVVVMFFpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVOakU1T0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkNNalUxT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU56VTRJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNeVJUWTRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ0TURraUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRek14TmtZaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqa3lNalVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EVXpPVEFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l4SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTJPRUUzSWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGNtVmpkQ0I0UFNJME5pNHhNVFFpSUhrOUlqRTNMalEzTlNJZ1kyeHBjQzF3WVhSb1BTSjFjbXdvSTFOV1IwbEVYelEwWHlraUlHWnBiR3c5SW5WeWJDZ2pVMVpIU1VSZk5EVmZLU0lnZDJsa2RHZzlJakV1TVRZMElpQm9aV2xuYUhROUlqSXVOalEySWk4K1BDOW5QanhuUGp4a1pXWnpQanh3WVhSb0lHbGtQU0pUVmtkSlJGODBObDhpSUdROUlrMDBPUzQyTXpFc01Ua3VOVFV6WXkweExqUTRPQ3d4TGpFeU5pMHlMamN6Tml3eUxqZzRNaTB6TGpNM01Td3pMalkyTjJNdE1DNHpOek1zTUM0ME5qTXRNQzQzTWpVc01TNHhORE10TVM0M0xESXVNakF4WXkweExqVXpOQ3d4TGpZMk5TMHpMalUyTml3eUxqWXlNaTAxTGpVeU5Td3hMamsyTVdNdE1TNHdOeTB3TGpNMkxURXVPRFExTFRFdU1qSXpMVEl1TVRRdE1pNHlOemRqTFRBdU1EVTVMVEF1TWpBMUxUQXVNVGN6TFRBdU1qWXhMVEF1TWpnMExUQXVNVEkyWXkwd0xqTXhPQ3d3TGpNNU5TMHdMamsyTlN3d0xqazNOaTB4TGpVd05pd3hMak0wTW1NdE1DNHdOVGdzTUM0d05ETXRNQzR5TURRc01DNHhNamd0TUM0ek15d3dMakEyTm1NdE1DNHhNVFF0TUM0d05Ea3RNQzQxTVRZdE1DNDJNVGN0TUM0MU9UVXRNQzQzT0RGakxUQXVNREV0TUM0d01UY3RNQzR3TVRZdE1DNHdNemN0TUM0d01Ua3RNQzR3TlRSMk1DNHdNRGRqTUM0eE5ERXNNQzQyT1Rrc01DNHhOVGtzTUM0M056a3NNQzR6TkRrc01TNHhNREpqTUM0eU1UZ3NNQzR6TlRjc01DNDBNamdzTUM0Mk1EY3NNQzQwTnpVc01DNDJNMk13TGpFeU55d3dMakEyTXl3d0xqSTFOU3d3TGpBd05Td3dMak14T1Mwd0xqQXlPV013TGpReUxUQXVNakUyTERFdU1qUXRNQzQ0TkRZc01TNDFPVEl0TVM0eU9EVmpNQzR4TURjdE1DNHhNRElzTUM0eU1Ea3RNQzR3TXpRc01DNHlORE1zTUM0d056UmpNQzR4TkRnc01DNDBOamNzTUM0ek5qVXNNQzQ0TWpnc01DNDJNRFVzTVM0eU1URmpNQzR5TmpVc01DNDBNalVzTUM0M09UVXNNQzQ0Tmpnc01TNDBPQ3d4TGpBMU5tTXdMamc0T0N3d0xqSTBPQ3d4TGpnME55d3dMakk1TXl3ekxqRXdOQzB3TGpFNE9HTXhMakF4TFRBdU16ZzRMREl1TURZM0xURXVNVGMwTERJdU9EZ3lMVEl1TURVNVl6QXVPVGMzTFRFdU1EVTRMREV1TXpJNUxURXVOek00TERFdU55MHlMakl3TTJNd0xqWXpNaTB3TGpjNE1pd3hMall4T0MweUxqRTNNU3d6TFRNdU16VXhZekF1TkRnMExUQXVOREV5TERFdU1ERXlMVEF1Tmpnc01TNHpORFF0TUM0MU5URmpNQzR5TFRBdU5URTFMREF1TVRBMkxUQXVOemszTFRBdU1UQTRMVEF1T1RNMll5MHdMakEzTVMwd0xqQTBOUzB3TGpFMU55MHdMakEyTmkwd0xqSTFOQzB3TGpBMk5rTTFNQzQxTkRRc01UZ3VPVFkwTERVd0xqQTFOaXd4T1M0eU1qZ3NORGt1TmpNeExERTVMalUxTXlJdlBqd3ZaR1ZtY3o0OFkyeHBjRkJoZEdnZ2FXUTlJbE5XUjBsRVh6UTNYeUkrUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVTFaSFNVUmZORFpmSWlBZ2IzWmxjbVpzYjNjOUluWnBjMmxpYkdVaUx6NDhMMk5zYVhCUVlYUm9QanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpVTFaSFNVUmZORGhmSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBaUlIa3hQU0l6TlM0ek1EWTJJaUI0TWowaU1TSWdlVEk5SWpNMUxqTXdOallpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTUNBdE1qUXVPVGd5TlNBdE1qUXVPVGd5TlNBd0lEa3lOQzQ0TVRJZ01qa3VOakF6TlNraVBqeHpkRzl3SUNCdlptWnpaWFE5SWpBaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV5TXpnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqRTNORGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXpNMEVpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpNeU9UY2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13T0RFM05EQWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalEzTnpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRVEZGTkVJaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqWXhPVGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FqSTFOVGdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpjMU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJETWtVMk9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPREE1SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXpNVFpHSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NU1qSTFJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURBMU16a3dJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05qaEJOeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEhKbFkzUWdlRDBpTXpRdU1UWXhJaUI1UFNJeE9DNDVOalFpSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05UVmtkSlJGODBOMThwSWlCbWFXeHNQU0oxY213b0kxTldSMGxFWHpRNFh5a2lJSGRwWkhSb1BTSXhOeTR5T1RNaUlHaGxhV2RvZEQwaU9TNDJORFlpTHo0OEwyYytQR2MrUEdSbFpuTStQSEJoZEdnZ2FXUTlJbE5XUjBsRVh6UTVYeUlnWkQwaVRUSTBMamczTnl3eE9DNHhORGhqTFRBdU9ETTJMREF1TkRJM0xURXVPRFF5TERFdU1UVTRMVEl1TXpRc01pNHhOVFZqTFRBdU5EQTBMREF1T0RFMExUQXVORGcxTERFdU56azNMREF1TVRNc01pNDNNekZqTUM0d05UTXNNQzR3TnpZc01DNHhNRGdzTUM0eE5URXNNQzR4Tnl3d0xqSXlNbU10TUM0eE9UZ3RNQzQzTnpjc01DNHdNVFV0TVM0Mk1UTXNNQzR6TWpZdE1pNHlNemhqTUM0ME9UY3RNQzQ1T1Rnc01TNHhPVEl0TVM0ME56VXNNUzQ0TnpndE1TNDVNRGRqTUM0eU9UUXRNQzR4T0Rjc01DNDBNalV0TUM0ek5qZ3NNQzR5TlMwd0xqZzFOV010TUM0d05TMHdMakV6Tnkwd0xqQTNPQzB3TGpNNE55MHdMakV6TWkwd0xqWXhRekkxTGpFM05pd3hOeTQ0TmpRc01qVXVNRGNzTVRndU1EVXhMREkwTGpnM055d3hPQzR4TkRnaUx6NDhMMlJsWm5NK1BHTnNhWEJRWVhSb0lHbGtQU0pUVmtkSlJGODFNRjhpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOV1IwbEVYelE1WHlJZ0lHOTJaWEptYkc5M1BTSjJhWE5wWW14bElpOCtQQzlqYkdsd1VHRjBhRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYelV4WHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTXpVdU16QTROaUlnZURJOUlqRWlJSGt5UFNJek5TNHpNRGcySWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUSTFMakUxTURFZ0xUSTFMakUxTURFZ01DQTVNVEV1TnpZd09TQXlPUzQyTVRreEtTSStQSE4wYjNBZ0lHOW1abk5sZEQwaU1DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekEyTVRJek9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVNVGMwT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QTJNVE16UVNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU16STVOeUlnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBNE1UYzBNQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TkRjM01TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJCTVVVMFFpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVOakU1T0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkNNalUxT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU56VTRJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNeVJUWTRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ0TURraUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRek14TmtZaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqa3lNalVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EVXpPVEFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l4SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTJPRUUzSWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGNtVmpkQ0I0UFNJeU1pNHdOVElpSUhrOUlqRTNMalkwTmlJZ1kyeHBjQzF3WVhSb1BTSjFjbXdvSTFOV1IwbEVYelV3WHlraUlHWnBiR3c5SW5WeWJDZ2pVMVpIU1VSZk5URmZLU0lnZDJsa2RHZzlJak11TkRFMElpQm9aV2xuYUhROUlqVXVOakVpTHo0OEwyYytQR2MrUEdSbFpuTStQSEJoZEdnZ2FXUTlJbE5XUjBsRVh6VXlYeUlnWkQwaVRUTXhMaklzT0M0eE1UUmpMVEl1TkRFM0xEQXVPVEF6TFRNdU5EYzJMREl1T0RJeExUSXVPVFkzTERRdU1UQXlZekF1TURrNUxEQXVNalEwTERBdU1qVTJMREF1TkRNekxEQXVORFU0TERBdU5UWTRZeTB3TGpFM01TMHhMakU0TWl3d0xqY3hOUzB6TGpFeE55d3pMakF6T1MwekxqZzROV016TGpBME1TMHhMakF3TWl3MkxqUXpMVEF1TXpZNUxEa3VNVFUxTERBdU1qRTBZekF1TXpneExUQXVNak01TERBdU56RTBMVEF1TkRBekxERXVNRFE1TFRBdU5UZzFZekF1TVRZMUxUQXVNRGczTFRBdU1ESXlMVEF1TVRrdE1DNHdOekl0TUM0eE9XTXRNaTR4T0RJdE1DNDBNUzAwTGpReE55MHdMamc1TlMwMkxqWXpNeTB3TGpnNU5VTXpNeTQ0TnpNc055NDBORE1zTXpJdU5USTFMRGN1TmpJMExETXhMaklzT0M0eE1UUWlMejQ4TDJSbFpuTStQR05zYVhCUVlYUm9JR2xrUFNKVFZrZEpSRjgxTTE4aVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkxTldSMGxFWHpVeVh5SWdJRzkyWlhKbWJHOTNQU0oyYVhOcFlteGxJaTgrUEM5amJHbHdVR0YwYUQ0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUlsTldSMGxFWHpVMFh5SWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUhneFBTSXdJaUI1TVQwaU16VXVNekV4TlNJZ2VESTlJakVpSUhreVBTSXpOUzR6TVRFMUlpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtEQWdMVEkxTGpFME5UY2dMVEkxTGpFME5UY2dNQ0E1TWpJdU9EVTJPQ0F5T1M0Mk1ETTFLU0krUEhOMGIzQWdJRzltWm5ObGREMGlNQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBMk1USXpPQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TVRjME9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekEyTVRNelFTSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVNekk1TnlJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QTRNVGMwTUNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU5EYzNNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpCQk1VVTBRaUl2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TmpFNU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJDTWpVMU9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVOelU0SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXlSVFk0SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NE1Ea2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UXpNeE5rWWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamt5TWpVaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdNRFV6T1RBaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJeElpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNREEyT0VFM0lpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhjbVZqZENCNFBTSXlOeTQzTWpRaUlIazlJamN1TkRReklpQmpiR2x3TFhCaGRHZzlJblZ5YkNnalUxWkhTVVJmTlROZktTSWdabWxzYkQwaWRYSnNLQ05UVmtkSlJGODFORjhwSWlCM2FXUjBhRDBpTVRRdU16YzFJaUJvWldsbmFIUTlJalV1TXpReElpOCtQQzluUGp4blBqeGtaV1p6UGp4d1lYUm9JR2xrUFNKVFZrZEpSRjgxTlY4aUlHUTlJazAwTVM0ek1qa3NNVFV1TXpBMll5MHhMakE1TlN3d0xqQTJNeTB5TGpnd015d3dMakl5T1MwekxqazJMREF1TXpjell5MHdMakk0TERBdU1ETTFMVEF1TXpJc01DNHdPRGN0TUM0ek56Z3NNQzR4T0RSakxURXVPRFExTERNdU1EUXlMVE11T0RFMExEWXVNekl4TFRVdU9UYzJMRGd1TlRFMll5MHlMak14T0N3eUxqTTFOQzAwTGpJME5pd3lMamszTlMwMkxqSTVNeXd5TGprNU1XTXRNaTR6TmpJc01DNHdNVFl0TkM0ME5qVXRNUzR6TWpRdE5DNDVPVFF0TXk0Mk56WmpNQzR5T0RRc01TNHpNVElzTVM0eE15d3lMamc1Tml3eUxqRXhMRE11TlRnMll6QXVPVGsxTERBdU56QXlMREV1T1RjM0xEQXVPVE0yTERNdU1USXlMREF1T1RVMVl6SXVNekkzTERBdU1EUXhMRFF1TkRVeUxUQXVPVEU0TERZdU56QTFMVE11TWpBM1l6SXVNVFl5TFRJdU1UazBMRFF1TURNMUxUVXVNall4TERVdU9EZ3hMVGd1TXpBell6QXVNRFl5TFRBdU1UQTRMREF1TVRJM0xUQXVNVFUwTERBdU5ETTNMVEF1TVRrMFl6RXVNVFU0TFRBdU1UUTFMREl1TVRrMkxUQXVNakE1TERNdU1qSXRNQzR6TURaak1DNHpNRFF0TUM0d015d3dMalV6Tmkwd0xqQTFOeXd3TGpZME9Dd3dMakExTkdNd0xqTTNMREF1TXpjc01DNDNPVGdzTUM0M01EY3NNUzR3T0RNc01DNDROekpqTUM0eE9Td3dMakF3TXl3d0xqTTBPQ3d3TGpBME5Dd3dMalExT1N3d0xqRTBOR013TGpFeE9TMHdMakF4Tml3d0xqSXlPUzB3TGpBNE1pd3dMakk1T1Mwd0xqRTFZekF1TVRNMExUQXVNVE1zTUM0eE16Z3RNQzR5T0RJc01DNHhNVFl0TUM0ME1URmpMVEF1TURRMkxUQXVNalV6TFRBdU1URXpMVEF1TnpVeExUQXVNVGswTFRBdU9EazFZekF1TURVMUxEQXVNVEVzTUM0d01qRXNNQzR5TmpVdE1DNHdPVEVzTUM0ek9URmpMVEF1TURneExEQXVNRGt5TFRBdU1qQTNMREF1TVRjNUxUQXVNemNzTUM0eE56WmpMVEF1TVRNdE1DNHdNRE10TUM0eU1TMHdMakEwT0Mwd0xqTTNPQzB3TGpFek9XTXRNQzR6TkRNdE1DNHhPRFl0TUM0M056RXRNQzQwT1RFdE1TNHdOVFl0TUM0NE5XTXRNQzR3TnpVdE1DNHdPVE10TUM0eE1qRXRNQzR4TVRjdE1DNHlORGN0TUM0eE1UZEROREV1TkRNekxERTFMak13TVN3ME1TNHpPRGNzTVRVdU16QXpMRFF4TGpNeU9Td3hOUzR6TURZaUx6NDhMMlJsWm5NK1BHTnNhWEJRWVhSb0lHbGtQU0pUVmtkSlJGODFObDhpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOV1IwbEVYelUxWHlJZ0lHOTJaWEptYkc5M1BTSjJhWE5wWW14bElpOCtQQzlqYkdsd1VHRjBhRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYelUzWHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTXpVdU16QTFOeUlnZURJOUlqRWlJSGt5UFNJek5TNHpNRFUzSWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUSTFMakUxTURRZ0xUSTFMakUxTURRZ01DQTVNVGt1TnpRd01pQXlPUzQyTVRreEtTSStQSE4wYjNBZ0lHOW1abk5sZEQwaU1DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekEyTVRJek9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVNVGMwT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QTJNVE16UVNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU16STVOeUlnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBNE1UYzBNQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TkRjM01TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJCTVVVMFFpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVOakU1T0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkNNalUxT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU56VTRJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNeVJUWTRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ0TURraUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRek14TmtZaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqa3lNalVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EVXpPVEFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l4SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTJPRUUzSWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGNtVmpkQ0I0UFNJeE9TNDNNamdpSUhrOUlqRTFMak13TVNJZ1kyeHBjQzF3WVhSb1BTSjFjbXdvSTFOV1IwbEVYelUyWHlraUlHWnBiR3c5SW5WeWJDZ2pVMVpIU1VSZk5UZGZLU0lnZDJsa2RHZzlJakkwTGpFd01pSWdhR1ZwWjJoMFBTSXhNaTQ1TnpZaUx6NDhMMmMrUEdjK1BHUmxabk0rUEhCaGRHZ2dhV1E5SWxOV1IwbEVYelU0WHlJZ1pEMGlUVE14TGpNME1pd3hOeTR4TkRaakxUQXVNalUyTERBdU1UZzJMVEF1TmpJekxEQXVNVFU1TFRBdU56ZzBMVEF1TURnMVl5MHdMakExTXkwd0xqQTRNeTB3TGpBM09TMHdMakUzTXkwd0xqQTRNaTB3TGpJMk5XTXRNQzR3TWpNc01DNHpPVE1zTUM0eE16VXNNQzQ1TnpNc01DNHlOalFzTVM0eE5qaGpNQzR4TkN3d0xqSXhOU3d3TGpVek15d3dMak15TERBdU9EUTNMREF1TURsak1DNDNNRFF0TUM0MU1pd3hMak0wTVMwd0xqZ3lOQ3d5TGpBMU5DMHdMamsxT1dNd0xqRTROQzB3TGpJMUxEQXVNemcwTFRBdU5USTRMREF1TmpBNExUQXVPRFJqTUM0d01Ua3RNQzR3TWpRc01DNHdNalF0TUM0d05Ua3NNQzR3TVRjdE1DNHdOelJqTFRBdU1ERXpMVEF1TURJNExUQXVNRE0xTFRBdU1ETTJMVEF1TURneExUQXVNRE01UXpNekxqRTBMREUyTGpFM0xETXlMakl5T0N3eE5pNDBPRElzTXpFdU16UXlMREUzTGpFME5pSXZQand2WkdWbWN6NDhZMnhwY0ZCaGRHZ2dhV1E5SWxOV1IwbEVYelU1WHlJK1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJalUxWkhTVVJmTlRoZklpQWdiM1psY21ac2IzYzlJblpwYzJsaWJHVWlMejQ4TDJOc2FYQlFZWFJvUGp4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaVUxWkhTVVJmTmpCZklpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWlJSGt4UFNJek5TNHpNRFkySWlCNE1qMGlNU0lnZVRJOUlqTTFMak13TmpZaUlHZHlZV1JwWlc1MFZISmhibk5tYjNKdFBTSnRZWFJ5YVhnb01DQXRNalV1TVRZMU5TQXRNalV1TVRZMU5TQXdJRGt5TUM0NE9ETTFJREk1TGpZeE9URXBJajQ4YzNSdmNDQWdiMlptYzJWMFBTSXdJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURZeE1qTTRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzR4TnpRNElpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRFl4TXpOQklpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNHpNamszSWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EZ3hOelF3SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0ME56Y3hJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVFeFJUUkNJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQyTVRrNElpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRUl5TlRVNElpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDNOVGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1F6SkZOamdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpnd09TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJETXpFMlJpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPVEl5TlNJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QXdOVE01TUNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdNRFk0UVRjaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqeHlaV04wSUhnOUlqTXdMalExTXlJZ2VUMGlNVFl1TVRReUlpQmpiR2x3TFhCaGRHZzlJblZ5YkNnalUxWkhTVVJmTlRsZktTSWdabWxzYkQwaWRYSnNLQ05UVmtkSlJGODJNRjhwSWlCM2FXUjBhRDBpTXk0NE1pSWdhR1ZwWjJoMFBTSXlMakUwTWlJdlBqd3ZaejQ4Wno0OFpHVm1jejQ4Y0dGMGFDQnBaRDBpVTFaSFNVUmZOakZmSWlCa1BTSk5OakF1Tnpnc055NDFNekpqTFRBdU1ERTFMVEF1TURJMkxUQXVNREkzTFRBdU1EUTVMVEF1TURRekxUQXVNRFk0UXpZd0xqYzFNeXczTGpRNE5TdzJNQzQzTmpVc055NDFNRGtzTmpBdU56Z3NOeTQxTXpJaUx6NDhMMlJsWm5NK1BHTnNhWEJRWVhSb0lHbGtQU0pUVmtkSlJGODJNbDhpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOV1IwbEVYell4WHlJZ0lHOTJaWEptYkc5M1BTSjJhWE5wWW14bElpOCtQQzlqYkdsd1VHRjBhRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYell6WHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTXpVdU16QTJOaUlnZURJOUlqRWlJSGt5UFNJek5TNHpNRFkySWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUSTBMalV5TmpnZ0xUSTBMalV5TmpnZ01DQTVNall1TnpJMElESTVMakExTmpZcElqNDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0lpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRFl4TWpNNElpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNHhOelE0SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EWXhNek5CSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0ek1qazNJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURneE56UXdJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQwTnpjeElpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRUV4UlRSQ0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDJNVGs0SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FSXlOVFU0SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0M05UZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UXpKRk5qZ2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamd3T1NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkRNekUyUmlJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU9USXlOU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05UTTVNQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EWTRRVGNpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4eVpXTjBJSGc5SWpZd0xqY3pOeUlnZVQwaU55NDBOalFpSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05UVmtkSlJGODJNbDhwSWlCbWFXeHNQU0oxY213b0kxTldSMGxFWHpZelh5a2lJSGRwWkhSb1BTSXdMakEwTXlJZ2FHVnBaMmgwUFNJd0xqQTJPQ0l2UGp3dlp6NDhaejQ4WkdWbWN6NDhjR0YwYUNCcFpEMGlVMVpIU1VSZk5qUmZJaUJrUFNKTk5qQXVPRFE0TERjdU9URTBZeTB3TGpBek9Dd3dMalkzTkMwd0xqVTJMREV1TXpJeExURXVPRFExTERJdU1ESXpZeTB4TGpRMk1Td3dMamd3TWkweUxqazVMREV1TURRMUxUUXVOVGczTERFdU1EVTNZeTB6TGpnMk1Td3dMakF6TXkwM0xqUTFPUzB4TGpRM015MHhNUzR4T0RFdE1pNHlPREZqTUM0d01EVXNNQzR4TmpNc01DNHdORGNzTUM0ek5UY3RNQzR3T1N3d0xqUTJZeTB5TGpBMk1Td3hMalV5TVMwekxqa3lOU3d6TGpBMk5DMDFMakUzTkN3MUxqSXpOR010TUM0d05ESXNNQzR3TlMwd0xqQXhPU3d3TGpBNU55d3dMakExTkN3d0xqQTVNMk13TGpNeU9TMHdMakF4Tnl3d0xqWTBOeTB3TGpBek1pd3dMamsyTWkwd0xqQTBPV014TGpFek9DMHhMamMzT1N3eUxqTTFNeTB5TGpnc05DNHlNVEl0TkM0eE56TmpNQzR4TXpndE1DNHhNRFFzTUM0eU56Y3RNQzR4Tnpnc01DNHlNekl0TUM0MU56UmpNeTQzTXpNc01DNDRNamdzTmk0MU56SXNNaTR5TURJc01URXVNemswTERJdU1qRTJZekV1TkRNNUxEQXVNREF6TERNdU5EWTNMVEF1TkRjMkxEUXVOVFU1TFRFdU1UTTBZekV1TWpVMUxUQXVOelUxTERFdU5UZzNMVEV1TXpBNUxERXVOak16TFRFdU9EazJZekF1TURFMUxUQXVNVGd6TFRBdU1ETXpMVEF1TkRVMExUQXVNRFl6TFRBdU5UazJZeTB3TGpBME1pMHdMakU1T1Mwd0xqQTNNUzB3TGpRMU1TMHdMakV5Tnkwd0xqWXpPVU0yTUM0NE5EY3NOeTQzTXpJc05qQXVPRFUwTERjdU9ERTVMRFl3TGpnME9DdzNMamt4TkNJdlBqd3ZaR1ZtY3o0OFkyeHBjRkJoZEdnZ2FXUTlJbE5XUjBsRVh6WTFYeUkrUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVTFaSFNVUmZOalJmSWlBZ2IzWmxjbVpzYjNjOUluWnBjMmxpYkdVaUx6NDhMMk5zYVhCUVlYUm9QanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpVTFaSFNVUmZOalpmSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBaUlIa3hQU0l6TlM0ek1EWTJJaUI0TWowaU1TSWdlVEk5SWpNMUxqTXdOallpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTUNBdE1qVXVNVFEzTlNBdE1qVXVNVFEzTlNBd0lEa3pOeTR6TlRnNUlESTVMall3TXpVcElqNDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0lpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRFl4TWpNNElpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNHhOelE0SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EWXhNek5CSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0ek1qazNJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURneE56UXdJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQwTnpjeElpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNRUV4UlRSQ0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDJNVGs0SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FSXlOVFU0SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0M05UZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UXpKRk5qZ2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamd3T1NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkRNekUyUmlJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU9USXlOU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05UTTVNQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EWTRRVGNpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4eVpXTjBJSGc5SWpNM0xqa3lPU0lnZVQwaU55NDJOVFVpSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05UVmtkSlJGODJOVjhwSWlCbWFXeHNQU0oxY213b0kxTldSMGxFWHpZMlh5a2lJSGRwWkhSb1BTSXlNeTR4TURNaUlHaGxhV2RvZEQwaU5pNDRORGtpTHo0OEwyYytQR2MrUEdSbFpuTStQSEJoZEdnZ2FXUTlJbE5XUjBsRVh6WTNYeUlnWkQwaVRUUXlMamczTWl3eE1pNDBOVE5qTFRBdU1EUTNMREF1TURRMExUQXVNRGs0TERBdU1EZzRMVEF1TVRRNUxEQXVNVE0wWXkwd0xqTTJPQ3d3TGpNNE1pMHdMalE0TVN3d0xqZzRPQzB3TGpReU55d3hMakkyT1dNd0xqQXpMREF1TVRVMkxEQXVNRGtzTUM0eE9EY3NNQzR4TmpJc01DNHhOek5qTUM0d05qa3RNQzR3TVRNc01DNHhOQzB3TGpBek9Dd3dMakl4TWkwd0xqQTJObU13TGpBeU55MHdMakl4TVN3d0xqRXhOUzB3TGpReE5Td3dMak15Tnkwd0xqWXdNMk13TGpFMU5DMHdMakV6Tml3d0xqTTBOeTB3TGpJc01DNDFNVE10TUM0eE56RmpNQzR4TkRJdE1DNHlPRFFzTUM0eE9ESXRNQzQyTWpFc01DNHdNUzB3TGpjM01XTXRNQzR3TnpZdE1DNHdOalV0TUM0eE55MHdMakE1Tmkwd0xqSTNNaTB3TGpBNU5rTTBNeTR4TWpRc01USXVNekl5TERReUxqazVMREV5TGpNMk9DdzBNaTQ0TnpJc01USXVORFV6SWk4K1BDOWtaV1p6UGp4amJHbHdVR0YwYUNCcFpEMGlVMVpIU1VSZk5qaGZJajQ4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5UVmtkSlJGODJOMThpSUNCdmRtVnlabXh2ZHowaWRtbHphV0pzWlNJdlBqd3ZZMnhwY0ZCaGRHZytQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0pUVmtkSlJGODJPVjhpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElpQjRNVDBpTUNJZ2VURTlJak0xTGpNd05UY2lJSGd5UFNJeElpQjVNajBpTXpVdU16QTFOeUlnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d3SUMweU15NDNOakE1SUMweU15NDNOakE1SURBZ09EZ3hMamczTVRVZ01qZ3VOelU1T0NraVBqeHpkRzl3SUNCdlptWnpaWFE5SWpBaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdOakV5TXpnaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqRTNORGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXpNMEVpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpNeU9UY2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13T0RFM05EQWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalEzTnpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRVEZGTkVJaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqWXhPVGdpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FqSTFOVGdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpjMU9DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJETWtVMk9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPREE1SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1FTXpNVFpHSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0NU1qSTFJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTURBMU16a3dJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNU0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBd05qaEJOeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEhKbFkzUWdlRDBpTkRJdU1qUXlJaUI1UFNJeE1pNHpNaklpSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05UVmtkSlJGODJPRjhwSWlCbWFXeHNQU0oxY213b0kxTldSMGxFWHpZNVh5a2lJSGRwWkhSb1BTSXhMalExSWlCb1pXbG5hSFE5SWpFdU56SXhJaTgrUEM5blBqeG5QanhrWldaelBqeHdZWFJvSUdsa1BTSlRWa2RKUkY4M01GOGlJR1E5SWswME5DNHpOVGNzTVRNdU56Y3pZeTB3TGpNMU5Dd3dMalkzTnkwd0xqa3pPQ3d4TGpBMExURXVORGs1TERFdU1qRTFZekFzTUMwd0xqRXhPQ3d3TGpBeU55MHdMakV3TVN3d0xqRXpNMk13TGpBeE5Td3dMakV5TWl3d0xqUXhNaXd3TGpNM015d3dMalkyTVN3d0xqVTBPV013TGpBek5pMHdMakF3T1N3d0xqQTRPUzB3TGpBek1Td3dMakE0T1Mwd0xqQXpNV013TGpJNE55MHdMakV4TVN3d0xqYzJPQzB3TGpRd015d3hMakEwTlMweExqQXhNV013TGpFM055MHdMak01TWl3d0xqSTNNeTB3TGpZNU9Td3dMakU1TnkweExqTTJPV010TUM0d05UWXRNQzQwTnkwd0xqRTFMVEF1T0RrMExUQXVNamMyTFRFdU1URTBRelEwTGpjeE5Dd3hNaTQyTXprc05EUXVOakU0TERFekxqSTNMRFEwTGpNMU55d3hNeTQzTnpNaUx6NDhMMlJsWm5NK1BHTnNhWEJRWVhSb0lHbGtQU0pUVmtkSlJGODNNVjhpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOV1IwbEVYemN3WHlJZ0lHOTJaWEptYkc5M1BTSjJhWE5wWW14bElpOCtQQzlqYkdsd1VHRjBhRDQ4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYemN5WHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTXpVdU16QTJOaUlnZURJOUlqRWlJSGt5UFNJek5TNHpNRFkySWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RBZ0xUSTFMakUxTURFZ0xUSTFMakUxTURFZ01DQTVNekV1TnpNeU1TQXlPUzQyTVRreEtTSStQSE4wYjNBZ0lHOW1abk5sZEQwaU1DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekEyTVRJek9DSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVNVGMwT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QTJNVE16UVNJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU16STVOeUlnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2SXpBNE1UYzBNQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakF1TkRjM01TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekJCTVVVMFFpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVOakU1T0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkNNalUxT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU56VTRJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNeVJUWTRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ0TURraUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdRek14TmtZaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqa3lNalVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd01EVXpPVEFpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l4SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvak1EQTJPRUUzSWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGNtVmpkQ0I0UFNJME1pNDNOQ0lnZVQwaU1USXVNVFEySWlCamJHbHdMWEJoZEdnOUluVnliQ2dqVTFaSFNVUmZOekZmS1NJZ1ptbHNiRDBpZFhKc0tDTlRWa2RKUkY4M01sOHBJaUIzYVdSMGFEMGlNaTR3T0RVaUlHaGxhV2RvZEQwaU15NDFNalVpTHo0OEwyYytQR2MrUEdSbFpuTStQSEJoZEdnZ2FXUTlJbE5XUjBsRVh6Y3pYeUlnWkQwaVRUTTBMakEwTlN3eE1DNDJNRGRqTUM0d056SXNNQzR4TnpJc01DNHdOeklzTUM0ME1qY3RNQzR3TmpRc01DNDNORGRqTFRFdU1ESXhMREl1TkRBeExUSXVPVGN6TERRdU16QTNMVFV1TXpVeExEUXVNemczWXkweExqUXpNeXd3TGpBME55MHlMalV3Tnkwd0xqWTROeTB6TGpBd09DMHhMamMzTW1Nd0xqTTJPQ3d3TGpneExERXVNVEl4TERFdU5UTXlMREV1Tnpnc01TNDVORFpqTUM0MU1UWXNNQzR6TWpJc01TNHhOVEVzTUM0ME9Ua3NNUzQ0Tnpnc01DNDBOelZqTWk0ME56Y3RNQzR3T0RVc05DNHpOVE10TWk0eE1qUXNOQzQ1TnpVdE15NDROV013TGpFMk5pMHdMalEyTlN3d0xqQXpPQzB3TGprMk15MHdMakEwTVMweExqTkRNelF1TVRnMExERXhMakV4TVN3ek5DNHhOREVzTVRBdU9ERTVMRE0wTGpBME5Td3hNQzQyTURkTU16UXVNRFExTERFd0xqWXdOM29pTHo0OEwyUmxabk0rUEdOc2FYQlFZWFJvSUdsa1BTSlRWa2RKUkY4M05GOGlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMU5XUjBsRVh6Y3pYeUlnSUc5MlpYSm1iRzkzUFNKMmFYTnBZbXhsSWk4K1BDOWpiR2x3VUdGMGFENDhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbE5XUjBsRVh6YzFYeUlnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaUlIZ3hQU0l3SWlCNU1UMGlNelV1TXpBMU55SWdlREk5SWpFaUlIa3lQU0l6TlM0ek1EVTNJaUJuY21Ga2FXVnVkRlJ5WVc1elptOXliVDBpYldGMGNtbDRLREFnTFRJMUxqRTFNaUF0TWpVdU1UVXlJREFnT1RFNExqQXhOeklnTWprdU5qRTVNU2tpUGp4emRHOXdJQ0J2Wm1aelpYUTlJakFpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd05qRXlNemdpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpFM05EZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13TmpFek0wRWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMak15T1RjaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTXdPREUzTkRBaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqUTNOekVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lNd1FURkZORUlpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpZeE9UZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU13UWpJMU5UZ2lMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMamMxT0NJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkl6QkRNa1UyT0NJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU9EQTVJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qTUVNek1UWkdJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQ1TWpJMUlpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pNREExTXprd0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJekF3TmpoQk55SXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQSEpsWTNRZ2VEMGlNalV1TmpJeUlpQjVQU0l4TUM0Mk1EY2lJR05zYVhBdGNHRjBhRDBpZFhKc0tDTlRWa2RKUkY4M05GOHBJaUJtYVd4c1BTSjFjbXdvSTFOV1IwbEVYemMxWHlraUlIZHBaSFJvUFNJNExqYzVPU0lnYUdWcFoyaDBQU0kxTGpnd055SXZQand2Wno0OFp6NDhaR1ZtY3o0OGNHRjBhQ0JwWkQwaVUxWkhTVVJmTnpaZklpQmtQU0pOTUM0eE5ETXNNVGN1TmpVMFl6QXNNQzQwTmpFc01DNHdOVE1zTUM0NU1UY3NNQzR4TkRjc01TNHpOamxqTFRBdU1EY3RNQzR6T0RjdE1DNHhNVEV0TUM0M056a3RNQzR4TVRRdE1TNHhOelJqTFRBdU1EQTVMVEl1TURrMExEQXVPVEk0TFRRdU1qQTRMREl1T0RVNExUWXVNVFUxUXprdU9ERXhMRFF1T0RVMkxESTNMalE0T1N3d0xqSTFOeXcwTmk0NU9Ua3NNQzR4Tnpaak1pNDNNRE10TUM0d01URXNOUzR6TlRJc01DNHdOalVzTnk0NU16TXNNQzR5TVRoakxUSXVOVFUyTFRBdU1UWXhMVFV1TVRjM0xUQXVNalEyTFRjdU9EVXpMVEF1TWpRMlF6SXhMakExTXl3d0xqRTBOeXd3TGpFME15dzNMamsxTWl3d0xqRTBNeXd4Tnk0Mk5UUWlMejQ4TDJSbFpuTStQR05zYVhCUVlYUm9JR2xrUFNKVFZrZEpSRjgzTjE4aVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkxTldSMGxFWHpjMlh5SWdJRzkyWlhKbWJHOTNQU0oyYVhOcFlteGxJaTgrUEM5amJHbHdVR0YwYUQ0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUlsTldSMGxFWHpjNFh5SWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUhneFBTSXdJaUI1TVQwaU16VXVNekEyTmlJZ2VESTlJakVpSUhreVBTSXpOUzR6TURZMklpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtDMHhNQzQ0TnpjeklDMDBNQzQxT1RRMUlDMDBNQzQxT1RRMUlERXdMamczTnpNZ01UUTJPUzQ1TnpVMUlDMHpOREF1TXpFeE5Ta2lQanh6ZEc5d0lDQnZabVp6WlhROUlqQWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU5DUkVKRFFrTWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMak0xSWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvalJUTkZNMFV6SWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0Mk5TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJMFV6UlRORk15SXZQanh6ZEc5d0lDQnZabVp6WlhROUlqRWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU5DUkVKRFFrTWlMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanh3YjJ4NVoyOXVJR05zYVhBdGNHRjBhRDBpZFhKc0tDTlRWa2RKUkY4M04xOHBJaUJtYVd4c1BTSjFjbXdvSTFOV1IwbEVYemM0WHlraUlIQnZhVzUwY3owaU15NDRNVE1zTXpJdU56SWdMVFF1TlRjMkxERXVOREV5SURVeExqSTJNaXd0TVRNdU5UVWdOVGt1TmpVeExERTNMamMxT0NBaUx6NDhMMmMrUEdjK1BHUmxabk0rUEhCaGRHZ2dhV1E5SWxOV1IwbEVYemM1WHlJZ1pEMGlUVGt6TGprNE15d3hOeTQwTmpSak1DNHdNRGtzTWk0d09UTXRNQzQ1T0RNc05DNHhOemt0TWk0NU1UUXNOaTR4TWpaakxUWXVOelV6TERZdU9ERXlMVEkwTGpReU5Dd3hNUzQwTmpFdE5ETXVPVEE1TERFeExqVTBNV010TWk0M05UWXNNQzR3TVRJdE5TNDBOVGd0TUM0d05qSXRPQzR3T0RNdE1DNHlNak5qTWk0MkxEQXVNVFk0TERVdU1qYzBMREF1TWpVeExEZ3VNREF5TERBdU1qVXhZekkxTGpnM09Td3dMRFEyTGprek15MDNMamc1T1N3ME5pNDVNek10TVRjdU5XTXdMVEF1TXpZM0xUQXVNRE0wTFRBdU56TXhMVEF1TURrekxURXVNRGt5UXprekxqazFPU3d4Tmk0NE5qUXNPVE11T1RneExERTNMakUyTXl3NU15NDVPRE1zTVRjdU5EWTBJaTgrUEM5a1pXWnpQanhqYkdsd1VHRjBhQ0JwWkQwaVUxWkhTVVJmT0RCZklqNDhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRWa2RKUkY4M09WOGlJQ0J2ZG1WeVpteHZkejBpZG1semFXSnNaU0l2UGp3dlkyeHBjRkJoZEdnK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSlRWa2RKUkY4NE1WOGlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNE1UMGlNQ0lnZVRFOUlqTTFMak13TmpZaUlIZ3lQU0l4SWlCNU1qMGlNelV1TXpBMk5pSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3RNVEF1T0RJM01TQXROREF1TkRBM05TQXROREF1TkRBM05TQXhNQzQ0TWpjeElERTBPVEl1TURJMk9TQXRNell3TGpjMk1EVXBJajQ4YzNSdmNDQWdiMlptYzJWMFBTSXdJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qUWtSQ1EwSkRJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzR6TlNJZ2MzUjViR1U5SW5OMGIzQXRZMjlzYjNJNkkwVXpSVE5GTXlJdlBqeHpkRzl3SUNCdlptWnpaWFE5SWpBdU5qVWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU5GTTBVelJUTWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXhJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qUWtSQ1EwSkRJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4Y0c5c2VXZHZiaUJqYkdsd0xYQmhkR2c5SW5WeWJDZ2pVMVpIU1VSZk9EQmZLU0lnWm1sc2JEMGlkWEpzS0NOVFZrZEpSRjg0TVY4cElpQndiMmx1ZEhNOUlqUXlMamMxTnl3ME9DNDRPVFFnTXpRdU5ESTVMREUzTGpneE1pQTVNQzR6TXpJc01pNDRNek1nT1RndU5qWXNNek11T1RFMElDSXZQand2Wno0OFp6NDhaR1ZtY3o0OGNHRjBhQ0JwWkQwaVUxWkhTVVJmT0RKZklpQmtQU0pOTkM0eU1UTXNNVGN1TmpRNFl6QXROeTQ0TURFc01Ua3VNVGt0TVRRdU1USXlMRFF5TGpnMk1pMHhOQzR4TWpKak1qTXVOamMxTERBc05ESXVPRFl6TERZdU16SXhMRFF5TGpnMk15d3hOQzR4TWpKVE56QXVOelVzTXpFdU56Y3lMRFEzTGpBM05Td3pNUzQzTnpKRE1qTXVOREF6TERNeExqYzNNaXcwTGpJeE15d3lOUzQwTkRrc05DNHlNVE1zTVRjdU5qUTRJRTB5TGpZMU1Td3hOeTQyTkRoak1DdzRMalV6T1N3eE9TNDRPU3d4TlM0ME5qSXNORFF1TkRJMExERTFMalEyTW1NeU5DNDFNelFzTUN3ME5DNDBNalF0Tmk0NU1qTXNORFF1TkRJMExURTFMalEyTW1Nd0xUZ3VOVFF0TVRrdU9Ea3RNVFV1TkRZeExUUTBMalF5TkMweE5TNDBOakZETWpJdU5UUXhMREl1TVRnNExESXVOalV4TERrdU1UQTRMREl1TmpVeExERTNMalkwT0NJdlBqd3ZaR1ZtY3o0OFkyeHBjRkJoZEdnZ2FXUTlJbE5XUjBsRVh6Z3pYeUkrUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVTFaSFNVUmZPREpmSWlBZ2IzWmxjbVpzYjNjOUluWnBjMmxpYkdVaUx6NDhMMk5zYVhCUVlYUm9QanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpVTFaSFNVUmZPRFJmSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBaUlIa3hQU0l6TlM0ek1EYzJJaUI0TWowaU1TSWdlVEk5SWpNMUxqTXdOellpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTUNBek5pNHdOalUySURNMkxqQTJOVFlnTUNBdE1USXlOaTR5T1RJZ0xUQXVOREV5TVNraVBqeHpkRzl3SUNCdlptWnpaWFE5SWpBaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTkdSa1pHUmtZaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqVTFOVGtpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lOR1JVWkZSa1VpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpZNU1TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJMFpDUmtKR1FpSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2STBSQlJFRkVRU0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lORE5rTTJRellpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4eVpXTjBJSGc5SWpJdU5qVXhJaUI1UFNJeUxqRTRPQ0lnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMU5XUjBsRVh6Z3pYeWtpSUdacGJHdzlJblZ5YkNnalUxWkhTVVJmT0RSZktTSWdkMmxrZEdnOUlqZzRMamcwT0NJZ2FHVnBaMmgwUFNJek1DNDVNak1pTHo0OEwyYytQR2MrUEdSbFpuTStQSEJoZEdnZ2FXUTlJbE5XUjBsRVh6ZzFYeUlnWkQwaVRUWXhMakk1TERJMUxqTXdObU10TUM0ek5UWXRNQzR4T0RRdE1DNDFNRGt0TUM0Mk9DMHdMalV3TVMweExqQTRNbU13TGpBeE9TMHhMakV6TERBdU5URTVMVEl1TWpnNUxERXVORFE0TFRNdU5ETmpNUzR4TXpFdE1TNHpPVE1zTWk0ek9ESXRNaTR4TVRVc015NHlNREl0TVM0M01tTXdMamcxTVN3d0xqUXdOU3d3TGpVM09Td3hMak00T0N3d0xqRTVPU3d5TGpFMk1XTXRNQzR3TWpnc01DNHdOaTB3TGpBek1Td3dMakV3T1Mwd0xqQXhOU3d3TGpFMU9XTXdMakF4TkN3d0xqQTRMREF1TVRFNExEQXVNVFU0TERBdU1qSXhMREF1TVRrMVl6QXVNRE0xTERBdU1ERXpMREF1TURVMkxEQXVNRFFzTUM0d01UWXNNQzR4TWpOakxUQXVNamswTERBdU5qSTVMVEF1TlRZekxEQXVPVGt4TFRBdU9UTXNNUzQxTXpkakxUQXVNek00TERBdU5UQTFMVEF1TnpFNUxEQXVPRGszTFRFdU1UZ3NNUzR5TnpaakxUQXVOVE0zTERBdU5EUTBMVEV1TWpNMUxEQXVPVEU0TFRFdU9Ea3lMREF1T1RFNFF6WXhMalkyTXl3eU5TNDBORE1zTmpFdU5EY3lMREkxTGpRd01TdzJNUzR5T1N3eU5TNHpNRFlnVFRjeUxqSXhPU3d4TWk0ME1EVmpMVEF1TVRjNExEQXRNQzR5Tmpnc01DNHdNakV0TUM0ek5URXNNQzR4T0RWakxUQXVNamN6TERBdU5USXpMVE11TlRrNExEVXVOVEExTFRRdU1qRTNMRFl1TkRjell5MHdMakV3TkN3d0xqRTBPQzB3TGpJekxEQXVNVEkzTFRBdU1qUTFMVEF1TURReFl5MHdMakEyTkMwd0xqVTNOQzB3TGpVMkxURXVNak0xTFRFdU16UXlMVEV1TlRWakxUQXVOVGsyTFRBdU1qUXlMVEV1TVRjNUxUQXVNamczTFRFdU56ZzBMVEF1TWpBMVl5MHhMakE1TkN3d0xqRTBOUzB5TGpBMk9Dd3dMamN5TWkweUxqa3lNeXd4TGpNM05HTXRNUzR5T1RNc01DNDVPREV0TWk0ME1EY3NNaTR5TlRNdE15NDRORE1zTXk0eE9UTmpMVEF1TnpnMkxEQXVOVEV4TFRFdU9EWXhMREF1T1RVNExUSXVOVGM1TERBdU1qa3lZeTB3TGpZMU1TMHdMall3TkMwd0xqVTNPUzB4TGprME5Dd3dMalF4T0MweUxqazRNV013TGpFd05TMHdMakV3T1N3d0xqSXpNUzB3TGpBeE9Dd3dMakl4TVN3d0xqQTNPV010TUM0d09UUXNNQzQwTnl3d0xqQXlNaXd3TGprek5pd3dMak0zTnl3eExqSTJOR013TGpRek5Dd3dMak00T0N3eExqQTFOaXd3TGpRek15d3hMalU0T0N3d0xqRTNNMk13TGpZeU55MHdMak14TWl3d0xqazVOaTB3TGpreE1Td3hMakV3TlMweExqVTVOV013TGpFMk55MHhMakExTnkwd0xqWTBPQzB4TGprNUxURXVOalkzTFRJdU1EWTJZeTB3TGpneU9TMHdMakExT0MweExqWXlNU3d3TGpJekxUSXVNemsxTERBdU9EZGpMVEF1TXpnNExEQXVNekl0TUM0Mk1EZ3NNQzQxTlRndE1DNDVORE1zTVM0d016VmpMVEF1TURnekxEQXVNVEUzTFRBdU1qQTRMREF1TVRNdE1DNHlNRFV0TUM0d05EUmpNQzR3TkRFdE1TNHpOVFF0TUM0MU1pMHlMakV4TmkweExqWTBMVEl1TVRReVl5MHdMamcyT1Mwd0xqQXhPUzB4TGpjNU9Dd3dMalExTWkweUxqVXlNaXd4TGpBeU9XTXRNQzQzT1RNc01DNDJNemN0TVM0ME9EY3NNUzQwT0MweUxqSXpNU3d5TGpJM05XTXRNQzR3T1RJc01DNHdPVGd0TUM0eE56TXNNQzR3T1RNdE1DNHhPVGt0TUM0d09UWmpMVEF1TURJeUxUQXVPRGs0TFRBdU1qUTNMVEV1TnpZM0xUQXVOall6TFRJdU16ZzFZeTB3TGpFME9DMHdMakl4TkMwd0xqUTFOaTB3TGpNeU1TMHdMamN4Tmkwd0xqRTNObU10TUM0eE1pd3dMakEyTmkwd0xqVXpPQ3d3TGpJMU9DMHdMamcwTWl3d0xqVXdOR010TUM0eE5Td3dMakV5TkMwd0xqSXdPU3d3TGpNd015MHdMakUwTXl3d0xqVXpOR013TGpRd01Td3hMak16T1N3d0xqTXhNeXd5TGpnMk5TMHdMakl6TVN3MExqRTFNbU10TUM0ME9Ua3NNUzR4TnprdE1TNDBOeXd5TGpJME15MHlMall4TVN3eUxqWXdNbU10TUM0M05USXNNQzR5TXpndE1TNDFNek1zTUM0eE1qSXRNaTR3TVRZdE1DNDFORFJqTFRBdU5qWTBMVEF1T1RJdE1DNHpPVFl0TWk0MU1Ua3NNQzQxT1RNdE15NDRORGRqTUM0NE56UXRNUzR4Tnl3eUxqRXpOeTB4TGpreE1pd3pMak01TnkweUxqTTVNV013TGpFME9TMHdMakExTnl3d0xqRTRMVEF1TVRVeUxEQXVNVE00TFRBdU1qYzRZeTB3TGpBMk9TMHdMakl3Tnkwd0xqRTNPQzB3TGpRNUxUQXVNakl6TFRBdU5qRTRZeTB3TGpFeE5TMHdMak13T0Mwd0xqUXpPUzB3TGpNMU55MHdMamd6TkMwd0xqTXhOR010TUM0NU1UY3NNQzR4TURZdE1TNDNORElzTUM0ME1pMHlMalUxT0N3d0xqZzFObU10TWk0eE16Y3NNUzR4TkRRdE15NHlNRGdzTXk0ek5Ua3RNeTQyTnpnc05DNDFORFJqTFRBdU1qSTFMREF1TlRZNExUQXVOREU1TERBdU9USTFMVEF1TmpZNUxERXVNak01WXkwd0xqTXpOeXd3TGpReU5DMHdMamMyTERBdU9EQTVMVEV1TlRNekxERXVORGc1WXkwd0xqQTJPU3d3TGpBMk1TMHdMakV5TVN3d0xqRTVMVEF1TURZekxEQXVNekV5WXpBdU1EYzVMREF1TVRZMExEQXVORGd4TERBdU56TXlMREF1TlRrMUxEQXVOemd4WXpBdU1USTJMREF1TURZeUxEQXVNamN5TFRBdU1ESXpMREF1TXpNdE1DNHdOalpqTUM0MU5ERXRNQzR6TmpZc01TNHhPRGd0TUM0NU5EY3NNUzQxTURZdE1TNHpOREpqTUM0eE1URXRNQzR4TXpVc01DNHlNalV0TUM0d056a3NNQzR5T0RRc01DNHhNalpqTUM0eU9UVXNNUzR3TlRVc01TNHdOeXd4TGpreE55d3lMakUwTERJdU1qYzNZekV1T1RVNUxEQXVOall4TERNdU9Ua3hMVEF1TWprMkxEVXVOVEkxTFRFdU9UWXhZekF1T1RjMUxURXVNRFU1TERFdU16STNMVEV1TnpNNExERXVOeTB5TGpJd01XTXdMall6TlMwd0xqYzROU3d4TGpnNE15MHlMalUwTVN3ekxqTTNNUzB6TGpZMk4yTXdMalUwTkMwd0xqUXhOU3d4TGpFNU1TMHdMamN6TWl3eExqVXhOUzB3TGpVeU0yTXdMakkyTVN3d0xqRTJPU3d3TGpNME5pd3dMalUyTWkwd0xqQTNNeXd4TGpNeU0yTXRNUzQxTVRjc01pNDNOekV0TXk0M05EZ3NOaTR3TWpRdE5DNHhOVGtzTmk0NE1UTmpMVEF1TURjMExEQXVNVE0zTFRBdU1EQTVMREF1TWpRMExEQXVNVE0wTERBdU1qUTBZekF1TnprMExUQXVNREEwTERFdU5UZ3lMVEF1TURBeUxESXVNekF5TFRBdU1EQXlZekF1TVRFNUxUQXVNREEyTERBdU1UY3pMVEF1TURZeExEQXVNak0wTFRBdU1UUTFZekV1TVRZekxURXVPREl6TERJdU1qWXRNeTQxTlRjc015NDBNelF0TlM0ek5XTXdMakEyTmkwd0xqRXdOU3d3TGpFeU5pMHdMakF5TkN3d0xqRXlPU3d3TGpBeU1tTXdMakF5TkN3d0xqUXhOU3d3TGpFeU55d3dMams0TlN3d0xqTTNNeXd4TGpNMU9XTXdMalEwTkN3d0xqWTRPU3d4TGpBM015d3dMams0Tml3eExqYzNMREF1T1RreFl6QXVOVFUyTERBdU1EQTNMREF1T0RNMkxUQXVNRGMzTERFdU5ETTFMVEF1TXpBeVl6QXVORGc0TFRBdU1UZ3hMREF1T0RjNUxUQXVOREU1TERFdU1UYzVMVEF1TmpNell6QXVNVGMxTFRBdU1USXhMREF1TWpBMUxEQXVNRGd5TERBdU1qQXhMREF1TVRFMVl5MHdMakkzTERFdU5EUTFMREF1TURZekxETXVNVFU1TERFdU5UQXhMRE11T0Rkak1TNDNNakVzTUM0NE5EZ3NNeTQyTVRJdE1DNHpORFVzTkM0Mk9Ua3RNUzQwTW1Nd0xqRXdOUzB3TGpFd05Dd3dMakl5TFRBdU1EazBMREF1TWpNc01DNHhNekZqTUM0d01qUXNNQzQwTVN3d0xqSXhMREF1T0RrM0xEQXVOVFE1TERFdU1qUmpNQzQ1TVRJc01DNDVNVElzTWk0M05URXNNQzQxTlRJc05DNDFPVGd0TUM0NE56ZGpNUzR4T0RRdE1DNDVNVFFzTWk0ME1qTXRNaTR5TURjc015NDFORFV0TXk0MU56WmpNQzR3TkRJdE1DNHdOVE1zTUM0d056SXRNQzR4TXprdE1DNHdNRGd0TUM0eU1qVmpMVEF1TVRjdE1DNHhOemd0TUM0ME1UZ3RNQzR6T0RJdE1DNDFPRFl0TUM0MU5HTXRNQzR3TnpndE1DNHdOak10TUM0eE9TMHdMakEwTnkwd0xqSTFOeXd3TGpBd01tTXRNUzR4TkRZc01TNHdPVE10TWk0eE9ERXNNaTR6TXprdE15NDJOelFzTXk0ek5qZGpMVEF1TlRBMExEQXVNelV6TFRFdU16QTJMREF1TmpNMkxURXVOalkzTERBdU1UUTRZeTB3TGpFME1pMHdMakU1TFRBdU1USTFMVEF1TkRVekxEQXVNREV6TFRBdU56azJZekF1TkRNMUxURXVNRGcyTERjdU16TXhMVEV4TGpVNE5DdzNMalk0T1MweE1pNHlNRE5qTUM0d05qRXRNQzR4TURjdE1DNHdNRFF0TUM0eE9EY3RNQzR4TkMwd0xqRTROME0zTXk0NE9EZ3NNVEl1TkRBekxEY3lMamsxT0N3eE1pNDBNRFVzTnpJdU1qRTVMREV5TGpRd05TSXZQand2WkdWbWN6NDhZMnhwY0ZCaGRHZ2dhV1E5SWxOV1IwbEVYemcyWHlJK1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJalUxWkhTVVJmT0RWZklpQWdiM1psY21ac2IzYzlJblpwYzJsaWJHVWlMejQ4TDJOc2FYQlFZWFJvUGp4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaVUxWkhTVVJmT0RkZklpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWlJSGt4UFNJek5TNHpNRFkySWlCNE1qMGlNU0lnZVRJOUlqTTFMak13TmpZaUlHZHlZV1JwWlc1MFZISmhibk5tYjNKdFBTSnRZWFJ5YVhnb01DQXhOeTQ0T0RZM0lERTNMamc0TmpjZ01DQXROVGMzTGpBMk5UY2dNVEV1TVRBek5Ta2lQanh6ZEc5d0lDQnZabVp6WlhROUlqQWlJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU5HUmtaR1JrWWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXdMalF6TXpNaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTkdSVVpGUmtVaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqVTRPVElpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lOR09VWTVSamtpTHo0OGMzUnZjQ0FnYjJabWMyVjBQU0l3TGpZNU1TSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJMFl4UmpGR01TSXZQanh6ZEc5d0lDQnZabVp6WlhROUlqQXVPQ0lnYzNSNWJHVTlJbk4wYjNBdFkyOXNiM0k2STBWRVJVUkZSQ0l2UGp4emRHOXdJQ0J2Wm1aelpYUTlJakVpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lORVFVUkJSRUVpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4eVpXTjBJSGc5SWpNMExqRXlNaUlnZVQwaU1USXVOREF6SWlCamJHbHdMWEJoZEdnOUluVnliQ2dqVTFaSFNVUmZPRFpmS1NJZ1ptbHNiRDBpZFhKc0tDTlRWa2RKUkY4NE4xOHBJaUIzYVdSMGFEMGlOREF1TmpjMklpQm9aV2xuYUhROUlqRTFMamM1T0NJdlBqd3ZaejQ4Wno0OFpHVm1jejQ4Y0dGMGFDQnBaRDBpVTFaSFNVUmZPRGhmSWlCa1BTSk5OREl1TWprMkxERXpMamcxTldNdE1DNHdOVFl0TUM0ME1USXNNQzR3TnpjdE1DNDVOalVzTUM0MU1Ua3RNUzR6TlRWak1DNHlNakV0TUM0eE9UWXNNQzQxTWkwd0xqSTBMREF1TnpBMUxUQXVNRGd6WXpBdU1qQTFMREF1TVRjMkxEQXVNVEE0TERBdU5qRTBMVEF1TURrNUxEQXVPVEUzWXkwd0xqSXlPQ3d3TGpNek5TMHdMall4TWl3d0xqWXlOQzB3TGprMk15d3dMalk1TkdNdE1DNHdNU3d3TGpBd01pMHdMakF5TERBdU1EQXpMVEF1TURJNUxEQXVNREF6UXpReUxqTTNNU3d4TkM0d016SXNOREl1TXpJeUxERXpMams1TVN3ME1pNHlPVFlzTVRNdU9EVTFJRTB6TXk0MU9ETXNOaTR4TVRoakxUUXVNak0zTERBdU16VTNMVGd1TWpjc01pNDNOREl0T0M0eU56Z3NOaTR6TmpWakxUQXVNREEwTERFdU9ETTJMREV1TXpBeUxETXVNekkxTERNdU16STFMRE11TWpVNVl6SXVNemM0TFRBdU1EZ3NOQzR6TXkweExqazROaXcxTGpNMU1TMDBMak00TjJNd0xqTTRPQzB3TGpreE1TMHdMak16TFRFdU1qZzVMVEF1TmpjeUxUQXVOelkxWXkwd0xqWXdPU3d3TGprME5TMHhMalEzTERFdU5qYzVMVEl1TXprNUxESXVNVE0wWXkweExqRXhPQ3d3TGpVME9DMHlMak14TkN3d0xqUXRNaTQyTnpjdE1DNDFNRGhqTFRBdU5UQTVMVEV1TWpneExEQXVOVFV0TXk0eE9Ua3NNaTQ1TmpjdE5DNHhNREpqTXk0ME9USXRNUzR5T1RJc055NHhORFl0TUM0ME16Y3NNVEF1TmpZeUxEQXVNakkwWXpBdU1EVXNNQ3d3TGpJek55d3dMakV3TXl3d0xqQTNNaXd3TGpFNVl5MHdMall6TERBdU16UXlMVEV1TWpVc01DNDJNakl0TWk0eU1UWXNNUzQwTlROakxUQXVOamt4TERBdU5Ua3pMVEV1TlRrNExERXVNemd5TFRJdU1qazVMREl1TWpReVl5MHdMalk1Tml3d0xqZzBPQzB4TGpFNE9Td3hMall3TXkweExqZzBNaXd5TGpRME1XTXRNQzR3T1RFc01DNHhNaTB3TGpJd015d3dMakV4Tmkwd0xqSXdNaXd3TGpFeE5tTXRNUzQxT1N3d0xqSTJPQzB6TGpFME55d3dMalEwT0MwMExqVTNNeXd4TGpRMFl5MHdMakk1TlN3d0xqSXdNeTB3TGpReU1pd3dMalUyTkMwd0xqSTBOQ3d3TGpnME1XTXdMakUyTVN3d0xqSTBOQ3d3TGpVeU9Dd3dMakkzTVN3d0xqYzROQ3d3TGpBNE5XTXdMamc0Tmkwd0xqWTJNeXd4TGpjNU9DMHdMamszTlN3eUxqZzBNeTB4TGpBd05HTXdMakEwTml3d0xqQXdNeXd3TGpBMk9Dd3dMakF4TVN3d0xqQTRNU3d3TGpBek9XTXdMakF3Tnl3d0xqQXhOU3d3TGpBd01pd3dMakExTFRBdU1ERTNMREF1TURjMFl5MHhMalUyTlN3eUxqRTNNeTB4TGprMU9Dd3lMalkyTkMwekxqRXpOaXcwTGpBeE1tTXRNQzQyTURNc01DNDJPVEl0TVM0eE9UWXNNUzR5TnpjdE1TNDROVGtzTVM0NE9EWmpMVEl1TmpjMUxESXVORGcxTFRVdU5UVXpMREl1TkRReUxUWXVOVGczTERBdU9EZ3pZeTB3TGpZeE5TMHdMamt6TlMwd0xqVXpOQzB4TGpreE55MHdMakV6TFRJdU56TXhZekF1TkRrNExUQXVPVGszTERFdU5UQTBMVEV1TnpJNExESXVNelF0TWk0eE5UVmpNQzR6TVMwd0xqRTJMREF1TkMwd0xqVTFOaXd3TGpBNE9TMHdMamt4T0dNdE1DNHhPVGd0TUM0eU16VXRNQzQyTnpjdE1DNHlOemd0TVM0d016TXRNQzR5TVRKakxURXVNRGsyTERBdU1qQXlMVEl1TXpreUxERXVNRE10TXk0eE5UY3NNaTR3TWpoakxUQXVPRFl6TERFdU1URTVMVEV1TWprMExESXVORGMzTFRFdU1UUTVMRFF1TURBeFl6QXVNallzTWk0M05URXNNaTQxTWpVc05DNHpOQ3cxTGpBNU5TdzBMak15TW1NeUxqQTBOeTB3TGpBeE55d3pMamszTlMwd0xqWXpOeXcyTGpJNU15MHlMams1TVdNeUxqRTJNaTB5TGpFNU5TdzBMakV6TVMwMUxqUTNOQ3cxTGprM05pMDRMalV4Tm1Nd0xqQTFPQzB3TGpBNU55d3dMakE1T0Mwd0xqRTBPU3d3TGpNM09DMHdMakU0TkdNeExqRTFOeTB3TGpFME5Dd3lMamcyTlMwd0xqTXhMRE11T1RZdE1DNHpOek5qTUM0eU5ETXRNQzR3TVRNc01DNHlPVEV0TUM0d01URXNNQzR6T1N3d0xqRXhNbU13TGpJNE5Td3dMak0xT1N3d0xqY3hNeXd3TGpZMk5Dd3hMakExTml3d0xqZzFZekF1TVRZNExEQXVNRGt4TERBdU1qUTRMREF1TVRNMkxEQXVNemM0TERBdU1UTTVZekF1TVRZekxEQXVNREF6TERBdU1qZzVMVEF1TURnMExEQXVNemN0TUM0eE56WmpNQzR4TVRZdE1DNHhNamdzTUM0eE5Ea3RNQzR5T1RVc01DNHdPRFl0TUM0ME1ESmpMVEF1TURZMUxUQXVNVEV5TFRBdU9ESTVMVEF1TlRNMkxUQXVPRFV5TFRBdU56QTNZeTB3TGpBeE55MHdMakV3Tml3d0xqRXdNUzB3TGpFek15d3dMakV3TVMwd0xqRXpNMk13TGpVMk1TMHdMakUzTlN3eExqRTBOUzB3TGpVek9Dd3hMalE1T1MweExqSXhOV013TGpNME55MHdMalkyTnl3d0xqUXdNeTB4TGpVMU55MHdMakl6TXkweUxqQTFNbU10TUM0MU5Ua3RNQzQwTXpVdE1TNDBNREV0TUM0ek5qY3RNaTR3TnpRc01DNHlNemRqTFRBdU5qVTNMREF1TlRnMkxUQXVPRGMyTERFdU5ETTRMVEF1TnpnM0xESXVNVGcyWXpBdU1ERTJMREF1TVRNc01DNHdNRGtzTUM0eE56UXRNQzR4Tmpjc01DNHhPRGhqTFRFdU1ERXlMREF1TURneExURXVPVGczTERBdU1UQTVMVE11TURjeExEQXVNVFkzWXkwd0xqQTNNeXd3TGpBd05DMHdMakE1Tmkwd0xqQTBNeTB3TGpBMU5DMHdMakE1TTJNeExqSTBPUzB5TGpFM0xETXVNVEV6TFRNdU56RXpMRFV1TVRjMExUVXVNak0wWXpBdU1UTTNMVEF1TVRBekxEQXVNRGsxTFRBdU1qazNMREF1TURrdE1DNDBObU16TGpjeU1pd3dMamd3T0N3M0xqTXlMREl1TXpFMExERXhMakU0TVN3eUxqSTRNV014TGpVNU55MHdMakF4TWl3ekxqRXlOaTB3TGpJMU5TdzBMalU0TnkweExqQTFOMk14TGpJNE5TMHdMamN3TWl3eExqZ3dOeTB4TGpNME9Td3hMamcwTlMweUxqQXlNMk13TGpBek1TMHdMalEyTmkwd0xqSTVNeTB3TGpjMk1TMHdMamMxTkMwd0xqWTJZeTB6TGprd015d3dMamc1TlMwM0xqWXlOU3d3TGpnNE5pMHhNUzQxTURjc01DNDBNVFpqTFRRdU5EQTFMVEF1TlRNMUxUZ3VOak0wTFRFdU5qTXlMVEV6TGpBeE55MHhMall6TWtNek5DNDVNVElzTmk0d016Z3NNelF1TWpVc05pNHdOaklzTXpNdU5UZ3pMRFl1TVRFNElpOCtQQzlrWldaelBqeGpiR2x3VUdGMGFDQnBaRDBpVTFaSFNVUmZPRGxmSWo0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOVFZrZEpSRjg0T0Y4aUlDQnZkbVZ5Wm14dmR6MGlkbWx6YVdKc1pTSXZQand2WTJ4cGNGQmhkR2crUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjg1TUY4aUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJaUI0TVQwaU1DSWdlVEU5SWpNMUxqTXdORGNpSUhneVBTSXhJaUI1TWowaU16VXVNekEwTnlJZ1ozSmhaR2xsYm5SVWNtRnVjMlp2Y20wOUltMWhkSEpwZUNnd0lESTBMamd4TVRVZ01qUXVPREV4TlNBd0lDMDRNelV1TnpreE15QTBMak13TmpZcElqNDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0lpQnpkSGxzWlQwaWMzUnZjQzFqYjJ4dmNqb2pSa1pHUmtaR0lpOCtQSE4wYjNBZ0lHOW1abk5sZEQwaU1DNDBNek16SWlCemRIbHNaVDBpYzNSdmNDMWpiMnh2Y2pvalJrVkdSVVpGSWk4K1BITjBiM0FnSUc5bVpuTmxkRDBpTUM0MU9Ea3lJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qUmpsR09VWTVJaTgrUEhOMGIzQWdJRzltWm5ObGREMGlNQzQyT1RFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTkdNVVl4UmpFaUx6NDhjM1J2Y0NBZ2IyWm1jMlYwUFNJd0xqZ2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU5GUkVWRVJVUWlMejQ4YzNSdmNDQWdiMlptYzJWMFBTSXhJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9qUkVGRVFVUkJJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4Y21WamRDQjRQU0l4T1M0ME9ESWlJSGs5SWpZdU1ETTRJaUJqYkdsd0xYQmhkR2c5SW5WeWJDZ2pVMVpIU1VSZk9EbGZLU0lnWm1sc2JEMGlkWEpzS0NOVFZrZEpSRjg1TUY4cElpQjNhV1IwYUQwaU5ERXVNemszSWlCb1pXbG5hSFE5SWpJeExqTTFJaTgrUEM5blBqd3ZjM1puUGc9PSk7XG59IiwiLy8gQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuLy8gQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cbiRibHVlOiAjMDA1NDhmO1xuJGJsdWVMaWdodDogIzAwYTZkYTtcbiRibHVlRXh0cmFMaWdodDogIzI2QkFFODtcbiRibHVlRGFyazogIzAwNTQ4ZjtcbiRibGFjazogIzExMTExMTtcbiRncmF5OiAjZThlOGU4O1xuJGdyYXlMaWdodDogI0YyRjJGMjtcbiRyZWQ6ICNDNzE4MTg7XG5cbmFydGljbGUsXG4uYXJ0aWNsZSBcbntcblx0Zm9udC1zaXplOiBlbSgxNSk7XG5cdGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuXHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHR0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG5cdGgxXG5cdHtcblx0XHRmb250LXNpemU6IGVtKDQwKTtcblx0XHRmb250LXdlaWdodDogMjAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICRibHVlO1xuXHRcdG1hcmdpbjogZW0oMTApIDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0aDJcblx0e1xuXHRcdGZvbnQtc2l6ZTogZW0oMjQpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Y29sb3I6ICRibHVlO1xuXHRcdG1hcmdpbjogZW0oMTgpIDAgZW0oMTIpIDA7XG5cdH1cblxuXHRoM1xuXHR7XG5cdFx0Zm9udC1zaXplOiBlbSgyMik7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRtYXJnaW46IGVtKDE4KSAwIGVtKDEyKSAwO1xuXHR9XG5cblx0aDRcblx0e1xuXHRcdGZvbnQtc2l6ZTogZW0oMjApO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0bWFyZ2luOiBlbSgxOCkgMCBlbSgxMikgMDtcblx0fVxuXG5cdGg1XG5cdHtcblx0XHRmb250LXNpemU6IGVtKDE4KTtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdG1hcmdpbjogZW0oMTgpIDAgZW0oMTIpIDA7XG5cdH1cblxuXHRoNlxuXHR7XG5cdFx0Zm9udC1zaXplOiBlbSgxMik7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0fVxuXG5cdHBcblx0e1xuXHQgICAgbWFyZ2luOiBlbSgxMikgZW0oMCk7XG5cdH1cblxuXHR1bCxvbFxuXHR7XG5cdCAgICBsaXN0LXN0eWxlOiBkaXNjO1xuXHQgICAgbWFyZ2luLWxlZnQ6IGVtKDIwKTtcblx0fVxuXG5cdC8vIGFcblx0Ly8ge1xuXHQvLyAgICAgY29sb3I6ICRibHVlO1xuXHQvLyAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cdC8vICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHQvLyAgICAgJjpob3ZlciwgJjphY3RpdmVcblx0Ly8gICAgIHtcblx0Ly8gICAgICAgICBjb2xvcjogJGJsdWVMaWdodDtcblx0Ly8gICAgIH1cblx0Ly8gfVxuXG5cbiAgICBlbVxuICAgIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuXHQuY29udGVudFxuXHR7XG5cdFx0bWFyZ2luLWJvdHRvbTogZW0oNTApO1xuXHR9XG5cblx0dGFibGVcblx0e1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0dHIgXG5cdFx0e1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHR0aFxuXHRcdFx0e1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZUxpZ2h0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0cGFkZGluZzogZW0oMTIpO1xuXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGRcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHR0ZFxuXHRcdFx0e1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjY2NmM2ZmO1xuXHRcdFx0XHRjb2xvcjogJGJsdWU7XG5cdFx0XHRcdHBhZGRpbmc6IGVtKDEyKTtcblx0XHRcdH1cblxuXHRcdFx0dGQ6Zmlyc3QtY2hpbGRcblx0XHRcdHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgd2hpdGU7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpXG5cdFx0XHR7XG5cdFx0XHRcdHRkLCB0aFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblx0fVxufVxuXG5cblxuLmJsdWVcbntcblx0Y29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG59XG5cbi5ibHVlbGlnaHRcbntcblx0Y29sb3I6ICRibHVlTGlnaHQgIWltcG9ydGFudDtcbn1cblxuLnJlZFxue1xuXHRjb2xvcjogJHJlZCAhaW1wb3J0YW50O1xufVxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSBcbntcbiAgICAuYXJ0aWNsZVxuICAgIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIGVtKDIwKTtcblxuICAgICAgICBoMVxuICAgICAgICB7XG4gICAgICAgIFx0Zm9udC1zaXplOiBlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm5vdGlmaWNhdGlvblxue1xuXHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRmb250LWZhbWlseTogJGZvbnQ7XG5cdGNvbG9yOiB3aGl0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0LmNvbnRyb2xsZXJcblx0e1xuXHRcdGZsb2F0OiByaWdodDtcblx0ICAgIGNsZWFyOiBib3RoO1xuXHQgICAgbWFyZ2luLXRvcDogZW0oMTApO1xuXHQgICAgbWFyZ2luLXJpZ2h0OiBlbSg1KTtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgZWFzZS1pbi1vdXQpO1xuXHR9XG5cblx0LnRpdGxlXG5cdHtcblx0XHRmb250LXNpemU6IGVtKDE2KTtcblx0XHRwYWRkaW5nOiBlbSgxMCkgZW0oMzApO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5jb250ZW50XG5cdHtcblx0XHQvLyBmb250LXNpemU6IGVtKDEyKTtcblx0XHRtYXgtaGVpZ2h0OiAwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgZWFzZS1pbi1vdXQpO1xuXG5cdFx0QGV4dGVuZCAuYXJ0aWNsZTtcblx0fVxuXG5cblx0Ji5hY3RpdmVcblx0e1xuXHRcdC5jb250cm9sbGVyXG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XG5cdFx0fVxuXHRcdC5jb250ZW50XG5cdFx0e1xuXHRcdFx0bWF4LWhlaWdodDogNTAwcHg7XG5cdFx0XHRwYWRkaW5nOiBlbSgxMCkgMCBlbSgzMCkgMDtcblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byhtb2JpbGUpIFxue1xuICAgIC5ub3RpZmljYXRpb25cbiAgICB7XG4gICAgXHRtYXJnaW4tdG9wOiBlbSg1MCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59IiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCJAaW1wb3J0IFwiLi9ib3VyYm9uL2JvdXJib25cIjtcblxuXG4vLyBCYXNlIFNpemVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGJhc2VGb250U2l6ZUhhbmRoZWxkOiA4cHg7XG4kYmFzZUZvbnRTaXplVGFibGV0OiAgIDEycHg7XG4kYmFzZUZvbnRTaXplRGVza3RvcDogIDE2cHg7XG5cblxuXG4vLyBQYWxldHRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRibHVlOiAjMDA1NDhmO1xuJGJsdWVMaWdodDogIzAwYTZkYTtcbiRibHVlRXh0cmFMaWdodDogIzI2QkFFODtcbiRibHVlRGFyazogIzAwNTQ4ZjtcbiRibGFjazogIzExMTExMTtcbiRncmF5OiAjZThlOGU4O1xuJGdyYXlMaWdodDogI0YyRjJGMjtcbiRyZWQ6ICNDNzE4MTg7XG5cbi8vIEZvbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb250OiBcIk9wZW4gU2Fuc1wiO1xuJGZvbnRDb25kZW5zZWQ6IFwiT3BlbiBTYW5zXCI7XG5cblxuXG4vLyBSZXNwb25zaXZlIE1peGluXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhay1zbWFsbDogNzY4cHg7XG4kYnJlYWstbGFyZ2U6IDEwMjRweDtcblxuQG1peGluIHJlc3BvbmQtdG8oJG1lZGlhKSBcbntcbiAgICBAaWYgJG1lZGlhID09IGhhbmRoZWxkXG4gICAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IHRhYmxldCBcbiAgICB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJyZWFrLWxhcmdlIC0gMSkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gbW9iaWxlXG4gICAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1sYXJnZSAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG1lZGlhID09IGRlc2t0b3BcbiAgICB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7IEBjb250ZW50OyB9XG4gICAgfVxufVxuXG5cblxuLy8gbWVudSBmdW5jLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZS1nZW4oJGNvbG9yLCAkZmlsZS1uYW1lLCAkaXNTaXplMTAwUGVyY2VudDogZmFsc2UsICRwb3NpdGlvbjogY2VudGVyIHRvcCwgJHJlcGVhdDogbm8tcmVwZWF0KVxue1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciB1cmwoJy9zdGF0aWMvZ2Z4LyN7JGZpbGUtbmFtZX0nKSAkcG9zaXRpb24gJHJlcGVhdDtcblxuICAgIEBpZiAkaXNTaXplMTAwUGVyY2VudFxuICAgIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIH1cbn1cblxuQG1peGluIG9mZi1jYW52YXMtbWVudSgkeDogMCwgJHk6IDApXG57XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuNHMgZWFzZS1pbi1vdXQpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksIDApO1xufVxuXG5AbWl4aW4gZWFzZU91dEV4cG8oJHByb3BlcnRpZXMsICRkdXJhdGlvbilcbntcbiAgICAkZWFzaW5nVmFsdWU6IFwiMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDBcIjtcblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb3BlcnRpZXMgJGR1cmF0aW9uIGN1YmljLWJlemllcih1bnF1b3RlKCRlYXNpbmdWYWx1ZSkpKTtcbn1cblxuXG5cblxuXG4vLyBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIFxue1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICRvcGFjaXR5LWllOiAkb3BhY2l0eSAqIDEwMDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpOyAvL0lFOFxufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdmFsdWUpIFxue1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkdmFsdWUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCR2YWx1ZSk7XG5cbn1cblxuQG1peGluIGZsaXBWZXJ0aWNhbCgpXG57XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKC0xLCAxKSk7XG59XG5cbkBtaXhpbiByb3RhdGUoJHZhbHVlKVxue1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoJHZhbHVlKSk7XG59XG5cbkBtaXhpbiBzdHJva2UoJHdpZHRoLCAkY29sb3IpIFxue1xuICAgICR3aWR0aDogJHdpZHRoICsgMDtcbiAgICAkc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcbiAgICAkaTogMDtcbiAgICAkdzogMTtcblxuICAgIEB3aGlsZSAoJGkgPCAkd2lkdGgpIFxuICAgIHtcbiAgICAgICAgJGk6ICRpICsgMTtcbiAgICAgICAgJGo6IDA7XG4gICAgICAgICR3OiAkdyArIDI7XG5cbiAgICAgICAgQGZvciAkciBmcm9tIDEgdGhyb3VnaCAkdyBcbiAgICAgICAge1xuICAgICAgICAgICAgQGZvciAkYyBmcm9tIDEgdGhyb3VnaCAkdyBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkeDogJGMgLSBjZWlsKCR3IC8gMik7XG4gICAgICAgICAgICAgICAgJHk6ICRyIC0gY2VpbCgkdyAvIDIpO1xuXG4gICAgICAgICAgICAgICAgJHNoYWRvdzogKCN7JHNoYWRvd30sICN7JHh9cHggI3skeX1weCAwICRjb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZXh0LXNoYWRvdzogJHNoYWRvdztcbn1cblxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkgXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3JlXG4gICAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICB9XG5cbiAgICA+IC5jb250ZW50IFxuICAgIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cblxuICAgIC5zaWJsaW5nLW1lbnVcblx0e1xuICAgICAgICBsaVxuICAgICAgICB7XG4gICAgICAgICAgICBhXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyOCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZW0oMTIpIDUlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWVMaWdodDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M0ZTZmODtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIgXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBleHRlbmQgLmljb246YmVmb3JlO1xuICAgICAgICAgICAgICAgICAgICAvLyBAZXh0ZW5kIC5pY29uLW1lbnVBcnJvdzpiZWZvcmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlclxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9IiwiQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cblxuLmNhcmRcbntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiBlbSgzMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZW0oMzApO1xuXG4gICAgaW1nXG4gICAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgxNSk7XG4gICAgfVxuXG4gICAgLmltZ1xuICAgIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDQsMyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5OyAgICAgICAgXG4gICAgICAgIHdpZHRoOiAxMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDE1KTtcbiAgICB9XG5cbiAgICAudGl0bGUsXG4gICAgLnN1YnRpdGxlLFxuICAgIC5sZWFkXG4gICAge1xuICAgICAgICBwYWRkaW5nOiBlbSgwKSBlbSgxNSlcbiAgICB9XG5cbiAgICAudGl0bGVcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuc3VidGl0bGVcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogICRibHVlO1xuICAgICAgICBwYWRkaW5nOiBlbSg1KSBlbSgxNSkgZW0oMTUpIGVtKDE1KTtcbiAgICB9XG5cbiAgICAubGVhZFxuICAgIHtcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZXBhcmF0b3JcbiAgICB7XG4gICAgICAgIG1hcmdpbjogZW0oMTUpIGVtKDE1KSAwIGVtKDE1KTtcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYmx1ZTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSggbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkYmx1ZSAwJSwgJGJsdWUgMzAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDMxJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpICk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG4gICAgLmJsdWVCdXR0b25cbiAgICB7XG4gICAgICAgIG1pbi13aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW46IGVtKDI1KSAwIDAgMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyXG4gICAge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgLmJsdWVCdXR0b25cbiAgICAgICAge1xuICAgICAgICAgICAgQGV4dGVuZCAuYmx1ZUJ1dHRvbjpob3ZlclxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5jYXJkLWJvcmRlcmVkXG57XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ViZWJlYjtcblxuICAgIC50aXRsZVxuICAgIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbi5jYXJkLWZpeGVkXG57XG4gICAgLnRpdGxlXG4gICAge1xuICAgICAgICBoZWlnaHQ6IGVtKDQ1KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc3VidGl0bGVcbiAgICB7XG4gICAgICAgIGhlaWdodDogZW0oMzApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5sZWFkXG4gICAge1xuICAgICAgICBoZWlnaHQ6IGVtKDkwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cblxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSBcbntcbiAgICAuY2FyZFxuICAgIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbn0iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xuICAkd2Via2l0LWltYWdlczogKCk7XG4gICRzcGVjLWltYWdlczogKCk7XG5cbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xuICAgICRzcGVjLWltYWdlOiAoKTtcblxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcbiAgICAgICAgICAkc3BlYy1pbWFnZTogJGltYWdlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XG59XG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMCwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSApO1xuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHZhbC0zOiBudWxsO1xuICAkaGFzLXZhbC0zOiBzdHItaW5kZXgoJHZhbC0yLCBcIiBcIik7XG5cbiAgQGlmICRoYXMtdmFsLTMge1xuICAgICR2YWwtMzogc3RyLXNsaWNlKCR2YWwtMiwgJGhhcy12YWwtMyArIDEsIHN0ci1sZW5ndGgoJHZhbC0yKSk7XG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAwLCAkaGFzLXZhbC0zIC0gMSk7XG4gIH1cblxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XG5cbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY29kZSB1cCB0byBzcGVjXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogX2lzLW51bShzdHItc2xpY2UoJGZpcnN0LXZhbCwgMCwgMCkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuXG4ucGFnaW5hdG9yXG57XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IGVtKDQwKSAwO1xuXG4gICAgLm5leHQsXG4gICAgLnByZXZcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgICBwYWRkaW5nOiBlbSgxNSkgZW0oMTYpOyAvLyByb3RhdGlvbiBtaWF0dCBmb3JkaXR2YVxuICAgICAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnByZXZcbiAgICB7XG4gICAgICAgIEBpbmNsdWRlIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgLmN1cnJlbnQtcGFnZVxuICAgIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogICRibHVlO1xuICAgICAgICBwYWRkaW5nOiBlbSg4KSBlbSgyMClcbiAgICB9XG5cbiAgICAudG90YWwtaXRlbXNcbiAgICB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IGVtKDEwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbn1cblxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSBcbntcbiAgICAucGFnaW5hdG9yXG4gICAge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMuc2Nzc1wiO1xuXG5cbi8qXG4gICAgUHJvamVjdCBTcGVjaWFsdHk6IEJhaGFydFxuKi9cblxuLmNhcm91c2VsXG57XG4gICAgLm5hdmJhclxuICAgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgzMCk7XG4gICAgICAgIGhlaWdodDogZW0oMzUpO1xuICAgIH1cblxuICAgIC5uYXZiYXIgYSBpXG4gICAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZUxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5hdmJhciBhLmFjdGl2ZSBpXG4gICAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uYXZiYXItaW52ZXJzZSBhIGlcbiAgICB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5hdmJhci1pbnZlcnNlIGEuYWN0aXZlIGlcbiAgICB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8qXG4gICAgQ29tcG9udGVudCBTcGVjaWFsdHlcbiovXG5cbi5jYXJvdXNlbFxue1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIC5jYXJvdXNlbC1tYXNrXG4gICAge1xuICAgICAgICAvLyBmbG9hdDogbGVmdDtcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIHVsXG4gICAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGxlZnQgLjhzIGVhc2UtaW4tb3V0KTtcbiAgICB9XG5cbiAgICBsaVxuICAgIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAqXG4gICAgICAgIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICBhXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIGltZ1xuICAgICAgICB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnJvd3NcbiAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIHotaW5kZXg6IDI2MDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZGVza3RvcClcbiAgICAgICAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZW0oMTYwKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBlbSg5MjApO1xuXG4gICAgICAgICAgICAmLmxlZnQgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGVtKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSlcbiAgICAgICAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZW0oMTAwKTtcbiAgICAgICAgICAgIHJpZ2h0OiBlbSg1KTtcblxuICAgICAgICAgICAgJi5sZWZ0IFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGVtKDUpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZW5hYmxlZFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYuZW5hYmxlZFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYubGVmdCBcbiAgICAgICAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKC0xLCAxKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpIFxuICAgICAgICB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDYwKTtcblxuICAgICAgICAgICAgJjpob3ZlciBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyXG4gICAge1xuICAgICAgICAuYXJyb3dzXG4gICAgICAgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5uYXZiYXJcbiAgICB7XG4gICAgICAgIC8vIGZsb2F0OiBsZWZ0O1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IGVtKDMwKTtcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IGVtKDMwKTtcblxuICAgICAgICBhXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IGVtKDcpO1xuXG4gICAgICAgICAgICBpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogZW0oMTApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogZW0oMTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICB7ICAgXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufSIsIi8vIE1vZGVybiBtaWNybyBjbGVhcmZpeCBwcm92aWRlcyBhbiBlYXN5IHdheSB0byBjb250YWluIGZsb2F0cyB3aXRob3V0IGFkZGluZyBhZGRpdGlvbmFsIG1hcmt1cC5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOlxuLy9cbi8vICAgIC8vIENvbnRhaW4gYWxsIGZsb2F0cyB3aXRoaW4gLndyYXBwZXJcbi8vICAgIC53cmFwcGVyIHtcbi8vICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLyAgICAgIC5jb250ZW50LFxuLy8gICAgICAuc2lkZWJhciB7XG4vLyAgICAgICAgZmxvYXQgOiBsZWZ0O1xuLy8gICAgICB9XG4vLyAgICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBkaXNwbGF5OnRhYmxlO1xuICAgIGNsZWFyOmJvdGg7XG4gIH1cbn1cblxuLy8gQWNrbm93bGVkZ2VtZW50c1xuLy8gQmVhdCAqdGhhdCogY2xlYXJmaXg6IFtUaGllcnJ5IEtvYmxlbnR6XShodHRwOi8vd3d3LmNzcy0xMDEub3JnL2FydGljbGVzL2NsZWFyZml4L2xhdGVzdC1uZXctY2xlYXJmaXgtc28tZmFyLnBocClcbiIsIi5iaWxsYm9hcmRcbntcblx0aGVpZ2h0OiBlbSg3MCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Ly8gbWFyZ2luLWJvdHRvbTogLTE4cHg7XG5cblx0Ji5hY3RpdmVcblx0e1xuXHRcdGhlaWdodDogZW0oMjgwKTtcblx0XHRsaW5lLWhlaWdodDogZW0oMjgwKTtcblxuXHRcdHNwYW5cblx0XHR7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdH1cblxuXHRzcGFuXG5cdHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0Zm9udC1zaXplOiBlbSg3MCk7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Zm9udDogJGZvbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblxuXHRAaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSkgXG5cdHtcblx0XHRzcGFuXG5cdFx0e1xuXHRcdFx0Zm9udC1zaXplOiBlbSg0NSk7XG5cdFx0fVxuXHR9XG59IiwiXG5cbi5nYWxsZXJ5XG57XG5cdGJhY2tncm91bmQ6ICRibHVlTGlnaHQgdXJsKCcvcHVibGljL2ltZy9ibHVlTGlnaHRQYXR0ZXJuLmpwZycpO1xuXHRwYWRkaW5nOiBlbSgyMCkgMDtcblxuXHQubGFiZWxcblx0e1xuXHRcdGZvbnQtc2l6ZTogZW0oNDApO1xuXHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IGVtKDEwKTtcblx0fVxuXG5cdC5ibHVlQnV0dG9uXG5cdHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHRcdCY6aG92ZXJcblx0XHR7XG5cdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdGNvbG9yOiAkYmx1ZTtcblx0XHR9XG5cdH1cblxuXHQuY29udGFpbmVyXG5cdHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQuZ3ItM1xuXHR7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxuXG5cdC8vIC5jb2x1bW5cblx0Ly8ge1xuXHQvLyBcdHdpZHRoOiAyNSU7XG5cdC8vIFx0cGFkZGluZzogMCBlbSgxMCk7XG5cdC8vIFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ly8gXHRmbG9hdDogbGVmdDtcblx0Ly8gXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdC8vIH1cblxuXHRpbWdcblx0e1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdCY6Zmlyc3QtY2hpbGQubGFuZHNjYXBlXG5cdFx0e1xuXHRcdFx0cGFkZGluZy1ib3R0b206IGVtKDE2KTtcblx0XHR9XG5cblx0XHQmLmxhbmRzY2FwZVxuXHRcdHtcblx0XHRcdHdpZHRoOiA4MiU7XG5cdFx0fVxuXHR9XG59IiwiQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cblxuLm1vZGFsXG57XG4gICAgLm1vZGFsLXRleHRcbiAgICB7XG4gICAgICAgIHdpZHRoOiA3ODBweDtcbiAgICAgICAgcGFkZGluZzogZW0oMzApO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSBcbiAgICAgICAgeyBcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50ID4gZGl2XG4gICAge1xuICAgICAgICBjb2xvcjogICRibHVlO1xuICAgIH1cblxuICAgIC50aXRsZVxuICAgIHtcbiAgICAgICAgbWFyZ2luOiBlbSgxMCkgZW0oMjApO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICAgaVxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiBlbSgzNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDM1KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZW0oMTUpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDM1KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTApXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VidGl0bGVcbiAgICB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogZW0oMjApIGVtKDApIGVtKDEwKSBlbSgwKTsgICBcbiAgICB9XG5cbiAgICBbY2xhc3NePVwiZ3ItXCJdXG4gICAge1xuICAgICAgICBwYWRkaW5nLXRvcDogZW0oMjcpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZW0oMTApO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAmLnZhbHVlXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBlbSgxMik7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWVMaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvd1xuICAgIHtcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYmx1ZTtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSggbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkYmx1ZSAwJSwgJGJsdWUgMzAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDMxJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpICk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG5cbiAgICAgICAgbWFyZ2luOiAwIGVtKDIwKSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IGVtKDUwMCk7XG4gICAgfVxuXG5cblxuICAgIC5jYXB0aW9uXG4gICAge1xuICAgICAgICBtYXJnaW46IGVtKDQwKTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBhXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZUxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dFxuICAgIHtcbiAgICAgICAgcGFkZGluZzogZW0oMjApIDA7XG4gICAgfVxuXG4gICAgLmNsb3NlXG4gICAge1xuICAgICAgICBjb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYXJyb3dzXG4gICAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlTGlnaHQ7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogZW0oMjApIGVtKDEwKTtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyXG4gICAgICAgIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaVxuICAgICAgICB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWdodFxuICAgICAgICB7XG4gICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgaVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLm1vZGFsLW92ZXJsYXlcbntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA5OTg4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC40cyBlYXNlLWluLW91dCk7XG5cbiAgICAmLmluXG4gICAge1xuICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICB9XG59XG5cbi5tb2RhbFxue1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC40cyBlYXNlLWluLW91dCk7XG5cbiAgICAmLmluXG4gICAge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLm1vZGFsLXdyYXBwZXJcbntcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb2RhbC12ZXJ0aWNhbFxue1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tb2RhbC1jb250YWluZXJcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLy8gbWF4LXdpZHRoOiA3ODBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IC0ycHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG5cbiAgICAuY2xvc2VcbiAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gdG9wOiA0cHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAvLyBwYWRkaW5nOiAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgLy8gd2lkdGg6IDI1cHg7XG4gICAgICAgIC8vIGhlaWdodDogMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG5cbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAvLyBib3gtc2hhZG93OiAwcHggMHB4IDJweCAjM0MzQzNDO1xuICAgICAgICAvLyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6ICRibHVlTGlnaHQ7XG4gICAgICAgIC8vIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkZWRlZGUgMTAwJSk7XG5cblxuICAgICAgICAmOmhvdmVyXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICM0MjljY2I7XG4gICAgICAgICAgICAvLyBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGVcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5zdWJ0aXRsZVxuICAgIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNiwgMTMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuXG5cbiAgICAubW9kYWwtY29udGVudCBpbWdcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5jb250ZW50XG4gICAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IGVtKDIwLCAxMykgMCAwIDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgIC5kZXNjXG4gICAgICAgIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIGVtKDIwLCAxMykgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZ1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKSBcbiAgICB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcblxuICAgICAgICBpbWdcbiAgICAgICAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cblxuLndyYXBwZXJNb2JpbGVcbntcbiAgICAvLyBoZWlnaHQ6IGVtKDkzKTtcblxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdXG4gICAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05MDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBsYWJlbFxuICAgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGFcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi5oZWFkZXJNb2JpbGVcbntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBlbSg5Myk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiA2MDA7XG5cbiAgICBsYWJlbFxuICAgIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGVtKDkzKTtcblxuICAgICAgICBpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZUxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogZW0oMjgsNDApO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSg0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnVcbiAgICAgICAge1xuICAgICAgICAgICAgd2lkdGg6IGVtKDkzKTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VhcmNoXG4gICAgICAgIHtcbiAgICAgICAgICAgIHdpZHRoOiBlbSg5Myk7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGVtKDkzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxhbmd1YWdlTW9iaWxlXG57XG4gICAgbWFyZ2luOiBlbSgzNSkgMCAwIGVtKDIwKTtcblxuICAgIGFcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRibHVlTGlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IGVtKDEpIGVtKDUpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYmx1ZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGRcbiAgICAgICAge1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZVxuICAgICAgICB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiBcbi5zZWFyY2hNb2JpbGVcbntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTQwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGVtKDkzKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZUxpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRvcCAuNHMgZWFzZS1pbi1vdXQpO1xuXG4gICAgaW5wdXQgXG4gICAge1xuICAgICAgICBtYXJnaW4tdG9wOiBlbSgyNSwyMik7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgaGVpZ2h0OiBlbSg0NSwyMik7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IGVtKDIyKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGVtKDIpO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyhlbSgxMCwyMikpO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKGVtKDEwLDIyKSk7XG4gICAgfVxufVxuXG5cblxuLm1lbnVNb2JpbGVcbntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiBlbSg5Myk7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4vKiAgICBvdmVyZmxvdzogaGlkZGVuOyovXG4gICAgei1pbmRleDogNjIwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb25cbiAgICAoXG4gICAgICAgIGxlZnQgLjRzIGVhc2UtaW4tb3V0LCBcbiAgICAgICAgdG9wIC40cyBlYXNlLWluLW91dFxuICAgICk7XG5cbiAgICB1bFxuICAgIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyAvLyBzY3JvbGxhYmxlXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cbiAgICAgICAgbGlcbiAgICAgICAge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogZW0oMikgc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlTGlnaHQ7XG5cbiAgICAgICAgICAgICYuZm9vdG1lbnVcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBlbSgzMCwgMjgpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAgICAgaVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogZW0oNCwgMTYpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogZW0oMjUsIDI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmFja1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZW0oNDUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWxcbiAgICAgICAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgpO1xuXG4gICAgICAgICAgICBsaVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGRcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG5cbiAgICB9XG59XG5cblxuLyo9PT09PT09PT09ICBNRU5VIEhBTkRMRVIgID09PT09PT09PT0qL1xuXG4jY2hrLW1lbnU6Y2hlY2tlZCB+IC5tZW51TW9iaWxlXG57XG4gICAgbGVmdDogMDtcbn1cblxuI2Noay1tZW51OmNoZWNrZWQgfiAuaGVhZGVyTW9iaWxlIGxhYmVsLm1lbnVcbntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZUxpZ2h0O1xufVxuXG4jY2hrLW1lbnU6Y2hlY2tlZCB+IC5oZWFkZXJNb2JpbGUgbGFiZWwubWVudSBpLmljb24taGFtYnVyZ2VyXG57XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG5cbi8qPT09PT09PT09PSAgU0VBUkNIIEhBTkRMRVIgID09PT09PT09PT0qL1xuXG4jY2hrLXNlYXJjaDpjaGVja2VkIH4gLnNlYXJjaE1vYmlsZVxue1xuICAgIHRvcDogZW0oOTMpO1xufVxuXG4jY2hrLXNlYXJjaDpjaGVja2VkIH4gLm1lbnVNb2JpbGVcbntcbiAgICB0b3A6IGVtKDE4Nik7XG59XG5cbiNjaGstc2VhcmNoOmNoZWNrZWQgfiAuaGVhZGVyTW9iaWxlIGxhYmVsLnNlYXJjaFxue1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlTGlnaHQ7XG59XG5cbiNjaGstc2VhcmNoOmNoZWNrZWQgfiAuaGVhZGVyTW9iaWxlIGxhYmVsLnNlYXJjaCBpLmljb24tc2VhcmNoXG57XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG5cbi8qPT09PT09PT09PSAgTUVOVSBIQU5ETEVSICA9PT09PT09PT09Ki9cblxuLm1lbnVNb2JpbGUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IC5zdWJtZW51XG57XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgxMDAlLCAwKSk7XG59IiwiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbiAoJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAgICAkbW96OiBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICAgJHNwZWM6IGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBsaXN0cyBmb3Igbm9uLXByZWZpeGVkIHRyYW5zaXRpb24gcHJvcGVydGllc1xuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6ICBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSAoJHByb3BlcnRpZXMuLi4pIHtcbiAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgJ3dlYmtpdCcpO1xuICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnbW96Jyk7XG4gICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24gKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiAoJG1vdGlvbnMuLi4pIHtcbi8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkgKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuXG5cblx0LmZvb3RlciBcblx0e1xuXHRcdHBhZGRpbmc6IDE4cHggMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZSB1cmwoJy9wdWJsaWMvaW1nL2Zvb3RlclBhdHRlcm4uanBnJyk7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXG5cdFx0YVxuXHRcdHtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0XHQmOmhvdmVyXG5cdFx0XHR7XG5cdFx0XHRcdGNvbG9yOiAkYmx1ZUxpZ2h0O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQubGFiZWxcblx0XHR7XG5cdFx0XHRmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBlbSgxMik7XG5cdFx0fVxuXG5cblx0XHQubG9nb1xuXHRcdHtcblx0XHRcdHBhZGRpbmctdG9wOiAzMHB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXG5cdFx0LmFkZHJlc3Ncblx0XHR7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHBhZGRpbmc6IDIwcHggNzVweCAwIDMwcHg7XG5cblx0XHRcdGFcblx0XHRcdHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zaG9ydGN1dHNcblx0XHR7XG5cdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRibHVlTGlnaHQ7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHBhZGRpbmc6IDIwcHggNTBweCAyMHB4IDExNXB4O1xuXHRcdH1cblxuXHRcdC5mb2xsb3dcblx0XHR7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDAgMCAwO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXG5cdFx0LmJvdHRvbVxuXHRcdHtcblx0XHRcdG1hcmdpbi10b3A6IDE4cHg7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWVMaWdodDtcblx0XHRcdHBhZGRpbmc6IDIwcHggMCAxMHB4IDA7XG5cblx0XHRcdC5jb3B5cmlnaHRcblx0XHRcdHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRjb2xvcjogJGJsdWVMaWdodDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0XHR1bFxuXHRcdFx0e1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblxuXHRcdFx0XHRsaVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMTBweDtcblxuXHRcdFx0XHRcdGFcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogMjAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG4iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuYm9keSNib2R5XzBfMFxue1xuICAgIC5icmVhZGNydW1iXG4gICAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ibG9jay1uZXdzXG4gICAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJsb2NrLXBhcnRuZXJzXG4gICAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmdyLTRcbiAgICAgICAge1xuICAgICAgICAgICAgLy8gd2lkdGg6IDMyJTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmRcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZzogZW0oMjApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgLmltZ1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibHVlQnV0dG9uXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMuc2Nzc1wiO1xuXG5cbi5hcnRpY2xlXG57XG4gICAgLmluZm9cbiAgICB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDQwKTtcblxuICAgICAgICBkaXZcbiAgICAgICAge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSgxNikgZW0oMTApO1xuXG4gICAgICAgICAgICBpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVMaWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBlbSg1MCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSg1MCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBlbSgxNSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSg1MCk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcblxuICAgICAgICAgICAgICAgICYuZW1haWxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4uZGVzY1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbmRpdltzdHlsZSo9XCJtYXgtaGVpZ2h0OlwiXVxue1xuLy8gICAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuIiwiQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cblxuLnBhcnRuZXJzXG57XG4gICAgLmNhcmRcbiAgICB7XG4gICAgICAgIHBhZGRpbmc6IGVtKDIwKTtcblxuICAgICAgICAuaW1nXG4gICAgICAgIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKVxue1xuICAgIC5wYXJ0bmVyc1xuICAgIHtcbiAgICAgICAgLmNhcmRcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZzogZW0oMTApO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMuc2Nzc1wiO1xuXG5cbi5nYWxsZXJpZXNcbntcbiAgICAuZ2FsbGVyeVxuICAgIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICAubGFiZWxcbiAgICB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSlcbi8vIHtcblxuLy8gfSIsIkBpbXBvcnQgXCIuLi9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMuc2Nzc1wiO1xuXG5cbi5hcnRpY2xlXG57XG4gICAgaDUuZGF0ZVxuICAgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogZW0oNDApO1xuXG4gICAgICAgIC8vICY6YmVmb3JlXG4gICAgICAgIC8vIHtcbiAgICAgICAgLy8gICAgIEBleHRlbmQgLmNscjtcblxuICAgICAgICAvLyAgICAgLy8gY29udGVudDogJyc7XG4gICAgICAgIC8vICAgICAvLyBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgLy8gICAgIC8vIGNsZWFyOiBib3RoO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgLmF1dGhvclxuICAgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogZW0oMzApO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKVxue1xuICAgIC8vIC5hcnRpY2xlXG4gICAgLy8ge1xuXG4gICAgLy8gfVxufSIsIkBpbXBvcnQgXCIuLi9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMuc2Nzc1wiO1xuXG5cbiNib2R5XzZfMFxue1xuICAgIC5iaWxsYm9hcmRcbiAgICB7XG4gICAgICAgIGhlaWdodDogZW0oNDUwKTtcbiAgICB9XG5cbiAgICAubWFwXG4gICAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuXG5cbiNib2R5X3BvcnRfMFxue1xuICAgIC5iaWxsYm9hcmRcbiAgICB7XG4gICAgICAgIGhlaWdodDogZW0oNTUwKTtcbiAgICB9XG59XG5cblxuLnBvcnRzXG57XG4gICAgLm1hcmtlciAuaVxuICAgIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICAuY29udHJvbGwtcGFuZWxcbiAgICB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiBlbSgtMTQwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oNzApO1xuICAgICAgICBwYWRkaW5nOiBlbSgxMCk7XG5cbiAgICAgICAgLmNvbnRyb2xsLXdyYXBwZXJcbiAgICAgICAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGVtKDQwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgZW0oMjApO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWVMaWdodDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5jb250cm9sbC1oZWFkZXJcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWxcbiAgICAgICAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBsaVxuICAgICAgICB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgZW0oNSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSgzNSk7XG5cbiAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi50eXBlLTEgaVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVMaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnJvd3NcbiAgICAgICAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG5cbiAgICAgICAgICAgIGlcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWVMaWdodDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sZWZ0XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGVtKC01MCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucmlnaHRcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogZW0oNjQwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXJcbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubGVhZFxuICAgIC8vIHtcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vICAgICBwYWRkaW5nOiBlbSgxMCk7XG4gICAgLy8gICAgIGNvbG9yOiAkYmx1ZURhcms7XG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IGVtKDQwKTtcbiAgICAvLyB9XG5cbiAgICAudmlldy1tYXBcbiAgICB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZUxpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiBlbSg2KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiBlbSg1KTtcblxuICAgICAgICBpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGVtKDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm9cbiAgICB7XG4gICAgICAgIGRpdiBzcGFuIHNwYW4gaVxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogZW0oMTIpO1xuICAgICAgICAgICAgaGVpZ2h0OiBlbSgxMik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZW0oMTApO1xuXG4gICAgICAgICAgICAmLmxpZ2h0XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVMaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlc1xuICAgIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgzMCk7XG5cbiAgICAgICAgZGl2XG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBlbSgxNTApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZUxpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgyNSk7XG5cblxuICAgICAgICAgICAgaVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IGVtKC0xMCkgZW0oMjIpIGVtKDUpIGVtKDIyKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRibHVlTGlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlTGlnaHQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBlbSg1MCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSg1MCk7XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiBlbSgxMCk7ICBcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDUwKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDI4KTtcbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKVxue1xuXG4gICAgI2JvZHlfNl8wLFxuICAgIHtcbiAgICAgICAgLmJpbGxib2FyZFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcnRzXG4gICAge1xuICAgICAgICAuY29udHJvbGwtcGFuZWxcbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cblxuLmFydGljbGVcbntcbiAgICAucmVudC1hLWJvYXRcbiAgICB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIH1cblxuICAgIC5jYXJvdXNlbHMtdGFiXG4gICAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDMwKTtcblxuICAgICAgICAuYmx1ZUJ1dHRvblxuICAgICAgICB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSgxNSk7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAmLmludmVyc2VcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZUxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hpcC1pbmZvIGk6YmVmb3JlXG4gICAge1xuICAgICAgICBmb250LXNpemU6IGVtKDQwKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG5AaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSlcbntcbiAgICAvLyAuYXJ0aWNsZVxuICAgIC8vIHtcblxuICAgIC8vIH1cbn0iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuXG4jYm9keV9wcm9ncmFtc19pbmRleF8wLFxuI2JvZHlfcHJvZ3JhbXNfdG93bl8wXG57XG4gICAgLmJpbGxib2FyZFxuICAgIHtcbiAgICAgICAgaGVpZ2h0OiBlbSg0NTApO1xuICAgIH1cblxuICAgIC5tYXBcbiAgICB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4ucHJvZ3JhbXNcbntcbiAgICAuaW5mb1xuICAgIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY+ZGl2XG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBzcGFuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKVxue1xuICAgICNib2R5X3Byb2dyYW1zX2luZGV4XzAsXG4gICAgI2JvZHlfcHJvZ3JhbXNfdG93bl8wLFxuICAgIHtcbiAgICAgICAgLmJpbGxib2FyZFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuI2JvZHlfc2lnaHRzX2luZGV4XzAsXG4jYm9keV9zaWdodHNfdG93bl8wXG57XG4gICAgLmJpbGxib2FyZFxuICAgIHtcbiAgICAgICAgaGVpZ2h0OiBlbSg0NTApO1xuICAgIH1cblxuICAgIC5tYXBcbiAgICB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4uc2lnaHRzXG57XG4gICAgLmluZm9cbiAgICB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmPmRpdlxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgc3BhblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSlcbntcbiAgICAjYm9keV9zaWdodHNfdG93bl8wLFxuICAgICNib2R5X3NpZ2h0c19pbmRleF8wLFxuICAgIHtcbiAgICAgICAgLmJpbGxib2FyZFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuLm1hcFxue1xuXHQubWFya2VyXG5cdHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuXG5cdFx0c3BhblxuXHRcdHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRjb2xvcjogYmxhY2s7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdC8vIEBpbmNsdWRlIHN0cm9rZSgyLCAjRjJGMkYyKTtcblx0XHRcdHRleHQtc2hhZG93OiAxcHggMXB4IHJnYmEoMjQyLDI0MiwyNDIsLjgpO1xuXHRcdH1cbiAgICAgICAgaVxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGJsdWU7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWVMaWdodDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICBcdCYuaW5hY3RpdmVcbiAgICAgICBcdHtcbiAgICAgICBcdFx0c3BhblxuICAgICAgIFx0XHR7XG4gICAgICAgXHRcdFx0Y29sb3I6ICM2MzYzNjM7XG4gICAgICAgXHRcdH1cblxuICAgICAgIFx0XHRpXG4gICAgICAgXHRcdHtcbiAgICAgICBcdFx0XHRib3JkZXItY29sb3I6ICNDMkMyQzI7XG4gICAgICAgXHRcdH1cbiAgICAgICBcdH1cblx0fVxufVxuIiwiQGltcG9ydCBcIi4uL2JvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL21peGlucy5zY3NzXCI7XG5cblxuICAgICNUaW1ldGFibGVcbiAgICB7XG5cbiAgICAgICAgLnByZWxvYWRpbmdcbiAgICAgICAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGVtKDQwMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheUxpZ2h0IHVybCgvcHVibGljL3N2Zy9mYWxsYmFjay5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDkwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogZW0oMzUwKTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIC5wcmVsb2FkXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogZW0oNSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAubW9kYWxcbiAgICAgICAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0MjBweDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuXG5cbiAgICAgICAgICAgIC5tb2RhbC1mZXJyeXRpbWV0YWJsZVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRhYmxlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0clxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGRcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm93aW5kb3ctY29udGVudFxuICAgICAgICB7XG4gICAgICAgICAgICBpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwIDQwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC10aHVtYm5haWxcbiAgICB7XG4gICAgICAgIC8vIGhlaWdodDogZW0oMTUwKTtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDQsMyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgICAgIHdpZHRoOiAxMDA7XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1mZXJyeVxuICAgIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgJGJsdWVEYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSA4MCUsICRibHVlRGFyayAwJSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFweCA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcblxuICAgICAgICAudGl0bGVcbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSgyMCkgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb3VudGRvd25cbiAgICAgICAge1xuICAgICAgICAgICAgLml0ZW1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGVtKDUpIDA7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgJGJsdWVEYXJrO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSA4MCUsICRibHVlRGFyayAwJSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFweCA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGVwYXJ0dXJlLXRpdGxlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGVwYXJ0dXJlLXRpbWVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDApO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRlcGFydHVyZS11bml0XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsdWVCdXR0b25cbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IGVtKDEwKSAwIGVtKDIwKSAwO1xuICAgICAgICAgICAgcGFkZGluZzogZW0oMTYpIGVtKDI1KTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAuY29tcG9udGVudC1maWx0ZXJcbiAgICB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlTGlnaHQ7XG4gICAgICAgIGhlaWdodDogZW0oNDE4KTtcbiAgICAgICAgcGFkZGluZzogZW0oMTUpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gICAgICAgICYuY29tcGFjdFxuICAgICAgICB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbmNvbnRhaW5lclxuICAgICAgICB7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBlbSg3KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGVtKDUpO1xuXG4gICAgICAgICAgICBpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVtKDMwKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmljb24tYW5nbGUtZG93blxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGVcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGVtKDQwKTtcblxuICAgICAgICAgICAgLnNtYWxsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRcbiAgICAgICAge1xuICAgICAgICAgICAgLy8gZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmljb25jb250YWluZXJcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcblxuICAgICAgICAgICAgICAgIGk6YmVmb3JlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICAgICAgZGl2XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBPcGVuIFNhbnMgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudHlwZXNcbiAgICAgICAgICAgIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY+ZGl2XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZW0oMzMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSgzMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMzMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBlbSgtMTApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFkZEZpZWxkXG4gICAgICAgIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgc3BhblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBlbSg1KSAwIGVtKDMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmx1ZUJ1dHRvblxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgICAgICAgICAgLy8gZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiBlbSg1KSAwO1xuICAgICAgICAgICAgcGFkZGluZzogZW0oMTUpIGVtKDMwKSBlbSgxNSkgZW0oMTUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVEYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvblxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiBlbSg1KSAwIGVtKDE1KSAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBzcGFuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY29tcG9udGVudC1tYXBcbiAgICB7XG4gICAgICAgIC5tYXBcbiAgICAgICAge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NzBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGN0Y3Rjc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LXdlYXRoZXJcbiAgICB7XG4gICAgICAgIGhlaWdodDogMTU1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBjb2xvcjogJGJsdWVMaWdodDtcblxuICAgICAgICAuY29udGFpbmVyXG4gICAgICAgIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCA2MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwcHg7XG5cbiAgICAgICAgICAgIC8vIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgJGJsdWU7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRibHVlIDAlLCAkYmx1ZSAzMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMzElLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSkgKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblxuICAgICAgICAgICAgZGl2XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgICAgICAgJi5sYWJlbFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4ICRibHVlTGlnaHQgc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmZpcnN0LWxpbmVcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYudmFsdWVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDgwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtNXB4IDAgMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuY29tcG9uZW50LXJvdXRlc1xuICAgIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IGVtKDUpIDAgZW0oNTApIDA7XG5cbiAgICAgICAgLnJvdXRlXG4gICAgICAgIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmx1ZUxpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGVtKDE1KTtcblxuICAgICAgICAgICAgLnRpdGxlXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDUpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGVtKDUwKTtcblxuICAgICAgICAgICAgICAgIC5yb3V0ZS10eXBlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJlbC1jZWxsO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xuXG4gICAgICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlRGFyaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZURhcms7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBlbSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBlbSgxMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgyMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2hvcnQtdGl0bGVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgZW0oNSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRyYXZlbC10aW1lXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAgICAgICAgIHNwYW5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVEYXJrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSg5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGVtKDYpIGVtKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLmxvbmctdGl0bGVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZUV4dHJhTGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBlbSgxMCkgMCBlbSgxNSkgMDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICBkaXZcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlc1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZUV4dHJhTGlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZW0oMTUpIDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI4KTtcblxuICAgICAgICAgICAgICAgICY+c3BhblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBlbSg3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucmVmZXJlbFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC50aXRsZSAuc2hvcnQtdGl0bGVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC50cmlwXG4gICAgICAgIHtcblxuICAgICAgICAgICAgbWFyZ2luOiBlbSgxNSkgZW0oMTUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMCkgMzAlLCAkYmx1ZUV4dHJhTGlnaHQgMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjglIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFweCAxM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlTGlnaHQ7XG5cbiAgICAgICAgICAgIC5zdG9wOmxhc3QtY2hpbGRcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZW0oMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3BcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGVtKDE1KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWVFeHRyYUxpZ2h0O1xuXG5cbiAgICAgICAgICAgIC5kZXBhcnR1cmUtdGltZVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgc3BhblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogZW0oNSkgZW0oNSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN0b3AtaWNvblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2JTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZUV4dHJhTGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGVtKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZVxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9wLWluZm9cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY0JTtcblxuICAgICAgICAgICAgICAgIC50aXRsZVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmVcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuZGVwYXJ0dXJlLXRpbWUgc3BhblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3RvcC1pY29uIGlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaGlkZVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmNvbW1hbmRzXG4gICAgICAgIHtcbiAgICAgICAgICAgIG1hcmdpbjogZW0oMjUpIGVtKDE1KTtcblxuICAgICAgICAgICAgLmJsdWVCdXR0b25cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgICAgICAgICAgICAvLyBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogZW0oNSkgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBlbSgxNSkgZW0oMzApIGVtKDE1KSBlbSgxNSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBlbSg3KTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBlbSg0MCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogZW0oNDApO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5jb21wb25lbnQtbW9kYWxcbiAgICB7XG4gICAgICAgIC5pY29uY29udGFpbmVyXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBlbSgxMCk7XG5cbiAgICAgICAgICAgIGlcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBlbSgyKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVtKDMwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMzApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogZW0oMCkgZW0oNSk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMjYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWVMaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuI1RpbWV0YWJsZVxue1xuICAgIC50cmlwc1xuICAgIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byhkZXNrdG9wKVxue1xuXG4gICAgI1RpbWV0YWJsZVxuICAgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG5cbiAgICAgICAgLmdyLTNcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAuZ3ItOVxuICAgICAgICB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYm9keV9yb3V0ZV9mZXJyeV8wLFxuICAgICNib2R5XzlfMlxuICAgIHtcbiAgICAgICAgLmNvbXBvbnRlbnQtbWFwXG4gICAgICAgIHtcbiAgICAgICAgICAgIC5tYXBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDkyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8obW9iaWxlKVxue1xuXG4gICAgI1RpbWV0YWJsZVxuICAgIHtcbiAgICAgICAgLmNvbXBvbmVudC1mZXJyeVxuICAgICAgICB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuXG5cbi5pbnF1aXJ5LW92ZXJsYXlcbntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kYWwgLmlucXVpcnktb3ZlcmxheVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW5xdWlyeVxue1xuICAgICY+RElWXG4gICAge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogT3BlbiBTYW5zO1xuICAgIH1cbiAgICBsYWJlbFxuICAgIHtcbiAgICAgICAgY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgIGhyXG4gICAge1xuICAgICAgICBib3JkZXItY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jYXB0aW9uXG4gICAge1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICB9XG4gICAgLmJsdWVCdXR0b25cbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjApO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn0iLCJAaW1wb3J0IFwiLi4vYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zLnNjc3NcIjtcblxuW2lkXj1cImJvZHlfMTBfXCJdLFxuW2lkXj1cImJvZHlfOV9cIl0sXG5baWRePVwiYm9keV9yb3V0ZV9cIl0sXG57XG4gICAgI1RpbWV0YWJsZVxuICAgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LXdlYXRoZXJcbiAgICB7XG4gICAgXHRkaXNwbGF5OiBub25lO1xuICAgIH1cbn0iLCJAaW1wb3J0IFwiYm91cmJvbi9ib3VyYm9uXCI7XG5AaW1wb3J0IFwibWl4aW5zLnNjc3NcIjtcblxuXG5cblxuXG5AaW5jbHVkZSByZXNwb25kLXRvKG1vYmlsZSkgXG57XG5cbiAgICAud3JhcHBlck1vYmlsZVxuICAgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLndyYXBwZXJcbiAgICB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC53cmFwcGVyRGVza3RvcCxcbiAgICAuYnJlYWRjcnVtYixcbiAgICAuZm9vdGVyXG4gICAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuXG4gICAgLmJsb2NrLXRpdGxlXG4gICAge1xuICAgICAgICBmb250LXNpemU6IGVtKDMwKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5ibHVlQnV0dG9uLmRvdWJsZVxuICAgIHtcbiAgICAgICAgLy8gcGFkZGluZzogZW0oMTApIGVtKDQwKTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyMCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICB9XG5cblxuXG59XG5cblxuXG5AaW5jbHVkZSByZXNwb25kLXRvKGRlc2t0b3ApIFxueyBcbiAgICAud3JhcHBlck1vYmlsZVxuICAgIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAud3JhcHBlckRlc2t0b3BcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC53cmFwcGVyIFxuICAgIHtcbiAgICAgICAgbWF4LXdpZHRoIDogMzBweCArIDk0MHB4O1xuICAgICAgICBtYXJnaW4gOiAwIGF1dG87XG4gICAgfVxuICAgIFxuXG4gICAgLnNpYmxpbmctbWVudVxuICAgIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */