@keyframes swingOutX {
    0% {
        transform: translateX(-50%) perspective(400px) rotateX(0deg); }
    100% {
        transform: translateX(-50%) perspective(400px) rotateX(-90deg); } }

@keyframes swingInX {
    0% {
        transform: translateX(-50%) perspective(400px) rotateX(-90deg); }
    100% {
        transform: translateX(-50%) perspective(400px) rotateX(0deg); } }

@keyframes pulse {
    0% {
        transform: scale3d(1, 1, 1); }
    50% {
        transform: scale3d(1.05, 1.05, 1.05); }
    100% {
        transform: scale3d(1, 1, 1); } }

/**
 * Foundation for Sites by ZURB
 * Version 6.2.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device 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,
hgroup,
main,
menu,
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/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
    display: none; }

p { font-size: 2em; line-height: 3.3em;}

p:not(.nostyle):first-child::first-letter {
    background: url("../img/home/letter.png") no-repeat 0 10px / 55px 55px;
    font-family: "Lora", serif;
    font-weight: bold;
    font-size: 2.5em;
    float: left;
    color: #fae4c4;
    text-transform: uppercase;
    text-shadow: 2px 0 0 rgba(0,0,0, 0.15), -2px 0 0 rgba(0,0,0, 0.15), 0 2px 0 rgba(0,0,0, 0.15), 0 -2px 0 rgba(0,0,0, 0.15);
    top: -10px;
    padding: 20px 13px 15px 13px;
    margin-top: -0.2em;
    margin-right:0.15em;
    margin-left:-0.03em;
    clear: both;
}

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
    background-color: transparent; }

.link {
    color: #795a56;
    text-decoration: underline;
}

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
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 variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
    font-size: 2em;
    margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
    background: #ff0;
    color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
    font-size: 80%; }

/**
   * 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
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
    margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
    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: not-allowed; }

/**
   * 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.
   */
input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    box-sizing: content-box;
    /* 2 */ }

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

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 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; }

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

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

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

body {
    padding: 0;
    margin: 0;
    font-family: "Lora", serif;
    font-weight: normal;
    line-height: 1.6;
    color: #0a0a0a;
    background: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

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

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

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

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

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Lora", serif;
    font-weight: normal;
    font-style: normal;
    color: inherit;
    text-rendering: optimizeLegibility;
    margin-top: 0;
    margin-bottom: 0.5rem;
    line-height: 1.4; }
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    color: #cacaca;
    line-height: 0; }

h1 {
    font-size: 1.5rem; }

h2 {
    font-size: 1.25rem; }

h3 {
    font-size: 1.1875rem; }

h4 {
    font-size: 1.125rem; }

h5 {
    font-size: 1.0625rem; }

h6 {
    font-size: 1rem; }

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

a {
    color: #47110a;
    text-decoration: none;
    line-height: inherit;
    cursor: pointer; }
a:hover, a:focus {
    color: #3d0f09; }
a img {
    border: 0; }

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

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

li {
    font-size: inherit; }

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

ol {
    margin-left: 1.25rem; }

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

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

blockquote {
    margin: 0 0 1rem;
    padding: 0.5625rem 1.25rem 0 1.1875rem;
    border-left: 1px solid #cacaca; }
blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
    display: block;
    font-size: 0.8125rem;
    color: #8a8a8a; }
cite:before {
    content: '\2014 \0020'; }

abbr {
    color: #0a0a0a;
    cursor: help;
    border-bottom: 1px dotted #0a0a0a; }

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

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

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

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

.stat {
    font-size: 2.5rem;
    line-height: 1; }
p + .stat {
    margin-top: -1rem; }

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

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

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

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

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

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

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

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

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

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

.hide {
    display: none !important; }

.invisible {
    visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.show-for-sr,
.show-on-focus {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }

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

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

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

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

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

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

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

.clearfix::after {
    clear: both; }

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

.align-center {
    -ms-flex-pack: center;
    justify-content: center; }

.align-justify {
    -ms-flex-pack: justify;
    justify-content: space-between; }

.align-spaced {
    -ms-flex-pack: distribute;
    justify-content: space-around; }

.align-top {
    -ms-flex-align: start;
    align-items: flex-start; }

.align-self-top {
    -ms-flex-item-align: start;
    align-self: flex-start; }

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

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

.align-middle {
    -ms-flex-align: center;
    align-items: center; }

.align-self-middle {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center; }

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

.align-self-stretch {
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch; }

.small-order-1 {
    -ms-flex-order: 1;
    order: 1; }

.small-order-2 {
    -ms-flex-order: 2;
    order: 2; }

.small-order-3 {
    -ms-flex-order: 3;
    order: 3; }

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

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

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

@media screen and (min-width: 40em) {
    .medium-order-1 {
        -ms-flex-order: 1;
        order: 1; }
    .medium-order-2 {
        -ms-flex-order: 2;
        order: 2; }
    .medium-order-3 {
        -ms-flex-order: 3;
        order: 3; }
    .medium-order-4 {
        -ms-flex-order: 4;
        order: 4; }
    .medium-order-5 {
        -ms-flex-order: 5;
        order: 5; }
    .medium-order-6 {
        -ms-flex-order: 6;
        order: 6; } }

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

@media screen and (min-width: 100em) {
    .xxxlarge-order-1 {
        -ms-flex-order: 1;
        order: 1; }
    .xxxlarge-order-2 {
        -ms-flex-order: 2;
        order: 2; }
    .xxxlarge-order-3 {
        -ms-flex-order: 3;
        order: 3; }
    .xxxlarge-order-4 {
        -ms-flex-order: 4;
        order: 4; }
    .xxxlarge-order-5 {
        -ms-flex-order: 5;
        order: 5; }
    .xxxlarge-order-6 {
        -ms-flex-order: 6;
        order: 6; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
    background-color: #eed1a5; }

.root {
    overflow: hidden; }

.container {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto; }
.container__content {
    max-width: 940px;
    width: 100%;
    margin: 0 auto;
    position: relative; }
.container__content--flex {
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center; }
.container__content--small {
    max-width: 625px; }
.container__second {
    display: none; }
@media screen and (min-width: 64em) {
    .container__second {
        display: block; } }
.container__second__banner {
    width: 100%;
    background: url("../img/home/home-banner-2.png") no-repeat;
    background-size: cover;
    background-position: center;
    -ms-transform: translateY(-10%);
    transform: translateY(-10%);
    height: 250px; }
@media screen and (min-width: 40em) {
    .container__second__banner {
        background-size: contain;
        height: 500px; } }
@media screen and (min-width: 64em) {
    .container__second__banner {
        height: 800px;
        -ms-transform: translateY(-20%);
        transform: translateY(-20%); } }
@media screen and (min-width: 75em) {
    .container__second__banner {
        height: 900px; } }
@media screen and (min-width: 90em) {
    .container__second__banner {
        height: 1041px; } }
.container__second__img {
    margin-top: -16%;
    width: 100%; }
.container__three {
    overflow: hidden;
    margin-top: 40px; }
@media screen and (min-width: 75em) {
    .container__three {
        margin-top: 60px; } }
@media screen and (min-width: 90em) {
    .container__three {
        margin-top: 80px; } }

.title {
    color: #47110a;
    font-weight: 400;
    display: inline-block;
    position: relative;
    margin-bottom: 55px;
    font-size: 1.875rem; }
@media screen and (min-width: 64em) {
    .title {
        font-size: 2.125rem;
        margin-bottom: 80px; } }
@media screen and (min-width: 75em) {
    .title {
        font-size: 2.875rem;
        margin-bottom: 110px; } }
.title--bold {
    font-weight: 700; }
.title__bottom {
    display: block;
    background: url("../img/home/title-bottom.png") no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    bottom: -50px;
    width: 350px;
    height: 40px;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
@media screen and (min-width: 64em) {
    .title__bottom {
        width: 526px;
        height: 63px;
        bottom: -50px; } }
@media screen and (min-width: 75em) {
    .title__bottom {
        width: 726px;
        height: 63px;
        bottom: -60px; } }
.title:after, .title:before {
    content: "";
    display: block;
    background: url("../img/home/title-ic.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    width: 40px;
    height: 22px;
    left: -45px; }
@media screen and (min-width: 75em) {
    .title:after, .title:before {
        width: 60px;
        height: 32px;
        left: -81px; } }
.title:after {
    left: auto;
    right: -45px;
    -ms-transform: translateY(-40%) rotate(180deg);
    transform: translateY(-40%) rotate(180deg); }
@media screen and (min-width: 75em) {
    .title:after {
        right: -81px; } }
.title__medium {
    line-height: 1.53;
    font-size: 1.5rem;
    margin-bottom: 27px; }
.title__medium:after, .title__medium:before {
    display: none; }
@media screen and (min-width: 64em) {
    .title__medium {
        font-size: 1.625rem; } }
@media screen and (min-width: 75em) {
    .title__medium {
        font-size: 1.875rem; } }

.letter {
    width: 55px;
    height: 55px;
    display: block;
    float: left;
    margin-right: 15px;
    margin-top: 5px;
    background-size: contain;
    background-repeat: no-repeat; }
.letter--s {
    background-image: url("../img/home/letter-s.png"); }
.letter--b {
    background-image: url("../img/home/letter-b.png"); }
.letter--o {
    background-image: url("../img/home/letter-o.png"); }
.letter--f {
    background-image: url("../img/home/letter-f.png"); }
.letter--y {
    background-image: url("../img/home/letter-y.png"); }
.letter--長 {
    background-image: url("../img/home/letter-長.png"); }
.letter--ﾌ {
    background-image: url("../img/home/letter-ﾌ.png"); }
.letter--私 {
    background-image: url("../img/home/letter-私.png"); }
.letter--ブ {
    background-image: url("../img/home/letter-ブ.png"); }


.merchant {
    width: 250px;
    height: 125px;
    display: block;
    float: left;
    margin-right: 15px;
    margin-top: 5px;
    background-size: contain;
    background-repeat: no-repeat; }
.merchant_right {
    width: 250px;
    height: 125px;
    display: block;
    float: right;
    margin-right: 15px;
    margin-top: 5px;
    background-size: contain;
    background-repeat: no-repeat; }
.partner {
    background-image: url("../img/home/partner.png"); }
.premium {
    background-image: url("../img/home/premium.png"); }
.public {
    background-image: url("../img/home/public.png"); }

.mb-wrap {
    width: 300px;
    margin: 20px auto;
    padding: 20px;
    position: relative;
}

.mb-wrap p{
    margin: 0;
    padding: 0;
}

.mb-wrap blockquote {
    margin: 0;
    padding: 0;
    position: relative;
}

.mb-wrap cite {
    font-style: normal;
}

.mb-style-3 {
    width: 600px;
}

.mb-style-3 blockquote{
    background: #e5c18e;
    padding: 30px;
    border-radius: 5px;
    box-shadow:
        -5px -4px 25px rgba(0, 0, 0, 0.3);
}

.mb-style-3 blockquote:after,
.mb-style-3 blockquote:before  {
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.mb-style-3 blockquote:after  {
    border-top-color: #e5c18e;
    border-width: 10px;
    left: 65%;
    margin-left: -10px;
}

.mb-style-3 blockquote:before {
    border-top-color: rgba(0,0,0,0.01);
    border-width: 11px;
    left: 65%;
    margin-left: -11px;
}

.mb-style-3 blockquote p {
    font-family: 'Alegreya', serif;
    font-size: 24px;
    color: #957955;
    font-weight: 400;
    line-height: 40px;
    font-style: italic;
    text-indent: 100px;
    position: relative;
}

.mb-style-3 blockquote p:before{
    content: '\201C';
    font-family: serif;
    font-style: normal;
    font-weight: 700;
    position: absolute;
    font-size: 175px;
    top: 0px;
    left: -105px;
    color: rgba(188, 147, 200, 1);
    text-shadow: 7px 14px 10px rgba(0, 0, 0, 0.1);
}

.mb-style-3 .mb-attribution {
    text-align: right;
    padding: 20px 100px 20px 20px;
    position: relative;
}

.mb-style-3 .mb-thumb {
    display: block;
    width: 70px;
    height: 70px;
    border: 5px solid #e5c18e;
    border-radius: 50%;
    background: url(../img/home/147819d.jpg) no-repeat center center;
    position: absolute;
    right: 10px;
    bottom: 5px;
    box-shadow:
        inset 1px 1px 4px rgba(0,0,0,0.5),
        0 2px 3px rgba(0,0,0,0.6);
}

.mb-style-3 .mb-author{
    font-family: 'Alegreya SC', serif;
    font-weight: 700;
    font-size: 18px;
    color: rgba(188, 147, 200, 1);
    text-shadow: 0 1px 1px rgba(255,255,255,0.7);
}

.mb-style-3 cite a{
    font-family: 'Alegreya', serif;
    font-weight: 700;
    font-style: italic;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0,0,0,0.3);
}

.mb-style-3 cite a:hover{
    color: rgba(188, 147, 200, 1);
    text-shadow: 0 1px 1px rgba(255,255,255,0.7);
}

.lang {
    position: absolute;
    top: 0px;
    right: 10px;
}

@media screen and (min-width: 64em) {
    .lang {
        top: 180px;
        right: 15px; } }
@media screen and (min-width: 75em) {
    .lang {
        top: 180px;
        right: 15px; } }

.text {
    color: #2f1509;
    font-size: 1rem;
    font-weight: 400;
    padding-left: 7px;
    padding-right: 7px; }
@media screen and (min-width: 40em) {
    .text {
        padding-right: 0;
        padding-left: 0; } }
@media screen and (min-width: 64em) {
    .text {
        font-size: 1.125rem; } }
@media screen and (min-width: 75em) {
    .text {
        font-size: 1.25rem; } }
.text > p {
    line-height: 32px; }
.text > p:not(:last-child) {
    margin-bottom: 20px; }
@media screen and (min-width: 75em) {
    .text > p:not(:last-child) {
        margin-bottom: 40px; } }
.text__medium {
    color: #2f1509;
    font-family: "Lora", serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.44; }
@media screen and (min-width: 64em) {
    .text__medium {
        font-size: 1.75rem; } }
@media screen and (min-width: 75em) {
    .text__medium {
        font-size: 2.125rem; } }

.decor {
    width: 64px;
    height: 24px;
    display: block;
    margin: 25px auto;
    background: url("../img/home/decor.png") no-repeat;
    background-size: contain; }
@media screen and (min-width: 64em) {
    .decor {
        margin: 35px auto;
        width: 107px;
        height: 39px; } }
@media screen and (min-width: 75em) {
    .decor {
        margin: 50px auto; } }

.parchment-bg {
    background-color: transparent;
    position: relative;
    z-index: 8;
    margin-top: -60px;
    padding-top: 80px;
    background-image: url("../img/home/bg_title.jpg");
    background-size: contain;
    background-position: center -70px;
    padding-bottom: 100px; }
.parchment-bg:after, .parchment-bg:before {
    content: "";
    display: block;
    position: absolute;
    top: -100px;
    bottom: -70px;
    left: 0;
    z-index: -1;
    width: 340px;
    background-image: url("../img/home/left-swadow.png");
    background-repeat: repeat-y; }
.parchment-bg:before {
    left: auto;
    right: 0;
    background-image: url("../img/home/right-shadow.png"); }

.button {
    display: block;
    border: none;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    position: relative;
    width: 300px;
    height: 100px; }
@media screen and (min-width: 64em) {
    .button {
        width: 200px;
        height: 61.7px; } }
@media screen and (min-width: 90em) {
    .button {
        width: 300px;
        height: 100px; } }
.button--magic .sparkle-canvas {
    z-index: -1;
    left: 50% !important;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50% !important;
    border-radius: 40%; }
.button--gold .img {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    background: url("../img/Play-Free-Now4.png") no-repeat;
    background-size: contain; }
.button--gold .text {
    position: absolute;
    display: block;
    z-index: 10;
    background: transparent;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
    text-shadow: -1px -1px 0 #693a13, 1px -1px 0 #693a13, -1px 1px 0 #693a13, 1px 1px 0 #693a13, 0 3px 1px rgba(255, 255, 255, 0.28);
    color: white;
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 5.3125rem; }
@media screen and (min-width: 64em) {
    .button--gold .text {
        font-size: 1.125rem;
        line-height: 3.8rem; } }
@media screen and (min-width: 90em) {
    .button--gold .text {
        font-size: 1.75rem;
        line-height: 5.3125rem; } }
.button__primary {
    width: 321px;
    height: 74px;
    background-color: transparent;
    background-image: url("../img/home/btn-bg-primary.png");
    background-repeat: no-repeat;
    background-size: cover;
    text-shadow: 0 4px 1px rgba(96, 39, 4, 0.28);
    color: white;
    font-weight: 700;
    font-size: 1.25rem;
    text-align: center;
    line-height: 74px; }
.button__primary .shine {
    top: 0;
    bottom: 0; }
@media screen and (min-width: 90em) {
    .button__primary {
        font-size: 1.375rem; } }
.button__primary:hover, .button__primary:focus {
    color: #fff; }
.button__primary--gold {
    background-image: url("../img/home/btn-bg-primary-gold.png"); }
.button--content {
    width: 300px;
    height: 100px; }
.button--content .text {
    font-size: 2.125rem;
    line-height: 5.3125rem; }

.shine {
    position: absolute;
    overflow: hidden;
    display: block;
    z-index: 5;
    top: 15px;
    bottom: 22%;
    left: 10px;
    right: 10px; }

.shine:before {
    content: "";
    position: absolute;
    top: -110%;
    left: -210%;
    width: 200%;
    height: 200%;
    opacity: 0;
    background: rgba(255, 255, 255, 0.13);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%); }

/* Hover state - trigger effect */
.button:hover .shine:before {
    opacity: 1;
    top: -30%;
    left: -30%;
    transition-property: left, top, opacity;
    transition-duration: 0.7s, 0.7s, 0.15s;
    transition-timing-function: ease; }

/* Active state */
.shine:active:before {
    opacity: 0; }

.animated {
    animation-duration: 1s;
    animation-fill-mode: both; }

.pulse {
    animation-name: pulse; }

.form__group {
    position: relative;
    margin-bottom: 17px; }
.form__group__icon {
    position: absolute;
    left: 22px;
    top: 14px;
    display: block;
    width: 30px;
    height: 30px;
    background-image: url("../img/home/sprite-input.png");
    background-repeat: no-repeat; }
.form__group__icon--message {
    background-position: 1px 4px; }
.form__group__icon--name {
    background-position: 0px -74px; }
.form__group__icon--pass {
    height: 32px;
    background-position: 1px -146px; }

.form-control {
    border: none;
    outline: none;
    box-shadow: none;
    background-color: transparent;
    width: 100%;
    height: 58px;
    color: #47110a;
    font-family: "Lora", serif;
    font-size: 1.375rem;
    font-weight: 700;
    background-image: url("../img/home/input-bg.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding-left: 70px;
    padding-right: 20px;
    transition: all .5s ease;
    /* Webkit */
    /* Firefox 4-18 */
    /* Firefox 19+ */
    /* IE10+ */ }
.form-control:focus {
    background-image: url("../img/home/input_focus.png"); }
.form-control::-webkit-input-placeholder {
    color: #47110a; }
.form-control:-moz-placeholder {
    color: #47110a; }
.form-control::-moz-placeholder {
    color: #47110a; }
.form-control:-ms-input-placeholder {
    color: #47110a; }

.captcha-box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between; }
.captcha-box__img {
    width: 147px;
    height: 58px;
    line-height: 58px;
    text-align: center;
    background-image: url("../img/home/captcha-box__img.png");
    background-repeat: no-repeat;
    background-size: 100% 100%; }
.captcha-box .form__group {
    width: 209px; }
.captcha-box .form__group .form-control {
    background-image: url("../img/home/input-bg-sm.png");
    background-repeat: no-repeat;
    background-size: 100% 100%; }
.captcha-box .form-control {
    padding: 0;
    text-align: center; }

.logo {
    margin: 0;
    display: block;
    max-width: 403px;
    max-height: 161px;
    width: 100%;
    height: 100%;
    max-width: 480px;
    max-height: 160px; }
@media screen and (min-width: 64em) {
    .logo {
        max-width: 374px;
        max-height: 120px; } }
@media screen and (min-width: 75em) {
    .logo {
        max-width: 480px;
        max-height: 160px; } }
@media screen and (min-width: 90em) {
    .logo {
        max-width: 566px;
        max-height: 226px; } }
.logo a {
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/home/logo-lg.png") center no-repeat;
    background-size: cover; }

.btn-flex {
    display: -ms-flexbox;
    display: flex;
    padding-top: 38px;
    padding-bottom: 60px; }
@media screen and (min-width: 64em) {
    .btn-flex {
        margin: 0 -40px;
        padding-bottom: 80px; } }
@media screen and (min-width: 75em) {
    .btn-flex {
        padding-bottom: 100px; } }
.btn-flex .button {
    margin: 0 10px; }
@media screen and (min-width: 64em) {
    .btn-flex .button {
        margin: 0 15px; } }

.navigation {
    position: relative;
    margin: 0 auto;
    z-index: 9999;
    width: 100%;
    background: url("../img/home/bg-nav.png") no-repeat;
    background-size: contain;
    max-width: 745px;
    display: none; }
.navigation.headroom {
    display: none !important; }
@media screen and (min-width: 64em) {
    .navigation {
        background-size: contain;
        max-width: 860px; }
    .navigation.headroom {
        display: block !important; } }
@media screen and (min-width: 75em) {
    .navigation {
        background-size: cover;
        max-width: 963px; } }
.navigation--absolute {
    position: absolute;
    left: 50%;
    bottom: 5%;
    z-index: 777;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
.navigation:after, .navigation:before {
    content: "";
    display: block;
    position: absolute;
    width: 69px;
    height: 60px;
    left: -47px;
    top: 3px;
    background-image: url("../img/home/left-nav.png");
    background-repeat: no-repeat;
    background-size: contain; }
@media screen and (min-width: 64em) {
    .navigation:after, .navigation:before {
        top: 1px; } }
@media screen and (min-width: 90em) {
    .navigation:after, .navigation:before {
        top: 3px; } }
.navigation:before {
    left: auto;
    right: -50px;
    background-image: url(../img/home/right-nav.png);
    transform: rotate3d(0, 10, 0, 180deg); }
.navigation__list {
    padding: 0;
    margin: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding-left: 200px;
    padding-right: 200px;
    height: 68px;
    width: 100%; }
@media screen and (min-width: 64em) {
    .navigation__list {
        height: 83px; } }
.navigation__list__item {
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    margin-top: -7px; }
.navigation__list__item:not(:last-child):after {
    content: '';
    display: inline-block;
    width: 1px;
    position: absolute;
    left: 130%;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    margin-left: 20px;
    height: 20%;
    background: #444444;
    background: -webkit-gradient(left top, left bottom, color-stop(0%, #444444), color-stop(49%, black), color-stop(55%, black), color-stop(100%, #444444));
    background: linear-gradient(to bottom, #444444 0%, black 49%, black 55%, #444444 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#444444', GradientType=0);
    box-shadow: 0px 5px 6px 0px rgba(0, 0, 0, 0.5); }
@media screen and (min-width: 64em) {
    .navigation__list__item:not(:last-child):after {
        margin-left: 20px;
        height: 30%; } }
@media screen and (min-width: 75em) {
    .navigation__list__item:not(:last-child):after {
        margin-left: 30px; } }
.navigation__list__item:before {
    content: "";
    display: inline-block;
    opacity: 0;
    height: 22px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    transition: all .4s ease; }
.navigation__list__item.is-active:before, .navigation__list__item:hover:before {
    opacity: 1;
    background: url("../img/home/nav_hover.png") no-repeat;
    background-size: 100% 100%;
    background-position: bottom; }
.navigation__list__link {
    display: inline-block;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.77);
    color: white;
    font-family: "Cinzel", serif;
    font-weight: 700;
    position: relative;
    z-index: 666;
    text-transform: uppercase;
    font-size: 0.8125rem;
    transition: color .5s ease; }
@media screen and (min-width: 64em) {
    .navigation__list__link {
        font-size: 1rem; } }
.navigation__list__link:focus, .navigation__list__link:hover {
    color: white; }
.navigation__mobile {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    bottom: 0;
    background-color: #f3d6aa;
    background-image: url(../img/home/bg2.png), url(../img/home/bg.png);
    background-size: cover;
    background-position: center;
    z-index: 9999;
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    opacity: 0; }
.navigation__mobile__list {
    padding: 0;
    margin: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    height: 100%; }
.navigation__mobile__list li {
    list-style: none;
    display: inline-block;
    margin: 10px 0; }
.navigation__mobile__list li a {
    display: block;
    font-weight: 700; }
@media screen and (min-width: 40em) {
    .navigation__mobile__list li a {
        font-size: 1.25rem; } }
.navigation__mobile__logo {
    margin: 20px 0;
    margin-top: 25px; }
.navigation__mobile__logo a {
    display: block;
    width: 100%;
    height: 130px;
    background: url("../img/home/logo-lg.png") center no-repeat;
    background-size: contain;
    margin: 0 auto; }

.pagination {
    text-align: center; }
.pagination__list {
    padding: 0;
    margin: 0;
    display: inline-block; }
.pagination__list__item {
    list-style: none;
    display: inline-block;
    margin: 0 10px;
    position: relative;
    width: 38px;
    height: 44px;
    cursor: pointer; }
.pagination__list__item--prev, .pagination__list__item--next {
    width: auto;
    display: none; }
@media screen and (min-width: 40em) {
    .pagination__list__item--prev, .pagination__list__item--next {
        display: inline-block; } }
.pagination__list__item--prev:after, .pagination__list__item--next:after {
    display: none !important; }
.pagination__list__item.current:after {
    content: "";
    display: block;
    position: absolute;
    background-image: url("../img/home/hex-active.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
.pagination__list__item.current a {
    color: #795a56; }
.pagination__list__item:hover a {
    color: #795a56; }
.pagination__list__item:hover:after {
    /*content: "";*/
    display: block;
    position: absolute;
    background-image: url("../img/home/hex-active.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
.disabled:hover:after {
    content: "";
}
.pagination__list__link {
    display: block;
    height: 100%;
    width: 100%;
    font-family: "Cinzel", serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 44px;
    text-align: center;
    color: #47110a; }

.filter-panel {
    margin: 0;
    padding: 8px 0;
    margin-bottom: 20px;
    position: relative; }
@media screen and (min-width: 40em) {
    .filter-panel {
        background-image: url("../img/home/filter_frame.png");
        background-repeat: repeat-x;
        padding: 8px 20px; }
    .filter-panel:after, .filter-panel:before {
        content: "";
        display: block;
        position: absolute;
        left: -25px;
        top: 0;
        width: 25px;
        height: 50px;
        background-image: url("../img/home/filter_angle.png");
        background-repeat: no-repeat;
        background-size: contain; }
    .filter-panel:after {
        left: auto;
        right: -25px;
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); } }
@media screen and (min-width: 64em) {
    .filter-panel {
        margin-bottom: 25px;
        padding: 8px 25px; } }
@media screen and (min-width: 75em) {
    .filter-panel {
        margin-bottom: 45px; } }
.filter-panel--flex-center {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center; }
.filter-panel--flex-center .filter-panel__item {
    float: none; }
.filter-panel__item {
    position: relative;
    list-style: none;
    display: inline-block; }
.filter-panel__item.last {
    float: right; }
.filter-panel__item.last:after {
    width: 14px;
    height: 15px;
    margin-bottom: -2px;
    background-image: url(../img/home/filter_icon_last_child.png);
    margin-left: 7px; }
.filter-panel__item:after {
    content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    background-image: url(../img/home/pimka.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 7px; }
@media screen and (min-width: 40em) {
    .filter-panel__item:after {
        margin: 0 10px;
        width: 7px;
        height: 7px; } }
@media screen and (min-width: 64em) {
    .filter-panel__item:after {
        margin: 0 12px;
        width: 9px;
        height: 9px; } }
@media screen and (min-width: 75em) {
    .filter-panel__item:after {
        margin: 0 15px; } }
.filter-panel__item:last-child:after {
    display: none; }
.filter-panel__item.is-active .filter-panel__link, .filter-panel__item:hover .filter-panel__link {
    color: #a7732c; }
.filter-panel__link {
    font-family: Cinzel;
    font-weight: 900;
    line-height: 32px;
    color: #47110a;
    font-size: 0.8125rem; }

.filter-panel__link:hover {
    color: #cbe8ef;
}

@media screen and (min-width: 40em) {
    .filter-panel__link {
        font-size: 0.875rem; } }
@media screen and (min-width: 64em) {
    .filter-panel__link {
        font-size: 0.9375rem; } }
@media screen and (min-width: 75em) {
    .filter-panel__link {
        font-size: 1rem; } }

.global_link {
    display: inline-block;
    color: #47110a;
    text-decoration: underline;
}

.full_info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 30px; }
.full_info__link {
    color: #47110a;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: underline; }
.full_info__icon {
    display: inline-block;
    width: 50px;
    height: 51px;
    background: url("../img/home/full_info.png") no-repeat;
    background-size: contain; }

.headroom--pinned.headroom--not-top {
    display: block;
    position: fixed !important;
    z-index: 9999;
    top: 0;
    bottom: auto !important;
    -ms-transform-origin: top;
    transform-origin: top;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    animation-name: swingInX;
    animation-duration: .7s;
    animation-fill-mode: both; }

.headroom--unpinned.headroom--not-top {
    position: fixed !important;
    z-index: 9999;
    top: 0;
    bottom: auto !important;
    -ms-transform-origin: top;
    transform-origin: top;
    animation-name: swingOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    animation-duration: .7s;
    animation-fill-mode: both; }

.ui-nav {
    cursor: pointer; }
.ui-nav__close.close {
    position: absolute;
    right: 15px;
    top: 15px; }
.ui-nav__open {
    position: fixed;
    top: 15px;
    right: 15px;
    display: inline-block;
    z-index: 888;
    width: 61px;
    height: 51px;
    background: url("../img/home/open_nav.png") no-repeat;
    background-size: contain; }
@media screen and (min-width: 64em) {
    .ui-nav__open {
        width: 81px;
        height: 71px; } }
@media screen and (min-width: 64em) {
    .ui-nav {
        display: none; } }

.close {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    overflow: hidden; }
.close:hover::before, .close:hover::after {
    background: #4e9031; }
.close::before, .close::after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background: #000; }
.close::before {
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
.close::after {
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
.close.big {
    -ms-transform: scale(3);
    transform: scale(3); }
.close.hairline::before, .close.hairline::after {
    height: 1px; }
.close.thick::before, .close.thick::after {
    height: 4px;
    margin-top: -2px; }
.close.black::before, .close.black::after {
    height: 8px;
    margin-top: -4px; }
.close.heavy::before, .close.heavy::after {
    height: 12px;
    margin-top: -6px; }
.close.pointy::Before, .close.pointy::after {
    width: 200%;
    left: -50%; }
.close.rounded::before, .close.rounded::after {
    border-radius: 5px; }
.close.blades::before, .close.blades::after {
    border-radius: 5px 0; }
.close.warp::before, .close.warp::after {
    border-radius: 120% 0; }
.close.fat::before, .close.fat::after {
    border-radius: 100%; }

.top__banner {
    position: relative;
    z-index: 555; }
.top__banner__img {
    width: 100%;
    display: none; }
@media screen and (min-width: 64em) {
    .top__banner__img {
        display: inline-block; } }
.top__banner__img__bg {
    display: block;
    height: 602px;
    background: url("../img/home/mobile_banner.png") no-repeat;
    background-size: cover;
    background-position: center; }
@media screen and (min-width: 64em) {
    .top__banner__img__bg {
        display: none; } }
.top__banner__smoke {
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
.top__banner .logo, .top__banner .btn-box {
    position: absolute;
    z-index: 777;
    top: 50%;
    left: 50%; }
.top__banner .logo {
    top: 0;
    -ms-transform: translate(-50%, 10%);
    transform: translate(-50%, 10%); }
.top__banner .btn-box {
    top: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
@media screen and (min-width: 64em) {
    .top__banner .btn-box {
        top: 40%; } }
@media screen and (min-width: 75em) {
    .top__banner .btn-box {
        top: 35%; } }
.top__banner .btn-box .button {
    position: relative; }
.top__banner .btn-box .button:after {
    opacity: 0;
    transition: all .6s ease;
    box-shadow: 0 0 40px 60px rgba(207, 179, 132, 0.5);
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 20px;
    bottom: 20px;
    border-radius: 100%;
    z-index: -1; }
.top__banner .btn-box .button:hover {
    animation-name: pulse;
    animation-duration: .7s;
    animation-fill-mode: both;
    animation-iteration-count: infinite; }
.top__banner .btn-box .button:hover:after {
    opacity: 1;
    box-shadow: 0 0 40px 60px rgba(207, 179, 132, 0.5); }
.top__banner--small {
    max-height: 450px;
    background: url("../img/home/banner_small.png");
    background-size: cover;
    background-position: center; }
@media screen and (min-width: 40em) {
    .top__banner--small {
        height: 450px; } }
.top__banner--small .top__banner__img__bg {
    height: 450px; }
.top__banner--small > img {
    display: none;
    height: 100%; }
.top__banner--small .navigation--absolute {
    bottom: 9%; }
@media screen and (min-width: 90em) {
    .top__banner--small .navigation--absolute {
        bottom: 11%; } }
@media screen and (min-width: 75em) {
    .top__banner--small .btn-box.button--magic {
        top: 40%; } }
@media screen and (min-width: 90em) {
    .top__banner--small .btn-box.button--magic {
        top: 45%; } }
@media screen and (min-width: 64em) {
    .top__banner--small .logo {
        max-width: 392px;
        max-height: 140px; } }
@media screen and (min-width: 90em) {
    .top__banner--small .logo {
        max-width: 392px;
        max-height: 170px;
        top: 15px; } }

.home .parchment-bg {
    position: relative; }
.home .parchment-bg--top {
    display: block;
    position: absolute;
    top: -70px;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: url("../img/home/bg2.png");
    background-repeat: no-repeat;
    background-size: contain; }

.home__banner {
    background-image: url("../img/home/banner-home.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    z-index: 10; }
@media screen and (min-width: 62.25em) {
    .home__banner {
        background-size: cover;
        height: 387px; } }
@media screen and (min-width: 64em) {
    .home__banner {
        height: 400px; } }
@media screen and (min-width: 75em) {
    .home__banner {
        height: 467px; } }
@media screen and (min-width: 80em) {
    .home__banner {
        height: 498px; } }
@media screen and (min-width: 85.375em) {
    .home__banner {
        height: 531px; } }
@media screen and (min-width: 90em) {
    .home__banner {
        height: 560px; } }
@media screen and (min-width: 90em) {
    .home__banner {
        height: 622px; } }
@media screen and (min-width: 106.25em) {
    .home__banner {
        height: 747px; } }

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

.container__first {
    position: relative; }

.main {
    position: relative;
    z-index: 8; }
.main .parchment-bg {
    padding-top: 70px; }

.banner-carts {
    position: absolute;
    bottom: 10%;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 666;
    width: 350px;
    overflow: hidden;
    padding: 20px;
    box-sizing: content-box;
    display: none; }
@media screen and (min-width: 75em) {
    .banner-carts {
        display: inline-block; } }
@media screen and (min-width: 90em) {
    .banner-carts {
        width: 500px; } }
.banner-carts .sparkle-canvas {
    z-index: -1;
    top: -2% !important;
    left: 50% !important;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -ms-transform-origin: left;
    transform-origin: left;
    border-radius: 100%; }
@media screen and (min-width: 90em) {
    .banner-carts__canvas img {
        margin-bottom: -25px; } }

.video {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 280px;
    margin-top: 37px;
    margin-bottom: 15px; }
@media screen and (min-width: 25em) {
    .video {
        margin-bottom: 10px;
        height: 280px; } }
@media screen and (min-width: 30em) {
    .video {
        height: 390px; } }
@media screen and (min-width: 40em) {
    .video {
        width: 500px;
        height: 400px;
        margin-top: 47px;
        margin-bottom: 44px; } }
@media screen and (min-width: 64em) {
    .video {
        width: 659px;
        height: 527px;
        margin-right: -15px;
        margin-left: -15px;
        margin-top: 57px;
        margin-bottom: 54px; } }
.video__wallpaper {
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 13px;
    top: 15px;
    z-index: -1;
    background-image: url("../img/home/video__wallpaper.png");
    background-repeat: no-repeat;
    background-size: 100% 100%; }
@media screen and (min-width: 75em) {
    .video__wallpaper {
        top: 20px;
        right: 20px;
        bottom: 20px; } }
.video__wallpaper_2 {
    background-image: url("../img/home/video__wallpaper_2.png"); }
.video__title {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-weight: 900;
    text-transform: uppercase;
    position: absolute;
    top: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-top: 10px;
    font-size: 0.75rem; }
@media screen and (min-width: 31.25em) {
    .video__title {
        font-size: 0.9375rem; } }
@media screen and (min-width: 40em) {
    .video__title {
        margin-top: 15px;
        font-size: 0.8125rem; } }
@media screen and (min-width: 64em) {
    .video__title {
        font-size: 1.4375rem; } }
.video__frame {
    position: absolute;
    top: 40px;
    bottom: 0;
    left: 0;
    right: 0;
    background: url("../img/home/video__decor.png") no-repeat;
    background-size: contain; }
.video__decor {
    bottom: 0;
    left: 0;
    right: 0;
    background: url(../img/home/frame__video.png) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 90%;
    position: absolute;
    overflow: hidden; }
.video__rectangle {
    display: none; }
@media screen and (min-width: 64em) {
    .video__rectangle {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        display: block;
        background: url("../img/home/video-rectangle.png") no-repeat;
        background-size: contain; } }
.video__play {
    display: block;
    background-image: url("../img/home/play.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    top: 55%;
    width: 100px;
    height: 100px;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    cursor: pointer;
    transition: background .4s ease; }
@media screen and (min-width: 75em) {
    .video__play {
        width: 120px;
        height: 120px;
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); } }
.video__play:hover {
    background-image: url("../img/home/play__hover.png"); }
.video__image {
    display: none; }
@media screen and (min-width: 75em) {
    .video__image {
        display: block;
        position: absolute;
        top: 0; }
    .video__image__left {
        left: 0;
        width: 358px;
        height: 428px;
        background: url("../img/home/video__left_img.png") no-repeat;
        -ms-transform: translate(-100%, 20%);
        transform: translate(-100%, 20%); }
    .video__image__right {
        right: 0;
        width: 290px;
        height: 347px;
        background: url("../img/home/video__right_img.png") no-repeat;
        -ms-transform: translate(100%, 30%);
        transform: translate(100%, 30%); } }

.container-slider {
    position: relative;
    margin-top: 30px; }
@media screen and (min-width: 64em) {
    .container-slider {
        margin-top: 45px; } }
.container-slider__frame {
    display: none; }
@media screen and (min-width: 48em) {
    .container-slider__frame {
        display: block;
        position: absolute;
        top: -13px;
        bottom: -16px;
        left: -60px;
        right: -60px;
        background: url("../img/home/slider__frame.png") -1px 6px no-repeat;
        background-size: contain; } }
.container-slider__nav {
    display: none; }
@media screen and (min-width: 48em) {
    .container-slider__nav {
        width: 55px;
        height: 120px;
        display: block;
        position: absolute;
        left: 0;
        top: 50%; } }
.container-slider__nav--left {
    background: url("../img/home/container-slider__nav--left.png") no-repeat;
    background-size: contain;
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%); }
.container-slider__nav--right {
    background: url("../img/home/container-slider__nav--right.png") no-repeat;
    background-size: contain;
    left: auto;
    right: 0;
    -ms-transform: translate(100%, -50%);
    transform: translate(100%, -50%); }
.container-slider__nav--left2 {
    background: url("../img/home/container-slider__nav--left.png") no-repeat;
    background-size: contain;
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%); }
.container-slider__nav--right2 {
    background: url("../img/home/container-slider__nav--right.png") no-repeat;
    background-size: contain;
    left: auto;
    right: 0;
    -ms-transform: translate(100%, -50%);
    transform: translate(100%, -50%); }
.container-slider__nav--left3 {
    background: url("../img/home/container-slider__nav--left.png") no-repeat;
    background-size: contain;
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%); }
.container-slider__nav--right3 {
    background: url("../img/home/container-slider__nav--right.png") no-repeat;
    background-size: contain;
    left: auto;
    right: 0;
    -ms-transform: translate(100%, -50%);
    transform: translate(100%, -50%); }
.container-slider__nav--left4 {
    background: url("../img/home/container-slider__nav--left.png") no-repeat;
    background-size: contain;
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%); }
.container-slider__nav--right4 {
    background: url("../img/home/container-slider__nav--right.png") no-repeat;
    background-size: contain;
    left: auto;
    right: 0;
    -ms-transform: translate(100%, -50%);
    transform: translate(100%, -50%); }
.container-slider__img {
    display: none; }
@media screen and (min-width: 64em) {
    .container-slider__img {
        display: block;
        position: absolute;
        left: 0;
        bottom: -50px;
        background-repeat: no-repeat;
        background-size: cover; } }
.container-slider__img--left {
    background-image: url("../img/home/slider__left.png");
    background-position: 141px;
    width: 100%;
    height: 100%;
    -ms-transform: translateX(-100%);
    transform: translateX(-100%); }
@media screen and (min-width: 64em) {
    .container-slider__img--left {
        background-position: 169px; } }
@media screen and (min-width: 75em) {
    .container-slider__img--left {
        max-width: 525px;
        max-height: 431px; } }
.container-slider__img--right {
    background-image: url("../img/home/slider__right.png");
    background-position: -130px;
    bottom: auto;
    top: -16px;
    left: auto;
    right: 0;
    max-width: 530px;
    max-height: 530px;
    width: 100%;
    height: 100%;
    top: auto;
    -ms-transform: translateX(100%);
    transform: translateX(100%); }
@media screen and (min-width: 64em) {
    .container-slider__img--right {
        background-size: auto;
        background-position: 7px;
        bottom: 160px; } }
@media screen and (min-width: 75em) {
    .container-slider__img--right {
        background-position: 7px;
        bottom: 160px; } }
@media screen and (min-width: 90em) {
    .container-slider__img--right {
        background-position: 7px;
        bottom: 160px; } }

.common__slider {
    font-weight: 700;
    font-style: italic;
    color: #64341b;
    font-family: "Lora", serif;
    font-size: 0.875rem;
    text-align: center;
    margin-top: 0; }
.common__slider > span {
    font-weight: 400; }
@media screen and (min-width: 48em) {
    .common__slider {
        font-size: 1rem;
        margin-top: 20px; } }
@media screen and (min-width: 64em) {
    .common__slider {
        font-size: 1.125rem;
        margin-top: 25px; } }
@media screen and (min-width: 75em) {
    .common__slider {
        font-size: 1.25rem;
        margin-top: 30px; } }

.pre-footer {
    height: 70px;
    width: 100%;
    display: block;
    margin-top: -60px;
    position: relative;
    z-index: 666;
    -ms-transform: translateY(0);
    transform: translateY(0);
    background-image: url("../img/home/bg-footer-ending.png");
    background-repeat: no-repeat;
    background-position: center -7px; }

.footer {
    position: relative;
    width: 100%;
    height: 470px;
    background-size: cover;
    z-index: 777; }
@media screen and (min-width: 90em) {
    .footer {
        height: 700px; } }
.footer__bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/home/footer-bg.png") bottom no-repeat;
    background-size: cover; }
.footer__icon {
    width: 120px;
    height: 60px;
    position: absolute;
    z-index: 10;
    background-repeat: no-repeat;
    background-size: contain; }
.footer__icon--bottom-left {
    bottom: 0;
    left: 0;
    background-image: url("../img/home/footer-left-bottom.png"); }
.footer__icon--bottom-right {
    bottom: 0;
    right: 0;
    background-image: url("../img/home/footer-right-bottom.png"); }
.footer__icon--top-left {
    top: 0;
    left: 0;
    background-image: url("../img/home/footer-left-top.png"); }
.footer__icon--top-right {
    top: 0;
    right: 0;
    background-image: url("../img/home/footer_right_top.png"); }
.footer__content {
    max-height: 440px;
    max-width: 381px;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 20;
    background: url("../img/home/footer-fabric.png") no-repeat;
    background-size: contain; }
@media screen and (min-width: 90em) {
    .footer__content {
        max-width: 502px; } }
.footer__content > div {
    -ms-transform: translateX(-1%);
    transform: translateX(-1%); }
.footer__content__title {
    color: white;
    font-family: "Cinzel", serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.13;
    text-align: center;
    padding-top: 38px; }
@media screen and (min-width: 64em) {
    .footer__content__title {
        font-size: 1.625rem;
        padding-top: 43px; } }
@media screen and (min-width: 75em) {
    .footer__content__title {
        font-size: 2rem;
        padding-top: 53px; } }
@media screen and (min-width: 90em) {
    .footer__content__title {
        font-size: 2.3rem;
        padding-top: 35px; } }
.footer__content__text {
    color: #cbe8ef;
    font-family: "Lora", serif;
    font-weight: 700;
    line-height: 1.43;
    font-size: 0.8125rem;
    text-align: center;
    margin: 30px 0; }
.footer__privacy__text {
    color: #cbe8ef;
    font-size: 0.8125rem;
    text-align: center; }
@media screen and (min-width: 75em) {
    .footer__content__text {
        font-size: 0.875rem;
        margin: 20px 0; } }
@media screen and (min-width: 90em) {
    .footer__content__text {
        font-size: 1rem;
        margin: 35px 0; } }
@media screen and (min-width: 40em) {
    .footer__privacy__text {
        margin-top: -20px; } }
@media screen and (min-width: 64em) {
    .footer__privacy__text {
        margin-top: -25px; } }
@media screen and (min-width: 75em) {
    .footer__privacy__text {
        margin-top: -35px; } }
@media screen and (min-width: 90em) {
    .footer__privacy__text {
        margin-top: 10px; } }
.footer__content .button {
    margin: 0 auto;
    -ms-transform: translateX(-4%);
    transform: translateX(-4%); }
@media screen and (max-width: 1025px) {
    .footer__content .button {
        width: 293px;
        height: 80px; }
    .footer__content .button .img {
        background-position: center; }
    .footer__content .button .text {
        line-height: 4.9rem;
        font-size: 1.625rem; } }
.footer__social {
    position: absolute;
    z-index: 777;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 40px; }
.footer__social__list {
    display: -ms-flexbox;
    display: flex; }
@media screen and (min-width: 0em) {
    .footer__social__list {
        height: 10px; } }
@media screen and (min-width: 40em) {
    .footer__social__list {
        height: 10px; } }
@media screen and (min-width: 64em) {
    .footer__social__list {
        height: 20px; } }
@media screen and (min-width: 75em) {
    .footer__social__list {
        height: 25px; } }
@media screen and (min-width: 90em) {
    .footer__social__list {
        height: 70px; } }
.footer__social__icon {
    margin: 0 7px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: url("../img/home/social-icon-frame.png") no-repeat;
    background-size: contain;
    position: relative;
    height: 58px;
    width: 53px; }
@media screen and (min-width: 40em) {
    .footer__social__icon {
        height: 73px;
        width: 58px; } }
@media screen and (min-width: 64em) {
    .footer__social__icon {
        height: 78px;
        width: 63px; } }
@media screen and (min-width: 75em) {
    .footer__social__icon {
        height: 83px;
        width: 68px;
        margin: 0 13px; } }
@media screen and (min-width: 90em) {
    .footer__social__icon {
        height: 93px;
        width: 78px; } }
.footer__social__icon .fa {
    color: #fff;
    font-size: 1.25rem;
    text-align: center;
    width: 100%;
    margin-top: -6px;
    position: relative; }
@media screen and (min-width: 40em) {
    .footer__social__icon .fa {
        font-size: 1.25rem;
        margin-top: -14px; } }
@media screen and (min-width: 64em) {
    .footer__social__icon .fa {
        font-size: 1.375rem; } }
@media screen and (min-width: 75em) {
    .footer__social__icon .fa {
        font-size: 1.5625rem; } }
@media screen and (min-width: 90em) {
    .footer__social__icon .fa {
        font-size: 2.1875rem;
        margin-top: -15px; } }
.footer__social__icon .fa:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    background: #fff;
    transition: all .5s ease; }
.footer__social__icon:hover .fa:after {
    box-shadow: 0px 0px 18px 14px rgba(255, 255, 255, 0.5); }
.footer__social__icon:after {
    display: block;
    position: absolute;
    margin-top: -7px;
    background: url("../img/home/social-sprite.png") no-repeat;
    width: 34px;
    height: 34px; }
.footer__social__icon--facebook:after {
    background-position: 8px 0; }
.footer__social__icon--twitter:after {
    background-position: -90px 0; }
.footer__social__icon--instagram:after {
    background-position: -185px 0; }

.smoke--light {
    width: 100px;
    height: 100px;
    background-image: url("../img/home/smoke-light.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0; }

@keyframes animation1 {
    0% {
        transform: translate(224px, -100px); }
    25% {
        transform: translate(365.33333px, -100px); }
    50% {
        transform: translate(506.66667px, -53.33333px); }
    75% {
        transform: translate(648px, -53.33333px); }
    100% {
        transform: translate(789.33333px, -53.33333px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation2 {
    0% {
        transform: translate(224px, 40px); }
    33.33% {
        transform: translate(365.33333px, 40px); }
    66.67% {
        transform: translate(506.66667px, -6.66667px); }
    100% {
        transform: translate(648px, 40px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation3 {
    0% {
        transform: translate(224px, 40px); }
    9.09% {
        transform: translate(365.33333px, 86.66667px); }
    18.18% {
        transform: translate(506.66667px, 40px); }
    27.27% {
        transform: translate(648px, -6.66667px); }
    36.36% {
        transform: translate(789.33333px, 40px); }
    45.45% {
        transform: translate(930.66667px, 86.66667px); }
    54.55% {
        transform: translate(1072px, 86.66667px); }
    63.64% {
        transform: translate(1213.33333px, 133.33333px); }
    72.73% {
        transform: translate(1354.66667px, 133.33333px); }
    81.82% {
        transform: translate(1496px, 133.33333px); }
    90.91% {
        transform: translate(1637.33333px, 180px); }
    100% {
        transform: translate(1778.66667px, 180px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation4 {
    0% {
        transform: translate(-58.66667px, -53.33333px); }
    14.29% {
        transform: translate(82.66667px, -6.66667px); }
    28.57% {
        transform: translate(224px, -6.66667px); }
    42.86% {
        transform: translate(365.33333px, -53.33333px); }
    57.14% {
        transform: translate(506.66667px, -53.33333px); }
    71.43% {
        transform: translate(648px, -100px); }
    85.71% {
        transform: translate(789.33333px, -100px); }
    100% {
        transform: translate(930.66667px, -53.33333px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation5 {
    0% {
        transform: translate(224px, -100px); }
    14.29% {
        transform: translate(365.33333px, -53.33333px); }
    28.57% {
        transform: translate(506.66667px, -100px); }
    42.86% {
        transform: translate(648px, -53.33333px); }
    57.14% {
        transform: translate(789.33333px, -53.33333px); }
    71.43% {
        transform: translate(930.66667px, -53.33333px); }
    85.71% {
        transform: translate(1072px, -6.66667px); }
    100% {
        transform: translate(1213.33333px, -53.33333px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation6 {
    0% {
        transform: translate(82.66667px, -53.33333px); }
    16.67% {
        transform: translate(224px, -53.33333px); }
    33.33% {
        transform: translate(365.33333px, -100px); }
    50% {
        transform: translate(506.66667px, -53.33333px); }
    66.67% {
        transform: translate(648px, -6.66667px); }
    83.33% {
        transform: translate(789.33333px, -53.33333px); }
    100% {
        transform: translate(930.66667px, -6.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation7 {
    0% {
        transform: translate(224px, 40px); }
    25% {
        transform: translate(365.33333px, -6.66667px); }
    50% {
        transform: translate(506.66667px, -53.33333px); }
    75% {
        transform: translate(648px, -100px); }
    100% {
        transform: translate(789.33333px, -100px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation8 {
    0% {
        transform: translate(365.33333px, -100px); }
    33.33% {
        transform: translate(506.66667px, -100px); }
    66.67% {
        transform: translate(648px, -53.33333px); }
    100% {
        transform: translate(789.33333px, -6.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation9 {
    0% {
        transform: translate(365.33333px, 40px); }
    16.67% {
        transform: translate(506.66667px, 86.66667px); }
    33.33% {
        transform: translate(648px, 40px); }
    50% {
        transform: translate(789.33333px, 86.66667px); }
    66.67% {
        transform: translate(930.66667px, 133.33333px); }
    83.33% {
        transform: translate(1072px, 86.66667px); }
    100% {
        transform: translate(1213.33333px, 133.33333px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation10 {
    0% {
        transform: translate(365.33333px, 86.66667px); }
    50% {
        transform: translate(506.66667px, 40px); }
    100% {
        transform: translate(648px, -6.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation11 {
    0% {
        transform: translate(-58.66667px, -6.66667px); }
    10% {
        transform: translate(82.66667px, -53.33333px); }
    20% {
        transform: translate(224px, -53.33333px); }
    30% {
        transform: translate(365.33333px, -53.33333px); }
    40% {
        transform: translate(506.66667px, -6.66667px); }
    50% {
        transform: translate(648px, -6.66667px); }
    60% {
        transform: translate(789.33333px, 40px); }
    70% {
        transform: translate(930.66667px, 40px); }
    80% {
        transform: translate(1072px, 86.66667px); }
    90% {
        transform: translate(1213.33333px, 40px); }
    100% {
        transform: translate(1354.66667px, -6.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation12 {
    0% {
        transform: translate(365.33333px, -100px); }
    25% {
        transform: translate(506.66667px, -100px); }
    50% {
        transform: translate(648px, -53.33333px); }
    75% {
        transform: translate(789.33333px, -100px); }
    100% {
        transform: translate(930.66667px, -53.33333px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation13 {
    0% {
        transform: translate(-200px, 40px); }
    10% {
        transform: translate(-58.66667px, -6.66667px); }
    20% {
        transform: translate(82.66667px, -53.33333px); }
    30% {
        transform: translate(224px, -53.33333px); }
    40% {
        transform: translate(365.33333px, -53.33333px); }
    50% {
        transform: translate(506.66667px, -6.66667px); }
    60% {
        transform: translate(648px, 40px); }
    70% {
        transform: translate(789.33333px, -6.66667px); }
    80% {
        transform: translate(930.66667px, 40px); }
    90% {
        transform: translate(1072px, 86.66667px); }
    100% {
        transform: translate(1213.33333px, 40px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation14 {
    0% {
        transform: translate(-58.66667px, 86.66667px); }
    14.29% {
        transform: translate(82.66667px, 86.66667px); }
    28.57% {
        transform: translate(224px, 86.66667px); }
    42.86% {
        transform: translate(365.33333px, 133.33333px); }
    57.14% {
        transform: translate(506.66667px, 180px); }
    71.43% {
        transform: translate(648px, 180px); }
    85.71% {
        transform: translate(789.33333px, 180px); }
    100% {
        transform: translate(930.66667px, 226.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation15 {
    0% {
        transform: translate(-200px, 86.66667px); }
    7.69% {
        transform: translate(-58.66667px, 133.33333px); }
    15.38% {
        transform: translate(82.66667px, 86.66667px); }
    23.08% {
        transform: translate(224px, 86.66667px); }
    30.77% {
        transform: translate(365.33333px, 86.66667px); }
    38.46% {
        transform: translate(506.66667px, 86.66667px); }
    46.15% {
        transform: translate(648px, 86.66667px); }
    53.85% {
        transform: translate(789.33333px, 86.66667px); }
    61.54% {
        transform: translate(930.66667px, 86.66667px); }
    69.23% {
        transform: translate(1072px, 86.66667px); }
    76.92% {
        transform: translate(1213.33333px, 133.33333px); }
    84.62% {
        transform: translate(1354.66667px, 86.66667px); }
    92.31% {
        transform: translate(1496px, 40px); }
    100% {
        transform: translate(1637.33333px, 86.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation16 {
    0% {
        transform: translate(-200px, 40px); }
    16.67% {
        transform: translate(-58.66667px, 40px); }
    33.33% {
        transform: translate(82.66667px, 40px); }
    50% {
        transform: translate(224px, 86.66667px); }
    66.67% {
        transform: translate(365.33333px, 86.66667px); }
    83.33% {
        transform: translate(506.66667px, 133.33333px); }
    100% {
        transform: translate(648px, 86.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation17 {
    0% {
        transform: translate(224px, -6.66667px); }
    16.67% {
        transform: translate(365.33333px, -6.66667px); }
    33.33% {
        transform: translate(506.66667px, -6.66667px); }
    50% {
        transform: translate(648px, -6.66667px); }
    66.67% {
        transform: translate(789.33333px, -53.33333px); }
    83.33% {
        transform: translate(930.66667px, -53.33333px); }
    100% {
        transform: translate(1072px, -6.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation18 {
    0% {
        transform: translate(224px, 86.66667px); }
    33.33% {
        transform: translate(365.33333px, 133.33333px); }
    66.67% {
        transform: translate(506.66667px, 133.33333px); }
    100% {
        transform: translate(648px, 133.33333px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

@keyframes animation19 {
    0% {
        transform: translate(-58.66667px, -6.66667px); }
    20% {
        transform: translate(82.66667px, -6.66667px); }
    40% {
        transform: translate(224px, -53.33333px); }
    60% {
        transform: translate(365.33333px, -6.66667px); }
    80% {
        transform: translate(506.66667px, -6.66667px); }
    100% {
        transform: translate(648px, -6.66667px); }
    0% {
        opacity: 0; }
    15% {
        opacity: 1; }
    85% {
        opacity: 1; }
    100% {
        opacity: 0; } }

.particle {
    position: absolute;
    opacity: 0;
    overflow: visible;
    background-size: contain; }

.elem1 {
    left: 930.66667px;
    top: 273.33333px;
    animation: animation1 linear 48s infinite;
    height: 159px;
    width: 159px;
    background-image: url(../img/home/smoke-light.png); }

.elem2 {
    left: 82.66667px;
    top: 86.66667px;
    animation: animation2 linear 46s infinite;
    height: 159px;
    width: 159px;
    background-image: url(../img/home/smoke-light.png); }

.elem3 {
    left: 648px;
    top: 86.66667px;
    animation: animation3 linear 38s infinite;
    height: 169px;
    width: 169px;
    background-image: url(../img/home/smoke-light.png); }

.elem4 {
    left: 1072px;
    top: 133.33333px;
    animation: animation4 linear 33s infinite;
    height: 158px;
    width: 158px;
    background-image: url(../img/home/smoke-light.png); }

.elem5 {
    left: 789.33333px;
    top: 180px;
    animation: animation5 linear 50s infinite;
    height: 160px;
    width: 160px;
    background-image: url(../img/home/smoke-light.png); }

.elem6 {
    left: 1072px;
    top: 320px;
    animation: animation6 linear 49s infinite;
    height: 163px;
    width: 163px;
    background-image: url(../img/home/smoke-light.png); }

.elem7 {
    left: 506.66667px;
    top: -100px;
    animation: animation7 linear 47s infinite;
    height: 155px;
    width: 155px;
    background-image: url(../img/home/smoke-light.png); }

.elem8 {
    left: 1072px;
    top: 40px;
    animation: animation8 linear 33s infinite;
    height: 160px;
    width: 160px;
    background-image: url(../img/home/smoke-light.png); }

.elem9 {
    left: 930.66667px;
    top: 86.66667px;
    animation: animation9 linear 32s infinite;
    height: 165px;
    width: 165px;
    background-image: url(../img/home/smoke-light.png); }

.elem10 {
    left: -200px;
    top: 180px;
    animation: animation10 linear 44s infinite;
    height: 168px;
    width: 168px;
    background-image: url(../img/home/smoke-light.png); }

.elem11 {
    left: 789.33333px;
    top: -100px;
    animation: animation11 linear 48s infinite;
    height: 151px;
    width: 151px;
    background-image: url(../img/home/smoke-light.png); }

.elem12 {
    left: 789.33333px;
    top: 86.66667px;
    animation: animation12 linear 44s infinite;
    height: 164px;
    width: 164px;
    background-image: url(../img/home/smoke-light.png); }

.elem13 {
    left: -58.66667px;
    top: 133.33333px;
    animation: animation13 linear 36s infinite;
    height: 158px;
    width: 158px;
    background-image: url(../img/home/smoke-light.png); }

.elem14 {
    left: 930.66667px;
    top: -6.66667px;
    animation: animation14 linear 31s infinite;
    height: 156px;
    width: 156px;
    background-image: url(../img/home/smoke-light.png); }

.elem15 {
    left: 930.66667px;
    top: 133.33333px;
    animation: animation15 linear 39s infinite;
    height: 162px;
    width: 162px;
    background-image: url(../img/home/smoke-light.png); }

.elem16 {
    left: -200px;
    top: 86.66667px;
    animation: animation16 linear 36s infinite;
    height: 157px;
    width: 157px;
    background-image: url(../img/home/smoke-light.png); }

.elem17 {
    left: 506.66667px;
    top: 180px;
    animation: animation17 linear 32s infinite;
    height: 164px;
    width: 164px;
    background-image: url(../img/home/smoke-light.png); }

.elem18 {
    left: 648px;
    top: 226.66667px;
    animation: animation18 linear 41s infinite;
    height: 161px;
    width: 161px;
    background-image: url(../img/home/smoke-light.png); }

.elem19 {
    left: 648px;
    top: 320px;
    animation: animation19 linear 32s infinite;
    height: 151px;
    width: 151px;
    background-image: url(../img/home/smoke-light.png); }

.anim-delay1 {
    animation-delay: 4s; }

.anim-delay2 {
    animation-delay: 4s; }

.anim-delay3 {
    animation-delay: 4s; }

.anim-delay4 {
    animation-delay: 3s; }

.anim-delay5 {
    animation-delay: 1s; }

.anim-delay6 {
    animation-delay: 2s; }

.anim-delay7 {
    animation-delay: 1s; }

.anim-delay8 {
    animation-delay: 4s; }

.anim-delay9 {
    animation-delay: 3s; }

.anim-delay10 {
    animation-delay: 1s; }

.anim-delay11 {
    animation-delay: 1s; }

.anim-delay12 {
    animation-delay: 2s; }

.anim-delay13 {
    animation-delay: 5s; }

.anim-delay14 {
    animation-delay: 4s; }

.anim-delay15 {
    animation-delay: 4s; }

.anim-delay16 {
    animation-delay: 4s; }

.anim-delay17 {
    animation-delay: 2s; }

.anim-delay18 {
    animation-delay: 3s; }

.anim-delay19 {
    animation-delay: 4s; }

.anim-delay20 {
    animation-delay: 1s; }

.story-wrapper .parchment-bg {
    padding-bottom: 80px; }

.story__box {
    max-width: 870px;
    width: 100%;
    margin: 0 auto;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-top: 30px;
    margin-bottom: 45px;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
@media screen and (min-width: 75em) {
    .story__box {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }
@media screen and (min-width: 75em) {
    .story__box {
        margin-bottom: 74px; } }
.story__box:after {
    content: "";
    height: 22px;
    display: block;
    position: absolute;
    bottom: -22px;
    left: 0;
    right: 0;
    background: url("../img/home/story__shadow.png") no-repeat;
    background-size: cover; }
@media screen and (min-width: 75em) {
    .story__box:after {
        left: -25%;
        right: -25%; } }
.story__box__image img {
    height: 100%; }
.story__box__content--second .decor {
    -ms-transform: translateX(40%);
    transform: translateX(40%); }
.story__box__content__text {
    max-width: 517px;
    width: 100%;
    color: #2f1509;
    font-weight: 700;
    line-height: 1.63;
    font-size: 1.5rem;
    margin-left: 20px; }
@media screen and (min-width: 64em) {
    .story__box__content__text {
        font-size: 1.75rem;
        margin-left: 30px; } }
@media screen and (min-width: 90em) {
    .story__box__content__text {
        font-size: 1.875rem;
        margin-left: 36px; } }
.story__box__content__text--small {
    max-width: 386px;
    text-align: center; }
@media screen and (min-width: 75em) {
    .story__box__content__text--small {
        text-align: right; } }

.game-economy__divider {
    height: 163px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-bottom: 20px; }
@media screen and (min-width: 64em) {
    .game-economy__divider {
        margin-bottom: 25px; } }
@media screen and (min-width: 75em) {
    .game-economy__divider {
        margin-bottom: 30px; } }
@media screen and (min-width: 90em) {
    .game-economy__divider {
        margin-bottom: 35px; } }
.game-economy__divider--first {
    background-image: url("../img/home/game-economy-divider-1.png"); }
.game-economy__divider--second {
    background-image: url("../img/home/game-economy-divider-2.png"); }
.game-economy__divider--bis {
    background-image: url("../img/home/game-economy-divider-2bis.png"); }

.game-economy .text {
    margin-bottom: 54px; }
@media screen and (min-width: 64em) {
    .game-economy .text {
        margin-bottom: 64px; } }
@media screen and (min-width: 75em) {
    .game-economy .text {
        margin-bottom: 74px; } }
@media screen and (min-width: 90em) {
    .game-economy .text {
        margin-bottom: 84px; } }

.registration__form {
    max-width: 370px;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 35px;
    padding-left: 15px;
    padding-right: 15px; }
@media screen and (min-width: 40em) {
    .registration__form {
        padding-right: 0;
        padding-left: 0; } }
.registration__form .button {
    margin: 35px auto;
    margin-bottom: 0; }

.cards .hexagon-box {
    padding-top: 70px;
    padding-bottom: 90px; }

.cards .hexagon {
    position: relative;
    margin-left: auto;
    margin-right: auto; }
.cards .hexagon__point {
    cursor: pointer;
    display: block;
    border-radius: 100%;
    width: 104px;
    height: 104px;
    position: absolute;
    z-index: 10; }
.cards .hexagon__point:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: 100%;
    -ms-transform: scale(0.7);
    transform: scale(0.7);
    z-index: -1;
    -ms-transform-origin: center;
    transform-origin: center;
    background-color: #f2d2a9; }
.cards .hexagon__point__icon {
    box-shadow: 0 6px 7px rgba(167, 138, 121, 0.38);
    transition: opacity .4s ease;
    -ms-transform-origin: center;
    transform-origin: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.6;
    display: block;
    background-image: url("../img/home/sprite_cart.png");
    background-repeat: no-repeat;
    border-radius: 100%;
    -ms-transform: scale(0.8);
    transform: scale(0.8); }
.cards .hexagon__point__icon:hover {
    opacity: 1 !important; }
.cards .hexagon__point__icon--first {
    background-position: -5px 0; }
.cards .hexagon__point__icon--second {
    background-position: -116px 0; }
.cards .hexagon__point__icon--three {
    background-position: -226px 0px; }
.cards .hexagon__point__icon--four {
    background-position: -559px 0; }
.cards .hexagon__point__icon--five {
    background-position: -448px -1px; }
.cards .hexagon__point__icon--six {
    -ms-transform: scale(1);
    transform: scale(1);
    background-position: -338px -2px; }
.cards .hexagon__point--first {
    top: -27%;
    left: 0;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
.cards .hexagon__point--second {
    bottom: -23%;
    left: 0;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
.cards .hexagon__point--three {
    bottom: -73%;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
.cards .hexagon__point--four {
    top: 73%;
    right: 0;
    -ms-transform: translateX(50%);
    transform: translateX(50%); }
.cards .hexagon__point--five {
    top: -27%;
    right: 0;
    -ms-transform: translateX(50%);
    transform: translateX(50%); }
.cards .hexagon__point--six {
    top: -73%;
    left: 46%;
    -ms-transform: translateX(-50%) scale(0.8);
    transform: translateX(-50%) scale(0.8);
    -ms-transform: matrix(1, 0, 0, 1, -37, 0);
    transform: matrix(1, 0, 0, 1, -37, 0);
    opacity: 1; }
.cards .hexagon__content {
    width: 80%;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    visibility: hidden;
    opacity: 0; }
.cards .hexagon__content[data-content="six"] {
    opacity: 1;
    visibility: inherit; }
.cards .hexagon__title {
    color: #47110a;
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.53; }
@media screen and (min-width: 75em) {
    .cards .hexagon__title {
        font-size: 1.875rem; } }
.cards .hexagon__text {
    color: #2f1509;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6; }
@media screen and (min-width: 75em) {
    .cards .hexagon__text {
        font-size: 1.25rem; } }

.cards__box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 35px; }
@media screen and (min-width: 75em) {
    .cards__box {
        margin-bottom: 80px; } }
.cards__box__card {
    margin-bottom: 20px; }
@media screen and (min-width: 28.125em) {
    .cards__box__card {
        margin-bottom: 0;
        margin-right: 45px; } }
.cards__box__card img {
    max-width: 526px;
    max-height: 312px; }
@media screen and (min-width: 64em) {
    .cards__box__card img {
        max-height: 412px; } }
@media screen and (min-width: 75em) {
    .cards__box__card img {
        max-height: 512px; } }
@media screen and (min-width: 90em) {
    .cards__box__card img {
        max-height: 712px; } }
.cards__box__card-elements {
    padding-top: 20px; }
.cards__box__card-elements .head {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
    font-size: 1.25rem;
    margin-bottom: 15px; }
@media screen and (min-width: 28.125em) {
    .cards__box__card-elements .head {
        margin-bottom: 25px; } }
@media screen and (min-width: 75em) {
    .cards__box__card-elements .head {
        font-size: 1.3125rem; } }
@media screen and (min-width: 90em) {
    .cards__box__card-elements .head {
        font-size: 1.4375rem; } }
.cards__box__card-elements ul {
    padding: 0;
    margin: 0; }
.cards__box__card-elements ul li {
    list-style: none;
    display: block;
    color: #47110a;
    font-family: "Cinzel", serif;
    font-weight: 900;
    line-height: 2.2;
    text-transform: uppercase;
    font-size: 0.875rem;
    position: relative; }
@media screen and (min-width: 28.125em) {
    .cards__box__card-elements ul li {
        line-height: 3; } }
@media screen and (min-width: 75em) {
    .cards__box__card-elements ul li {
        font-size: 0.9375rem; } }
@media screen and (min-width: 90em) {
    .cards__box__card-elements ul li {
        font-size: 1rem; } }
.cards__box__card-elements ul li:before {
    content: "";
    width: 9px;
    height: 9px;
    display: inline-block;
    background-image: url("../img/home/pimka.png");
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 15px; }

.cards__flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center; }
@media screen and (min-width: 64em) {
    .cards__flex {
        margin-top: 75px;
        padding-bottom: 50px; } }
.cards__flex__box {
    max-width: 210px;
    min-height: 300px;
    width: 100%;
    -ms-flex: 1 1 210px;
    flex: 1 1 210px;
    position: relative;
    padding-top: 50px;
    box-sizing: content-box; }
.cards__flex .card {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    -o-background-size: contain;
    -moz-background-size: contain;
    -webkit-background-size:contain;
    background-size: contain;
    background-position: center; 
    min-height: 300px;
    min-width: 210px;
}
.cards__flex .card--basik {
    background-image: url("../img/home/common.png"); }
.cards__flex .card--rare {
    background-image: url("../img/home/rare.png"); }
.cards__flex .card--epic {
    background-image: url("../img/home/epic.png"); }
.cards__flex .card--legendary {
    background-image: url("../img/home/legendary.png"); }
.cards__flex .card__title {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 16px;
    font-weight: 900;
    line-height: 3;
    text-transform: uppercase;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 0;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
.cards__flex .card__title2 {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 12px;
    font-weight: 900;
    line-height: 3;
    text-transform: uppercase;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 0;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }

.hexagon {
    position: relative;
    width: 352px;
    height: 203.23px;
    background-color: transparent;
    margin: 101.61px 0;
    border-left: dotted 3px #a87d4e;
    border-right: dotted 3px #a87d4e; }
.hexagon:before, .hexagon:after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 248.90px;
    height: 248.90px;
    -ms-transform: scaleY(0.5774) rotate(-45deg);
    transform: scaleY(0.5774) rotate(-45deg);
    background-color: inherit;
    left: 48.5492px; }
.hexagon:before {
    top: -124.4508px;
    border-top: dotted 4.2426px #a87d4e;
    border-right: dotted 4.2426px #a87d4e; }
.hexagon:after {
    bottom: -124.4508px;
    border-bottom: dotted 4.2426px #a87d4e;
    border-left: dotted 4.2426px #a87d4e; }

.offchain-cards .container__content > .text-center > .title {
    margin-bottom: 25px; }

.offchain-cards .chain__box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px; }
.offchain-cards .chain__box__card {
    position: relative;
    width: 203px;
    height: 277px;
    overflow: hidden;
    margin-bottom: 20px; }
@media screen and (min-width: 64em) {
    .offchain-cards .chain__box__card {
        margin-bottom: 30px; } }
@media screen and (min-width: 75em) {
    .offchain-cards .chain__box__card {
        margin-bottom: 40px; } }
.offchain-cards .chain__box__card:hover .chain__box__card__hover {
    -ms-transform: translateY(0);
    transform: translateY(0); }
.offchain-cards .chain__box__card:hover .chain__box__card__bottom {
    -ms-transform: translateX(-51%) translateY(100%);
    transform: translateX(-51%) translateY(100%); }
.offchain-cards .chain__box__card__hover {
    display: block;
    width: 103%;
    height: 160px;
    background-image: url("../img/home/card-hover.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -14px;
    left: -2px;
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    transition: transform .5s ease; }
.offchain-cards .chain__box__card__hover__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 15px; }
.offchain-cards .chain__box__card__hover__title {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 2; }
.offchain-cards .chain__box__card__hover__text {
    color: black;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 2.14; }
.offchain-cards .chain__box__card__bottom {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    left: 50%;
    bottom: -1px;
    -ms-transform: translateX(-51%);
    transform: translateX(-51%);
    width: 100.5%;
    height: 50px;
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 1rem;
    font-weight: 700;
    background-image: url("../img/home/bottom_card.png");
    background-repeat: no-repeat;
    background-size: contain;
    transition: transform .3s ease; }
.offchain-cards .chain__box__card__bottom__text {
    margin-top: 8px; }

.game_tutorial .container-slider {
    margin-top: 20px;
    margin-bottom: 40px; }
@media screen and (min-width: 75em) {
    .game_tutorial .container-slider {
        margin-top: 30px;
        margin-bottom: 50px; } }

.game_tutorial .title-slider {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
    text-align: center;
    margin-top: 35px; }
@media screen and (min-width: 75em) {
    .game_tutorial .title-slider {
        margin-top: 55px; } }

.game_tutorial .game_elements {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 40px;
    margin-bottom: 43px; }
@media screen and (min-width: 64em) {
    .game_tutorial .game_elements {
        margin-top: 60px;
        margin-bottom: 53px; } }
@media screen and (min-width: 75em) {
    .game_tutorial .game_elements {
        margin-top: 100px;
        margin-bottom: 93px; } }
.game_tutorial .game_elements__right__title {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
    margin-bottom: 22px; }
.game_tutorial .game_elements__list {
    margin: 0;
    padding: 0; }
.game_tutorial .game_elements__list__item {
    list-style: none; }
.game_tutorial .game_elements__list__item.is-active {
    background-color: rgba(192, 175, 150, 0.2);
    border: 1px solid #b09567;
    border-left: none;
    border-right: none; }
.game_tutorial .game_elements__list__item:before {
    content: "";
    width: 9px;
    height: 9px;
    display: inline-block;
    background-image: url(../img/home/pimka.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 10px; }
.game_tutorial .game_elements__list__link {
    font-family: "Cinzel", serif;
    font-size: 16px;
    font-weight: 900;
    line-height: 3;
    text-transform: uppercase;
    color: #47110a; }

.profile .profile_elements {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 40px;
    margin-bottom: 43px; }
@media screen and (min-width: 64em) {
    .profile .profile_elements {
        margin-top: 60px;
        margin-bottom: 53px; } }
@media screen and (min-width: 75em) {
    .profile .profile_elements {
        margin-top: 100px;
        margin-bottom: 93px; } }
.profile .profile_elements__left {
    float: right;
    margin-right: 50px;
}
.profile .profile_elements__right {
    float: left;
    margin-left: 100px;
}
.profile .profile_elements__right__title {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
    margin-bottom: 22px;
    padding-bottom: 22px;
    padding-top: 22px;
    background-color: rgba(192, 175, 150, 0.2);
    border: 1px solid #b09567;
    border-left: none;
    border-right: none; }
.profile .profile_elements__list {
    margin: 0;
    padding: 0; }
.profile .profile_elements__list__item {
    list-style: none; }
.profile .profile_elements__list__item.is-active {
    background-color: rgba(192, 175, 150, 0.2);
    border: 1px solid #b09567;
    border-left: none;
    border-right: none; }
.profile .profile_elements__list__item:before {
    content: "";
    width: 9px;
    height: 9px;
    display: inline-block;
    background-image: url(../img/home/pimka.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 10px; }
.profile .profile_elements__list__link {
    font-family: "Cinzel", serif;
    font-size: 16px;
    font-weight: 900;
    line-height: 3;
    color: #47110a; }

.btn-primary {
    color: #ffffff;
    background-color: #428bca;
    border-color: #357ebd;
}

.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.428571429;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    float: right;
}

.btn:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

.btn:hover,
.btn:focus {
    color: #333333;
    text-decoration: none;
}

.btn:active,
.btn.active {
    background-image: none;
    outline: 0;
    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.game .parchment-bg {
    position: relative;
    padding-bottom: 34px; }
@media screen and (min-width: 64em) {
    .game .parchment-bg {
        padding-bottom: 44px; } }
@media screen and (min-width: 75em) {
    .game .parchment-bg {
        padding-bottom: 64px; } }

.game .btn-box {
    margin-top: 35px; }
@media screen and (min-width: 75em) {
    .game .btn-box {
        margin-top: 0; } }
.game .btn-box .button {
    margin-left: auto;
    margin-right: auto; }

.download_box {
    width: 659px;
    height: 202px;
    position: relative;
    padding-top: 20px;
    padding-bottom: 50px; }
@media screen and (max-width: 40em) {
    .download_box {
        width: 420px;
        height: 80px;
        top: -20px; } }
.download_box__title {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-size: 1.4375rem;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase; }
@media screen and (max-width: 40em) {
    .download_box__title {
        font-size: 0.9rem; } }
@media screen and (max-width: 40em) {
    .download_box__content {
        font-size: 0.7rem;
        padding-bottom: 50px; } }
.download_box__frame {
    width: inherit;
    height: inherit;
    position: absolute;
    left: 0;
    top: 0;
    background: url("../img/home/frame_download.png") no-repeat;
    background-size: cover;
    z-index: -1; }
@media screen and (max-width: 40em) {
    .download_box__frame {
        background-image: none;
        border-bottom: 300px; } }
.download_box__buttons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    height: 86%; }
.download_box__button {
    border: none;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    width: 280px;
    height: 108px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain; }
.download_box__button--android {
    background-image: url("../img/home/android_btn.png"); }
@media screen and (max-width: 40em) {
    .download_box__button--android {
        margin-left: 25px;
        background-size: 80%; } }
.download_box__button--ios {
    background-image: url("../img/home/ios_btn.png"); }
@media screen and (max-width: 40em) {
    .download_box__button--ios {
        background-size: 80%; } }
@media screen and (max-width: 40em) {
    .last_content_1 {
        font-size: 0.7rem; } }
@media screen and (max-width: 40em) {
    .last_content_2 {
        font-size: 0.7rem; } }

.leader_board .container__content > .text-center > .title {
    margin-bottom: 20px; }
@media screen and (min-width: 40em) {
    .leader_board .container__content > .text-center > .title {
        margin-bottom: 40px; } }

.leader_board .box_table {
    margin-bottom: 35px;
    position: relative; }
.leader_board .box_table:after, .leader_board .box_table:before {
    content: "";
    display: block;
    position: absolute;
    left: -25px;
    top: 0;
    width: 25px;
    height: 50px;
    background-image: url("../img/home/filter_angle.png");
    background-repeat: no-repeat;
    background-size: contain; }
.leader_board .box_table:after {
    left: auto;
    right: -25px;
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }
@media screen and (min-width: 64em) {
    .leader_board .box_table {
        margin-bottom: 45px; } }
@media screen and (min-width: 75em) {
    .leader_board .box_table {
        margin-bottom: 60px; } }

.table-style {
    width: 100%;
    text-align: left; }
.table-style thead th {
    background-image: url("../img/home/filter_frame.png");
    background-repeat: repeat-x;
    border-left: none;
    border-right: none;
    color: #a7732c;
    font-family: "Cinzel", serif;
    font-size: 1rem;
    font-weight: 900;
    text-transform: uppercase; }
.table-style tr td, .table-style tr th {
    padding: 14px 20px; }
.table-style tr td:last-child, .table-style tr th:last-child {
    text-align: right; }
.table-style tr:nth-child(even) {
    background-color: rgba(225, 197, 150, 0.4); }
.table-style tr > td:first-child, .table-style tr > th:first-child {
    padding-left: 20px; }
@media screen and (min-width: 64em) {
    .table-style tr > td:first-child, .table-style tr > th:first-child {
        padding-left: 37px; } }
@media screen and (min-width: 75em) {
    .table-style tr > td:first-child, .table-style tr > th:first-child {
        padding-left: 57px; } }
.table-style tr > td:last-child, .table-style tr > th:last-child {
    padding-right: 20px; }
@media screen and (min-width: 64em) {
    .table-style tr > td:last-child, .table-style tr > th:last-child {
        padding-right: 40px; } }
@media screen and (min-width: 75em) {
    .table-style tr > td:last-child, .table-style tr > th:last-child {
        padding-right: 60px; } }
.table-style tr > td {
    color: black;
    font-size: 1rem;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    border-bottom: 1px solid #e2c697; }
.table-style tr > td:first-child, .table-style tr > td:last-child {
    color: #47110a; }

.login__form {
    max-width: 370px;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 auto; }
@media screen and (min-width: 40em) {
    .login__form {
        padding-left: 0;
        padding-right: 0; } }
.login__form .button {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto; }

.login__not_account {
    text-align: center;
    margin-top: 55px; }
.login__not_account .button {
    margin-left: auto;
    margin-right: auto; }

.login .parchment-bg {
    padding-bottom: 30px; }
@media screen and (min-width: 40em) {
    .login .parchment-bg {
        padding-bottom: 50px; } }
@media screen and (min-width: 64em) {
    .login .parchment-bg {
        padding-bottom: 80px; } }
@media screen and (min-width: 75em) {
    .login .parchment-bg {
        padding-bottom: 106px; } }

.gallery {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin-top: 20px; }
@media screen and (min-width: 64em) {
    .gallery {
        margin-top: 30px; } }
@media screen and (min-width: 75em) {
    .gallery {
        margin-top: 35px; } }
.gallery__item {
    width: 300px;
    height: 243px;
    padding: 10px;
    cursor: pointer; }
.gallery__item__image {
    transition: all .4s ease;
    opacity: 0.8; }
.gallery__item__image:hover {
    opacity: 1;
    box-shadow: 0 9px 9px rgba(128, 89, 38, 0.48); }

.media .parchment-bg {
    padding-bottom: 0; }
@media screen and (min-width: 40em) {
    .media .parchment-bg {
        padding-bottom: 40px; } }
@media screen and (min-width: 64em) {
    .media .parchment-bg {
        padding-bottom: 50px; } }
@media screen and (min-width: 75em) {
    .media .parchment-bg {
        padding-bottom: 86px; } }

.media .container__content > .text-center > .title {
    margin-bottom: 25px; }

.media .filter-panel {
    margin-bottom: 50px; }

.media__title {
    color: #47110a;
    font-family: "Lora", serif;
    font-weight: 700;
    line-height: 0.94;
    text-align: center;
    font-size: 1.5rem; }
@media screen and (min-width: 40em) {
    .media__title {
        font-size: 1.75rem; } }
@media screen and (min-width: 64em) {
    .media__title {
        font-size: 1.875rem; } }
@media screen and (min-width: 75em) {
    .media__title {
        font-size: 2.125rem; } }

.media .video {
    margin-top: -25px; }
@media screen and (min-width: 40em) {
    .media .video {
        margin-top: -35px; } }
.media .video:not(:last-child) {
    margin-bottom: 40px; }
@media screen and (min-width: 64em) {
    .media .video:not(:last-child) {
        margin-bottom: 60px; } }
@media screen and (min-width: 75em) {
    .media .video:not(:last-child) {
        margin-bottom: 80px; } }
.media .video:last-child {
    margin-bottom: 0; }
.media .video__decor {
    background-position: 0; }

.media--screens .media__title {
    margin-top: 30px; }
@media screen and (min-width: 64em) {
    .media--screens .media__title {
        margin-top: 45px; } }
@media screen and (min-width: 75em) {
    .media--screens .media__title {
        margin-top: 66px; } }

.media--screens .filter-panel {
    margin-bottom: 20px; }

.media--audio .parchment-bg {
    background-size: cover; }

.media--audio__track {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 1px solid #e1c596;
    padding: 10px 20px 10px 50px;
    position: relative;
    cursor: pointer; }
.media--audio__track:nth-child(even) {
    background-color: rgba(225, 197, 150, 0.4); }
.media--audio__track__play {
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 9px;
    border-color: transparent transparent transparent #47110a;
    position: absolute;
    left: 22px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
.media--audio__track__pause {
    border: 4px solid #47110a;
    border-top: none;
    border-bottom: none;
    width: 10px;
    height: 10px;
    position: absolute;
    left: 22px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
.media--audio__track__name {
    color: black;
    font-family: "Lora", serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.875; }
.media--audio__track__time {
    color: #47110a;
    font-family: "Lora", serif;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer; }
.media--audio__track.is-play .media--audio__track__play {
    display: inline-block; }

.community__list_wrap {
    text-align: center;
    margin-top: 27px; }
@media screen and (min-width: 64em) {
    .community__list_wrap {
        margin-top: 37px; } }
@media screen and (min-width: 75em) {
    .community__list_wrap {
        margin-top: 57px; } }

.community__list {
    margin: 0;
    padding: 0;
    display: inline-block; }
.community__list__item {
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-bottom: 15px; }
@media screen and (min-width: 64em) {
    .community__list__item {
        margin-bottom: 20px; } }
@media screen and (min-width: 75em) {
    .community__list__item {
        margin-bottom: 25px; } }
.community__list__link {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
    font-size: 1rem; }
@media screen and (min-width: 40em) {
    .community__list__link {
        font-size: 1.125rem; } }
@media screen and (min-width: 64em) {
    .community__list__link {
        font-size: 1.25rem; } }
@media screen and (min-width: 75em) {
    .community__list__link {
        font-size: 1.4375rem; } }
.community__list__icon {
    display: inline-block;
    width: 64px;
    height: 64px;
    background-color: rgba(243, 214, 165, 0.5);
    border: 2px solid #b09567;
    border-radius: 100%;
    margin-right: 18px;
    background-image: url("../img/home/community-sprite2.png");
    background-repeat: no-repeat; }
.community__list__icon--slack {
    background-position: 9px 10px; }
.community__list__icon--forum {
    background-position: 9px -81px; }
.community__list__icon--twitter {
    background-position: 9px -395px; }
.community__list__icon--facebook {
    background-position: 9px -169px; }
.community__list__icon--feedback {
    background-position: 9px -325px; }
.community__list__icon--bug {
    background-position: 9px -248px; }

.community .parchment-bg {
    padding-bottom: 80px; }
@media screen and (min-width: 40em) {
    .community .parchment-bg {
        padding-bottom: 150px; } }
@media screen and (min-width: 64em) {
    .community .parchment-bg {
        padding-bottom: 180px; } }
@media screen and (min-width: 75em) {
    .community .parchment-bg {
        padding-bottom: 215px; } }

.account .parchment-bg {
    padding-bottom: 80px;
    background-size: cover; }
@media screen and (min-width: 40em) {
    .account .parchment-bg {
        padding-bottom: 120px; } }
@media screen and (min-width: 64em) {
    .account .parchment-bg {
        padding-bottom: 150px; } }
@media screen and (min-width: 75em) {
    .account .parchment-bg {
        padding-bottom: 190px; } }

.account__wrap {
    text-align: center; }
.account__wrap .button {
    display: inline-block; }

.account__list {
    padding: 0;
    margin: 0;
    display: inline-block;
    margin-bottom: 30px; }
@media screen and (min-width: 64em) {
    .account__list {
        margin-bottom: 40px; } }
@media screen and (min-width: 75em) {
    .account__list {
        margin-bottom: 57px; } }
.account__list__item {
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 15px; }
@media screen and (min-width: 64em) {
    .account__list__item {
        margin-bottom: 20px; } }
@media screen and (min-width: 75em) {
    .account__list__item {
        margin-bottom: 25px; } }
.account__list__text {
    color: #47110a;
    font-family: "Cinzel", serif;
    font-weight: 900;
    line-height: 1.4;
    text-transform: uppercase;
    font-size: 1rem; }
@media screen and (min-width: 40em) {
    .account__list__text {
        font-size: 1.125rem; } }
@media screen and (min-width: 64em) {
    .account__list__text {
        font-size: 1.25rem; } }
@media screen and (min-width: 75em) {
    .account__list__text {
        font-size: 1.4375rem; } }
.account__list__icon {
    width: 64px;
    height: 64px;
    background-color: rgba(243, 214, 165, 0.5);
    border: 2px solid #b09567;
    display: inline-block;
    background-image: url("../img/home/account-sprite.png");
    background-repeat: no-repeat;
    border-radius: 100%;
    margin-right: 15px; }
.account__list__icon--email {
    background-position: 14px 17px; }
.account__list__icon--name {
    background-position: 13px -69px; }
.account__list__icon--counterparty {
    background-position: 13px -160px; }

@media only screen and (min-device-width: 320px) and (max-device-width: 568px) {
    .title__bottom {
        width: 290px; } }

@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
    .video {
        height: 320px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiYXBwLmNzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJO0lBRUksNkRBQXNELEVBQUE7RUFFMUQ7SUFDSSwrREFBc0QsRUFBQSxFQUFBOztBQUk5RDtFQUNJO0lBQ0ksK0RBQXNELEVBQUE7RUFFMUQ7SUFDSSw2REFBc0Qs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Q2dCLEVBR1g7RUFGRDtJQzRDSixrQkQ3Q2dCO1FDNkNoQixTRDdDZ0IsRUFHWDtFQUZEO0lDNENKLGtCRDdDZ0I7UUM2Q2hCLFNEN0NnQixFQUdYO0VBRkQ7SUM0Q0osa0JEN0NnQjtRQzZDaEIsU0Q3Q2dCLEVBR1g7RUFGRDtJQzRDSixrQkQ3Q2dCO1FDNkNoQixTRDdDZ0IsRUFHWCxFQUFBOztBTjJISDtFTTdIRTtJQzRDSixrQkQ3Q2dCO1FDNkNoQixTRDdDZ0IsRUFHWDtFQUZEO0lDNENKLGtCRDdDZ0I7UUM2Q2hCLFNEN0NnQixFQUdYO0VBRkQ7SUM0Q0osa0JEN0NnQjtRQzZDaEIsU0Q3Q2dCLEVBR1g7RUFGRDtJQzRDSixrQkQ3Q2dCO1FDNkNoQixTRDdDZ0IsRUFHWDtFQUZEO0lDNENKLGtCRDdDZ0I7UUM2Q2hCLFNEN0NnQixFQUdYO0VBRkQ7SUM0Q0osa0JEN0NnQjtRQzZDaEIsU0Q3Q2dCLEVBR1gsRUFBQTs7QU4ySEg7RU03SEU7SUM0Q0osa0JEN0NnQjtRQzZDaEIsU0Q3Q2dCLEVBR1g7RUFGRDtJQzRDSixrQkQ3Q2dCO1FDNkNoQixTRDdDZ0IsRUFHWDtFQUZEO0lDNENKLGtCRDdDZ0I7UUM2Q2hCLFNEN0NnQixFQUdYO0VBRkQ7SUM0Q0osa0JEN0NnQjtRQzZDaEIsU0Q3Q2dCLEVBR1g7RUFGRDtJQzRDSixrQkQ3Q2dCO1FDNkNoQixTRDdDZ0IsRUFHWDtFQUZEO0lDNENKLGtCRDdDZ0I7UUM2Q2hCLFNEN0NnQixFQUdYLEVBQUE7O0FFYkw7RUFSQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGlDQUZpQjtNQUVqQiw2QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKWkg7RUUwQ0UsNkJBRmlCO01BRWpCLHlCQUZpQixFRWhCaEI7O0FKdkJIO0VBVEEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixpQ0FGaUI7TUFFakIsNkJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSlhIO0VFeUNFLDZCQUZpQjtNQUVqQix5QkFGaUIsRUVoQmhCOztBSnRCSDtFQVZBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsZ0NBRmlCO01BRWpCLDRCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpWSDtFRXdDRSw2QkFGaUI7TUFFakIseUJBRmlCLEVFaEJoQjs7QUpyQkg7RUFYQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGdDQUZpQjtNQUVqQiw0QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKVEg7RUV1Q0UsNkJBRmlCO01BRWpCLHlCQUZpQixFRWhCaEI7O0FKcEJIO0VBWkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGaUI7TUFFakIseUJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSlJIO0VFc0NFLGdDQUZpQjtNQUVqQiw0QkFGaUIsRUVoQmhCOztBSm5CSDtFQWJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRmlCO01BRWpCLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpQSDtFRXFDRSxnQ0FGaUI7TUFFakIsNEJBRmlCLEVFaEJoQjs7QUpsQkg7RUFkQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZpQjtNQUVqQix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKTkg7RUVvQ0UsaUNBRmlCO01BRWpCLDZCQUZpQixFRWhCaEI7O0FKakJIO0VBZkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGaUI7TUFFakIseUJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSkxIO0VFbUNFLGlDQUZpQjtNQUVqQiw2QkFGaUIsRUVoQmhCOztBSmRIO0VBbEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VLQWxDLDZCQUE2QixFREU1Qjs7QUpGSDtFRWdDRSxXRmhDcUMsRUljcEM7O0FKYkg7RUFuQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUtEbEMsNkJBQTZCLEVERTVCOztBSkRIO0VFK0JFLFdGL0JxQyxFSWFwQzs7QUpWSDtFQXRCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDSXJDWTtFSnFDWiwwQkFGaUI7TUFFakIsc0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpFSDtFRTRCRSw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0FKVEg7RUF2QkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0lwQ2M7RUpvQ2QsNEJBRmlCO01BRWpCLHdCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKR0g7RUUyQkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlJIO0VBeEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENJbkNlO0VKbUNmLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBSklIO0VFMEJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpQSDtFQXpCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhDSWxDYTtFSmtDYiwyQkFGaUI7TUFFakIsdUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpLSDtFRXlCRSw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0FKTkg7RUExQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0lyQ1k7RUpxQ1osNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKTUg7RUV3QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkxIO0VBM0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NJcENjO0VKb0NkLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBSk9IO0VFdUJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpKSDtFQTVCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDSVJ3QztFSlF4QywwQkFGaUI7TUFFakIsc0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpRSDtFRXNCRSwrQ0lyQ1k7RUN1QlYsV0FBOEIsRUhKL0I7O0FKSEg7RUE3QkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0lSd0M7RUpReEMsNEJBRmlCO01BRWpCLHdCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKU0g7RUVxQkUsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSkZIO0VBOUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBSlVIO0VFb0JFLDhDSW5DZTtFQ3FCYixXQUE4QixFSEovQjs7QUpESDtFQS9CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDSVJ3QztFSlF4QywyQkFGaUI7TUFFakIsdUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpXSDtFRW1CRSw4Q0lsQ2E7RUNvQlgsV0FBOEIsRUhKL0I7O0FKQUg7RUFoQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0lSd0M7RUpReEMsNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKWUg7RUVrQkUsK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkNIO0VBakNBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBSmFIO0VFaUJFLCtDSXBDYztFQ3NCWixXQUE4QixFSEovQjs7QUpJSDtFQXBDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDBCQUZpQjtNQUVqQixzQkFGaUI7RU0zQmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVKRjVCOztBSmdCSDtFRWNFLHdCQUZpQjtNQUVqQixvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0FKS0g7RUFyQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwwQkFGaUI7TUFFakIsc0JBRmlCO0VNM0JmLHdDQUF3QztFQUN4QyxXQUEyQixFSkY1Qjs7QUppQkg7RUVhRSx3QkFGaUI7TUFFakIsb0JBRmlCO0VNaEJmLFdBQTJCLEVKQTVCOztBSk1IO0VBdENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsd0JBRmlCO01BRWpCLG9CQUZpQjtFTTNCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUpGL0I7O0FKa0JIO0VFWUUsMEJBRmlCO01BRWpCLHNCQUZpQjtFTWhCZixXQUE4QixFSkEvQjs7QUpPSDtFQXZDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHdCQUZpQjtNQUVqQixvQkFGaUI7RU0zQmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVKRi9COztBSm1CSDtFRVdFLDBCQUZpQjtNQUVqQixzQkFGaUI7RU1oQmYsV0FBOEIsRUpBL0I7O0FKVUg7RUExQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixpQ0FGaUI7TUFFakIsNkJBRmlCO0VPM0JmLHdDQUF3QztFQUN4QyxXQUEyQixFTEY1Qjs7QUpzQkg7RUVRRSx5QkFGaUI7TUFFakIscUJBRmlCO0VPaEJmLFdBQTJCLEVMQTVCOztBSldIO0VBM0NBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIseUJBRmlCO01BRWpCLHFCQUZpQjtFTzNCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUxGL0I7O0FKdUJIO0VFT0UsZ0NBRmlCO01BRWpCLDRCQUZpQjtFT2hCZixXQUE4QixFTEEvQjs7QUpZSDtFQTVDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0Ji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QVU7RUFDVixzQkFBc0I7RUFDdEIsb0JBQW9CLEVBeUR2QjtFUTdrR0Q7SVI0L0ZKO01BMEJZLG9CQUFvQixFQXVEM0IsRUFBQTtFUTdrR0Q7SVI0L0ZKO01BNkJZLG9CQUFvQixFQW9EM0IsRUFBQTtFQWpGTDtJQWdDWSxpQkFBaUI7SUFDakIscUJBQWM7SUFBZCxjQUFjO0lBQ2QsdUJBQW9CO1FBQXBCLG9CQUFvQjtJQUNwQixvQkFBb0IsRUFPdkI7SVF0aUdMO01SNC9GSjtRQXFDZ0Isb0JBQW9CLEVBSzNCLEVBQUE7SVF0aUdMO01SNC9GSjtRQXdDZ0Isb0JBQW9CLEVBRTNCLEVBQUE7RUExQ1Q7SUE0Q1ksZUl6b0dZO0lKMG9HWiw2Qkk1bkcwQjtJSjhuRzFCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsMEJBQTBCO0lBQzFCLGdCT2puR1UsRVAybkdiO0lReGpHTDtNUjQvRko7UUFvRGdCLG9CT25uR00sRVAybkdiLEVBQUE7SVF4akdMO01SNC9GSjtRQXVEZ0IsbUJPdG5HTSxFUDJuR2IsRUFBQTtJUXhqR0w7TVI0L0ZKO1FBMERnQixxQk96bkdNLEVQMm5HYixFQUFBO0VBNURUO0lBOERZLFlBQVk7SUFDWixhQUFhO0lBQ2IsMkNBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsd0RBQXFCO0lBQ3JCLDZCQUE2QjtJQUM3QixvQkFBb0I7SUFDcEIsbUJBQW1CLEVBVXRCO0lBaEZUO01Bd0VnQiwrQkFBK0IsRUFDbEM7SUF6RWI7TUEyRWdCLGdDQUFnQyxFQUNuQztJQTVFYjtNQThFZ0IsaUNBQWlDLEVBQ3BDOztBQVNiO0VBQ0k7SUFDSSxhQUFhLEVBQ2hCLEVBQUE7O0FBR0w7RUFHSTtJQUNJLGNBQWMsRUFJakIsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGtleWZyYW1lcyBzd2luZ091dFgge1xuICAgIDAlIHtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmdJblgge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSlcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKVxuICAgIH1cbn1cblxuQGNoYXJzZXQgJ3V0Zi04JztcblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vPT09PT09PT09PT09PT09PT09PT1HTE9CQUwgQ0xBU1NFU1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWQxYTU7XG59XG5cbi5yb290IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA5NDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICYtLWZsZXgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjI1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc2Vjb25kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYmFubmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvaG9tZS1iYW5uZXItMi5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogODAwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDkwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDQxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNiU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aHJlZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRpdGxlIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMHB4KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzRweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDZweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDExMHB4O1xuICAgIH1cbiAgICAmLS1ib2xkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgJl9fYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL3RpdGxlLWJvdHRvbS5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNTI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNzI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgICAgICAgICBib3R0b206IC02MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL3RpdGxlLWljLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MCUpO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBsZWZ0OiAtNDVweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbGVmdDogLTgxcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtNDVweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgcmlnaHQ6IC04MXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX21lZGl1bSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjUzO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjZweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sZXR0ZXIge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIGhlaWdodDogNTVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICYtLXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9sZXR0ZXItcy5wbmdcIik7XG4gICAgfVxuICAgICYtLWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9sZXR0ZXItYi5wbmdcIik7XG4gICAgfVxuICAgICYtLW8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9sZXR0ZXItby5wbmdcIik7XG4gICAgfVxufVxuXG4udGV4dCB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICB9XG4gICAgPiBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgfVxuICAgID4gcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbWVkaXVtIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjhweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzRweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kZWNvciB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjVweCBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL2RlY29yLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOiAzNXB4IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDdweDtcbiAgICAgICAgaGVpZ2h0OiAzOXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgICB9XG59XG5cbi8vdXJsKFwiLi4vaW1nL2hvbWUvYmcyLnBuZ1wiKSxcbi5wYXJjaG1lbnQtYmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA4O1xuICAgIG1hcmdpbi10b3A6IC02MHB4O1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2JnX3RpdGxlLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC03MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDVweCk7XG4gICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xMDBweDtcbiAgICAgICAgYm90dG9tOiAtNzBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHdpZHRoOiAzNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvbGVmdC1zd2Fkb3cucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3JpZ2h0LXNoYWRvdy5wbmdcIik7XG4gICAgfVxuICAgICYtLXRvcCwgJi0tYm90dG9tIHtcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vdG9wOiAwO1xuICAgICAgICAvL2JvdHRvbTogMDtcbiAgICAgICAgLy9sZWZ0OiAwO1xuICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2ZvbmUucG5nXCIpO1xuICAgIH1cbiAgICAmLS10b3Age1xuXG4gICAgfVxuICAgICYtLWJvdHRvbSB7XG4gICAgfVxufVxuXG4uYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogNjEuN3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIH1cbiAgICAmLS1tYWdpYyB7XG4gICAgICAgIC5zcGFya2xlLWNhbnZhcyB7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLWdvbGQge1xuICAgICAgICAuaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9QbGF5LUZyZWUtTm93NC5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OlxuICAgICAgICAgICAgLTFweCAtMXB4IDAgIzY5M2ExMyxcbiAgICAgICAgICAgIDFweCAtMXB4IDAgIzY5M2ExMyxcbiAgICAgICAgICAgIC0xcHggMXB4IDAgIzY5M2ExMyxcbiAgICAgICAgICAgIDFweCAxcHggMCAjNjkzYTEzLFxuICAgICAgICAgICAgMCAzcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG5cbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDg1cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzRweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDg1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3ByaW1hcnkge1xuICAgICAgICB3aWR0aDogMzIxcHg7XG4gICAgICAgIGhlaWdodDogNzRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2J0bi1iZy1wcmltYXJ5LnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgNHB4IDFweCByZ2JhKDk2LCAzOSwgNCwgMC4yOCk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogNzRweDtcbiAgICAgICAgLnNoaW5lIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjJweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgICAmLS1nb2xkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2J0bi1iZy1wcmltYXJ5LWdvbGQucG5nXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzRweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoODVweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnNoaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiA1O1xuICAgIHRvcDogMTVweDtcbiAgICBib3R0b206IDIyJTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIC8vYm90dG9tOiAyNXB4O1xuICAgIH1cbn1cblxuLnNoaW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTEwJTtcbiAgICBsZWZ0OiAtMjEwJTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvL3RyYW5zZm9ybTogcm90YXRlKDMwZGVnKTtcblxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICB0byByaWdodCxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSA3NyUsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA5MiUsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wKSAxMDAlXG4gICAgKTtcbn1cblxuLyogSG92ZXIgc3RhdGUgLSB0cmlnZ2VyIGVmZmVjdCAqL1xuXG4uYnV0dG9uOmhvdmVyIC5zaGluZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAtMzAlO1xuICAgIGxlZnQ6IC0zMCU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgdG9wLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuN3MsIDAuN3MsIDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xufVxuXG4vKiBBY3RpdmUgc3RhdGUgKi9cblxuLnNoaW5lOmFjdGl2ZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5hbmltYXRlZCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGhcbn1cblxuLnB1bHNlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgICBhbmltYXRpb24tbmFtZTogcHVsc2Vcbn1cblxuLmZvcm1fX2dyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyMnB4O1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9zcHJpdGUtaW5wdXQucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAmLS1tZXNzYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFweCA0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmFtZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTc0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcGFzcyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggLTE0NnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNThweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjJweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9pbnB1dC1iZy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2lucHV0X2ZvY3VzLnBuZ1wiKTtcbiAgICB9XG4gICAgLyogV2Via2l0ICovXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgLyogRmlyZWZveCA0LTE4ICovXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICAgIC8qIElFMTArICovXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxufVxuXG4uY2FwdGNoYS1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxNDdweDtcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9jYXB0Y2hhLWJveF9faW1nLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgfVxuICAgIC5mb3JtX19ncm91cCB7XG4gICAgICAgIHdpZHRoOiAyMDlweDtcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9pbnB1dC1iZy1zbS5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5sb2dvIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA0MDNweDtcbiAgICBtYXgtaGVpZ2h0OiAxNjFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNzRweDtcbiAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NjZweDtcbiAgICAgICAgbWF4LWhlaWdodDogMjI2cHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvbG9nby1sZy5wbmdcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG59XG5cbi5idG4tZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLXRvcDogMzhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogMCAtNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL2JnLW5hdi5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBtYXgtd2lkdGg6IDc0NXB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5oZWFkcm9vbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1heC13aWR0aDogODYwcHg7XG4gICAgICAgICYuaGVhZHJvb20ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBtYXgtd2lkdGg6IDk2M3B4O1xuICAgIH1cbiAgICAmLS1hYnNvbHV0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDUlO1xuICAgICAgICB6LWluZGV4OiA3Nzc7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNjlweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBsZWZ0OiAtNDdweDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2xlZnQtbmF2LnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC01MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hvbWUvcmlnaHQtbmF2LnBuZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMTAsIDAsIDE4MGRlZyk7XG4gICAgfVxuICAgICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogODNweDtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjgsIDY4LCA2OCwgMSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY4LCA2OCwgNjgsIDEpIDAlLCByZ2JhKDAsIDAsIDAsIDEpIDQ5JSwgcmdiYSgwLCAwLCAwLCAxKSA1NSUsIHJnYmEoNjgsIDY4LCA2OCwgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoNjgsIDY4LCA2OCwgMSkpLCBjb2xvci1zdG9wKDQ5JSwgcmdiYSgwLCAwLCAwLCAxKSksIGNvbG9yLXN0b3AoNTUlLCByZ2JhKDAsIDAsIDAsIDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDY4LCA2OCwgNjgsIDEpKSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY4LCA2OCwgNjgsIDEpIDAlLCByZ2JhKDAsIDAsIDAsIDEpIDQ5JSwgcmdiYSgwLCAwLCAwLCAxKSA1NSUsIHJnYmEoNjgsIDY4LCA2OCwgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg2OCwgNjgsIDY4LCAxKSAwJSwgcmdiYSgwLCAwLCAwLCAxKSA0OSUsIHJnYmEoMCwgMCwgMCwgMSkgNTUlLCByZ2JhKDY4LCA2OCwgNjgsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY4LCA2OCwgNjgsIDEpIDAlLCByZ2JhKDAsIDAsIDAsIDEpIDQ5JSwgcmdiYSgwLCAwLCAwLCAxKSA1NSUsIHJnYmEoNjgsIDY4LCA2OCwgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSg2OCwgNjgsIDY4LCAxKSAwJSwgcmdiYSgwLCAwLCAwLCAxKSA0OSUsIHJnYmEoMCwgMCwgMCwgMSkgNTUlLCByZ2JhKDY4LCA2OCwgNjgsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyM0NDQ0NDQnLCBlbmRDb2xvcnN0cj0nIzQ0NDQ0NCcsIEdyYWRpZW50VHlwZT0wKTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaXMtYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL25hdl9ob3Zlci5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjc3KTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogNjY2O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXMgZWFzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vbW9iaWxlXG4gICAgJl9fbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNkNmFhO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hvbWUvYmcyLnBuZyksIHVybCguLi9pbWcvaG9tZS9iZy5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9sb2dvLWxnLnBuZ1wiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2luYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDM4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmLS1wcmV2LCAmLS1uZXh0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1wcmV2OmFmdGVyLCAmLS1uZXh0OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9oZXgtYWN0aXZlLnBuZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3OTVhNTY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNzk1YTU2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvaGV4LWFjdGl2ZS5wbmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maWx0ZXItcGFuZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoMTkyLCAxNzUsIDE1MCwgMC4yKTtcbiAgICAvL2JvcmRlcjogMXB4IHNvbGlkICNiMDk1Njc7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvZmlsdGVyX2ZyYW1lLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2ZpbHRlcl9hbmdsZS5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICB9XG5cbiAgICAmLS1mbGV4LWNlbnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC5maWx0ZXItcGFuZWxfX2l0ZW0ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL2ZpbHRlcl9pY29uX2xhc3RfY2hpbGQucG5nKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9waW1rYS5wbmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1hY3RpdmUsICY6aG92ZXIge1xuICAgICAgICAgICAgLmZpbHRlci1wYW5lbF9fbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNhNzczMmM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBDaW56ZWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mdWxsX2luZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICAmX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9mdWxsX2luZm8ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cbn1cblxuLy8g0L/RgNC40LvQuNC/0LDRjtGJ0LjQuSDRhdC10LTQtdGAXG4uaGVhZHJvb20tLXBpbm5lZC5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuN3M7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmhlYWRyb29tLS11bnBpbm5lZC5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjdzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi51aS1uYXYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmX19jbG9zZSB7XG4gICAgICAgICYuY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fb3BlbiB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB6LWluZGV4OiA4ODg7XG4gICAgICAgIHdpZHRoOiA2MXB4O1xuICAgICAgICBoZWlnaHQ6IDUxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL29wZW5fbmF2LnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDgxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcxcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICY6aG92ZXI6OmJlZm9yZSwgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNGU5MDMxO1xuICAgIH1cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICAmLmJpZyB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDMpO1xuICAgIH1cbiAgICAmLmhhaXJsaW5lOjpiZWZvcmUsICYuaGFpcmxpbmU6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuICAgICYudGhpY2s6OmJlZm9yZSwgJi50aGljazo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG4gICAgJi5ibGFjazo6YmVmb3JlLCAmLmJsYWNrOjphZnRlciB7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIH1cbiAgICAmLmhlYXZ5OjpiZWZvcmUsICYuaGVhdnk6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIH1cbiAgICAmLnBvaW50eTo6QmVmb3JlLCAmLnBvaW50eTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICB9XG4gICAgJi5yb3VuZGVkOjpiZWZvcmUsICYucm91bmRlZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgfVxuICAgICYuYmxhZGVzOjpiZWZvcmUsICYuYmxhZGVzOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCAwO1xuICAgIH1cbiAgICAmLndhcnA6OmJlZm9yZSwgJi53YXJwOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEyMCUgMDtcbiAgICB9XG4gICAgJi5mYXQ6OmJlZm9yZSwgJi5mYXQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09SE9NRVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi50b3BfX2Jhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU1NTtcbiAgICAmX19pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICZfX2JnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA2MDJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL21vYmlsZV9iYW5uZXIucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zbW9rZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAubG9nbywgLmJ0bi1ib3gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDc3NztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcblxuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAlKTtcbiAgICB9XG4gICAgLmJ0bi1ib3gge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgdG9wOiAzNSU7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNnMgZWFzZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNDBweCA2MHB4IHJnYmEoMjA3LCAxNzksIDEzMiwgMC41KTtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjdzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDYwcHggcmdiYSgyMDcsIDE3OSwgMTMyLCAwLjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1zbWFsbCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9iYW5uZXJfc21hbGwucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB9XG4gICAgICAgIC50b3BfX2Jhbm5lcl9faW1nX19iZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB9XG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm5hdmlnYXRpb24tLWFic29sdXRlIHtcbiAgICAgICAgICAgIGJvdHRvbTogOSU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDExJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnRuLWJveC5idXR0b24tLW1hZ2ljIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzOTJweDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzkycHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTcwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tZSB7XG4gICAgLnBhcmNobWVudC1iZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJi0tdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNzBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2JnMi5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Jhbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2Jhbm5lci1ob21lLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDk5NnB4KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzODdweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ2N3B4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTI4MHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ5OHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTM2NnB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUzMXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA1NjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogNjIycHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxNzAwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzQ3cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZmlyc3Qge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgfVxufVxuXG4uY29udGFpbmVyIHtcbiAgICAmX19maXJzdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogODtcbiAgICAucGFyY2htZW50LWJnIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgfVxufVxuXG4uYmFubmVyLWNhcnRzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiA2NjY7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgfVxuICAgIC5zcGFya2xlLWNhbnZhcyB7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0b3A6IC0yJSAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbiAgICAmX19jYW52YXMge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI4MHB4O1xuICAgIG1hcmdpbi10b3A6IDM3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDQwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGhlaWdodDogMjgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiAzOTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0N3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiA2NTlweDtcbiAgICAgICAgaGVpZ2h0OiA1MjdweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1N3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NHB4O1xuICAgIH1cbiAgICAmX193YWxscGFwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgIHJpZ2h0OiAxM3B4O1xuICAgICAgICBib3R0b206IDEzcHg7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3ZpZGVvX193YWxscGFwZXIucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgICZfMiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS92aWRlb19fd2FsbHBhcGVyXzIucG5nXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTAwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjNweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZnJhbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvdmlkZW9fX2RlY29yLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG4gICAgJl9fZGVjb3Ige1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2hvbWUvZnJhbWVfX3ZpZGVvLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogOTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICZfX3JlY3RhbmdsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvdmlkZW8tcmVjdGFuZ2xlLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcGxheSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9wbGF5LnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1NSU7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNHMgZWFzZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3BsYXlfX2hvdmVyLnBuZ1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICZfX2xlZnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1OHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDI4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvdmlkZW9fX2xlZnRfaW1nLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDIwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19yaWdodCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI5MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzQ3cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvdmlkZW9fX3JpZ2h0X2ltZy5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDMwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWluZXItc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAvL3otaW5kZXg6IC0xO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICB9XG4gICAgJl9fZnJhbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTEzcHg7XG4gICAgICAgICAgICBib3R0b206IC0xNnB4O1xuICAgICAgICAgICAgbGVmdDogLTYwcHg7XG4gICAgICAgICAgICByaWdodDogLTYwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9zbGlkZXJfX2ZyYW1lLnBuZ1wiKSAtMXB4IDZweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NjhweCkge1xuICAgICAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9jb250YWluZXItc2xpZGVyX19uYXYtLWxlZnQucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9jb250YWluZXItc2xpZGVyX19uYXYtLXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9zbGlkZXJfX2xlZnQucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTQxcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTY5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTI1cHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDMxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3NsaWRlcl9fcmlnaHQucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMHB4O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTMwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogN3B4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbW1vbl9fc2xpZGVyIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzY0MzQxYjtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICA+IHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09IEZPT1RFUlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5wcmUtZm9vdGVyIHtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDY2NjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzYlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9iZy1mb290ZXItZW5kaW5nLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtN3B4O1xufVxuXG4uZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NzBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IDc3NztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICB9XG4gICAgJl9fYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvZm9vdGVyLWJnLnBuZ1wiKSBib3R0b20gbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgJi0tYm90dG9tLWxlZnQge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2Zvb3Rlci1sZWZ0LWJvdHRvbS5wbmdcIik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tYm90dG9tLXJpZ2h0IHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvZm9vdGVyLXJpZ2h0LWJvdHRvbS5wbmdcIik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tdG9wLWxlZnQge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2Zvb3Rlci1sZWZ0LXRvcC5wbmdcIik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tdG9wLXJpZ2h0IHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvZm9vdGVyX3JpZ2h0X3RvcC5wbmdcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDM4MXB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvZm9vdGVyLWZhYnJpYy5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDJweDtcbiAgICAgICAgfVxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTElKTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzOHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjZweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzJweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDUzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM4cHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgY29sb3I6ICNjYmU4ZWY7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzVweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQlKTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOTNweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgLmltZyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNC45cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgICZfX3NvY2lhbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogNzc3O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDdweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9zb2NpYWwtaWNvbi1mcmFtZS5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgd2lkdGg6IDUzcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogODNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjhweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOTNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIycHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmZhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxOHB4IDE0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgLy9jb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL3NvY2lhbC1zcHJpdGUucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1mYWNlYm9vayB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDhweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXR3aXR0ZXIge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTBweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWluc3RhZ3JhbSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODVweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vPT09PT09PT09PT09PT09PT09PT0gU01PS0Vcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uc21va2UtLWxpZ2h0IHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG5AZnVuY3Rpb24gZGVjaW1hbC1yb3VuZCAoJG51bWJlciwgJGRpZ2l0czogMCwgJG1vZGU6IHJvdW5kKSB7XG4gICAgJG46IDE7XG4gICAgLy8gJG51bWJlciBtdXN0IGJlIGEgbnVtYmVyXG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT1udW1iZXIge1xuICAgICAgICBAd2FybiAnI3sgJG51bWJlciB9IGlzIG5vdCBhIG51bWJlci4nO1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfVxuICAgIC8vICRkaWdpdHMgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKCRkaWdpdHMpICE9bnVtYmVyIHtcbiAgICAgICAgQHdhcm4gJyN7ICRkaWdpdHMgfSBpcyBub3QgYSBudW1iZXIuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH0gQGVsc2UgaWYgbm90IHVuaXRsZXNzKCRkaWdpdHMpIHtcbiAgICAgICAgQHdhcm4gJyN7ICRkaWdpdHMgfSBoYXMgYSB1bml0Lic7XG4gICAgICAgIEByZXR1cm4gJG51bWJlcjtcbiAgICB9XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGlnaXRzIHtcbiAgICAgICAgJG46ICRuICogMTA7XG4gICAgfVxuICAgIEBpZiAkbW9kZT09cm91bmQge1xuICAgICAgICBAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAkbikgLyAkbjtcbiAgICB9IEBlbHNlIGlmICRtb2RlPT1jZWlsIHtcbiAgICAgICAgQHJldHVybiBjZWlsKCRudW1iZXIgKiAkbikgLyAkbjtcbiAgICB9IEBlbHNlIGlmICRtb2RlPT1mbG9vciB7XG4gICAgICAgIEByZXR1cm4gZmxvb3IoJG51bWJlciAqICRuKSAvICRuO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIiN7ICRtb2RlIH0gaXMgdW5kZWZpbmVkIGtleXdvcmQuXCI7XG4gICAgICAgIEByZXR1cm4gJG51bWJlcjtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBkZWNpbWFsLWNlaWwgKCRudW1iZXIsICRkaWdpdHM6IDApIHtcbiAgICBAcmV0dXJuIGRlY2ltYWwtcm91bmQoJG51bWJlciwgJGRpZ2l0cywgY2VpbCk7XG59XG5cbkBmdW5jdGlvbiBkZWNpbWFsLWZsb29yICgkbnVtYmVyLCAkZGlnaXRzOiAwKSB7XG4gICAgQHJldHVybiBkZWNpbWFsLXJvdW5kKCRudW1iZXIsICRkaWdpdHMsIGZsb29yKTtcbn1cblxuQGZ1bmN0aW9uIHYoJHgsICR5KSB7XG4gICAgJHN0YXJ0LXg6IC0yMDBweDtcbiAgICAkZW5kLXg6IDE5MjBweDtcbiAgICAkc3RlcHMteDogMTU7XG4gICAgJHN0ZXBzLXgtdmFsdWU6ICgoJHN0YXJ0LXggLSAkZW5kLXgpIC8gJHN0ZXBzLXgpICogLTE7XG5cbiAgICAkc3RhcnQteTogLTEwMHB4O1xuICAgICRlbmQteTogNjAwcHg7XG4gICAgJHN0ZXBzLXk6IDE1O1xuICAgICRzdGVwcy15LXZhbHVlOiAoKCRzdGFydC15IC0gJGVuZC15KSAvICRzdGVwcy15KSAqIC0xO1xuXG4gICAgJHgtbGlzdDogKCk7XG4gICAgJHktbGlzdDogKCk7XG5cbiAgICAkbmV4dHZhbDogJHN0YXJ0LXg7XG4gICAgQHdoaWxlICRuZXh0dmFsIDwgJGVuZC14IHtcbiAgICAgICAgJHgtbGlzdDogYXBwZW5kKCR4LWxpc3QsICRuZXh0dmFsKTtcbiAgICAgICAgJG5leHR2YWw6ICRuZXh0dmFsICsgJHN0ZXBzLXgtdmFsdWU7XG4gICAgfVxuXG4gICAgJG5leHR2YWw6ICRzdGFydC15O1xuICAgIEB3aGlsZSAkbmV4dHZhbCA8ICRlbmQteSB7XG4gICAgICAgICR5LWxpc3Q6IGFwcGVuZCgkeS1saXN0LCAkbmV4dHZhbCk7XG4gICAgICAgICRuZXh0dmFsOiAkbmV4dHZhbCArICRzdGVwcy15LXZhbHVlO1xuICAgIH1cblxuICAgIEByZXR1cm4gbnRoKCR4LWxpc3QsICR4KSxcbiAgICBudGgoJHktbGlzdCwgJHkpO1xufVxuXG5AZnVuY3Rpb24gcmFuZG9tVkxpc3QoKSB7XG4gICAgJHgtbWF4c3RlcHM6IDE1O1xuICAgICR5LW1heHN0ZXBzOiAxNTtcbiAgICAkeDogcmFuZG9tKCR4LW1heHN0ZXBzIC0gMTApOyAvL1N0YXJ0dmFsdWVcbiAgICAkeTogcmFuZG9tKCR5LW1heHN0ZXBzIC0gMTApOyAvL1N0YXJ0dmFsdWVcbiAgICAkbGlzdDogKCk7XG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJHggJHkpO1xuICAgICRyYW5kb20teC1zdGVwczogcmFuZG9tKCR4LW1heHN0ZXBzIC0gNSkgKyA1O1xuICAgIEB3aGlsZSAkeCA8ICRyYW5kb20teC1zdGVwcyB7XG4gICAgICAgICR4OiAkeCArIDE7XG4gICAgICAgIEBpZiAkeT09JHktbWF4c3RlcHMge1xuICAgICAgICAgICAgJHk6ICR5ICsgKHJhbmRvbSgyKSAtIDIpOyAvL3kgKyBbLTF8MF1cbiAgICAgICAgfSBAZWxzZSBpZiAkeT09MSB7XG4gICAgICAgICAgICAkeTogJHkgKyAocmFuZG9tKDIpIC0gMSk7IC8veSArIFswfDFdXG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJHk6ICR5ICsgKHJhbmRvbSgzKSAtIDIpOyAvL3kgKyBbLTF8MHwxXVxuICAgICAgICB9XG4gICAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICR4ICR5KTtcbiAgICB9XG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuQG1peGluIGFuaW1hdGlvbigkbmFtZSwgJHR1cGxlTGlzdCkge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgICAkc3RlcHM6IGxlbmd0aCgkdHVwbGVMaXN0KTtcbiAgICAgICAgLy9AZGVidWcgXCJTdGVwczogXCIgKyAkc3RlcHM7XG4gICAgICAgIEBpZiAkc3RlcHMgPiAxIHtcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAwIHRvICRzdGVwcyB7XG4gICAgICAgICAgICAgICAgLy8gPHN0YXJ0PiB0byA8ZW5kPiAtPiBub3QgaW5jbHVkZSA8ZW5kPlxuICAgICAgICAgICAgICAgICRwZXJjZW50YWdlOiBkZWNpbWFsLXJvdW5kKCRpKigxMDAvKCRzdGVwcyAtIDEpKSwgMik7IC8vY2FsYyBwZXJjZW50YWdlIHdpdGggMiBkZWNpbWFsc1xuICAgICAgICAgICAgICAgICN7JHBlcmNlbnRhZ2V9JSB7XG4gICAgICAgICAgICAgICAgICAgICR0dXBsZTogbnRoKCR0dXBsZUxpc3QsICRpKzEpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2KG50aCgkdHVwbGUsIDEpLCBudGgoJHR1cGxlLCAyKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAxNSUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDg1JSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL0NyZWF0ZSByYW5kb20gYW5pbWF0aW9uc1xuQGZvciAkaSBmcm9tIDEgdG8gMjAge1xuICAgICRyYW5kb21saXN0OiByYW5kb21WTGlzdCgpO1xuICAgIEB3aGlsZSBsZW5ndGgoJHJhbmRvbWxpc3QpIDwgMyB7XG4gICAgICAgICRyYW5kb21saXN0OiByYW5kb21WTGlzdCgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBhbmltYXRpb24oXCJhbmltYXRpb25cIiArICRpLCAkcmFuZG9tbGlzdCk7XG59XG5cbi5wYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyAvL2F1dG98bGVuZ3RofGNvdmVyfGNvbnRhaW58aW5pdGlhbHxpbmhlcml0XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRvIDIwIHtcbiAgICAuZWxlbSN7JGl9IHtcbiAgICAgICAgJHBvc2l0aW9uOiB2KHJhbmRvbSgxMCksIHJhbmRvbSgxMCkpO1xuICAgICAgICBsZWZ0OiBudGgoJHBvc2l0aW9uLCAxKTtcbiAgICAgICAgdG9wOiBudGgoJHBvc2l0aW9uLCAyKTtcbiAgICAgICAgLy8kZHVyYXRpb246IDEyKyByYW5kb20oNyk7XG4gICAgICAgIC8vZm9yIGRlbW86XG4gICAgICAgICRkdXJhdGlvbjogMzAgKyByYW5kb20oMjApO1xuICAgICAgICBhbmltYXRpb246IGFuaW1hdGlvbiN7JGl9IGxpbmVhciAjeyRkdXJhdGlvbn1zIGluZmluaXRlO1xuICAgICAgICAkc2l6ZTogMTUwcHggKyByYW5kb20oMjApO1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICRpbWdsaXN0OiB1cmwoLi4vaW1nL2hvbWUvc21va2UtbGlnaHQucG5nKSxcbiAgICAgICAgdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyksXG4gICAgICAgIHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpLFxuICAgICAgICB1cmwoLi4vaW1nL2hvbWUvc21va2UtbGlnaHQucG5nKSxcbiAgICAgICAgdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyksXG4gICAgICAgIHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBudGgoJGltZ2xpc3QsICgkaSAlIDUpICsgMSk7XG4gICAgfVxufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDIwIHtcbiAgICAuYW5pbS1kZWxheSN7JGl9IHtcbiAgICAgICAgLy8kYW5pbWF0aW9uZGVsYXk6IHJhbmRvbSgyMCk7XG4gICAgICAgIC8vZm9yIGRlbW86XG4gICAgICAgICRhbmltYXRpb25kZWxheTogcmFuZG9tKDUpO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6ICN7JGFuaW1hdGlvbmRlbGF5fXM7XG4gICAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT09PT09PT09PT09PT09PT09PSAgU1RPUllcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uc3Rvcnkge1xuICAgICYtd3JhcHBlciB7XG4gICAgICAgIC5wYXJjaG1lbnQtYmcge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYm94IHtcbiAgICAgICAgbWF4LXdpZHRoOiA4NzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzRweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9zdG9yeV9fc2hhZG93LnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjUlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgJi0tc2Vjb25kIHtcbiAgICAgICAgICAgICAgICAuZGVjb3Ige1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUxN3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjM7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjhweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzODZweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09IEdBTUUgRUNPTk9NWVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5nYW1lLWVjb25vbXkge1xuICAgICZfX2RpdmlkZXIge1xuICAgICAgICBoZWlnaHQ6IDE2M3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICB9XG4gICAgICAgICYtLWZpcnN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2dhbWUtZWNvbm9teS1kaXZpZGVyLTEucG5nXCIpO1xuICAgICAgICB9XG4gICAgICAgICYtLXNlY29uZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9nYW1lLWVjb25vbXktZGl2aWRlci0yLnBuZ1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU0cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc0cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4NHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT09PT09PT09PT09PT09PT09PSBSRUdJU1RSQVRJT05cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ucmVnaXN0cmF0aW9uIHtcbiAgICAmX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzVweCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vPT09PT09PT09PT09PT09PT09PT0gQ0FSRFNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uY2FyZHMge1xuICAgIC5oZXhhZ29uLWJveCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgICB9XG4gICAgLmhleGFnb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICZfX3BvaW50IHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTA0cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZDJhOTtcbiAgICAgICAgICAgICAgICAvL3otaW5kZXg6IC0yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggN3B4IHJnYmEoMTY3LCAxMzgsIDEyMSwgMC4zOCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvc3ByaXRlX2NhcnQucG5nXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi0tZmlyc3Qge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNXB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYtLXNlY29uZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTZweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS10aHJlZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjZweCAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYtLWZvdXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTU5cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi0tZml2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NDhweCAtMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS1zaXgge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM4cHggLTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1maXJzdCB7XG4gICAgICAgICAgICAgICAgdG9wOiAtMjclO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tc2Vjb25kIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMyU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS10aHJlZSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNzMlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1mb3VyIHtcbiAgICAgICAgICAgICAgICB0b3A6IDczJTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWZpdmUge1xuICAgICAgICAgICAgICAgIHRvcDogLTI3JTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXNpeCB7XG4gICAgICAgICAgICAgICAgdG9wOiAtNzMlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDQ2JTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC44KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAtMzcsIDApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAmW2RhdGEtY29udGVudD1cInNpeFwiXSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjZweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTM7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgfVxuICAgICAgICAmX19jYXJkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDQ1MHB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTI2cHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzEycHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fY2FyZC1lbGVtZW50cyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgIC5oZWFkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZW9uZGFyeS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg0NTBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyM3B4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvcGlta2EucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19mbGV4IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYm94IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjEwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleDogMSAxIDIxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAmLS1iYXNpayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvY2FyZDMucG5nXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tcmFyZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvY2FyZDQucG5nXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tZXBpYyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvY2FyZDMucG5nXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tbGVnZW5kYXJ5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9jYXJkNC5wbmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGV4YWdvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzNTJweDtcbiAgICBoZWlnaHQ6IDIwMy4yM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMTAxLjYxcHggMDtcbiAgICBib3JkZXItbGVmdDogZG90dGVkIDNweCAjYTg3ZDRlO1xuICAgIGJvcmRlci1yaWdodDogZG90dGVkIDNweCAjYTg3ZDRlO1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAyNDguOTBweDtcbiAgICAgICAgaGVpZ2h0OiAyNDguOTBweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwLjU3NzQpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoMC41Nzc0KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMC41Nzc0KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbGVmdDogNDguNTQ5MnB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTEyNC40NTA4cHg7XG4gICAgICAgIGJvcmRlci10b3A6IGRvdHRlZCA0LjI0MjZweCAjYTg3ZDRlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IGRvdHRlZCA0LjI0MjZweCAjYTg3ZDRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtMTI0LjQ1MDhweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDQuMjQyNnB4ICNhODdkNGU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBkb3R0ZWQgNC4yNDI2cHggI2E4N2Q0ZTtcbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09IE9GRkNIQUlOIENBUkRTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLm9mZmNoYWluLWNhcmRzIHtcbiAgICAuY29udGFpbmVyX19jb250ZW50ID4gLnRleHQtY2VudGVyID4gLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gICAgLmNoYWluX19ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgJl9fY2FyZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMjAzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3N3B4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5jaGFpbl9fYm94X19jYXJkX19ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNoYWluX19ib3hfX2NhcmRfX2JvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTElKSB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2hvdmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAzJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2NhcmQtaG92ZXIucG5nXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZW9uZGFyeS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYm90dG9tIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MSUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuNSU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ5LCAyMjYsIDE4NywgMC45KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9ib3R0b21fY2FyZC5wbmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT09PT09PT09PT09PT09PT09PSBHQU1FIFRVVE9SSUFMXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmdhbWVfdHV0b3JpYWwge1xuICAgIC5jb250YWluZXItc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50aXRsZS1zbGlkZXIge1xuICAgICAgICBjb2xvcjogIzQ3MTEwYTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZW9uZGFyeS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nYW1lX2VsZW1lbnRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDNweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUzcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOTNweDtcbiAgICAgICAgfVxuICAgICAgICAmX19sZWZ0IHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0IHtcbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ3MTEwYTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5MiwgMTc1LCAxNTAsIDAuMik7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMDk1Njc7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3BpbWthLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ3MTEwYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vPT09PT09PT09PT09PT09PT09PT0gR0FNRVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5nYW1lIHtcbiAgICAucGFyY2htZW50LWJnIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzRweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ0cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idG4tYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRvd25sb2FkX2JveCB7XG4gICAgd2lkdGg6IDY1OXB4O1xuICAgIGhlaWdodDogMjAycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzcHgpO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgICZfX2ZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL2ZyYW1lX2Rvd25sb2FkLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAmX19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGhlaWdodDogODYlO1xuICAgIH1cbiAgICAmX19idXR0b24ge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwOHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAmLS1hbmRyb2lkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2FuZHJvaWRfYnRuLnBuZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICAmLS1pb3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvaW9zX2J0bi5wbmdcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09IExFQURFUiBCT0FSRFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5sZWFkZXJfYm9hcmQge1xuICAgIC5jb250YWluZXJfX2NvbnRlbnQge1xuICAgICAgICA+IC50ZXh0LWNlbnRlciA+IC50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3hfdGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9maWx0ZXJfYW5nbGUucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogLTI1cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50YWJsZS1zdHlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0aGVhZCB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTIsIDE3NSwgMTUwLCAwLjIpO1xuICAgICAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAjYjA5NTY3O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvZmlsdGVyX2ZyYW1lLnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICNhNzczMmM7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICAgdGQsIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjUsIDE5NywgMTUwLCAwLjQpO1xuICAgIH1cbiAgICB0cjpudGgtY2hpbGQob2RkKSB7XG5cbiAgICB9XG4gICAgdHIgPiB0ZCwgdHIgPiB0aCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1N3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdHIgPiB0ZCB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmM2OTc7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQsICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09IExPR0lOXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmxvZ2luIHtcbiAgICAmX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX25vdF9hY2NvdW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYXJjaG1lbnQtYmcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTA2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09IE1FRElBXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmdhbGxlcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyNDNweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOXB4IDlweCByZ2JhKDEyOCwgODksIDM4LCAwLjQ4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lZGlhIHtcbiAgICAucGFyY2htZW50LWJnIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDg2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lcl9fY29udGVudCB7XG4gICAgICAgID4gLnRleHQtY2VudGVyID4gLnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZpbHRlci1wYW5lbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjhweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMHB4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudmlkZW8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVjb3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNjcmVlbnMge1xuICAgICAgICAubWVkaWFfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZmlsdGVyLXBhbmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tYXVkaW8ge1xuICAgICAgICAucGFyY2htZW50LWJnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdHJhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxYzU5NjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDUwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjUsIDE5NywgMTUwLCAwLjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fcGxheSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNnB4IDAgNnB4IDlweDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMnB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3BhdXNlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMnB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX25hbWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3RpbWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pcy1wbGF5IHtcbiAgICAgICAgICAgICAgICAubWVkaWEtLWF1ZGlvX190cmFja19fcGxheSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PT09PT09PT09PT09PT09PT09IENPTU1VTklUWVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5jb21tdW5pdHkge1xuICAgICZfX2xpc3Rfd3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjdweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzdweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTdweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZW9uZGFyeS1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyM3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDMsIDIxNCwgMTY1LCAwLjUpO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2IwOTU2NztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9jb21tdW5pdHktc3ByaXRlLnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAmLS1zbGFjayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOXB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1mb3J1bSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOXB4IC04MXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tZmFjZWJvb2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDlweCAtMTY5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhcmNobWVudC1iZyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxODBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT09PT09PT09PT09PT09PT09PSBBQ0NPVU5UXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmFjY291bnQge1xuICAgIC5wYXJjaG1lbnQtYmcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxOTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX193cmFwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU3cHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNlb25kYXJ5LWZvbnQtZmFtaWx5O1xuXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjNweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAyMTQsIDE2NSwgMC41KTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNiMDk1Njc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9hY2NvdW50LXNwcml0ZS5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICYtLWVtYWlsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNHB4IDE3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1uYW1lIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxM3B4IC02OXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tY291bnRlcnBhcnR5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxM3B4IC0xNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vPT09PT09PT09PT09PT09PT09PT1NRURJQSBRVUVSSUVTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9pUGhvbmUgNSAmIDVTIGluIHBvcnRyYWl0ICYgbGFuZHNjYXBlXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA1NjhweCkge1xuICAgIC50aXRsZV9fYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDI5MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIC8vIG9yIDIxMy40Mzc1ZW1cbmFuZCAobWF4LWRldmljZS13aWR0aDogNjY3cHgpIC8vIG9yIDQxLjY4NzVlbVxuYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICAgLnZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgJl9fZGVjb3Ige1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDIycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vVE9ETyDQtdGE0YTQtdC60YIg0LTQu9GPINC60L3QvtC/0LrQuCDQv9GA0Lgg0YXQvtCy0LXRgNC1XG4vL1RPRE8g0LvQvtCz0L7RgtC40L9cbi8vVE9ETyDRhNC+0L0g0LTQu9GPINGB0YLRgNCw0L3QuNGG0Lhcbi8vIFRPRE8g0L/RltC00LPQvtGC0YPQstCw0YLQuCDRltC60L7QvdC60YIg0LTQu9GPINGI0LXRgdGC0LjQutGD0YLQvdC40LrQsCwg0L3QtdC/0YDQvtC30L7RgNGWINGC0LAg0LHQtdC3INGB0LrQtdC50LvRg1xuLy9UT0RPINC60LDRgNGC0LrQuCDQsiBjYXJkcy5odG1sXG5cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzIxOTllOCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4kYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcbiQtemYtbWVudS1pY29uLWltcG9ydGVkOiBmYWxzZTtcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuXG4gIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuXG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1haW4sXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBhdWRpbyxcbiAgY2FudmFzLFxuICBwcm9ncmVzcyxcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5cbiAgYTphY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cblxuICBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCJAa2V5ZnJhbWVzIHN3aW5nT3V0WCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC05MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aW5nSW5YIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtOTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtJnh4eGxhcmdlPTEwMGVtXCI7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkxvcmFcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTG9yYVwiLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjNDcxMTBhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMzZDBmMDk7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBjbGVhcjogYm90aDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmhpZGUtZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteHh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWQxYTU7IH1cblxuLnJvb3Qge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jb250YWluZXJfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogOTQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbnRhaW5lcl9fY29udGVudC0tZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY29udGFpbmVyX19jb250ZW50LS1zbWFsbCB7XG4gICAgICBtYXgtd2lkdGg6IDYyNXB4OyB9XG4gIC5jb250YWluZXJfX3NlY29uZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWluZXJfX3NlY29uZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuY29udGFpbmVyX19zZWNvbmRfX2Jhbm5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL2hvbWUtYmFubmVyLTIucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gICAgICBoZWlnaHQ6IDI1MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250YWluZXJfX3NlY29uZF9fYmFubmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgaGVpZ2h0OiA1MDBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jb250YWluZXJfX3NlY29uZF9fYmFubmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDgwMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAlKTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5jb250YWluZXJfX3NlY29uZF9fYmFubmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDkwMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmNvbnRhaW5lcl9fc2Vjb25kX19iYW5uZXIge1xuICAgICAgICAgIGhlaWdodDogMTA0MXB4OyB9IH1cbiAgICAuY29udGFpbmVyX19zZWNvbmRfX2ltZyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTYlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbnRhaW5lcl9fdGhyZWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5jb250YWluZXJfX3RocmVlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNvbnRhaW5lcl9fdGhyZWUge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cblxuLnRpdGxlIHtcbiAgY29sb3I6ICM0NzExMGE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMTBweDsgfSB9XG4gIC50aXRsZS0tYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudGl0bGVfX2JvdHRvbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvdGl0bGUtYm90dG9tLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAtNTBweDtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aXRsZV9fYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDUyNnB4O1xuICAgICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgICAgIGJvdHRvbTogLTUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50aXRsZV9fYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDcyNnB4O1xuICAgICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgICAgIGJvdHRvbTogLTYwcHg7IH0gfVxuICAudGl0bGU6YWZ0ZXIsIC50aXRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvdGl0bGUtaWMucG5nXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAlKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgbGVmdDogLTQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGl0bGU6YWZ0ZXIsIC50aXRsZTpiZWZvcmUge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBsZWZ0OiAtODFweDsgfSB9XG4gIC50aXRsZTphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTQ1cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MCUpIHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRpdGxlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC04MXB4OyB9IH1cbiAgLnRpdGxlX19tZWRpdW0ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUzO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDI3cHg7IH1cbiAgICAudGl0bGVfX21lZGl1bTphZnRlciwgLnRpdGxlX19tZWRpdW06YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGl0bGVfX21lZGl1bSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50aXRsZV9fbWVkaXVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbi5sZXR0ZXIge1xuICB3aWR0aDogNTVweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmxldHRlci0tcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvbGV0dGVyLXMucG5nXCIpOyB9XG4gIC5sZXR0ZXItLWIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2xldHRlci1iLnBuZ1wiKTsgfVxuICAubGV0dGVyLS1vIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9sZXR0ZXItby5wbmdcIik7IH1cblxuLnRleHQge1xuICBjb2xvcjogIzJmMTUwOTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgcGFkZGluZy1yaWdodDogN3B4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGV4dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLnRleHQgPiBwIHtcbiAgICBsaW5lLWhlaWdodDogMzJweDsgfVxuICAudGV4dCA+IHA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50ZXh0ID4gcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIC50ZXh0X19tZWRpdW0ge1xuICAgIGNvbG9yOiAjMmYxNTA5O1xuICAgIGZvbnQtZmFtaWx5OiBcIkxvcmFcIiwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRleHRfX21lZGl1bSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRleHRfX21lZGl1bSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07IH0gfVxuXG4uZGVjb3Ige1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyNXB4IGF1dG87XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL2RlY29yLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmRlY29yIHtcbiAgICAgIG1hcmdpbjogMzVweCBhdXRvO1xuICAgICAgd2lkdGg6IDEwN3B4O1xuICAgICAgaGVpZ2h0OiAzOXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5kZWNvciB7XG4gICAgICBtYXJnaW46IDUwcHggYXV0bzsgfSB9XG5cbi5wYXJjaG1lbnQtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA4O1xuICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2JnX3RpdGxlLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuICAucGFyY2htZW50LWJnOmFmdGVyLCAucGFyY2htZW50LWJnOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgYm90dG9tOiAtNzBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAzNDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9sZWZ0LXN3YWRvdy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15OyB9XG4gIC5wYXJjaG1lbnQtYmc6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3JpZ2h0LXNoYWRvdy5wbmdcIik7IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiA2MS43cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHB4OyB9IH1cbiAgLmJ1dHRvbi0tbWFnaWMgLnNwYXJrbGUtY2FudmFzIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDQwJTsgfVxuICAuYnV0dG9uLS1nb2xkIC5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvUGxheS1GcmVlLU5vdzQucG5nXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLmJ1dHRvbi0tZ29sZCAudGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICM2OTNhMTMsIDFweCAtMXB4IDAgIzY5M2ExMywgLTFweCAxcHggMCAjNjkzYTEzLCAxcHggMXB4IDAgIzY5M2ExMywgMCAzcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmJ1dHRvbi0tZ29sZCAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjhyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5idXR0b24tLWdvbGQgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IDIuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNS4zMTI1cmVtOyB9IH1cbiAgLmJ1dHRvbl9fcHJpbWFyeSB7XG4gICAgd2lkdGg6IDMyMXB4O1xuICAgIGhlaWdodDogNzRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9idG4tYmctcHJpbWFyeS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHRleHQtc2hhZG93OiAwIDRweCAxcHggcmdiYSg5NiwgMzksIDQsIDAuMjgpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDc0cHg7IH1cbiAgICAuYnV0dG9uX19wcmltYXJ5IC5zaGluZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuYnV0dG9uX19wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gICAgLmJ1dHRvbl9fcHJpbWFyeTpob3ZlciwgLmJ1dHRvbl9fcHJpbWFyeTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b25fX3ByaW1hcnktLWdvbGQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvYnRuLWJnLXByaW1hcnktZ29sZC5wbmdcIik7IH1cbiAgLmJ1dHRvbi0tY29udGVudCB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7IH1cbiAgICAuYnV0dG9uLS1jb250ZW50IC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogNS4zMTI1cmVtOyB9XG5cbi5zaGluZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogMTVweDtcbiAgYm90dG9tOiAyMiU7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4OyB9XG5cbi5zaGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTExMCU7XG4gIGxlZnQ6IC0yMTAlO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgNzclLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgOTIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpOyB9XG5cbi8qIEhvdmVyIHN0YXRlIC0gdHJpZ2dlciBlZmZlY3QgKi9cbi5idXR0b246aG92ZXIgLnNoaW5lOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRvcDogLTMwJTtcbiAgbGVmdDogLTMwJTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgdG9wLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjdzLCAwLjdzLCAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cblxuLyogQWN0aXZlIHN0YXRlICovXG4uc2hpbmU6YWN0aXZlOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTsgfVxuXG4uZm9ybV9fZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDE3cHg7IH1cbiAgLmZvcm1fX2dyb3VwX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjJweDtcbiAgICB0b3A6IDE0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3Nwcml0ZS1pbnB1dC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5mb3JtX19ncm91cF9faWNvbi0tbWVzc2FnZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggNHB4OyB9XG4gICAgLmZvcm1fX2dyb3VwX19pY29uLS1uYW1lIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzRweDsgfVxuICAgIC5mb3JtX19ncm91cF9faWNvbi0tcGFzcyB7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggLTE0NnB4OyB9XG5cbi5mb3JtLWNvbnRyb2wge1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1OHB4O1xuICBjb2xvcjogIzQ3MTEwYTtcbiAgZm9udC1mYW1pbHk6IFwiTG9yYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvaW5wdXQtYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gIC8qIFdlYmtpdCAqL1xuICAvKiBGaXJlZm94IDQtMTggKi9cbiAgLyogRmlyZWZveCAxOSsgKi9cbiAgLyogSUUxMCsgKi8gfVxuICAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9pbnB1dF9mb2N1cy5wbmdcIik7IH1cbiAgLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM0NzExMGE7IH1cbiAgLmZvcm0tY29udHJvbDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzQ3MTEwYTsgfVxuICAuZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzQ3MTEwYTsgfVxuICAuZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM0NzExMGE7IH1cblxuLmNhcHRjaGEtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jYXB0Y2hhLWJveF9faW1nIHtcbiAgICB3aWR0aDogMTQ3cHg7XG4gICAgaGVpZ2h0OiA1OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9jYXB0Y2hhLWJveF9faW1nLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG4gIC5jYXB0Y2hhLWJveCAuZm9ybV9fZ3JvdXAge1xuICAgIHdpZHRoOiAyMDlweDsgfVxuICAgIC5jYXB0Y2hhLWJveCAuZm9ybV9fZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9pbnB1dC1iZy1zbS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cbiAgLmNhcHRjaGEtYm94IC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5sb2dvIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA0MDNweDtcbiAgbWF4LWhlaWdodDogMTYxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogNDgwcHg7XG4gIG1heC1oZWlnaHQ6IDE2MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDM3NHB4O1xuICAgICAgbWF4LWhlaWdodDogMTIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmxvZ28ge1xuICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE2MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5sb2dvIHtcbiAgICAgIG1heC13aWR0aDogNTY2cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMjZweDsgfSB9XG4gIC5sb2dvIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9sb2dvLWxnLnBuZ1wiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmJ0bi1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDM4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnRuLWZsZXgge1xuICAgICAgbWFyZ2luOiAwIC00MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmJ0bi1mbGV4IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIC5idG4tZmxleCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5idG4tZmxleCAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7IH0gfVxuXG4ubmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHotaW5kZXg6IDk5OTk7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9iZy1uYXYucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBtYXgtd2lkdGg6IDc0NXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5uYXZpZ2F0aW9uLmhlYWRyb29tIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIG1heC13aWR0aDogODYwcHg7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLmhlYWRyb29tIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgbWF4LXdpZHRoOiA5NjNweDsgfSB9XG4gIC5uYXZpZ2F0aW9uLS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IDUlO1xuICAgIHotaW5kZXg6IDc3NztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLm5hdmlnYXRpb246YWZ0ZXIsIC5uYXZpZ2F0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDY5cHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGxlZnQ6IC00N3B4O1xuICAgIHRvcDogM3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2xlZnQtbmF2LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZpZ2F0aW9uOmFmdGVyLCAubmF2aWdhdGlvbjpiZWZvcmUge1xuICAgICAgICB0b3A6IDFweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLm5hdmlnYXRpb246YWZ0ZXIsIC5uYXZpZ2F0aW9uOmJlZm9yZSB7XG4gICAgICAgIHRvcDogM3B4OyB9IH1cbiAgLm5hdmlnYXRpb246YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtNTBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hvbWUvcmlnaHQtbmF2LnBuZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAxMCwgMCwgMTgwZGVnKTsgfVxuICAubmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgICAgIGhlaWdodDogODNweDsgfSB9XG4gICAgLm5hdmlnYXRpb25fX2xpc3RfX2l0ZW0ge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAtN3B4OyB9XG4gICAgICAubmF2aWdhdGlvbl9fbGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0NDQ0NDQ7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzQ0NDQ0NCAwJSwgYmxhY2sgNDklLCBibGFjayA1NSUsICM0NDQ0NDQgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjNDQ0NDQ0KSwgY29sb3Itc3RvcCg0OSUsIGJsYWNrKSwgY29sb3Itc3RvcCg1NSUsIGJsYWNrKSwgY29sb3Itc3RvcCgxMDAlLCAjNDQ0NDQ0KSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzQ0NDQ0NCAwJSwgYmxhY2sgNDklLCBibGFjayA1NSUsICM0NDQ0NDQgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICM0NDQ0NDQgMCUsIGJsYWNrIDQ5JSwgYmxhY2sgNTUlLCAjNDQ0NDQ0IDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzQ0NDQ0NCAwJSwgYmxhY2sgNDklLCBibGFjayA1NSUsICM0NDQ0NDQgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0NDQ0NDQgMCUsIGJsYWNrIDQ5JSwgYmxhY2sgNTUlLCAjNDQ0NDQ0IDEwMCUpO1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjNDQ0NDQ0JywgZW5kQ29sb3JzdHI9JyM0NDQ0NDQnLCBHcmFkaWVudFR5cGU9MCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA1cHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0X19pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwJTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgICAubmF2aWdhdGlvbl9fbGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9IH1cbiAgICAgIC5uYXZpZ2F0aW9uX19saXN0X19pdGVtOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTsgfVxuICAgICAgLm5hdmlnYXRpb25fX2xpc3RfX2l0ZW0uaXMtYWN0aXZlOmJlZm9yZSwgLm5hdmlnYXRpb25fX2xpc3RfX2l0ZW06aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvbmF2X2hvdmVyLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207IH1cbiAgICAubmF2aWdhdGlvbl9fbGlzdF9fbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC43Nyk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogXCJDaW56ZWxcIiwgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNjY2O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjVzIGVhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3RfX2xpbmsge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICAubmF2aWdhdGlvbl9fbGlzdF9fbGluazpmb2N1cywgLm5hdmlnYXRpb25fX2xpc3RfX2xpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdmlnYXRpb25fX21vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNkNmFhO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9iZzIucG5nKSwgdXJsKC4uL2ltZy9ob21lL2JnLnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAubmF2aWdhdGlvbl9fbW9iaWxlX19saXN0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5uYXZpZ2F0aW9uX19tb2JpbGVfX2xpc3QgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uX19tb2JpbGVfX2xpc3QgbGkgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uX19tb2JpbGVfX2xpc3QgbGkgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgLm5hdmlnYXRpb25fX21vYmlsZV9fbG9nbyB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgIC5uYXZpZ2F0aW9uX19tb2JpbGVfX2xvZ28gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvbG9nby1sZy5wbmdcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbl9fbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnBhZ2luYXRpb25fX2xpc3RfX2l0ZW0ge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDM4cHg7XG4gICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5wYWdpbmF0aW9uX19saXN0X19pdGVtLS1wcmV2LCAucGFnaW5hdGlvbl9fbGlzdF9faXRlbS0tbmV4dCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucGFnaW5hdGlvbl9fbGlzdF9faXRlbS0tcHJldiwgLnBhZ2luYXRpb25fX2xpc3RfX2l0ZW0tLW5leHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAgIC5wYWdpbmF0aW9uX19saXN0X19pdGVtLS1wcmV2OmFmdGVyLCAucGFnaW5hdGlvbl9fbGlzdF9faXRlbS0tbmV4dDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgLnBhZ2luYXRpb25fX2xpc3RfX2l0ZW0uY3VycmVudDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2hleC1hY3RpdmUucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdpbmF0aW9uX19saXN0X19pdGVtLmN1cnJlbnQgYSB7XG4gICAgICAgIGNvbG9yOiAjNzk1YTU2OyB9XG4gICAgICAucGFnaW5hdGlvbl9fbGlzdF9faXRlbTpob3ZlciBhIHtcbiAgICAgICAgY29sb3I6ICM3OTVhNTY7IH1cbiAgICAgIC5wYWdpbmF0aW9uX19saXN0X19pdGVtOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvaGV4LWFjdGl2ZS5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAucGFnaW5hdGlvbl9fbGlzdF9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQ2luemVsXCIsIHNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICM0NzExMGE7IH1cblxuLmZpbHRlci1wYW5lbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbHRlci1wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9maWx0ZXJfZnJhbWUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgcGFkZGluZzogOHB4IDIwcHg7IH1cbiAgICAgIC5maWx0ZXItcGFuZWw6YWZ0ZXIsIC5maWx0ZXItcGFuZWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvZmlsdGVyX2FuZ2xlLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgICAuZmlsdGVyLXBhbmVsOmFmdGVyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5maWx0ZXItcGFuZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIHBhZGRpbmc6IDhweCAyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5maWx0ZXItcGFuZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfSB9XG4gIC5maWx0ZXItcGFuZWwtLWZsZXgtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5maWx0ZXItcGFuZWwtLWZsZXgtY2VudGVyIC5maWx0ZXItcGFuZWxfX2l0ZW0ge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmZpbHRlci1wYW5lbF9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZpbHRlci1wYW5lbF9faXRlbS5sYXN0IHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLmZpbHRlci1wYW5lbF9faXRlbS5sYXN0OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL2ZpbHRlcl9pY29uX2xhc3RfY2hpbGQucG5nKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDsgfVxuICAgIC5maWx0ZXItcGFuZWxfX2l0ZW06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9waW1rYS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIG1hcmdpbjogMCA3cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZpbHRlci1wYW5lbF9faXRlbTphZnRlciB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICBoZWlnaHQ6IDdweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5maWx0ZXItcGFuZWxfX2l0ZW06YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgaGVpZ2h0OiA5cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZmlsdGVyLXBhbmVsX19pdGVtOmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTVweDsgfSB9XG4gICAgLmZpbHRlci1wYW5lbF9faXRlbTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmlsdGVyLXBhbmVsX19pdGVtLmlzLWFjdGl2ZSAuZmlsdGVyLXBhbmVsX19saW5rLCAuZmlsdGVyLXBhbmVsX19pdGVtOmhvdmVyIC5maWx0ZXItcGFuZWxfX2xpbmsge1xuICAgICAgY29sb3I6ICNhNzczMmM7IH1cbiAgLmZpbHRlci1wYW5lbF9fbGluayB7XG4gICAgZm9udC1mYW1pbHk6IENpbnplbDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGNvbG9yOiAjNDcxMTBhO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbHRlci1wYW5lbF9fbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5maWx0ZXItcGFuZWxfX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmZpbHRlci1wYW5lbF9fbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5mdWxsX2luZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5mdWxsX2luZm9fX2xpbmsge1xuICAgIGNvbG9yOiAjNDcxMTBhO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmZ1bGxfaW5mb19faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9mdWxsX2luZm8ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLmhlYWRyb29tLS1waW5uZWQuaGVhZHJvb20tLW5vdC10b3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjdzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5oZWFkcm9vbS0tdW5waW5uZWQuaGVhZHJvb20tLW5vdC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTk5OTtcbiAgdG9wOiAwO1xuICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRYO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjdzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi51aS1uYXYge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnVpLW5hdl9fY2xvc2UuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE1cHg7IH1cbiAgLnVpLW5hdl9fb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgei1pbmRleDogODg4O1xuICAgIHdpZHRoOiA2MXB4O1xuICAgIGhlaWdodDogNTFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9vcGVuX25hdi5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC51aS1uYXZfX29wZW4ge1xuICAgICAgICB3aWR0aDogODFweDtcbiAgICAgICAgaGVpZ2h0OiA3MXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC51aS1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jbG9zZTpob3Zlcjo6YmVmb3JlLCAuY2xvc2U6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNGU5MDMxOyB9XG4gIC5jbG9zZTo6YmVmb3JlLCAuY2xvc2U6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgLmNsb3NlOjpiZWZvcmUge1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5jbG9zZTo6YWZ0ZXIge1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLmNsb3NlLmJpZyB7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgzKTsgfVxuICAuY2xvc2UuaGFpcmxpbmU6OmJlZm9yZSwgLmNsb3NlLmhhaXJsaW5lOjphZnRlciB7XG4gICAgaGVpZ2h0OiAxcHg7IH1cbiAgLmNsb3NlLnRoaWNrOjpiZWZvcmUsIC5jbG9zZS50aGljazo6YWZ0ZXIge1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmNsb3NlLmJsYWNrOjpiZWZvcmUsIC5jbG9zZS5ibGFjazo6YWZ0ZXIge1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7IH1cbiAgLmNsb3NlLmhlYXZ5OjpiZWZvcmUsIC5jbG9zZS5oZWF2eTo6YWZ0ZXIge1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5jbG9zZS5wb2ludHk6OkJlZm9yZSwgLmNsb3NlLnBvaW50eTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmNsb3NlLnJvdW5kZWQ6OmJlZm9yZSwgLmNsb3NlLnJvdW5kZWQ6OmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmNsb3NlLmJsYWRlczo6YmVmb3JlLCAuY2xvc2UuYmxhZGVzOjphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDA7IH1cbiAgLmNsb3NlLndhcnA6OmJlZm9yZSwgLmNsb3NlLndhcnA6OmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMjAlIDA7IH1cbiAgLmNsb3NlLmZhdDo6YmVmb3JlLCAuY2xvc2UuZmF0OjphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuXG4udG9wX19iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU1NTsgfVxuICAudG9wX19iYW5uZXJfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50b3BfX2Jhbm5lcl9faW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAudG9wX19iYW5uZXJfX2ltZ19fYmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDYwMnB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvbW9iaWxlX2Jhbm5lci5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudG9wX19iYW5uZXJfX2ltZ19fYmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAudG9wX19iYW5uZXJfX3Ntb2tlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnRvcF9fYmFubmVyIC5sb2dvLCAudG9wX19iYW5uZXIgLmJ0bi1ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA3Nzc7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC50b3BfX2Jhbm5lciAubG9nbyB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwJSk7IH1cbiAgLnRvcF9fYmFubmVyIC5idG4tYm94IHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudG9wX19iYW5uZXIgLmJ0bi1ib3gge1xuICAgICAgICB0b3A6IDQwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRvcF9fYmFubmVyIC5idG4tYm94IHtcbiAgICAgICAgdG9wOiAzNSU7IH0gfVxuICAgIC50b3BfX2Jhbm5lciAuYnRuLWJveCAuYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnRvcF9fYmFubmVyIC5idG4tYm94IC5idXR0b246YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjZzIGVhc2U7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDYwcHggcmdiYSgyMDcsIDE3OSwgMTMyLCAwLjUpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAudG9wX19iYW5uZXIgLmJ0bi1ib3ggLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuN3M7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG4gICAgICAgIC50b3BfX2Jhbm5lciAuYnRuLWJveCAuYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDYwcHggcmdiYSgyMDcsIDE3OSwgMTMyLCAwLjUpOyB9XG4gIC50b3BfX2Jhbm5lci0tc21hbGwge1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL2Jhbm5lcl9zbWFsbC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudG9wX19iYW5uZXItLXNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiA0NTBweDsgfSB9XG4gICAgLnRvcF9fYmFubmVyLS1zbWFsbCAudG9wX19iYW5uZXJfX2ltZ19fYmcge1xuICAgICAgaGVpZ2h0OiA0NTBweDsgfVxuICAgIC50b3BfX2Jhbm5lci0tc21hbGwgPiBpbWcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC50b3BfX2Jhbm5lci0tc21hbGwgLm5hdmlnYXRpb24tLWFic29sdXRlIHtcbiAgICAgIGJvdHRvbTogOSU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLnRvcF9fYmFubmVyLS1zbWFsbCAubmF2aWdhdGlvbi0tYWJzb2x1dGUge1xuICAgICAgICAgIGJvdHRvbTogMTElOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudG9wX19iYW5uZXItLXNtYWxsIC5idG4tYm94LmJ1dHRvbi0tbWFnaWMge1xuICAgICAgICB0b3A6IDQwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnRvcF9fYmFubmVyLS1zbWFsbCAuYnRuLWJveC5idXR0b24tLW1hZ2ljIHtcbiAgICAgICAgdG9wOiA0NSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50b3BfX2Jhbm5lci0tc21hbGwgLmxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDM5MnB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnRvcF9fYmFubmVyLS1zbWFsbCAubG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMzkycHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuICAgICAgICB0b3A6IDE1cHg7IH0gfVxuXG4uaG9tZSAucGFyY2htZW50LWJnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ob21lIC5wYXJjaG1lbnQtYmctLXRvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTcwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvYmcyLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG4uaG9tZV9fYmFubmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvYmFubmVyLWhvbWUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuMjVlbSkge1xuICAgIC5ob21lX19iYW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGhlaWdodDogMzg3cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhvbWVfX2Jhbm5lciB7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ob21lX19iYW5uZXIge1xuICAgICAgaGVpZ2h0OiA0NjdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaG9tZV9fYmFubmVyIHtcbiAgICAgIGhlaWdodDogNDk4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIC5ob21lX19iYW5uZXIge1xuICAgICAgaGVpZ2h0OiA1MzFweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuaG9tZV9fYmFubmVyIHtcbiAgICAgIGhlaWdodDogNTYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmhvbWVfX2Jhbm5lciB7XG4gICAgICBoZWlnaHQ6IDYyMnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA2LjI1ZW0pIHtcbiAgICAuaG9tZV9fYmFubmVyIHtcbiAgICAgIGhlaWdodDogNzQ3cHg7IH0gfVxuXG4uaG9tZV9fZmlyc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuLmNvbnRhaW5lcl9fZmlyc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDg7IH1cbiAgLm1haW4gLnBhcmNobWVudC1iZyB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7IH1cblxuLmJhbm5lci1jYXJ0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB6LWluZGV4OiA2NjY7XG4gIHdpZHRoOiAzNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMjBweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5iYW5uZXItY2FydHMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5iYW5uZXItY2FydHMge1xuICAgICAgd2lkdGg6IDUwMHB4OyB9IH1cbiAgLmJhbm5lci1jYXJ0cyAuc3BhcmtsZS1jYW52YXMge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogLTIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmJhbm5lci1jYXJ0c19fY2FudmFzIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjVweDsgfSB9XG5cbi52aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjgwcHg7XG4gIG1hcmdpbi10b3A6IDM3cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjVlbSkge1xuICAgIC52aWRlbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAyODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudmlkZW8ge1xuICAgICAgaGVpZ2h0OiAzOTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmlkZW8ge1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDQ3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC52aWRlbyB7XG4gICAgICB3aWR0aDogNjU5cHg7XG4gICAgICBoZWlnaHQ6IDUyN3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDU3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1NHB4OyB9IH1cbiAgLnZpZGVvX193YWxscGFwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxM3B4O1xuICAgIHJpZ2h0OiAxM3B4O1xuICAgIGJvdHRvbTogMTNweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvdmlkZW9fX3dhbGxwYXBlci5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC52aWRlb19fd2FsbHBhcGVyIHtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgYm90dG9tOiAyMHB4OyB9IH1cbiAgICAudmlkZW9fX3dhbGxwYXBlcl8yIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3ZpZGVvX193YWxscGFwZXJfMi5wbmdcIik7IH1cbiAgLnZpZGVvX190aXRsZSB7XG4gICAgY29sb3I6ICM0NzExMGE7XG4gICAgZm9udC1mYW1pbHk6IFwiQ2luemVsXCIsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAudmlkZW9fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52aWRlb19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZpZGVvX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9IH1cbiAgLnZpZGVvX19mcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDBweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS92aWRlb19fZGVjb3IucG5nXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLnZpZGVvX19kZWNvciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lL2ZyYW1lX192aWRlby5wbmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDkwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAudmlkZW9fX3JlY3RhbmdsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52aWRlb19fcmVjdGFuZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS92aWRlby1yZWN0YW5nbGUucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9IH1cbiAgLnZpZGVvX19wbGF5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9wbGF5LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTUlO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC40cyBlYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnZpZGVvX19wbGF5IHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfSB9XG4gICAgLnZpZGVvX19wbGF5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3BsYXlfX2hvdmVyLnBuZ1wiKTsgfVxuICAudmlkZW9fX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnZpZGVvX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgICAudmlkZW9fX2ltYWdlX19sZWZ0IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAzNThweDtcbiAgICAgICAgICBoZWlnaHQ6IDQyOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL3ZpZGVvX19sZWZ0X2ltZy5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAyMCUpOyB9XG4gICAgICAgIC52aWRlb19faW1hZ2VfX3JpZ2h0IHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMjkwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNDdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS92aWRlb19fcmlnaHRfaW1nLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMzAlKTsgfSB9XG5cbi5jb250YWluZXItc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFpbmVyLXNsaWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0NXB4OyB9IH1cbiAgLmNvbnRhaW5lci1zbGlkZXJfX2ZyYW1lIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhaW5lci1zbGlkZXJfX2ZyYW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTNweDtcbiAgICAgICAgYm90dG9tOiAtMTZweDtcbiAgICAgICAgbGVmdDogLTYwcHg7XG4gICAgICAgIHJpZ2h0OiAtNjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvc2xpZGVyX19mcmFtZS5wbmdcIikgLTFweCA2cHggbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH0gfVxuICAuY29udGFpbmVyLXNsaWRlcl9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhaW5lci1zbGlkZXJfX25hdiB7XG4gICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTsgfSB9XG4gICAgLmNvbnRhaW5lci1zbGlkZXJfX25hdi0tbGVmdCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9jb250YWluZXItc2xpZGVyX19uYXYtLWxlZnQucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTsgfVxuICAgIC5jb250YWluZXItc2xpZGVyX19uYXYtLXJpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ob21lL2NvbnRhaW5lci1zbGlkZXJfX25hdi0tcmlnaHQucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpOyB9XG4gIC5jb250YWluZXItc2xpZGVyX19pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGFpbmVyLXNsaWRlcl9faW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gICAgLmNvbnRhaW5lci1zbGlkZXJfX2ltZy0tbGVmdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9zbGlkZXJfX2xlZnQucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTQxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNvbnRhaW5lci1zbGlkZXJfX2ltZy0tbGVmdCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTY5cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuY29udGFpbmVyLXNsaWRlcl9faW1nLS1sZWZ0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUyNXB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDQzMXB4OyB9IH1cbiAgICAuY29udGFpbmVyLXNsaWRlcl9faW1nLS1yaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9zbGlkZXJfX3JpZ2h0LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzBweDtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogLTE2cHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDUzMHB4O1xuICAgICAgbWF4LWhlaWdodDogNTMwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY29udGFpbmVyLXNsaWRlcl9faW1nLS1yaWdodCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDdweDtcbiAgICAgICAgICBib3R0b206IDE2MHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmNvbnRhaW5lci1zbGlkZXJfX2ltZy0tcmlnaHQge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDdweDtcbiAgICAgICAgICBib3R0b206IDE2MHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmNvbnRhaW5lci1zbGlkZXJfX2ltZy0tcmlnaHQge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDdweDtcbiAgICAgICAgICBib3R0b206IDE2MHB4OyB9IH1cblxuLmNvbW1vbl9fc2xpZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzY0MzQxYjtcbiAgZm9udC1mYW1pbHk6IFwiTG9yYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jb21tb25fX3NsaWRlciA+IHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb21tb25fX3NsaWRlciB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21tb25fX3NsaWRlciB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY29tbW9uX19zbGlkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG5cbi5wcmUtZm9vdGVyIHtcbiAgaGVpZ2h0OiA3MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDY2NjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9iZy1mb290ZXItZW5kaW5nLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC03cHg7IH1cblxuLmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDcwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHotaW5kZXg6IDc3NzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmZvb3RlciB7XG4gICAgICBoZWlnaHQ6IDcwMHB4OyB9IH1cbiAgLmZvb3Rlcl9fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvZm9vdGVyLWJnLnBuZ1wiKSBib3R0b20gbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmZvb3Rlcl9faWNvbiB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAuZm9vdGVyX19pY29uLS1ib3R0b20tbGVmdCB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvZm9vdGVyLWxlZnQtYm90dG9tLnBuZ1wiKTsgfVxuICAgIC5mb290ZXJfX2ljb24tLWJvdHRvbS1yaWdodCB7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2Zvb3Rlci1yaWdodC1ib3R0b20ucG5nXCIpOyB9XG4gICAgLmZvb3Rlcl9faWNvbi0tdG9wLWxlZnQge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2Zvb3Rlci1sZWZ0LXRvcC5wbmdcIik7IH1cbiAgICAuZm9vdGVyX19pY29uLS10b3AtcmlnaHQge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9mb290ZXJfcmlnaHRfdG9wLnBuZ1wiKTsgfVxuICAuZm9vdGVyX19jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBtYXgtd2lkdGg6IDM4MXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvZm9vdGVyLWZhYnJpYy5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDUwMnB4OyB9IH1cbiAgICAuZm9vdGVyX19jb250ZW50ID4gZGl2IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMSUpOyB9XG4gICAgLmZvb3Rlcl9fY29udGVudF9fdGl0bGUge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQ2luemVsXCIsIHNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTM7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMzhweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9vdGVyX19jb250ZW50X190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDNweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDUzcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAuZm9vdGVyX19jb250ZW50X190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDhweDsgfSB9XG4gICAgLmZvb3Rlcl9fY29udGVudF9fdGV4dCB7XG4gICAgICBjb2xvcjogI2NiZThlZjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxvcmFcIiwgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMzBweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAuZm9vdGVyX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbWFyZ2luOiAzNXB4IDA7IH0gfVxuICAgIC5mb290ZXJfX2NvbnRlbnQgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNCUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmZvb3Rlcl9fY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMjkzcHg7XG4gICAgICAgICAgaGVpZ2h0OiA4MHB4OyB9XG4gICAgICAgICAgLmZvb3Rlcl9fY29udGVudCAuYnV0dG9uIC5pbWcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgICAgICAgLmZvb3Rlcl9fY29udGVudCAuYnV0dG9uIC50ZXh0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjlyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9IH1cbiAgLmZvb3Rlcl9fc29jaWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogNzc3O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYm90dG9tOiA0MHB4OyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsX19saXN0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsX19pY29uIHtcbiAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvc29jaWFsLWljb24tZnJhbWUucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICAgIHdpZHRoOiA1M3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb290ZXJfX3NvY2lhbF9faWNvbiB7XG4gICAgICAgICAgaGVpZ2h0OiA3M3B4O1xuICAgICAgICAgIHdpZHRoOiA1OHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmZvb3Rlcl9fc29jaWFsX19pY29uIHtcbiAgICAgICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICAgICAgd2lkdGg6IDYzcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZm9vdGVyX19zb2NpYWxfX2ljb24ge1xuICAgICAgICAgIGhlaWdodDogODNweDtcbiAgICAgICAgICB3aWR0aDogNjhweDtcbiAgICAgICAgICBtYXJnaW46IDAgMTNweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5mb290ZXJfX3NvY2lhbF9faWNvbiB7XG4gICAgICAgICAgaGVpZ2h0OiA5M3B4O1xuICAgICAgICAgIHdpZHRoOiA3OHB4OyB9IH1cbiAgICAgIC5mb290ZXJfX3NvY2lhbF9faWNvbiAuZmEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5mb290ZXJfX3NvY2lhbF9faWNvbiAuZmEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE0cHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmZvb3Rlcl9fc29jaWFsX19pY29uIC5mYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC5mb290ZXJfX3NvY2lhbF9faWNvbiAuZmEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgICAgLmZvb3Rlcl9fc29jaWFsX19pY29uIC5mYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNXB4OyB9IH1cbiAgICAgICAgLmZvb3Rlcl9fc29jaWFsX19pY29uIC5mYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlOyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWxfX2ljb246aG92ZXIgLmZhOmFmdGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxOHB4IDE0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWxfX2ljb246YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9zb2NpYWwtc3ByaXRlLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7IH1cbiAgICAgIC5mb290ZXJfX3NvY2lhbF9faWNvbi0tZmFjZWJvb2s6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggMDsgfVxuICAgICAgLmZvb3Rlcl9fc29jaWFsX19pY29uLS10d2l0dGVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkwcHggMDsgfVxuICAgICAgLmZvb3Rlcl9fc29jaWFsX19pY29uLS1pbnN0YWdyYW06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg1cHggMDsgfVxuXG4uc21va2UtLWxpZ2h0IHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuQGtleWZyYW1lcyBhbmltYXRpb24xIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIyNHB4LCAtMTAwcHgpOyB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzY1LjMzMzMzcHgsIC0xMDBweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIC01My4zMzMzM3B4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3ODkuMzMzMzNweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMjRweCwgNDBweCk7IH1cbiAgMzMuMzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNjUuMzMzMzNweCwgNDBweCk7IH1cbiAgNjYuNjclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgLTYuNjY2NjdweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIDQwcHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMjRweCwgNDBweCk7IH1cbiAgOS4wOSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM2NS4zMzMzM3B4LCA4Ni42NjY2N3B4KTsgfVxuICAxOC4xOCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwNi42NjY2N3B4LCA0MHB4KTsgfVxuICAyNy4yNyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDY0OHB4LCAtNi42NjY2N3B4KTsgfVxuICAzNi4zNiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDc4OS4zMzMzM3B4LCA0MHB4KTsgfVxuICA0NS40NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDkzMC42NjY2N3B4LCA4Ni42NjY2N3B4KTsgfVxuICA1NC41NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwNzJweCwgODYuNjY2NjdweCk7IH1cbiAgNjMuNjQlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMjEzLjMzMzMzcHgsIDEzMy4zMzMzM3B4KTsgfVxuICA3Mi43MyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEzNTQuNjY2NjdweCwgMTMzLjMzMzMzcHgpOyB9XG4gIDgxLjgyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQ5NnB4LCAxMzMuMzMzMzNweCk7IH1cbiAgOTAuOTElIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNjM3LjMzMzMzcHgsIDE4MHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNzc4LjY2NjY3cHgsIDE4MHB4KTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxNSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGlvbjQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTU4LjY2NjY3cHgsIC01My4zMzMzM3B4KTsgfVxuICAxNC4yOSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDgyLjY2NjY3cHgsIC02LjY2NjY3cHgpOyB9XG4gIDI4LjU3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjI0cHgsIC02LjY2NjY3cHgpOyB9XG4gIDQyLjg2JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzY1LjMzMzMzcHgsIC01My4zMzMzM3B4KTsgfVxuICA1Ny4xNCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwNi42NjY2N3B4LCAtNTMuMzMzMzNweCk7IH1cbiAgNzEuNDMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NDhweCwgLTEwMHB4KTsgfVxuICA4NS43MSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDc4OS4zMzMzM3B4LCAtMTAwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDkzMC42NjY2N3B4LCAtNTMuMzMzMzNweCk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRpb241IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIyNHB4LCAtMTAwcHgpOyB9XG4gIDE0LjI5JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzY1LjMzMzMzcHgsIC01My4zMzMzM3B4KTsgfVxuICAyOC41NyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwNi42NjY2N3B4LCAtMTAwcHgpOyB9XG4gIDQyLjg2JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIC01My4zMzMzM3B4KTsgfVxuICA1Ny4xNCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDc4OS4zMzMzM3B4LCAtNTMuMzMzMzNweCk7IH1cbiAgNzEuNDMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg5MzAuNjY2NjdweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDg1LjcxJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTA3MnB4LCAtNi42NjY2N3B4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMjEzLjMzMzMzcHgsIC01My4zMzMzM3B4KTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxNSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGlvbjYge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODIuNjY2NjdweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDE2LjY3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjI0cHgsIC01My4zMzMzM3B4KTsgfVxuICAzMy4zMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM2NS4zMzMzM3B4LCAtMTAwcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTA2LjY2NjY3cHgsIC01My4zMzMzM3B4KTsgfVxuICA2Ni42NyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDY0OHB4LCAtNi42NjY2N3B4KTsgfVxuICA4My4zMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDc4OS4zMzMzM3B4LCAtNTMuMzMzMzNweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOTMwLjY2NjY3cHgsIC02LjY2NjY3cHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uNyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMjRweCwgNDBweCk7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNjUuMzMzMzNweCwgLTYuNjY2NjdweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIC0xMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNzg5LjMzMzMzcHgsIC0xMDBweCk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRpb244IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM2NS4zMzMzM3B4LCAtMTAwcHgpOyB9XG4gIDMzLjMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTA2LjY2NjY3cHgsIC0xMDBweCk7IH1cbiAgNjYuNjclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NDhweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDc4OS4zMzMzM3B4LCAtNi42NjY2N3B4KTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxNSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGlvbjkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzY1LjMzMzMzcHgsIDQwcHgpOyB9XG4gIDE2LjY3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTA2LjY2NjY3cHgsIDg2LjY2NjY3cHgpOyB9XG4gIDMzLjMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIDQwcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNzg5LjMzMzMzcHgsIDg2LjY2NjY3cHgpOyB9XG4gIDY2LjY3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOTMwLjY2NjY3cHgsIDEzMy4zMzMzM3B4KTsgfVxuICA4My4zMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwNzJweCwgODYuNjY2NjdweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTIxMy4zMzMzM3B4LCAxMzMuMzMzMzNweCk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRpb24xMCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNjUuMzMzMzNweCwgODYuNjY2NjdweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgNDBweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIC02LjY2NjY3cHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMTEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTU4LjY2NjY3cHgsIC02LjY2NjY3cHgpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODIuNjY2NjdweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjI0cHgsIC01My4zMzMzM3B4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM2NS4zMzMzM3B4LCAtNTMuMzMzMzNweCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgLTYuNjY2NjdweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NDhweCwgLTYuNjY2NjdweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3ODkuMzMzMzNweCwgNDBweCk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg5MzAuNjY2NjdweCwgNDBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDcycHgsIDg2LjY2NjY3cHgpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTIxMy4zMzMzM3B4LCA0MHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMzU0LjY2NjY3cHgsIC02LjY2NjY3cHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMTIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzY1LjMzMzMzcHgsIC0xMDBweCk7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgLTEwMHB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDY0OHB4LCAtNTMuMzMzMzNweCk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3ODkuMzMzMzNweCwgLTEwMHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg5MzAuNjY2NjdweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMTMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwMHB4LCA0MHB4KTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01OC42NjY2N3B4LCAtNi42NjY2N3B4KTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDgyLjY2NjY3cHgsIC01My4zMzMzM3B4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIyNHB4LCAtNTMuMzMzMzNweCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNjUuMzMzMzNweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTA2LjY2NjY3cHgsIC02LjY2NjY3cHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIDQwcHgpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNzg5LjMzMzMzcHgsIC02LjY2NjY3cHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOTMwLjY2NjY3cHgsIDQwcHgpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTA3MnB4LCA4Ni42NjY2N3B4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMjEzLjMzMzMzcHgsIDQwcHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMTQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTU4LjY2NjY3cHgsIDg2LjY2NjY3cHgpOyB9XG4gIDE0LjI5JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODIuNjY2NjdweCwgODYuNjY2NjdweCk7IH1cbiAgMjguNTclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMjRweCwgODYuNjY2NjdweCk7IH1cbiAgNDIuODYlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNjUuMzMzMzNweCwgMTMzLjMzMzMzcHgpOyB9XG4gIDU3LjE0JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTA2LjY2NjY3cHgsIDE4MHB4KTsgfVxuICA3MS40MyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDY0OHB4LCAxODBweCk7IH1cbiAgODUuNzElIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3ODkuMzMzMzNweCwgMTgwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDkzMC42NjY2N3B4LCAyMjYuNjY2NjdweCk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRpb24xNSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjAwcHgsIDg2LjY2NjY3cHgpOyB9XG4gIDcuNjklIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTguNjY2NjdweCwgMTMzLjMzMzMzcHgpOyB9XG4gIDE1LjM4JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODIuNjY2NjdweCwgODYuNjY2NjdweCk7IH1cbiAgMjMuMDglIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMjRweCwgODYuNjY2NjdweCk7IH1cbiAgMzAuNzclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNjUuMzMzMzNweCwgODYuNjY2NjdweCk7IH1cbiAgMzguNDYlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgODYuNjY2NjdweCk7IH1cbiAgNDYuMTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NDhweCwgODYuNjY2NjdweCk7IH1cbiAgNTMuODUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3ODkuMzMzMzNweCwgODYuNjY2NjdweCk7IH1cbiAgNjEuNTQlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg5MzAuNjY2NjdweCwgODYuNjY2NjdweCk7IH1cbiAgNjkuMjMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDcycHgsIDg2LjY2NjY3cHgpOyB9XG4gIDc2LjkyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTIxMy4zMzMzM3B4LCAxMzMuMzMzMzNweCk7IH1cbiAgODQuNjIlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMzU0LjY2NjY3cHgsIDg2LjY2NjY3cHgpOyB9XG4gIDkyLjMxJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQ5NnB4LCA0MHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNjM3LjMzMzMzcHgsIDg2LjY2NjY3cHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMTYge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwMHB4LCA0MHB4KTsgfVxuICAxNi42NyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01OC42NjY2N3B4LCA0MHB4KTsgfVxuICAzMy4zMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDgyLjY2NjY3cHgsIDQwcHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjI0cHgsIDg2LjY2NjY3cHgpOyB9XG4gIDY2LjY3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzY1LjMzMzMzcHgsIDg2LjY2NjY3cHgpOyB9XG4gIDgzLjMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTA2LjY2NjY3cHgsIDEzMy4zMzMzM3B4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NDhweCwgODYuNjY2NjdweCk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRpb24xNyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMjRweCwgLTYuNjY2NjdweCk7IH1cbiAgMTYuNjclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNjUuMzMzMzNweCwgLTYuNjY2NjdweCk7IH1cbiAgMzMuMzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDYuNjY2NjdweCwgLTYuNjY2NjdweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NDhweCwgLTYuNjY2NjdweCk7IH1cbiAgNjYuNjclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3ODkuMzMzMzNweCwgLTUzLjMzMzMzcHgpOyB9XG4gIDgzLjMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOTMwLjY2NjY3cHgsIC01My4zMzMzM3B4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDcycHgsIC02LjY2NjY3cHgpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uMTgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjI0cHgsIDg2LjY2NjY3cHgpOyB9XG4gIDMzLjMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzY1LjMzMzMzcHgsIDEzMy4zMzMzM3B4KTsgfVxuICA2Ni42NyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwNi42NjY2N3B4LCAxMzMuMzMzMzNweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNjQ4cHgsIDEzMy4zMzMzM3B4KTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxNSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGlvbjE5IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01OC42NjY2N3B4LCAtNi42NjY2N3B4KTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDgyLjY2NjY3cHgsIC02LjY2NjY3cHgpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjI0cHgsIC01My4zMzMzM3B4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM2NS4zMzMzM3B4LCAtNi42NjY2N3B4KTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwNi42NjY2N3B4LCAtNi42NjY2N3B4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2NDhweCwgLTYuNjY2NjdweCk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnBhcnRpY2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbi5lbGVtMSB7XG4gIGxlZnQ6IDkzMC42NjY2N3B4O1xuICB0b3A6IDI3My4zMzMzM3B4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjEgbGluZWFyIDQ4cyBpbmZpbml0ZTtcbiAgaGVpZ2h0OiAxNTlweDtcbiAgd2lkdGg6IDE1OXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hvbWUvc21va2UtbGlnaHQucG5nKTsgfVxuXG4uZWxlbTIge1xuICBsZWZ0OiA4Mi42NjY2N3B4O1xuICB0b3A6IDg2LjY2NjY3cHg7XG4gIGFuaW1hdGlvbjogYW5pbWF0aW9uMiBsaW5lYXIgNDZzIGluZmluaXRlO1xuICBoZWlnaHQ6IDE1OXB4O1xuICB3aWR0aDogMTU5cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpOyB9XG5cbi5lbGVtMyB7XG4gIGxlZnQ6IDY0OHB4O1xuICB0b3A6IDg2LjY2NjY3cHg7XG4gIGFuaW1hdGlvbjogYW5pbWF0aW9uMyBsaW5lYXIgMzhzIGluZmluaXRlO1xuICBoZWlnaHQ6IDE2OXB4O1xuICB3aWR0aDogMTY5cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpOyB9XG5cbi5lbGVtNCB7XG4gIGxlZnQ6IDEwNzJweDtcbiAgdG9wOiAxMzMuMzMzMzNweDtcbiAgYW5pbWF0aW9uOiBhbmltYXRpb240IGxpbmVhciAzM3MgaW5maW5pdGU7XG4gIGhlaWdodDogMTU4cHg7XG4gIHdpZHRoOiAxNThweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW01IHtcbiAgbGVmdDogNzg5LjMzMzMzcHg7XG4gIHRvcDogMTgwcHg7XG4gIGFuaW1hdGlvbjogYW5pbWF0aW9uNSBsaW5lYXIgNTBzIGluZmluaXRlO1xuICBoZWlnaHQ6IDE2MHB4O1xuICB3aWR0aDogMTYwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpOyB9XG5cbi5lbGVtNiB7XG4gIGxlZnQ6IDEwNzJweDtcbiAgdG9wOiAzMjBweDtcbiAgYW5pbWF0aW9uOiBhbmltYXRpb242IGxpbmVhciA0OXMgaW5maW5pdGU7XG4gIGhlaWdodDogMTYzcHg7XG4gIHdpZHRoOiAxNjNweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW03IHtcbiAgbGVmdDogNTA2LjY2NjY3cHg7XG4gIHRvcDogLTEwMHB4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjcgbGluZWFyIDQ3cyBpbmZpbml0ZTtcbiAgaGVpZ2h0OiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hvbWUvc21va2UtbGlnaHQucG5nKTsgfVxuXG4uZWxlbTgge1xuICBsZWZ0OiAxMDcycHg7XG4gIHRvcDogNDBweDtcbiAgYW5pbWF0aW9uOiBhbmltYXRpb244IGxpbmVhciAzM3MgaW5maW5pdGU7XG4gIGhlaWdodDogMTYwcHg7XG4gIHdpZHRoOiAxNjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW05IHtcbiAgbGVmdDogOTMwLjY2NjY3cHg7XG4gIHRvcDogODYuNjY2NjdweDtcbiAgYW5pbWF0aW9uOiBhbmltYXRpb245IGxpbmVhciAzMnMgaW5maW5pdGU7XG4gIGhlaWdodDogMTY1cHg7XG4gIHdpZHRoOiAxNjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW0xMCB7XG4gIGxlZnQ6IC0yMDBweDtcbiAgdG9wOiAxODBweDtcbiAgYW5pbWF0aW9uOiBhbmltYXRpb24xMCBsaW5lYXIgNDRzIGluZmluaXRlO1xuICBoZWlnaHQ6IDE2OHB4O1xuICB3aWR0aDogMTY4cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpOyB9XG5cbi5lbGVtMTEge1xuICBsZWZ0OiA3ODkuMzMzMzNweDtcbiAgdG9wOiAtMTAwcHg7XG4gIGFuaW1hdGlvbjogYW5pbWF0aW9uMTEgbGluZWFyIDQ4cyBpbmZpbml0ZTtcbiAgaGVpZ2h0OiAxNTFweDtcbiAgd2lkdGg6IDE1MXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hvbWUvc21va2UtbGlnaHQucG5nKTsgfVxuXG4uZWxlbTEyIHtcbiAgbGVmdDogNzg5LjMzMzMzcHg7XG4gIHRvcDogODYuNjY2NjdweDtcbiAgYW5pbWF0aW9uOiBhbmltYXRpb24xMiBsaW5lYXIgNDRzIGluZmluaXRlO1xuICBoZWlnaHQ6IDE2NHB4O1xuICB3aWR0aDogMTY0cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpOyB9XG5cbi5lbGVtMTMge1xuICBsZWZ0OiAtNTguNjY2NjdweDtcbiAgdG9wOiAxMzMuMzMzMzNweDtcbiAgYW5pbWF0aW9uOiBhbmltYXRpb24xMyBsaW5lYXIgMzZzIGluZmluaXRlO1xuICBoZWlnaHQ6IDE1OHB4O1xuICB3aWR0aDogMTU4cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9zbW9rZS1saWdodC5wbmcpOyB9XG5cbi5lbGVtMTQge1xuICBsZWZ0OiA5MzAuNjY2NjdweDtcbiAgdG9wOiAtNi42NjY2N3B4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjE0IGxpbmVhciAzMXMgaW5maW5pdGU7XG4gIGhlaWdodDogMTU2cHg7XG4gIHdpZHRoOiAxNTZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW0xNSB7XG4gIGxlZnQ6IDkzMC42NjY2N3B4O1xuICB0b3A6IDEzMy4zMzMzM3B4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjE1IGxpbmVhciAzOXMgaW5maW5pdGU7XG4gIGhlaWdodDogMTYycHg7XG4gIHdpZHRoOiAxNjJweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW0xNiB7XG4gIGxlZnQ6IC0yMDBweDtcbiAgdG9wOiA4Ni42NjY2N3B4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjE2IGxpbmVhciAzNnMgaW5maW5pdGU7XG4gIGhlaWdodDogMTU3cHg7XG4gIHdpZHRoOiAxNTdweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW0xNyB7XG4gIGxlZnQ6IDUwNi42NjY2N3B4O1xuICB0b3A6IDE4MHB4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjE3IGxpbmVhciAzMnMgaW5maW5pdGU7XG4gIGhlaWdodDogMTY0cHg7XG4gIHdpZHRoOiAxNjRweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW0xOCB7XG4gIGxlZnQ6IDY0OHB4O1xuICB0b3A6IDIyNi42NjY2N3B4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjE4IGxpbmVhciA0MXMgaW5maW5pdGU7XG4gIGhlaWdodDogMTYxcHg7XG4gIHdpZHRoOiAxNjFweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmVsZW0xOSB7XG4gIGxlZnQ6IDY0OHB4O1xuICB0b3A6IDMyMHB4O1xuICBhbmltYXRpb246IGFuaW1hdGlvbjE5IGxpbmVhciAzMnMgaW5maW5pdGU7XG4gIGhlaWdodDogMTUxcHg7XG4gIHdpZHRoOiAxNTFweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ob21lL3Ntb2tlLWxpZ2h0LnBuZyk7IH1cblxuLmFuaW0tZGVsYXkxIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA0czsgfVxuXG4uYW5pbS1kZWxheTIge1xuICBhbmltYXRpb24tZGVsYXk6IDRzOyB9XG5cbi5hbmltLWRlbGF5MyB7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7IH1cblxuLmFuaW0tZGVsYXk0IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzczsgfVxuXG4uYW5pbS1kZWxheTUge1xuICBhbmltYXRpb24tZGVsYXk6IDFzOyB9XG5cbi5hbmltLWRlbGF5NiB7XG4gIGFuaW1hdGlvbi1kZWxheTogMnM7IH1cblxuLmFuaW0tZGVsYXk3IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxuXG4uYW5pbS1kZWxheTgge1xuICBhbmltYXRpb24tZGVsYXk6IDRzOyB9XG5cbi5hbmltLWRlbGF5OSB7XG4gIGFuaW1hdGlvbi1kZWxheTogM3M7IH1cblxuLmFuaW0tZGVsYXkxMCB7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cblxuLmFuaW0tZGVsYXkxMSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cblxuLmFuaW0tZGVsYXkxMiB7XG4gIGFuaW1hdGlvbi1kZWxheTogMnM7IH1cblxuLmFuaW0tZGVsYXkxMyB7XG4gIGFuaW1hdGlvbi1kZWxheTogNXM7IH1cblxuLmFuaW0tZGVsYXkxNCB7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7IH1cblxuLmFuaW0tZGVsYXkxNSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7IH1cblxuLmFuaW0tZGVsYXkxNiB7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7IH1cblxuLmFuaW0tZGVsYXkxNyB7XG4gIGFuaW1hdGlvbi1kZWxheTogMnM7IH1cblxuLmFuaW0tZGVsYXkxOCB7XG4gIGFuaW1hdGlvbi1kZWxheTogM3M7IH1cblxuLmFuaW0tZGVsYXkxOSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7IH1cblxuLmFuaW0tZGVsYXkyMCB7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cblxuLnN0b3J5LXdyYXBwZXIgLnBhcmNobWVudC1iZyB7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG5cbi5zdG9yeV9fYm94IHtcbiAgbWF4LXdpZHRoOiA4NzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5zdG9yeV9fYm94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5zdG9yeV9fYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc0cHg7IH0gfVxuICAuc3RvcnlfX2JveDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTIycHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaG9tZS9zdG9yeV9fc2hhZG93LnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5zdG9yeV9fYm94OmFmdGVyIHtcbiAgICAgICAgbGVmdDogLTI1JTtcbiAgICAgICAgcmlnaHQ6IC0yNSU7IH0gfVxuICAuc3RvcnlfX2JveF9faW1hZ2UgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnN0b3J5X19ib3hfX2NvbnRlbnQtLXNlY29uZCAuZGVjb3Ige1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MCUpOyB9XG4gIC5zdG9yeV9fYm94X19jb250ZW50X190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDUxN3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjMmYxNTA5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjM7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcnlfX2JveF9fY29udGVudF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5zdG9yeV9fYm94X19jb250ZW50X190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM2cHg7IH0gfVxuICAgIC5zdG9yeV9fYm94X19jb250ZW50X190ZXh0LS1zbWFsbCB7XG4gICAgICBtYXgtd2lkdGg6IDM4NnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5zdG9yeV9fYm94X19jb250ZW50X190ZXh0LS1zbWFsbCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uZ2FtZS1lY29ub215X19kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxNjNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FtZS1lY29ub215X19kaXZpZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdhbWUtZWNvbm9teV9fZGl2aWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5nYW1lLWVjb25vbXlfX2RpdmlkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG4gIC5nYW1lLWVjb25vbXlfX2RpdmlkZXItLWZpcnN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9nYW1lLWVjb25vbXktZGl2aWRlci0xLnBuZ1wiKTsgfVxuICAuZ2FtZS1lY29ub215X19kaXZpZGVyLS1zZWNvbmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2dhbWUtZWNvbm9teS1kaXZpZGVyLTIucG5nXCIpOyB9XG5cbi5nYW1lLWVjb25vbXkgLnRleHQge1xuICBtYXJnaW4tYm90dG9tOiA1NHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FtZS1lY29ub215IC50ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdhbWUtZWNvbm9teSAudGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5nYW1lLWVjb25vbXkgLnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODRweDsgfSB9XG5cbi5yZWdpc3RyYXRpb25fX2Zvcm0ge1xuICBtYXgtd2lkdGg6IDM3MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZWdpc3RyYXRpb25fX2Zvcm0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5yZWdpc3RyYXRpb25fX2Zvcm0gLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAzNXB4IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZHMgLmhleGFnb24tYm94IHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG5cbi5jYXJkcyAuaGV4YWdvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuY2FyZHMgLmhleGFnb25fX3BvaW50IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB3aWR0aDogMTA0cHg7XG4gICAgaGVpZ2h0OiAxMDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAuY2FyZHMgLmhleGFnb25fX3BvaW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmQyYTk7IH1cbiAgICAuY2FyZHMgLmhleGFnb25fX3BvaW50X19pY29uIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDdweCByZ2JhKDE2NywgMTM4LCAxMjEsIDAuMzgpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvc3ByaXRlX2NhcnQucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgICAgIC5jYXJkcyAuaGV4YWdvbl9fcG9pbnRfX2ljb246aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jYXJkcyAuaGV4YWdvbl9fcG9pbnRfX2ljb24tLWZpcnN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTVweCAwOyB9XG4gICAgICAuY2FyZHMgLmhleGFnb25fX3BvaW50X19pY29uLS1zZWNvbmQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTE2cHggMDsgfVxuICAgICAgLmNhcmRzIC5oZXhhZ29uX19wb2ludF9faWNvbi0tdGhyZWUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI2cHggMHB4OyB9XG4gICAgICAuY2FyZHMgLmhleGFnb25fX3BvaW50X19pY29uLS1mb3VyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU1OXB4IDA7IH1cbiAgICAgIC5jYXJkcyAuaGV4YWdvbl9fcG9pbnRfX2ljb24tLWZpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDQ4cHggLTFweDsgfVxuICAgICAgLmNhcmRzIC5oZXhhZ29uX19wb2ludF9faWNvbi0tc2l4IHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzOHB4IC0ycHg7IH1cbiAgICAuY2FyZHMgLmhleGFnb25fX3BvaW50LS1maXJzdCB7XG4gICAgICB0b3A6IC0yNyU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgLmNhcmRzIC5oZXhhZ29uX19wb2ludC0tc2Vjb25kIHtcbiAgICAgIGJvdHRvbTogLTIzJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAuY2FyZHMgLmhleGFnb25fX3BvaW50LS10aHJlZSB7XG4gICAgICBib3R0b206IC03MyU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAuY2FyZHMgLmhleGFnb25fX3BvaW50LS1mb3VyIHtcbiAgICAgIHRvcDogNzMlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfVxuICAgIC5jYXJkcyAuaGV4YWdvbl9fcG9pbnQtLWZpdmUge1xuICAgICAgdG9wOiAtMjclO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfVxuICAgIC5jYXJkcyAuaGV4YWdvbl9fcG9pbnQtLXNpeCB7XG4gICAgICB0b3A6IC03MyU7XG4gICAgICBsZWZ0OiA0NiU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC44KTtcbiAgICAgIHRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIC0zNywgMCk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jYXJkcyAuaGV4YWdvbl9fY29udGVudCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5jYXJkcyAuaGV4YWdvbl9fY29udGVudFtkYXRhLWNvbnRlbnQ9XCJzaXhcIl0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7IH1cbiAgLmNhcmRzIC5oZXhhZ29uX190aXRsZSB7XG4gICAgY29sb3I6ICM0NzExMGE7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmNhcmRzIC5oZXhhZ29uX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuICAuY2FyZHMgLmhleGFnb25fX3RleHQge1xuICAgIGNvbG9yOiAjMmYxNTA5O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmNhcmRzIC5oZXhhZ29uX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLmNhcmRzX19ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY2FyZHNfX2JveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9IH1cbiAgLmNhcmRzX19ib3hfX2NhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyOC4xMjVlbSkge1xuICAgICAgLmNhcmRzX19ib3hfX2NhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQ1cHg7IH0gfVxuICAgIC5jYXJkc19fYm94X19jYXJkIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDUyNnB4O1xuICAgICAgbWF4LWhlaWdodDogMzEycHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNhcmRzX19ib3hfX2NhcmQgaW1nIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0MTJweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5jYXJkc19fYm94X19jYXJkIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNTEycHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAuY2FyZHNfX2JveF9fY2FyZCBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDcxMnB4OyB9IH1cbiAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMgLmhlYWQge1xuICAgICAgY29sb3I6ICM0NzExMGE7XG4gICAgICBmb250LWZhbWlseTogXCJDaW56ZWxcIiwgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyOC4xMjVlbSkge1xuICAgICAgICAuY2FyZHNfX2JveF9fY2FyZC1lbGVtZW50cyAuaGVhZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5jYXJkc19fYm94X19jYXJkLWVsZW1lbnRzIC5oZWFkIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5jYXJkc19fYm94X19jYXJkLWVsZW1lbnRzIC5oZWFkIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNDM3NXJlbTsgfSB9XG4gICAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMgdWwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICM0NzExMGE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkNpbnplbFwiLCBzZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI4LjEyNWVtKSB7XG4gICAgICAgICAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMgdWwgbGkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMgdWwgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgICAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMgdWwgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgICAgLmNhcmRzX19ib3hfX2NhcmQtZWxlbWVudHMgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL3BpbWthLnBuZ1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cblxuLmNhcmRzX19mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhcmRzX19mbGV4IHtcbiAgICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gIC5jYXJkc19fZmxleF9fYm94IHtcbiAgICBtYXgtd2lkdGg6IDIxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDEgMSAyMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgLmNhcmRzX19mbGV4IC5jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLmNhcmRzX19mbGV4IC5jYXJkLS1iYXNpayB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9jYXJkMy5wbmdcIik7IH1cbiAgICAuY2FyZHNfX2ZsZXggLmNhcmQtLXJhcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvY2FyZDQucG5nXCIpOyB9XG4gICAgLmNhcmRzX19mbGV4IC5jYXJkLS1lcGljIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2NhcmQzLnBuZ1wiKTsgfVxuICAgIC5jYXJkc19fZmxleCAuY2FyZC0tbGVnZW5kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2NhcmQ0LnBuZ1wiKTsgfVxuICAgIC5jYXJkc19fZmxleCAuY2FyZF9fdGl0bGUge1xuICAgICAgY29sb3I6ICM0NzExMGE7XG4gICAgICBmb250LWZhbWlseTogXCJDaW56ZWxcIiwgc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5oZXhhZ29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzUycHg7XG4gIGhlaWdodDogMjAzLjIzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDEwMS42MXB4IDA7XG4gIGJvcmRlci1sZWZ0OiBkb3R0ZWQgM3B4ICNhODdkNGU7XG4gIGJvcmRlci1yaWdodDogZG90dGVkIDNweCAjYTg3ZDRlOyB9XG4gIC5oZXhhZ29uOmJlZm9yZSwgLmhleGFnb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDI0OC45MHB4O1xuICAgIGhlaWdodDogMjQ4LjkwcHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwLjU3NzQpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWSgwLjU3NzQpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNTc3NCkgcm90YXRlKC00NWRlZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBsZWZ0OiA0OC41NDkycHg7IH1cbiAgLmhleGFnb246YmVmb3JlIHtcbiAgICB0b3A6IC0xMjQuNDUwOHB4O1xuICAgIGJvcmRlci10b3A6IGRvdHRlZCA0LjI0MjZweCAjYTg3ZDRlO1xuICAgIGJvcmRlci1yaWdodDogZG90dGVkIDQuMjQyNnB4ICNhODdkNGU7IH1cbiAgLmhleGFnb246YWZ0ZXIge1xuICAgIGJvdHRvbTogLTEyNC40NTA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDQuMjQyNnB4ICNhODdkNGU7XG4gICAgYm9yZGVyLWxlZnQ6IGRvdHRlZCA0LjI0MjZweCAjYTg3ZDRlOyB9XG5cbi5vZmZjaGFpbi1jYXJkcyAuY29udGFpbmVyX19jb250ZW50ID4gLnRleHQtY2VudGVyID4gLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3hfX2NhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjAzcHg7XG4gICAgaGVpZ2h0OiAyNzdweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3hfX2NhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3hfX2NhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgICAub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3hfX2NhcmQ6aG92ZXIgLmNoYWluX19ib3hfX2NhcmRfX2hvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIC5vZmZjaGFpbi1jYXJkcyAuY2hhaW5fX2JveF9fY2FyZDpob3ZlciAuY2hhaW5fX2JveF9fY2FyZF9fYm90dG9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTElKSB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gICAgLm9mZmNoYWluLWNhcmRzIC5jaGFpbl9fYm94X19jYXJkX19ob3ZlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDMlO1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2NhcmQtaG92ZXIucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTE0cHg7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlOyB9XG4gICAgICAub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3hfX2NhcmRfX2hvdmVyX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gICAgICAub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3hfX2NhcmRfX2hvdmVyX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjNDcxMTBhO1xuICAgICAgICBmb250LWZhbWlseTogXCJDaW56ZWxcIiwgc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgICAgIC5vZmZjaGFpbi1jYXJkcyAuY2hhaW5fX2JveF9fY2FyZF9faG92ZXJfX3RleHQge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE0OyB9XG4gICAgLm9mZmNoYWluLWNhcmRzIC5jaGFpbl9fYm94X19jYXJkX19ib3R0b20ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTElKTtcbiAgICAgIHdpZHRoOiAxMDAuNSU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBjb2xvcjogIzQ3MTEwYTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkNpbnplbFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9ib3R0b21fY2FyZC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlOyB9XG4gICAgICAub2ZmY2hhaW4tY2FyZHMgLmNoYWluX19ib3hfX2NhcmRfX2JvdHRvbV9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuXG4uZ2FtZV90dXRvcmlhbCAuY29udGFpbmVyLXNsaWRlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5nYW1lX3R1dG9yaWFsIC5jb250YWluZXItc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cblxuLmdhbWVfdHV0b3JpYWwgLnRpdGxlLXNsaWRlciB7XG4gIGNvbG9yOiAjNDcxMTBhO1xuICBmb250LWZhbWlseTogXCJDaW56ZWxcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ2FtZV90dXRvcmlhbCAudGl0bGUtc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDU1cHg7IH0gfVxuXG4uZ2FtZV90dXRvcmlhbCAuZ2FtZV9lbGVtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQzcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYW1lX3R1dG9yaWFsIC5nYW1lX2VsZW1lbnRzIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1M3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5nYW1lX3R1dG9yaWFsIC5nYW1lX2VsZW1lbnRzIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTNweDsgfSB9XG4gIC5nYW1lX3R1dG9yaWFsIC5nYW1lX2VsZW1lbnRzX19yaWdodF9fdGl0bGUge1xuICAgIGNvbG9yOiAjNDcxMTBhO1xuICAgIGZvbnQtZmFtaWx5OiBcIkNpbnplbFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuZ2FtZV90dXRvcmlhbCAuZ2FtZV9lbGVtZW50c19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZ2FtZV90dXRvcmlhbCAuZ2FtZV9lbGVtZW50c19fbGlzdF9faXRlbSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAuZ2FtZV90dXRvcmlhbCAuZ2FtZV9lbGVtZW50c19fbGlzdF9faXRlbS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5MiwgMTc1LCAxNTAsIDAuMik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMDk1Njc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgICAgIC5nYW1lX3R1dG9yaWFsIC5nYW1lX2VsZW1lbnRzX19saXN0X19pdGVtOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaG9tZS9waW1rYS5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC5nYW1lX3R1dG9yaWFsIC5nYW1lX2VsZW1lbnRzX19saXN0X19saW5rIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkNpbnplbFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBsaW5lLWhlaWdodDogMztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogIzQ3MTEwYTsgfVxuXG4uZ2FtZSAucGFyY2htZW50LWJnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMzRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbWUgLnBhcmNobWVudC1iZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ2FtZSAucGFyY2htZW50LWJnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4OyB9IH1cblxuLmdhbWUgLmJ0bi1ib3gge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ2FtZSAuYnRuLWJveCB7XG4gICAgICBtYXJnaW4tdG9wOiA0NXB4OyB9IH1cbiAgLmdhbWUgLmJ0bi1ib3ggLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5kb3dubG9hZF9ib3gge1xuICB3aWR0aDogNjU5cHg7XG4gIGhlaWdodDogMjAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgLmRvd25sb2FkX2JveF9fdGl0bGUge1xuICAgIGNvbG9yOiAjNDcxMTBhO1xuICAgIGZvbnQtZmFtaWx5OiBcIkNpbnplbFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmRvd25sb2FkX2JveF9fZnJhbWUge1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2hvbWUvZnJhbWVfZG93bmxvYWQucG5nXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5kb3dubG9hZF9ib3hfX2J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBoZWlnaHQ6IDg2JTsgfVxuICAuZG93bmxvYWRfYm94X19idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAyODBweDtcbiAgICBoZWlnaHQ6IDEwOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgLmRvd25sb2FkX2JveF9fYnV0dG9uLS1hbmRyb2lkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2FuZHJvaWRfYnRuLnBuZ1wiKTsgfVxuICAgIC5kb3dubG9hZF9ib3hfX2J1dHRvbi0taW9zIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2lvc19idG4ucG5nXCIpOyB9XG5cbi5sZWFkZXJfYm9hcmQgLmNvbnRhaW5lcl9fY29udGVudCA+IC50ZXh0LWNlbnRlciA+IC50aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sZWFkZXJfYm9hcmQgLmNvbnRhaW5lcl9fY29udGVudCA+IC50ZXh0LWNlbnRlciA+IC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLmxlYWRlcl9ib2FyZCAuYm94X3RhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sZWFkZXJfYm9hcmQgLmJveF90YWJsZTphZnRlciwgLmxlYWRlcl9ib2FyZCAuYm94X3RhYmxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS9maWx0ZXJfYW5nbGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5sZWFkZXJfYm9hcmQgLmJveF90YWJsZTphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxlYWRlcl9ib2FyZCAuYm94X3RhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmxlYWRlcl9ib2FyZCAuYm94X3RhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuXG4udGFibGUtc3R5bGUge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGFibGUtc3R5bGUgdGhlYWQgdGgge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2ZpbHRlcl9mcmFtZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBjb2xvcjogI2E3NzMyYztcbiAgICBmb250LWZhbWlseTogXCJDaW56ZWxcIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGFibGUtc3R5bGUgdHIgdGQsIC50YWJsZS1zdHlsZSB0ciB0aCB7XG4gICAgcGFkZGluZzogMTRweCAyMHB4OyB9XG4gICAgLnRhYmxlLXN0eWxlIHRyIHRkOmxhc3QtY2hpbGQsIC50YWJsZS1zdHlsZSB0ciB0aDpsYXN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50YWJsZS1zdHlsZSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAxOTcsIDE1MCwgMC40KTsgfVxuICAudGFibGUtc3R5bGUgdHIgPiB0ZDpmaXJzdC1jaGlsZCwgLnRhYmxlLXN0eWxlIHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZS1zdHlsZSB0ciA+IHRkOmZpcnN0LWNoaWxkLCAudGFibGUtc3R5bGUgdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzdweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlLXN0eWxlIHRyID4gdGQ6Zmlyc3QtY2hpbGQsIC50YWJsZS1zdHlsZSB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1N3B4OyB9IH1cbiAgLnRhYmxlLXN0eWxlIHRyID4gdGQ6bGFzdC1jaGlsZCwgLnRhYmxlLXN0eWxlIHRyID4gdGg6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZS1zdHlsZSB0ciA+IHRkOmxhc3QtY2hpbGQsIC50YWJsZS1zdHlsZSB0ciA+IHRoOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGUtc3R5bGUgdHIgPiB0ZDpsYXN0LWNoaWxkLCAudGFibGUtc3R5bGUgdHIgPiB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgfSB9XG4gIC50YWJsZS1zdHlsZSB0ciA+IHRkIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJjNjk3OyB9XG4gICAgLnRhYmxlLXN0eWxlIHRyID4gdGQ6Zmlyc3QtY2hpbGQsIC50YWJsZS1zdHlsZSB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICM0NzExMGE7IH1cblxuLmxvZ2luX19mb3JtIHtcbiAgbWF4LXdpZHRoOiAzNzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2dpbl9fZm9ybSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmxvZ2luX19mb3JtIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5sb2dpbl9fbm90X2FjY291bnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDU1cHg7IH1cbiAgLmxvZ2luX19ub3RfYWNjb3VudCAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmxvZ2luIC5wYXJjaG1lbnQtYmcge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxvZ2luIC5wYXJjaG1lbnQtYmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvZ2luIC5wYXJjaG1lbnQtYmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmxvZ2luIC5wYXJjaG1lbnQtYmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwNnB4OyB9IH1cblxuLmdhbGxlcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuICAuZ2FsbGVyeV9faXRlbSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMjQzcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZ2FsbGVyeV9faXRlbV9faW1hZ2Uge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuICAgICAgb3BhY2l0eTogMC44OyB9XG4gICAgICAuZ2FsbGVyeV9faXRlbV9faW1hZ2U6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3gtc2hhZG93OiAwIDlweCA5cHggcmdiYSgxMjgsIDg5LCAzOCwgMC40OCk7IH1cblxuLm1lZGlhIC5wYXJjaG1lbnQtYmcge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lZGlhIC5wYXJjaG1lbnQtYmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lZGlhIC5wYXJjaG1lbnQtYmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLm1lZGlhIC5wYXJjaG1lbnQtYmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDg2cHg7IH0gfVxuXG4ubWVkaWEgLmNvbnRhaW5lcl9fY29udGVudCA+IC50ZXh0LWNlbnRlciA+IC50aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLm1lZGlhIC5maWx0ZXItcGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi5tZWRpYV9fdGl0bGUge1xuICBjb2xvcjogIzQ3MTEwYTtcbiAgZm9udC1mYW1pbHk6IFwiTG9yYVwiLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDAuOTQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZWRpYV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZWRpYV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubWVkaWFfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07IH0gfVxuXG4ubWVkaWEgLnZpZGVvIHtcbiAgbWFyZ2luLXRvcDogLTI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZWRpYSAudmlkZW8ge1xuICAgICAgbWFyZ2luLXRvcDogLTM1cHg7IH0gfVxuICAubWVkaWEgLnZpZGVvOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWVkaWEgLnZpZGVvOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAubWVkaWEgLnZpZGVvOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9IH1cbiAgLm1lZGlhIC52aWRlbzpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYSAudmlkZW9fX2RlY29yIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOyB9XG5cbi5tZWRpYS0tc2NyZWVucyAubWVkaWFfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lZGlhLS1zY3JlZW5zIC5tZWRpYV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogNDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubWVkaWEtLXNjcmVlbnMgLm1lZGlhX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiA2NnB4OyB9IH1cblxuLm1lZGlhLS1zY3JlZW5zIC5maWx0ZXItcGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5tZWRpYS0tYXVkaW8gLnBhcmNobWVudC1iZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLm1lZGlhLS1hdWRpb19fdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFjNTk2O1xuICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVkaWEtLWF1ZGlvX190cmFjazpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAxOTcsIDE1MCwgMC40KTsgfVxuICAubWVkaWEtLWF1ZGlvX190cmFja19fcGxheSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4IDAgNnB4IDlweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0NzExMGE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDIycHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5tZWRpYS0tYXVkaW9fX3RyYWNrX19wYXVzZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzQ3MTEwYTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAubWVkaWEtLWF1ZGlvX190cmFja19fbmFtZSB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxvcmFcIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1OyB9XG4gIC5tZWRpYS0tYXVkaW9fX3RyYWNrX190aW1lIHtcbiAgICBjb2xvcjogIzQ3MTEwYTtcbiAgICBmb250LWZhbWlseTogXCJMb3JhXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZWRpYS0tYXVkaW9fX3RyYWNrLmlzLXBsYXkgLm1lZGlhLS1hdWRpb19fdHJhY2tfX3BsYXkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uY29tbXVuaXR5X19saXN0X3dyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDI3cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21tdW5pdHlfX2xpc3Rfd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzN3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jb21tdW5pdHlfX2xpc3Rfd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiA1N3B4OyB9IH1cblxuLmNvbW11bml0eV9fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5jb21tdW5pdHlfX2xpc3RfX2l0ZW0ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbW11bml0eV9fbGlzdF9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5jb21tdW5pdHlfX2xpc3RfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgLmNvbW11bml0eV9fbGlzdF9fbGluayB7XG4gICAgY29sb3I6ICM0NzExMGE7XG4gICAgZm9udC1mYW1pbHk6IFwiQ2luemVsXCIsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb21tdW5pdHlfX2xpc3RfX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29tbXVuaXR5X19saXN0X19saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuY29tbXVuaXR5X19saXN0X19saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH0gfVxuICAuY29tbXVuaXR5X19saXN0X19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAyMTQsIDE2NSwgMC41KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYjA5NTY3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lL2NvbW11bml0eS1zcHJpdGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAuY29tbXVuaXR5X19saXN0X19pY29uLS1zbGFjayB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5cHggMTBweDsgfVxuICAgIC5jb21tdW5pdHlfX2xpc3RfX2ljb24tLWZvcnVtIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDlweCAtODFweDsgfVxuICAgIC5jb21tdW5pdHlfX2xpc3RfX2ljb24tLWZhY2Vib29rIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDlweCAtMTY5cHg7IH1cblxuLmNvbW11bml0eSAucGFyY2htZW50LWJnIHtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb21tdW5pdHkgLnBhcmNobWVudC1iZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbW11bml0eSAucGFyY2htZW50LWJnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY29tbXVuaXR5IC5wYXJjaG1lbnQtYmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIxNXB4OyB9IH1cblxuLmFjY291bnQgLnBhcmNobWVudC1iZyB7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWNjb3VudCAucGFyY2htZW50LWJnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWNjb3VudCAucGFyY2htZW50LWJnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuYWNjb3VudCAucGFyY2htZW50LWJnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOTBweDsgfSB9XG5cbi5hY2NvdW50X193cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5hY2NvdW50X193cmFwIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYWNjb3VudF9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWNjb3VudF9fbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5hY2NvdW50X19saXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU3cHg7IH0gfVxuICAuYWNjb3VudF9fbGlzdF9faXRlbSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hY2NvdW50X19saXN0X19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmFjY291bnRfX2xpc3RfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgLmFjY291bnRfX2xpc3RfX3RleHQge1xuICAgIGNvbG9yOiAjNDcxMTBhO1xuICAgIGZvbnQtZmFtaWx5OiBcIkNpbnplbFwiLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWNjb3VudF9fbGlzdF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hY2NvdW50X19saXN0X190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuYWNjb3VudF9fbGlzdF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9IH1cbiAgLmFjY291bnRfX2xpc3RfX2ljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMjE0LCAxNjUsIDAuNSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2IwOTU2NztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUvYWNjb3VudC1zcHJpdGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuYWNjb3VudF9fbGlzdF9faWNvbi0tZW1haWwge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTRweCAxN3B4OyB9XG4gICAgLmFjY291bnRfX2xpc3RfX2ljb24tLW5hbWUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTNweCAtNjlweDsgfVxuICAgIC5hY2NvdW50X19saXN0X19pY29uLS1jb3VudGVycGFydHkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTNweCAtMTYwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNTY4cHgpIHtcbiAgLnRpdGxlX19ib3R0b20ge1xuICAgIHdpZHRoOiAyOTBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDY2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcbiAgLnZpZGVvIHtcbiAgICBoZWlnaHQ6IDMyMHB4OyB9IH1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJldmVhbFxuLy8gIDI5LiBTbGlkZXJcbi8vICAzMC4gU3dpdGNoXG4vLyAgMzEuIFRhYmxlXG4vLyAgMzIuIFRhYnNcbi8vICAzMy4gVGh1bWJuYWlsXG4vLyAgMzQuIFRpdGxlIEJhclxuLy8gIDM1LiBUb29sdGlwXG4vLyAgMzYuIFRvcCBCYXJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNjtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgICAgICAgcHJpbWFyeTogIzQ3MTEwYSxcbiAgICAgICAgc2Vjb25kYXJ5OiAjMmYxNTA5LFxuICAgICAgICBzdWNjZXNzOiAjM2FkYjc2LFxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxuICAgICAgICBhbGVydDogI2VjNTg0MCxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZmZmZmY7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ0xvcmEnLCBzZXJpZjtcbiRzZW9uZGFyeS1mb250LWZhbWlseTogJ0NpbnplbCcsIHNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgICAgIHNtYWxsOiAwLFxuICAgICAgICBtZWRpdW06IDY0MHB4LFxuICAgICAgICBsYXJnZTogMTAyNHB4LFxuICAgICAgICB4bGFyZ2U6IDEyMDBweCxcbiAgICAgICAgeHhsYXJnZTogMTQ0MHB4LFxuICAgICAgICB4eHhsYXJnZTogMTYwMHB4XG4pO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4eHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICAgICAgICBzbWFsbDogMjBweCxcbiAgICAgICAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXNpemVzOiAoXG4gICAgICAgIHNtYWxsOiAoXG4gICAgICAgICAgICAgICAgJ2gxJzogMjQsXG4gICAgICAgICAgICAgICAgJ2gyJzogMjAsXG4gICAgICAgICAgICAgICAgJ2gzJzogMTksXG4gICAgICAgICAgICAgICAgJ2g0JzogMTgsXG4gICAgICAgICAgICAgICAgJ2g1JzogMTcsXG4gICAgICAgICAgICAgICAgJ2g2JzogMTYsXG4gICAgICAgICksXG4gICAgICAgIG1lZGl1bTogKFxuICAgICAgICAgICAgICAgICdoMSc6IDQ4LFxuICAgICAgICAgICAgICAgICdoMic6IDQwLFxuICAgICAgICAgICAgICAgICdoMyc6IDMxLFxuICAgICAgICAgICAgICAgICdoNCc6IDI1LFxuICAgICAgICAgICAgICAgICdoNSc6IDIwLFxuICAgICAgICAgICAgICAgICdoNic6IDE2LFxuICAgICAgICApLFxuKTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICAgICAgICB0aW55OiAwLjZyZW0sXG4gICAgICAgIHNtYWxsOiAwLjc1cmVtLFxuICAgICAgICBkZWZhdWx0OiAwLjlyZW0sXG4gICAgICAgIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE2LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgICAgICAgdGlueTogMTAwcHgsXG4gICAgICAgIHNtYWxsOiAyMDBweCxcbiAgICAgICAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTcuIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtemluZGV4OiAtMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDI5LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMy4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGZsb29yKCgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSkpO1xuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cmVkKCRjb2xvcil9LCAje2dyZWVuKCRjb2xvcil9LCAje2JsdWUoJGNvbG9yKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcbiAgLy8gU3RvcmUgdGhlIHZhbHVlcyBvZiB0aGUgbWFwIGFzIGEgbGlzdCwgc28gd2UgY2FuIGFjY2VzcyB0aGVtIHdpdGggbnRoXG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG5cbiAgLy8gR2hldHRvIGZvciBsb29wXG4gICRpOiAxO1xuICAkZm91bmQ6IGZhbHNlO1xuICBAZWFjaCAkdmFsIGluIG1hcC1rZXlzKCRtYXApIHtcbiAgICBAaWYgJGZvdW5kID09IGZhbHNlIHtcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH1cbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgJGkgPiBsZW5ndGgoJG1hcCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRpKTtcbiAgfVxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwLiBJZiB0aGUgY29uZmlnIG1hcCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuIElmIHRoZSBjb25maWcgbWFwIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBJbnB1dCBjb25maWcgbWFwLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuM1xuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCBsZWZ0KSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLidcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */


/*simon addons, to be validated by thierry*/
.center-popup {
    background-color: rgba(192, 175, 150, 1);
    border: 5px solid #b09576;
    height: 500px;
    left: 50%;
    margin-left: -250px;
    margin-top: -250px;
    position: relative;
    text-align: center;
    top: 50%;
    width: 500px;
    z-index: 999;
}
.center-popup-wrapper{
    display: none;
    position: fixed;
    top:0;
    left: 0;
    z-index: 998;
    height: 100%;
    width: 100%;
    background:rgba(0,0,0,0.75);
}
#close-coupon-panel{
    bottom: 5px;
    font-size: 20px;
    position: absolute;
    right: 10px;
}
