/*!
 * Sprocket
 * A modern UI library for Parker Hannifin
 * #
 * @author Joe Reynolds
 * @version 0.1.0
 * Copyright 2021. MIT licensed.
 */
.v-align>[class*=col-] {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center
}

.v-align>[class*=col-] img {
    -ms-flex-item-align: center;
    align-self: center;
    max-width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

@media only screen and (min-width:64em) {
    .offset-y__1 {
        margin-top: -4px;
        position: relative
    }
}

@media only screen and (min-width:64em) {
    .offset-y__2 {
        margin-top: -8px;
        position: relative
    }
}

@media only screen and (min-width:64em) {
    .offset-y__3 {
        margin-top: -12px;
        position: relative
    }
}

@media only screen and (min-width:64em) {
    .offset-y__4 {
        margin-top: -16px;
        position: relative
    }
}

.hide {
    display: none
}

.flip {
    transform: scaleX(-1)
}

.a-underline {
    text-decoration: underline
}

.a-underline:hover {
    -webkit-text-decoration-color: #ffb91d;
    text-decoration-color: #ffb91d
}

.inline-links a {
    color: #000;
    display: inline;
    font-weight: 500;
    padding-right: .75rem
}

@media only screen and (min-width:64em) {
    .inline-links a {
        padding-right: 1rem
    }
}

.inline-links a:last-child {
    padding-right: 0
}

.clear:after,
.clear:before {
    content: " ";
    display: table
}

/* .clear {
  *zoom: 1;
} */

.clear:after {
    clear: both
}

/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

progress {
    vertical-align: baseline
}

[hidden],
template {
    display: none
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

.wtb-wrapper :active,
.wtb-wrapper a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit;
    font-weight: bolder
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    overflow: visible
}

button,
input,
select,
textarea {
    font: inherit;
    margin: 0
}

optgroup {
    font-weight: 700
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font: normal normal 400 1rem/1.5 Roboto, Arial, sans-serif;
    font-size: 1rem
}

body,
html {
    height: 100%
}

body {
    color: #424242;
    background: #fff !important;
    font-size: .875rem
}

p {
    margin: 0 0 1rem
}

@media only screen and (min-width:37.5625em) {
    p {
        margin: 0 0 .25rem
    }
}

p em {
    font-weight: 500
}

.wtb-wrapper .button,
.wtb-wrapper [type=button],
.wtb-wrapper [type=reset],
.wtb-wrapper [type=submit],
.wtb-wrapper a.button,
.wtb-wrapper button {
    -webkit-appearance: none;
    display: inline-block;
    border: 2px solid #ffb91d;
    border-radius: 0;
    background: #ffb91d;
    color: #424242;
    font-weight: 500;
    font-family: Roboto, Arial, sans-serif;
    font-size: 1rem;
    text-transform: none;
    padding: .75rem 1rem;
    margin: 0 0 .5rem;
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
    min-width: 120px
}

@media only screen and (min-width:37.5625em) {

    .wtb-wrapper .button,
    .wtb-wrapper [type=button],
    .wtb-wrapper [type=reset],
    .wtb-wrapper [type=submit],
    .wtb-wrapper a.button,
    .wtb-wrapper button {
        min-width: 150px;
        padding: 1rem 1.25rem
    }
}

.wtb-wrapper .active[type=button],
.wtb-wrapper .active[type=reset],
.wtb-wrapper .active[type=submit],
.wtb-wrapper .button.active,
.wtb-wrapper .button:active,
.wtb-wrapper .button:focus,
.wtb-wrapper .button:hover,
.wtb-wrapper [type=button]:active,
.wtb-wrapper [type=button]:focus,
.wtb-wrapper [type=button]:hover,
.wtb-wrapper [type=reset]:active,
.wtb-wrapper [type=reset]:focus,
.wtb-wrapper [type=reset]:hover,
.wtb-wrapper [type=submit]:active,
.wtb-wrapper [type=submit]:focus,
.wtb-wrapper [type=submit]:hover,
.wtb-wrapper a.button.active,
.wtb-wrapper a.button:active,
.wtb-wrapper a.button:focus,
.wtb-wrapper a.button:hover,
.wtb-wrapper button.active,
.wtb-wrapper button:active,
.wtb-wrapper button:focus,
.wtb-wrapper button:hover {
    border: 2px solid #e9a100;
    background: #e9a100;
    color: #424242;
    text-decoration: none
}

.button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
a.button::-moz-focus-inner,
button::-moz-focus-inner {
    border: 0;
    padding: 0
}

dl,
ol,
table,
ul {
    margin: 0
}

ol li ol,
ul li ul {
    margin-bottom: 0
}

h1,
h2,
h3,
h4,
h5 {
    font-weight: 400
}

h1 {
    font-size: 1.5625rem
}

h2 {
    font-size: 1.25rem;
    line-height: 1.125
}

h3 {
    font-size: 1rem
}

h3,
h4 {
    font-weight: 500
}

h4 {
    font-size: 1.125rem
}

h5 {
    font-size: .875rem
}

@media (min-width:600px) {
    h1 {
        font-size: 1.875rem
    }

    h2 {
        font-size: 1.5rem
    }

    h3 {
        font-size: 1.25rem
    }

    h4 {
        font-size: 1.125rem
    }

    h5 {
        font-size: .875rem
    }
}

a {
    cursor: pointer;
    text-decoration: none
}

.wtb-wrapper a,
.wtb-wrapper a:visited {
    color: #424242
}

.wtb-wrapper a:hover {
    text-decoration: underline;
    -webkit-text-decoration-color: #000;
    text-decoration-color: #000
}

.wtb-wrapper a:active,
.wtb-wrapper a:hover {
    color: #222
}

mark {
    background: #ffeea8;
    padding: 0 .2rem
}

blockquote {
    margin: 0 0 1.5rem;
    border-left: 16px solid #f0f0f0;
    padding: 0 1.5rem;
    font-size: 1.5rem
}

blockquote cite {
    display: block;
    margin-top: 1.5rem;
    font-size: 1rem;
    text-align: right
}

pre {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 1rem;
    -moz-tab-size: 2;
    -o-tab-size: 2;
    tab-size: 2;
    color: #424242;
    font-size: 14px;
    margin: 0 0 1.5rem
}

pre,
pre code {
    font-family: Menlo, monospace
}

pre code {
    line-height: 1.2
}

kbd {
    background-color: #f7f7f7;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 2px #fff;
    color: #333;
    display: inline-block;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    margin: 0 .1em;
    padding: .1em .6em;
    text-shadow: 0 1px 0 #fff
}

:not(pre)>code {
    color: #424242;
    background: transparent;
    font-family: Menlo, monospace;
    font-size: 14px;
    padding: 0 .2rem;
    border: 1px solid #bcbcbc;
    border-radius: 0
}

.hidden {
    display: none
}

hr {
    height: 0;
    border: 0;
    border-top: 1px solid #bcbcbc
}

dt {
    font-weight: 600
}

dd {
    margin-bottom: .5rem
}

.full-container {
    max-width: 100%;
    padding: 0 1rem
}

.wtb-wrapper .container,
.wtb-wrapper .medium-container,
.wtb-wrapper .small-container {
    max-width: 1220px;
    padding: 0 1rem;
    margin-left: auto;
    margin-right: auto
}

.wtb-wrapper .small-container {
    max-width: 1023px
}

.wtb-wrapper .medium-container {
    max-width: 1139px
}

::selection {
    background: #333;
    color: #fff;
    text-shadow: none
}

::-moz-selection {
    background: #333;
    color: #fff;
    text-shadow: none
}

::-webkit-selection {
    background: #333;
    color: #fff;
    text-shadow: none
}

.clearfix:after,
.clearfix:before {
    content: " ";
    display: block
}

.clearfix:after {
    clear: both
}

.ph-text-body__small {
    font-size: .75rem;
    font-style: normal;
    font-weight: 400;
    color: #424242;
    font-family: Roboto, Arial, sans-serif;
    line-height: 1.2
}

.ph-text-body {
    margin-bottom: 1rem;
    padding: 0 .5rem
}

.ph-text-body__twoCol {
    columns: 2 200px
}

.ph-italic .text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-center {
    text-align: center
}

.text-justify {
    text-align: justify
}

.bold {
    font-weight: 700
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.vertical-center {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.responsive-image {
    max-width: 100%;
    height: auto
}

.fill-image {
    width: 100%;
    height: auto
}

.show-mobile {
    display: block !important
}

.hide-mobile,
.hide-mobile-lg {
    display: none !important
}

@media only screen and (min-width:768px) {
    .hide-mobile {
        display: block !important
    }

    .show-mobile {
        display: none !important
    }
}

@media only screen and (min-width:1200px) {
    .hide-mobile-lg {
        display: block !important
    }

    .show-mobile-lg {
        display: none !important
    }
}

.invisible {
    visibility: hidden
}

.border-left {
    border-left: none
}

.border-botom {
    border-bottom: 1px solid #c5c5c5 !important
}

@media only screen and (min-width:768px) {
    .border-left {
        border-left: 1px solid #dedede
    }
}

.float-left {
    float: left
}

.float-right {
    float: right
}

.no-padding-top {
    padding-top: 0
}

.no-padding-bottom {
    padding-bottom: 0
}

.padding-top {
    padding-top: 2rem
}

.padding-bottom {
    padding-bottom: 2rem
}

.no-margin-top {
    margin-top: 0
}

.no-margin-bottom {
    margin-bottom: 0
}

.margin-top {
    margin-top: 2rem
}

.margin-bottom {
    margin-bottom: 2rem
}

.alternate-background {
    background: #fafafa;
    color: #404040
}

.ph-icon-gold {
    color: #ffb91d
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.tooltip-inner,
.tooltip-inner .arrow:before {
    background-color: #424242;
    opacity: .75
}

.a-no-underline,
.a-no-underline:hover {
    text-decoration: none
}

.ph-blue-link {
    color: #0076cc !important;
    font-weight: 400
}

.wrap-text {
    white-space: normal !important
}

.ribbon {
    margin: 0;
    padding: 0;
    color: #424242;
    padding: .15em 0;
    left: 0;
    transform: translateX(0) translateY(120%) rotate(-45deg);
    transform-origin: top left
}

.ribbon,
.ribbon:after,
.ribbon:before {
    background: #ffb91d;
    position: absolute;
    top: 0
}

.ribbon:after,
.ribbon:before {
    content: "";
    margin: 0 -1px;
    width: 100%;
    height: 100%
}

.ribbon:before {
    left: 100%
}

.ribbon:after {
    right: 100%
}

.ph-caret-down {
    position: relative
}

.ph-caret-down:before {
    content: "";
    top: -7px;
    left: -7px;
    position: absolute;
    width: 1rem;
    height: 1rem;
    border-left: 1px solid #bcbcbc;
    border-top: 1px solid #bcbcbc;
    transform: rotate(225deg) skew(-3deg, -3deg)
}

.ph-caret-up {
    position: relative
}

.ph-caret-up:before {
    content: "";
    top: -7px;
    left: -7px;
    position: absolute;
    width: 1rem;
    height: 1rem;
    border-left: 1px solid #bcbcbc;
    border-top: 1px solid #bcbcbc;
    transform: rotate(45deg) skew(-3deg, -3deg)
}

.white-text {
    color: #fff !important
}

.wtb-wrapper ul li a:hover {
    -webkit-text-decoration-color: #ffb91d;
    text-decoration-color: #ffb91d
}

.hide-bullet {
    list-style-type: none
}

[class*=ph-list__col-] {
    margin: 1.5rem 0
}

[class*=ph-list__col-]>ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}

[class*=ph-list__col-]>ul>li {
    margin-bottom: .625rem
}

[class*=ph-list__col-]>ul>li a:hover {
    border-bottom: 1px solid #ffb91d;
    text-decoration: none
}

.ph-list,
.ph-list__bulleted {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}

.ph-list__sm {
    padding-left: 1.5rem
}

.ph-list__sm>li {
    font-size: .8125rem;
    line-height: 1.375;
    margin-bottom: .625rem;
    text-align: left
}

@media only screen and (min-width:37.5625em) {
    .ph-list__sm>li {
        font-size: .875rem
    }
}

@media only screen and (min-width:64em) {
    .ph-list__sm>li {
        font-size: .9375rem
    }
}

@media only screen and (min-width:71.25em) {
    .ph-list__sm>li {
        font-size: 1rem
    }
}

.ph-list__lg>li {
    font-size: 1rem
}

@media only screen and (min-width:37.5625em) {
    .ph-list__lg>li {
        font-size: 1.0625rem
    }
}

@media only screen and (min-width:64em) {
    .ph-list__lg>li {
        margin-bottom: .625rem
    }
}

@media only screen and (min-width:71.25em) {
    .ph-list__lg>li {
        margin-bottom: 1.25rem
    }
}

.ph-list__icons {
    list-style: none;
    margin: 0;
    padding: 0
}

.ph-list__icons>li {
    display: inline
}

.ph-list__icons>li>a {
    border: 2px solid #ffb91d;
    border-radius: 100%;
    display: inline-block;
    font-size: 1.25rem;
    height: 2.25rem;
    margin: .25rem .5rem .25rem 0;
    text-align: center;
    width: 2.25rem
}

.ph-list__inline {
    list-style-type: none;
    -ms-flex-align: center;
    align-items: center;
    padding: 0
}

.ph-list__inline li {
    display: inline
}

.ph-dl-list__inline {
    padding: 0
}

.ph-dl-list__inline dd,
.ph-dl-list__inline dt {
    display: inline
}

.ph-dl-list__inline dd {
    margin: 0 .5rem
}

.ph-list__item,
a.ph-list__item {
    width: 100%;
    color: #424242;
    text-align: inherit;
    border: none;
    padding: .25rem 0
}

.ph-list__item:active,
.ph-list__item:hover,
a.ph-list__item:active,
a.ph-list__item:hover {
    color: #424242
}

.ph-list__item--border-bottom,
a.ph-list__item--border-bottom {
    border-bottom: 1px solid #e2e1dd;
    padding: 1rem
}

.icon {
    margin-right: .5rem
}

.ph-img-grid {
    width: 100%
}

.ph-img-grid__list {
    margin: 0;
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.ph-img-grid__item {
    list-style: none;
    vertical-align: top;
    text-align: center;
    width: 150px;
    margin: .5rem;
    font-size: .75rem;
    padding: 0 .15rem
}

.ph-img-grid__item a {
    -ms-flex-align: center;
    align-items: center
}

.ph-img-grid__item img {
    width: 100%;
    max-width: 90px;
    max-height: 90px;
    margin: 0 auto 5px;
    display: block
}

.ph-img-grid__item img:after {
    content: "\A"
}

.ph-tops li {
    border: 2px solid transparent;
    transition: all .2s ease-in-out;
    width: 100%
}

.ph-tops li:hover {
    border: 2px solid #ffb91d
}

.ph-tops li a {
    font-size: 1rem
}

.specifications {
    padding: .5rem 0
}

.specifications__item {
    vertical-align: middle;
    padding: .25rem .5rem !important
}

.specifications__description {
    width: 100%;
    float: left;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    font-weight: 700
}

.specifications__value {
    padding-left: .25rem;
    width: 100%;
    float: left
}

@media only screen and (min-width:71.25em) {
    .specifications {
        -ms-flex-direction: row;
        flex-direction: row;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .specifications__description,
    .specifications__value {
        width: 50%
    }
}

.ph-footer__wrapper {
    border-top: 2px solid #ffb91d;
    margin-top: 2rem
}

@media only screen and (min-width:64em) {
    .ph-footer__wrapper {
        margin-top: 3rem
    }
}

.ph-footer__primary>.row {
    margin: 0
}

.ph-footer__secondary {
    background-color: #000;
    padding: 1rem 0
}

@media only screen and (min-width:64em) {
    .ph-footer__secondary {
        padding: 1rem 0 .75rem
    }
}

.ph-footer__secondary .row {
    -ms-flex-align: center;
    align-items: center;
    margin: 0
}

.ph-footer__secondary * {
    color: #fff;
    text-transform: uppercase
}

.ph-footer__secondary .small {
    display: inline-block;
    font-weight: 400;
    font-size: .625rem;
    line-height: 1.25;
    padding: .5rem 0
}

.ph-footer__secondary .col-12 {
    text-align: center
}

@media only screen and (min-width:64em) {
    .ph-footer__secondary .col-12 {
        text-align: left
    }
}

.ph-footer__secondary .secondary-menu {
    padding: 0 0 .25rem
}

.ph-footer__secondary .secondary-menu>li>a {
    border-right: 1px solid #fff;
    color: #fff;
    font-weight: 400;
    font-size: .625rem;
    padding: 0 .25rem;
    text-transform: uppercase
}

@media only screen and (min-width:37.5625em) {
    .ph-footer__secondary .secondary-menu>li>a {
        padding: 0 .5rem
    }
}

@media only screen and (min-width:71.25em) {
    .ph-footer__secondary .secondary-menu>li>a {
        padding: 0 .75rem
    }
}

.ph-footer__secondary .secondary-menu>li:last-child>a {
    border-right: none
}

.ph-footer__secondary h4 {
    font-size: .8125rem;
    margin: .25rem 0;
    text-align: center
}

@media only screen and (min-width:37.5625em) {
    .ph-footer__secondary h4 {
        font-size: .9375rem
    }
}

@media only screen and (min-width:71.25em) {
    .ph-footer__secondary h4 {
        font-size: 1.125rem;
        margin: 0
    }
}

.ph-footer__subsite {
    background-color: #ffb91d;
    padding: 1rem 0
}

@media only screen and (min-width:64em) {
    .ph-footer__subsite {
        padding: 1rem 0 .75rem
    }
}

.ph-footer__subsite .row {
    -ms-flex-align: center;
    align-items: center
}

.ph-footer__subsite * {
    color: #000;
    text-transform: uppercase
}

.ph-footer__subsite .small {
    display: inline-block;
    font-weight: 400;
    font-size: .625rem;
    line-height: 1.25;
    padding: .5rem 0
}

.ph-footer__subsite .col-12 {
    text-align: center
}

@media only screen and (min-width:64em) {
    .ph-footer__subsite .col-12 {
        text-align: left
    }
}

.ph-footer__subsite .secondary-menu {
    padding: 0 0 .25rem
}

.ph-footer__subsite .secondary-menu>li>a {
    border-right: 1px solid #000;
    color: #000;
    font-weight: 400;
    font-size: .625rem;
    padding: 0 .25rem;
    text-transform: uppercase
}

@media only screen and (min-width:37.5625em) {
    .ph-footer__subsite .secondary-menu>li>a {
        padding: 0 .5rem
    }
}

@media only screen and (min-width:71.25em) {
    .ph-footer__subsite .secondary-menu>li>a {
        padding: 0 .75rem
    }
}

.ph-footer__subsite .secondary-menu>li:last-child>a {
    border-right: none
}

.ph-footer__subsite h4 {
    font-size: .8125rem;
    margin: .25rem 0;
    text-align: center
}

@media only screen and (min-width:37.5625em) {
    .ph-footer__subsite h4 {
        font-size: .9375rem
    }
}

@media only screen and (min-width:71.25em) {
    .ph-footer__subsite h4 {
        font-size: 1.125rem;
        margin: 0
    }
}

@media only screen and (min-width:64em) {
    .ph-footer .ph-accordion__mobile+.ph-accordion__content {
        border-bottom-color: #fff
    }
}

.ph-footer .ph-accordion__title {
    color: #000 !important;
    padding-left: 0;
    padding-right: 0
}

@media only screen and (min-width:64em) {
    .ph-footer .ph-accordion__title {
        padding: .375rem
    }
}

.ph-footer .ph-accordion__title.bt {
    border-top: 1px solid #c5c5c5
}

@media only screen and (min-width:64em) {
    .ph-footer .ph-accordion__title.bt {
        border-top-color: #fff
    }
}

@media only screen and (min-width:64em) {
    .ph-footer .ph-accordion__title {
        border-bottom-color: #fff;
        cursor: default;
        font-weight: 700;
        font-size: .875rem;
        padding-bottom: 0;
        padding-top: 0
    }
}

@media only screen and (min-width:64em) {
    .ph-footer .ph-accordion__title:hover {
        background-color: #fff
    }
}

.ph-footer .ph-accordion__title:after {
    font-size: .75rem;
    float: left;
    margin: .25rem .5rem
}

@media only screen and (min-width:64em) {
    .ph-footer .ph-accordion__title:after {
        display: none
    }
}

.ph-footer .ph-list>li>a {
    color: #000;
    font-weight: 500
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1peGlucy9fcG9zaXRpb24uc2NzcyIsIm1peGlucy9fbGlua3Muc2NzcyIsImNvbXBvbmVudHMvX3ZhcmlhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fY2xlYXJmaXguc2NzcyIsInBoLWZvb3Rlci5jc3MiLCJjb21wb25lbnRzL19ub3JtYWxpemUuc2NzcyIsImNvbXBvbmVudHMvX2RlZmF1bHRzLnNjc3MiLCJjb21wb25lbnRzL19icmVha3BvaW50cy5zY3NzIiwiY29tcG9uZW50cy9faGVscGVycy5zY3NzIiwiY29tcG9uZW50cy9fbGlzdHMuc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQXlIQSx1QkFFSSxvQkFBQSxBQUFhLGFBQUEsQUFDYiwwQkFBQSxBQUFzQixzQkFBQSxBQUN0QixxQkFBQSxBQUF1QixzQkFBQSxDQUozQixBQUkyQiwyQkFHckIsMkJBQUEsQUFBa0Isa0JBQUEsQUFDbEIsZUFBZSxBQUNmLG9CQUFBLEFBQWMsYUFBQSxDQUFBLEFBT2hCLHdDQURGLGFBRUksZ0JBQWdCLEFBQ2hCLGlCQUFrQixDQUFBLENBRXJCLEFBR0Msd0NBREYsYUFFSSxnQkFBZ0IsQUFDaEIsaUJBQWtCLENBQUEsQ0FFckIsQUFHQyx3Q0FERixhQUVJLGlCQUFpQixBQUNqQixpQkFBa0IsQ0FBQSxDQUVyQixBQUdDLHdDQURGLGFBRUksaUJBQWlCLEFBQ2pCLGlCQUFrQixDQUFBLENBRXJCLEFBSUgsTUFDRSxZQUFhLENBQUEsQUFJZixNQUNFLG9CQUFxQixDQUFBLEFDdEdyQixhQUNFLHlCQUEwQixDQUQ1QixBQUM0QixtQkFHeEIsc0NBQUEsQUMrRFcsNkJBQUEsQ0QzRGYsQUMyRGUsZ0JEekRYLFdBQ0EsQUN5RFMsZUR6RE0sQUFDZixnQkFBZ0IsQUFDaEIsb0JDM0J5RCxDRDZCekQsQUM3QnlELHdDRHNCN0QsZ0JBUU0sa0JDOUJ1RCxDQUFBLENEc0I3RCxBQWNHLDJCQUZHLGVBQWdC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RkssZ0JBQWdCLEFBQ2hCLGtCUmpGMkMsQVFrRjNDLGlCUmxGMkMsQVFtRjNDLHdCQUF5QixDQUFBLEFBRXpCLDZDQTdDZix5Q0E4Q21CLGVSdEZ1QyxDQUFBLENReUYzQyxBQUdILDJDQXBEWix5Q0FrRG1CLGdCUjFGdUMsQ0FBQSxDUXdDMUQsQUFvRFksb0RBSU8saUJBQWtCLENBeERyQyxBQXdEcUMsdUJBTzlCLG1CUnZHbUQsQVF3R25ELGdCUnZHd0IsQVF3R3hCLGlCQUFrQixDQUFBLEFBRWxCLDZDQW5FUCx1QkFvRVcsa0JSNUcrQyxDQUFBLENRK0duRCxBQUlILDJDQTNFSix1QkF3RVcsbUJSaEgrQyxBUWlIL0MsUUFBUyxDQUFBLENBRWhCLEFBTU8sd0NBaExoQix3REFpTG9CLHdCUjFDSixDQUFBLENRdkloQixBQW1MYSxnQ0FJRCxxQkFBd0IsQUFDeEIsZUFBZSxBQUNmLGVBQWdCLENBQUEsQUFFaEIsd0NBM0xaLGdDQTRMZ0IsZVJySStDLENBQUEsQ1F2RC9ELEFBK05TLG1DQS9CTyw0QlJuRFEsQ0FBQSxBUXFEUix3Q0FsTWhCLG1DQW1Nb0IscUJSNURKLENBQUEsQ1E4REgsQUFFRCx3Q0F2TVosZ0NBd01nQix5QlJqRUEsQVFrRUEsZUFBZSxBQUNmLGdCQUFpQixBQUNqQixrQlJwSitDLEFRcUovQyxpQkFBaUIsQUFDakIsYUFBYyxDQUFBLENBSWQsQUFjUCx3Q0EvTlQsc0NBa05vQixxQlIzRUosQ0FBQSxDUXZJaEIsQUFvTmEsc0NBR0csaUJSaEsrQyxBUWlLL0MsV0FBVyxBQUNYLG1CUmxLK0MsQ0FBQSxBUW9LL0Msd0NBM05oQixzQ0E0Tm9CLFlBQWEsQ0FBQSxDQTVOakMsQUE4TmEseUJBTUQsV1IzRkcsQVE0RkgsZUFBZ0IsQ0FBQSIsImZpbGUiOiJwaC1mb290ZXIubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbkBtaXhpbiBwb3NpdGlvbiAoJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiAwIDAgMCAwKSB7XHJcbiAgICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xyXG4gICAgICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xyXG4gICAgICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XHJcbiAgICAkcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xyXG4gICAgJGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyk7XHJcbiAgICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XHJcblxyXG4gICAgcG9zaXRpb246ICRwb3NpdGlvbjtcclxuXHJcbiAgICBAaWYgJHRvcCA9PSBhdXRvIHtcclxuICAgICAgICB0b3A6ICR0b3A7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJHRvcCkpIHtcclxuICAgICAgICB0b3A6ICR0b3A7XHJcbiAgICB9XHJcbiAgICBAaWYgJHJpZ2h0ID09IGF1dG8ge1xyXG4gICAgICAgIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJHJpZ2h0KSkge1xyXG4gICAgICAgIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBAaWYgJGJvdHRvbSA9PSBhdXRvIHtcclxuICAgICAgICBib3R0b206ICRib3R0b207XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJGJvdHRvbSkpIHtcclxuICAgICAgICBib3R0b206ICRib3R0b207XHJcbiAgICB9XHJcbiAgICBAaWYgJGxlZnQgPT0gYXV0byB7XHJcbiAgICAgICAgbGVmdDogJGxlZnQ7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJGxlZnQpKSB7XHJcbiAgICAgICAgbGVmdDogJGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1JWElOUyBGT1IgQ09NUEFSRVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLy8gY2VudGVyIHZlcnRpY2FsbHkgYW5kL29yIGhvcml6b250YWxseSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmVkIGVsZW1lbnRcclxuXHJcbkBtaXhpbiBjZW50ZXIoJHh5Onh5KSB7XHJcbiAgICBAaWYgJHh5ID09IHh5IHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkeHkgPT0geCB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICR4eSA9PSB5IHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBhbnRpYWxpYXNpbmcgbW9kZSBmb250IHJlbmRlcmluZ1xyXG4gIFxyXG4gIEBtaXhpbiBmb250LXNtb290aGluZyB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgfVxyXG5cclxuLy8gc3VwZXIgbGlnaHQgZ3JpZCAtIGl0IHdvcmtzIHdpdGggdGhlIC5jZC1jb250YWluZXIgY2xhc3MgaW5zaWRlIHN0eWxlLnNjc3NcclxuXHJcbkBtaXhpbiBjb2x1bW4oJHBlcmNlbnRhZ2UsICRmbG9hdC1kaXJlY3Rpb246bGVmdCkge1xyXG4gIHdpZHRoOiAxMDAlICogJHBlcmNlbnRhZ2U7XHJcbiAgZmxvYXQ6ICRmbG9hdC1kaXJlY3Rpb247XHJcbn1cclxuXHJcbi8vIExheW91dFxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4vLyBicmVha3BvaW50c1xyXG4kUzogICAgIDQ4MHB4OyAgIFxyXG4kTTogICAgIDc2OHB4OyAgICAgXHJcbiRMOiAgICAgMTE3MHB4OyAgICAgXHJcblxyXG4vLyBtZWRpYSBxdWVyaWVzXHJcbkBtaXhpbiBNUSgkY2FudmFzKSB7XHJcbiAgQGlmICRjYW52YXMgPT0gUyB7XHJcbiAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFMpIHsgQGNvbnRlbnQ7IH0gXHJcbiAgfVxyXG4gIEBlbHNlIGlmICRjYW52YXMgPT0gTSB7XHJcbiAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJE0pIHsgQGNvbnRlbnQ7IH0gXHJcbiAgfVxyXG4gIEBlbHNlIGlmICRjYW52YXMgPT0gTCB7XHJcbiAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJEwpIHsgQGNvbnRlbnQ7IH0gXHJcbiAgfVxyXG59XHJcblxyXG4vL1Nwcml0ZSBJY29uIFBvc2l0aW9ucyBvZiBCYWNrZ3JvdW5kc1xyXG5AbWl4aW4gc3ByaXRlLXBvc2l0aW9uKCR4OjAsICR5OjApIHtcclxuICAuc3ByaXRlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICR4ICR5O1xyXG4gIH1cclxufVxyXG5cclxuLy9Sb3RhdGUgYW4gZWxlbWVudCBwYXJhbSBkZWdyZWVzXHJcbkBtaXhpbiByb3RhdGUoJGRlZyA6IDQ1KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKCRkZWcrZGVnKTtcclxuICAtbW96LXRyYW5zZm9ybTpyb3RhdGUoJGRlZytkZWcpO1xyXG4gIHRyYW5zZm9ybTpyb3RhdGUoJGRlZytkZWcpO1xyXG59XHJcblxyXG4vL1ZlcnRpY2FsIEFsaWdubWVudCBvZiBjb2x1bW4gY29udGVudCB1c2luZyBGbGV4Ym94XHJcbi52LWFsaWduIHtcclxuICAmID4gW2NsYXNzKj1cImNvbC1cIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ub2Zmc2V0LXkge1xyXG4gICZfXzEge1xyXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC00cHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfXzIge1xyXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfXzMge1xyXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX180IHtcclxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTZweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9IaWRlIHN0dWZmXHJcbi5oaWRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vL0ZsaXAgaG9yaXpvbnRhbFxyXG4uZmxpcCB7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG59IiwiQG1peGluIGRlZmF1bHQtbGluaygkbGluaywgJHZpc2l0LCAkaG92ZXIsICRhY3RpdmUpIHtcclxuICAgICYge1xyXG4gICAgICBjb2xvcjogJGxpbms7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgY29sb3I6ICR2aXNpdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRob3ZlcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRibGFjaztcclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRhY3RpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIEBtaXhpbiB1bmRlcmxpbmUtbGluaygkbGluaywgJHZpc2l0LCAkaG92ZXIsICRhY3RpdmUpIHtcclxuICAgICYge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGNvbG9yOiAkbGluaztcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgICAgICBoZWlnaHQ6IDEuNXB4O1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGgtZ29sZDtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0O1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBcclxuICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogJHZpc2l0O1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaG92ZXI7ICBcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgIGNvbG9yOiAkcGgtZGFyay1ncmV5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcclxuICAgICAgICB9IFxyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGFjdGl2ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiAkcGgtZ3JleTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmEtdW5kZXJsaW5lIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkcGgtZ29sZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbmxpbmUtbGlua3Mge1xyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpO1xyXG5cclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IiwiLyogVmFyaWFibGVzXHJcbiAqID09PT09PT09PT09PT09PVxyXG4gKlxyXG4gKiBBbGwgdmFyaWFibGVzIGFuZCBtb3N0IG9mIHRoZSBjb25maWd1cmF0aW9uIGlzIGRlZmluZWQgb24gdGhpcyBwYWdlLiAqL1xyXG5cclxuICRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcclxuXHJcbiAvLyBXZSB1c2UgdGhpcyB0byBwcmV2ZW50IHN0eWxlcyBmcm9tIGJlaW5nIGxvYWRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgY29tcG9uZW50cyB0aGF0IHJlbHkgb24gb3RoZXIgY29tcG9uZW50cy5cclxuICRtb2R1bGVzOiAoKSAhZGVmYXVsdDtcclxuIC8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgZGlyZWN0aW9uIHNldHRpbmdzXHJcbiAkdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcclxuICRkZWZhdWx0LWZsb2F0OiBsZWZ0ICFkZWZhdWx0O1xyXG4gJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQgIWRlZmF1bHQ7XHJcbiBAaWYgJHRleHQtZGlyZWN0aW9uID09IGx0ciB7XHJcbiAgICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xyXG4gICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcclxuIH0gQGVsc2Uge1xyXG4gICAkZGVmYXVsdC1mbG9hdDogcmlnaHQ7XHJcbiAgICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XHJcbiB9XHJcblxyXG4kY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xyXG4vKiBDb250YWluZXJzICovXHJcbkBtaXhpbiBleHBvcnRzKCRuYW1lKSB7XHJcbiAgICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcclxuICAgICRtb2R1bGVzOiAkbW9kdWxlcyAhZ2xvYmFsO1xyXG4gICAgLy8gQ2hlY2sgaWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBvbiB0aGUgbGlzdFxyXG4gICAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcclxuICAgIEBpZiAoKCRtb2R1bGVfaW5kZXggPT0gbnVsbCkgb3IgKCRtb2R1bGVfaW5kZXggPT0gZmFsc2UpKSB7XHJcbiAgICAgICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gZGVmaW5lIHJhbmdlcyBmb3IgdmFyaW91cyB0aGluZ3MsIGxpa2UgbWVkaWEgcXVlcmllcy5cclxuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xyXG4gICAgQGlmIGxlbmd0aCgkcmFuZ2UpIDw9IDAge1xyXG4gICAgICAgIEByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIEByZXR1cm4gbnRoKCRyYW5nZSwgMSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB1cHBlci1ib3VuZCgkcmFuZ2UpIHtcclxuICAgIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xyXG4gICAgICAgIEByZXR1cm4gOTk5OTk5OTk5OTk5O1xyXG4gICAgfVxyXG4gICAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcclxufVxyXG5cclxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xyXG4gICAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vIENPTlZFUlQgUFggVE8gUkVNXHJcbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcclxuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xyXG4gICAgQGlmICgkdmFsdWUgPT0gMHJlbSkgeyAkdmFsdWU6IDA7IH0gLy8gVHVybiAwcmVtIGludG8gMFxyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XHJcbiAgICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gICAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cclxuXHJcbiAgICAkcmVtVmFsdWVzOiAoKTtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XHJcbiAgICAgICAgJHJlbVZhbHVlczogYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlLXZhbHVlKSk7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICRyZW1WYWx1ZXM7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcclxuICAgICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpO1xyXG5cclxuICAgICRtYXg6IGxlbmd0aCgkcmVtVmFsdWVzKTtcclxuXHJcbiAgICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07IH1cclxuXHJcbiAgICAkZW1WYWx1ZXM6ICgpO1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkZW1WYWx1ZXM6IGFwcGVuZCgkZW1WYWx1ZXMsIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsICRpKSkgKiAxZW0pO1xyXG4gICAgfVxyXG4gICAgQHJldHVybiAkZW1WYWx1ZXM7XHJcbn1cclxuXHJcbi8qIEJyZWFrcG9pbnRzICovXHJcbiR0aW55OiAzNTlweDtcclxuJHgtc21hbGw6IDYwMHB4O1xyXG4kc21hbGw6IDEwMjNweDtcclxuJG1lZGl1bTogMTEzOXB4O1xyXG4kbGFyZ2U6IDEyMjBweDtcclxuXHJcbiR0aW55LWJyZWFrcG9pbnQ6IGVtLWNhbGMoMzU5KSAhZGVmYXVsdDtcclxuJHNtYWxsLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDYwMCkgICFkZWZhdWx0O1xyXG4kbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyMykgIWRlZmF1bHQ7XHJcbiRsYXJnZS1icmVha3BvaW50OiAgZW0tY2FsYygxMTM5KSAhZGVmYXVsdDtcclxuJHhsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDEyMjApICFkZWZhdWx0O1xyXG4keHhsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDE1NjApICFkZWZhdWx0O1xyXG5cclxuJHNtYWxsLXJhbmdlOiAgICgkdGlueS1icmVha3BvaW50LCAkc21hbGwtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XHJcbiRtZWRpdW0tcmFuZ2U6ICAoJHNtYWxsLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJG1lZGl1bS1icmVha3BvaW50KSAhZGVmYXVsdDtcclxuJGxhcmdlLXJhbmdlOiAgICgkbWVkaXVtLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbGFyZ2UtYnJlYWtwb2ludCkgICFkZWZhdWx0O1xyXG4keGxhcmdlLXJhbmdlOiAgKCRsYXJnZS1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICR4bGFyZ2UtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XHJcbiR4eGxhcmdlLXJhbmdlOiAoJHh4bGFyZ2UtYnJlYWtwb2ludCArIGVtLWNhbGMoMSksIGVtLWNhbGMoOTk5OTk5OTkpKSAhZGVmYXVsdDtcclxuXHJcbiRzY3JlZW46IFwib25seSBzY3JlZW5cIiAhZGVmYXVsdDtcclxuXHJcbiRsYW5kc2NhcGU6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCIgIWRlZmF1bHQ7XHJcbiRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiICFkZWZhdWx0O1xyXG5cclxuJHRpbnktdXA6ICRzY3JlZW47XHJcbiRzbWFsbC11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiRzbWFsbC1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcblxyXG4kbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuXHJcbiRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuXHJcbiR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuJHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG5cclxuJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuXHJcbiRtb2JpbGU6ICR4LXNtYWxsO1xyXG4kdGFibGV0OiAkc21hbGw7XHJcbiRkZXNrdG9wOiAkbWVkaXVtO1xyXG4keGw6ICRsYXJnZTtcclxuXHJcbi8qIENvbG9ycyAqL1xyXG5cclxuLy8gQnJhbmQgQ29sb3JzXHJcbiR3aGl0ZSA6ICNmZmZmZmY7XHJcbiRwaC1nb2xkOiAjZmZiOTFkO1xyXG4kYmxhY2s6ICMwMDAwMDA7XHJcbiRwaC1kYXJrLWdyZXk6ICM0MjQyNDI7XHJcbiRwaC1ncmV5OiAjOEU4RThFO1xyXG4kcGgtd2FybS1ncmV5OiAjQkNCQ0JDO1xyXG4kcGgtbWVkaXVtLWdyZXk6ICNjNWM1YzU7XHJcbiRwaC1saWdodC1ncmV5OiAjZTJlMWRkO1xyXG4kcGgtbGlnaHRlci1ncmV5OiAjZjZmNmY1O1xyXG4kcGgtc2t5LWJsdWU6IzAwNzZjYztcclxuXHJcbiRwaC1hbGVydC1ibHVlOiAjMDA3NkNDO1xyXG4kcGgtYWxlcnQtZ29sZDogI2ZmYjkxZDtcclxuXHJcbiRiYWNrZ3JvdW5kOiAjZmZmZmZmOyBcclxuJGFsdGVybmF0ZS1iYWNrZ3JvdW5kOiAjZmFmYWZhO1xyXG4kYWx0ZXJuYXRlLWNvbG9yOiAjNDA0MDQwO1xyXG4kbGluay1jb2xvcjogIzIyMjIyMjtcclxuJGxpbmstaG92ZXItY29sb3I6IGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcclxuJGhpZ2hsaWdodDogI2ZmZWVhODtcclxuJGVycm9yOiAjRDExNTE1O1xyXG4kc3VjY2VzczogIzBBQzQxMDtcclxuJHdhcm5pbmc6ICNEMTE1MTU7XHJcbiRpbmZvcm1hdGlvbmFsOiAjMTc1MUM2O1xyXG4kYnEtYm9yZGVyOiAxNnB4IHNvbGlkICNmMGYwZjA7XHJcblxyXG4vKiBUeXBvZ3JhcGh5ICovXHJcblxyXG4vLyBEZWZhdWx0IEJvZHkgRm9udCBTdHlsZXNcclxuJGZvbnQtc2l6ZTogMXJlbTsgLy8gMTZweFxyXG4kYm9keS1mb250LXNpemU6IDAuODc1cmVtOyAvLyAxNHB4XHJcbiRmb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuJGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiRmb250LWNvbG9yOiAkcGgtZGFyay1ncmV5O1xyXG4kZm9udC1mYW1pbHk6ICdSb2JvdG8nLEFyaWFsLHNhbnMtc2VyaWY7XHJcbiRsaW5lLWhlaWdodDogMS41O1xyXG5cclxuLy8gU21hbGwgQm9keSBGb250IFN0eWxlc1xyXG4kc20tYm9keS1mb250LXNpemU6IDAuNzVyZW07IC8qIDEycHgvMTZweCA9IDAuNzVyZW0gKi9cclxuJHNtLWJvZHktZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kc20tYm9keS1mb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuJHNtLWJvZHktZm9udC13ZWlnaHQ6IDQwMDtcclxuJHNtLWJvZHktZm9udC1jb2xvcjogJHBoLWRhcmstZ3JleTtcclxuJHNtLWJvZHktZm9udC1mYW1pbHk6ICdSb2JvdG8nLEFyaWFsLHNhbnMtc2VyaWY7XHJcbiRzbS1ib2R5LWxpbmUtaGVpZ2h0OiAxLjI7XHJcblxyXG4vLyBIZWFkaW5nc1xyXG4kaGVhZGluZy1mb250LWNvbG9yOiAjNDA0MDQwO1xyXG4kaGVhZGluZy1mb250LXdlaWdodDogNDAwO1xyXG4kaGVhZGluZy1mb250LWZhbWlseTogJ1JvYm90bycsQXJpYWwsc2Fucy1zZXJpZjtcclxuJGhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMjtcclxuXHJcbi8vIE1vYmlsZSBoZWFkaW5nIGZvbnQgc2l6ZVxyXG4kaDEtbW9iaWxlOiAxLjU2MjVyZW07IC8qIDI1cHgvMTZweCA9IDEuNTYyNXJlbSAqLyBcclxuJGgyLW1vYmlsZTogMS4yNXJlbTsgLyogMjBweC8xNnB4ID0gMS4yNXJlbSAqL1xyXG4kaDMtbW9iaWxlOiAxcmVtOyAvKiAxNnB4LzE2cHg9MXJlbSAqL1xyXG4kaDQtbW9iaWxlOiAxLjEyNXJlbTsgLyogMThweC8xNnB4ID0gMS4xMjVyZW0gKi9cclxuJGg1LW1vYmlsZTogMC44NzVyZW07IC8qIDE0cHgvMTZweCA9IDAuODc1cmVtICovXHJcbiRoNi1tb2JpbGU6IDAuNzVyZW07IC8qIDEycHgvMTZweCA9IDAuNzVyZW0gKi9cclxuXHJcbi8vIEhlYWRpbmcgZm9udCBzaXplXHJcbiRoMTogMS44NzVyZW07IC8qIDMwcHgvMTZweCA9IDEuODc1cmVtICovIFxyXG4kaDI6IDEuNXJlbTsgLyogMjRweC8xNnB4ID0gMS41cmVtICovXHJcbiRoMzogMS4yNXJlbTsgLyogMjBweC8xNnB4ID0gMS4yNXJlbSAqL1xyXG4kaDQ6IDEuMTI1cmVtOyAvKiAxOHB4LzE2cHggPSAxLjEyNXJlbSAqL1xyXG4kaDU6IDAuODc1cmVtOyAvKiAxNHB4LzE2cHggPSAwLjg3NXJlbSAqL1xyXG4kaDY6IDAuNzVyZW07IC8qIDEycHgvMTZweCA9IDAuNzVyZW0gKi9cclxuXHJcbi8vIEZvbnQgd2VpZ2h0cyBcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyOjQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bTo1MDA7XHJcbiRmb250LXdlaWdodC1ib2xkOjcwMDtcclxuJGZvbnQtd2VpZ2h0LWV4dHJhLWJvbGQ6OTAwO1xyXG5cclxuLy8gTGlua3NcclxuJGxpbms6ICRwaC1kYXJrLWdyZXk7XHJcbiR2aXNpdDogJHBoLWRhcmstZ3JleTtcclxuJGhvdmVyOiAkbGluay1jb2xvcjtcclxuJGFjdGl2ZTogJGxpbmstY29sb3I7XHJcbiRibHVlLWxpbms6IzAwNzZjYztcclxuXHJcbi8vIEljb24gZm9udFxyXG4kaWNvbi1mb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIjtcclxuJGljb24tZm9udC13ZWlnaHQ6IDkwMDtcclxuXHJcbi8qIFBhZGRpbmcgKi9cclxuJHBhZGRpbmc6IDFyZW07XHJcbiRtYXJnaW5zOiAxLjVyZW07XHJcblxyXG4vKiBCb3JkZXJzICovXHJcbiRib3JkZXItd2lkdGg6IDFweDtcclxuJGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiRib3JkZXItY29sb3I6ICRwaC13YXJtLWdyZXk7XHJcbiRib3JkZXItcmFkaXVzOiAwO1xyXG4kYm9yZGVyczogJGJvcmRlci13aWR0aCAkYm9yZGVyLXN0eWxlICRib3JkZXItY29sb3I7XHJcblxyXG4vKiBCdXR0b25zICovXHJcbiRidXR0b24tYmFja2dyb3VuZDogJHBoLWdvbGQ7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogZGFya2VuKCRidXR0b24tYmFja2dyb3VuZCwgMTAlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHBoLWRhcmstZ3JleTtcclxuJGJ1dHRvbi1mb250LXdlaWdodDogNTAwO1xyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAgXCJSb2JvdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRidXR0b24tZm9udC1zaXplOiAxcmVtO1xyXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMnB4O1xyXG4kYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbiRidXR0b24tYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiRidXR0b24tdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblxyXG4vLyBBY2NlbnQgYnV0dG9uc1xyXG4kYWNjZW50LWJ1dHRvbi1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuJGFjY2VudC1idXR0b24tY29sb3I6ICRwaC1kYXJrLWdyZXk7XHJcbiRhY2NlbnQtYnV0dG9uLWNvbG9yLWhvdmVyOiAkcGgtZGFyay1ncmV5O1xyXG4gXHJcbi8vIE11dGVkIEJ1dHRvbnNcclxuJG11dGVkLWJvcmRlcjogMXB4IHNvbGlkICRwaC1saWdodC1ncmV5O1xyXG4kbXV0ZWQtYm9yZGVyLWhvdmVyOiAxcHggc29saWQgZGFya2VuKCRwaC1saWdodC1ncmV5LCAzMCUpO1xyXG4kbXV0ZWQtYmFja2dyb3VuZDogI0M1QzVDNTtcclxuJG11dGVkLWJhY2tncm91bmQtaG92ZXI6ICNDNUM1QzU7XHJcbiRtdXRlZC1jb2xvcjogZGFya2VuKCRwaC1saWdodC1ncmV5LCA1MCUpO1xyXG4kbXV0ZWQtY29sb3ItaG92ZXI6IGRhcmtlbigkcGgtbGlnaHQtZ3JleSwgNTAlKTtcclxuXHJcbi8vIFJvdW5kIEJ1dHRvbnMgICBcclxuJHJvdW5kLWJ1dHRvbnM6IDQwcHg7IFxyXG5cclxuLyogRm9ybXMgKi9cclxuJGZvcm1zOiAoJ1t0eXBlPWNvbG9yXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW1vbnRoXSwgW3R5cGU9bnVtYmVyXSwgW3R5cGU9cGFzc3dvcmRdLCBbdHlwZT1zZWFyY2hdLCBbdHlwZT10ZWxdLCBbdHlwZT10ZXh0XSwgW3R5cGU9dXJsXSwgW3R5cGU9d2Vla10sIFt0eXBlPXRpbWVdLCBzZWxlY3QsIHRleHRhcmVhJyk7XHJcbiRidXR0b25zOiAoJy5idXR0b24sIGEuYnV0dG9uLCBidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPXJlc2V0XSwgW3R5cGU9YnV0dG9uXScpO1xyXG4kaW5wdXQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiRwbGFjZWhvbGRlcjogZGFya2VuKCRwaC1saWdodC1ncmV5LCAyMCUpO1xyXG4kZm9ybS1ib3JkZXI6IDFweCBzb2xpZCAkcGgtZ3JleTtcclxuJGZvcm0tYm9yZGVyLWhvdmVyOiAxcHggc29saWQgZGFya2VuKCRwaC1ncmV5LCAxMCUpO1xyXG4kZm9ybS1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkbGluay1jb2xvcjsgXHJcbiBcclxuLyogVGFibGVzICovXHJcbiRzdHJpcGVzOiAjZjhmOGY4O1xyXG4kY2FwdGlvbjogI2FiYWJhYjtcclxuXHJcbi8qIENvZGUgKi9cclxuXHJcbiRjb2RlLWNvbG9yOiAkZm9udC1jb2xvcjtcclxuJGNvZGUtc2l6ZTogMTRweDtcclxuJGNvZGUtZmFtaWx5OiBNZW5sbywgbW9ub3NwYWNlO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJGNvZGUtYm9yZGVyczogJGJvcmRlcnM7IFxyXG5cclxuLyogR2VuZXJhbCBOYXZiYXIgb3ZlcnJpZGVzXHJcbj09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gY2FyZXQtZHJvcGRvd24td3JhcHBlciB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkcGgtbWVkaXVtLWdyZXk7XHJcbiAgICBib3gtc2hhZG93OiAuMTI1cmVtIC4yNXJlbSAuMzc1cmVtIHJnYmEoJGJsYWNrLCAuMTc1KTtcclxuICAgIC8vIG1hcmdpbi10b3A6IHJlbS1jYWxjKDcpO1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTIgMCAwIDApICFpbXBvcnRhbnQ7XHJcbn1cclxuICBcclxuQG1peGluIGNhcmV0LWRyb3Bkb3duLXRvcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBoLW1lZGl1bS1ncmV5O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHBoLW1lZGl1bS1ncmV5O1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNi41cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtNi41cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiA3Nzc3NztcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgQGluY2x1ZGUgcm90YXRlKC00NSk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1kcm9wZG93bi1ib3R0b20ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBoLWdvbGQ7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiA2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAuNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTIpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn0iLCIvKiBDbGVhcmZpeFxyXG4gID09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1peGluIGNsZWFyZml4KCkge1xyXG4gICY6OmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gIH1cclxufVxyXG5cclxuJWNsZWFyIHtcclxuICBjb250ZW50OiAnICc7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuLmNsZWFyIHtcclxuICAqem9vbTogMTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBAZXh0ZW5kICVjbGVhcjtcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBAZXh0ZW5kICVjbGVhcjtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufSIsIi8qIEJyZWFrcG9pbnRzXHJcbiAgPT09PT09PT09PT09PT09ICovXG4vKiBWYXJpYWJsZXNcclxuICogPT09PT09PT09PT09PT09XHJcbiAqXHJcbiAqIEFsbCB2YXJpYWJsZXMgYW5kIG1vc3Qgb2YgdGhlIGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBvbiB0aGlzIHBhZ2UuICovXG4vKiBDb250YWluZXJzICovXG4vKiBCcmVha3BvaW50cyAqL1xuLyogQ29sb3JzICovXG4vKiBUeXBvZ3JhcGh5ICovXG4vKiAxMnB4LzE2cHggPSAwLjc1cmVtICovXG4vKiAyNXB4LzE2cHggPSAxLjU2MjVyZW0gKi9cbi8qIDIwcHgvMTZweCA9IDEuMjVyZW0gKi9cbi8qIDE2cHgvMTZweD0xcmVtICovXG4vKiAxOHB4LzE2cHggPSAxLjEyNXJlbSAqL1xuLyogMTRweC8xNnB4ID0gMC44NzVyZW0gKi9cbi8qIDEycHgvMTZweCA9IDAuNzVyZW0gKi9cbi8qIDMwcHgvMTZweCA9IDEuODc1cmVtICovXG4vKiAyNHB4LzE2cHggPSAxLjVyZW0gKi9cbi8qIDIwcHgvMTZweCA9IDEuMjVyZW0gKi9cbi8qIDE4cHgvMTZweCA9IDEuMTI1cmVtICovXG4vKiAxNHB4LzE2cHggPSAwLjg3NXJlbSAqL1xuLyogMTJweC8xNnB4ID0gMC43NXJlbSAqL1xuLyogUGFkZGluZyAqL1xuLyogQm9yZGVycyAqL1xuLyogQnV0dG9ucyAqL1xuLyogRm9ybXMgKi9cbi8qIFRhYmxlcyAqL1xuLyogQ29kZSAqL1xuLyogR2VuZXJhbCBOYXZiYXIgb3ZlcnJpZGVzXHJcbj09PT09PT09PT09PT09PSAqL1xuLnYtYWxpZ24gPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC52LWFsaWduID4gW2NsYXNzKj1cImNvbC1cIl0gaW1nIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2Zmc2V0LXlfXzEge1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmZzZXQteV9fMiB7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZnNldC15X18zIHtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZnNldC15X180IHtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZsaXAge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cblxuLmEtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmEtdW5kZXJsaW5lOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICNmZmI5MWQ7IH1cblxuLmlubGluZS1saW5rcyBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW5saW5lLWxpbmtzIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfSB9XG4gIC5pbmxpbmUtbGlua3MgYTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qIENsZWFyZml4XHJcbiAgPT09PT09PT09PT09PT09ICovXG4uY2xlYXI6YmVmb3JlLCAuY2xlYXI6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhciB7XG4gICp6b29tOiAxOyB9XG4gIC5jbGVhcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjQuMS4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxyXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxyXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICovXG50ZW1wbGF0ZSxcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxyXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxyXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxyXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXHJcbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxyXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxyXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXHJcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXHJcbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxyXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcclxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXHJcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXHJcbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxyXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxyXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgNDAwIDFyZW0vMS41IFwiUm9ib3RvXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgY29sb3I6ICM0MjQyNDI7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41NjI1ZW0pIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDsgfSB9XG4gIHAgZW0ge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmJ1dHRvbiwgYS5idXR0b24sIGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9cmVzZXRdLCBbdHlwZT1idXR0b25dIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmI5MWQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmI5MWQ7XG4gIGNvbG9yOiAjNDI0MjQyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtaW4td2lkdGg6IDEyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNTYyNWVtKSB7XG4gICAgLmJ1dHRvbiwgYS5idXR0b24sIGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9cmVzZXRdLCBbdHlwZT1idXR0b25dIHtcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07IH0gfVxuXG4uYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmFjdGl2ZSwgYS5idXR0b246aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZSwgYnV0dG9uOmhvdmVyLCBidXR0b24uYWN0aXZlLCBbdHlwZT1zdWJtaXRdOmhvdmVyLCAuYWN0aXZlW3R5cGU9c3VibWl0XSwgW3R5cGU9cmVzZXRdOmhvdmVyLCAuYWN0aXZlW3R5cGU9cmVzZXRdLCBbdHlwZT1idXR0b25dOmhvdmVyLCAuYWN0aXZlW3R5cGU9YnV0dG9uXSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlOWExMDA7XG4gIGJhY2tncm91bmQ6ICNlOWExMDA7XG4gIGNvbG9yOiAjNDI0MjQyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbjphY3RpdmUsIGEuYnV0dG9uOmZvY3VzLCBhLmJ1dHRvbjphY3RpdmUsIGJ1dHRvbjpmb2N1cywgYnV0dG9uOmFjdGl2ZSwgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9c3VibWl0XTphY3RpdmUsIFt0eXBlPXJlc2V0XTpmb2N1cywgW3R5cGU9cmVzZXRdOmFjdGl2ZSwgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3R5cGU9YnV0dG9uXTphY3RpdmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTlhMTAwO1xuICBiYWNrZ3JvdW5kOiAjZTlhMTAwO1xuICBjb2xvcjogIzQyNDI0MjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIGEuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5vbCxcbnVsLFxuZGwsXG50YWJsZSB7XG4gIG1hcmdpbjogMCAwIDAgMDsgfVxuXG51bCBsaSB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxub2wgbGkgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuaDUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbmEge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYSB7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjNDI0MjQyOyB9XG4gICAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzIyMjIyMjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMyMjIyMjI7IH1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZmVlYTg7XG4gIHBhZGRpbmc6IDAgMC4ycmVtOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgI2YwZjBmMDtcbiAgcGFkZGluZzogMCAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5wcmUge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxcmVtO1xuICB0YWItc2l6ZTogMjtcbiAgY29sb3I6ICM0MjQyNDI7XG4gIGZvbnQtZmFtaWx5OiBNZW5sbywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwOyB9XG4gIHByZSBjb2RlIHtcbiAgICBmb250LWZhbWlseTogTWVubG8sIG1vbm9zcGFjZTtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbmtiZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMCAwIDJweCAjZmZmIGluc2V0O1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDAgMC4xZW07XG4gIHBhZGRpbmc6IDAuMWVtIDAuNmVtO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmOyB9XG5cbjpub3QocHJlKSA+IGNvZGUge1xuICBjb2xvcjogIzQyNDI0MjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtZmFtaWx5OiBNZW5sbywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDAgMC4ycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQkNCQ0JDO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmhyIHtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkNCQ0JDOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZnVsbC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMXJlbTsgfVxuXG4uY29udGFpbmVyLCAuc21hbGwtY29udGFpbmVyLCAubWVkaXVtLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNtYWxsLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAyM3B4OyB9XG5cbi5tZWRpdW0tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMTM5cHg7IH1cblxuLyogSGVscGVyc1xyXG4gID09PT09PT09PT09PT09PSAqL1xuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46Oi13ZWJraXQtc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLFxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ucGgtdGV4dC1ib2R5X19zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzQyNDI0MjtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5waC10ZXh0LWJvZHkge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nOiAwIC41cmVtOyB9XG4gIC5waC10ZXh0LWJvZHlfX3R3b0NvbCB7XG4gICAgLXdlYmtpdC1jb2x1bW5zOiAyIDIwMHB4O1xuICAgIC1tb3otY29sdW1uczogMiAyMDBweDtcbiAgICBjb2x1bW5zOiAyIDIwMHB4OyB9XG5cbi5waC1pdGFsaWMgLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuLmJvbGQge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4udmVydGljYWwtY2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnJlc3BvbnNpdmUtaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZmlsbC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnNob3ctbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaGlkZS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmhpZGUtbW9iaWxlLWxnIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGUtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5zaG93LW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhpZGUtbW9iaWxlLWxnIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5zaG93LW1vYmlsZS1sZyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uYm9yZGVyLWxlZnQge1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuXG4uYm9yZGVyLWJvdG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNWM1YzUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ib3JkZXItbGVmdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCAjZGVkZWRlIHNvbGlkOyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLm5vLXBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLm5vLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLnBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cblxuLm5vLW1hcmdpbi10b3Age1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5uby1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLm1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5hbHRlcm5hdGUtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGNvbG9yOiAjNDA0MDQwOyB9XG5cbi5waC1pY29uLWdvbGQge1xuICBjb2xvcjogI2ZmYjkxZDsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0MjQyO1xuICBvcGFjaXR5OiAuNzU7IH1cbiAgLnRvb2x0aXAtaW5uZXIgLmFycm93OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjQyNDI7XG4gICAgb3BhY2l0eTogLjc1OyB9XG5cbi5hLW5vLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYS1uby11bmRlcmxpbmU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGgtYmx1ZS1saW5rIHtcbiAgY29sb3I6ICMwMDc2Q0MgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ud3JhcC10ZXh0IHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5yaWJib24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmI5MWQ7XG4gIGNvbG9yOiAjNDI0MjQyO1xuICBwYWRkaW5nOiAuMTVlbSAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSB0cmFuc2xhdGVZKDEyMCUpIHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgfVxuXG4ucmliYm9uOmJlZm9yZSxcbi5yaWJib246YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogMCAtMXB4O1xuICAvKiB0d2VhayAqL1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZiOTFkOyB9XG5cbi5yaWJib246YmVmb3JlIHtcbiAgbGVmdDogMTAwJTsgfVxuXG4ucmliYm9uOmFmdGVyIHtcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLnBoLWNhcmV0LWRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBoLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogLTdweDtcbiAgICBsZWZ0OiAtN3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjQkNCQ0JDO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjQkNCQ0JDO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZykgc2tldygtM2RlZywgLTNkZWcpOyB9XG5cbi5waC1jYXJldC11cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGgtY2FyZXQtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogLTdweDtcbiAgICBsZWZ0OiAtN3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjQkNCQ0JDO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjQkNCQ0JDO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBza2V3KC0zZGVnLCAtM2RlZyk7IH1cblxuLndoaXRlLXRleHQge1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG5cbi8qIExpc3RzXHJcbiAgPT09PT09PT09PT09PT09ICovXG51bCBsaSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjZmZiOTFkOyB9XG5cbi5oaWRlLWJ1bGxldCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG5bY2xhc3MqPXBoLWxpc3RfX2NvbC1dIHtcbiAgbWFyZ2luOiAxLjVyZW0gMDsgfVxuICBbY2xhc3MqPXBoLWxpc3RfX2NvbC1dID4gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBbY2xhc3MqPXBoLWxpc3RfX2NvbC1dID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNjI1cmVtOyB9XG4gICAgICBbY2xhc3MqPXBoLWxpc3RfX2NvbC1dID4gdWwgPiBsaSBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmZmI5MWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGgtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGgtbGlzdF9fYnVsbGV0ZWQge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBoLWxpc3RfX3NtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfVxuICAgIC5waC1saXN0X19zbSA+IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjU2MjVlbSkge1xuICAgICAgICAucGgtbGlzdF9fc20gPiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBoLWxpc3RfX3NtID4gbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzEuMjVlbSkge1xuICAgICAgICAucGgtbGlzdF9fc20gPiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnBoLWxpc3RfX2xnID4gbGkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNTYyNWVtKSB7XG4gICAgICAucGgtbGlzdF9fbGcgPiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5waC1saXN0X19sZyA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzEuMjVlbSkge1xuICAgICAgLnBoLWxpc3RfX2xnID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLnBoLWxpc3RfX2ljb25zIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnBoLWxpc3RfX2ljb25zID4gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAucGgtbGlzdF9faWNvbnMgPiBsaSA+IGEge1xuICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjZmZiOTFkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICBtYXJnaW46IDAuMjVyZW0gMC41cmVtIDAuMjVyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi4yNXJlbTsgfVxuXG4ucGgtbGlzdF9faW5saW5lIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5waC1saXN0X19pbmxpbmUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuXG4ucGgtZGwtbGlzdF9faW5saW5lIHtcbiAgcGFkZGluZzogMDsgfVxuICAucGgtZGwtbGlzdF9faW5saW5lIGR0LCAucGgtZGwtbGlzdF9faW5saW5lIGRkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnBoLWRsLWxpc3RfX2lubGluZSBkZCB7XG4gICAgbWFyZ2luOiAwIDAuNXJlbTsgfVxuXG4ucGgtbGlzdF9faXRlbSxcbmEucGgtbGlzdF9faXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzQyNDI0MjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAuMjVyZW0gMDsgfVxuICAucGgtbGlzdF9faXRlbTpob3ZlciwgLnBoLWxpc3RfX2l0ZW06YWN0aXZlLFxuICBhLnBoLWxpc3RfX2l0ZW06aG92ZXIsXG4gIGEucGgtbGlzdF9faXRlbTphY3RpdmUge1xuICAgIGNvbG9yOiAjNDI0MjQyOyB9XG4gIC5waC1saXN0X19pdGVtLS1ib3JkZXItYm90dG9tLFxuICBhLnBoLWxpc3RfX2l0ZW0tLWJvcmRlci1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMWRkO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cblxuLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC41cmVtOyB9XG5cbi5waC1pbWctZ3JpZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5waC1pbWctZ3JpZF9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnBoLWltZy1ncmlkX19pdGVtIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW46IC41cmVtIC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIC4xNXJlbTsgfVxuICAgIC5waC1pbWctZ3JpZF9faXRlbSBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAucGgtaW1nLWdyaWRfX2l0ZW0gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDVweCBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5waC1pbWctZ3JpZF9faXRlbSBpbWc6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXEFcIjsgfVxuXG4ucGgtdG9wcyBsaSB7XG4gIGJvcmRlcjogc29saWQgMnB4IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTsgfVxuICAucGgtdG9wcyBsaTpob3ZlciB7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggI2ZmYjkxZDsgfVxuXG4ucGgtdG9wcyBsaSBhIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5zcGVjaWZpY2F0aW9ucyB7XG4gIHBhZGRpbmc6IC41cmVtIDA7IH1cbiAgLnNwZWNpZmljYXRpb25zX19pdGVtIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5zcGVjaWZpY2F0aW9uc19fZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICBoeXBoZW5zOiBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnNwZWNpZmljYXRpb25zX192YWx1ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MS4yNWVtKSB7XG4gIC5zcGVjaWZpY2F0aW9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5zcGVjaWZpY2F0aW9uc19fZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zcGVjaWZpY2F0aW9uc19fdmFsdWUge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5waC1mb290ZXJfX3dyYXBwZXIge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmYjkxZDtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGgtZm9vdGVyX193cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuXG4ucGgtZm9vdGVyX19wcmltYXJ5ID4gLnJvdyB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGgtZm9vdGVyX19zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBoLWZvb3Rlcl9fc2Vjb25kYXJ5IHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMCAwLjc1cmVtIDA7IH0gfVxuICAucGgtZm9vdGVyX19zZWNvbmRhcnkgLnJvdyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBoLWZvb3Rlcl9fc2Vjb25kYXJ5ICoge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnBoLWZvb3Rlcl9fc2Vjb25kYXJ5IC5zbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfVxuICAucGgtZm9vdGVyX19zZWNvbmRhcnkgLmNvbC0xMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGgtZm9vdGVyX19zZWNvbmRhcnkgLmNvbC0xMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAucGgtZm9vdGVyX19zZWNvbmRhcnkgLnNlY29uZGFyeS1tZW51IHtcbiAgICBwYWRkaW5nOiAwIDAgMC4yNXJlbSAwOyB9XG4gICAgLnBoLWZvb3Rlcl9fc2Vjb25kYXJ5IC5zZWNvbmRhcnktbWVudSA+IGxpID4gYSB7XG4gICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZmZmZmZmO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNTYyNWVtKSB7XG4gICAgICAgIC5waC1mb290ZXJfX3NlY29uZGFyeSAuc2Vjb25kYXJ5LW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzEuMjVlbSkge1xuICAgICAgICAucGgtZm9vdGVyX19zZWNvbmRhcnkgLnNlY29uZGFyeS1tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNzVyZW07IH0gfVxuICAgIC5waC1mb290ZXJfX3NlY29uZGFyeSAuc2Vjb25kYXJ5LW1lbnUgPiBsaTpsYXN0LWNoaWxkID4gYSB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLnBoLWZvb3Rlcl9fc2Vjb25kYXJ5IGg0IHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDAuMjVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjU2MjVlbSkge1xuICAgICAgLnBoLWZvb3Rlcl9fc2Vjb25kYXJ5IGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzEuMjVlbSkge1xuICAgICAgLnBoLWZvb3Rlcl9fc2Vjb25kYXJ5IGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnBoLWZvb3Rlcl9fc3Vic2l0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmI5MWQ7XG4gIHBhZGRpbmc6IDFyZW0gMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGgtZm9vdGVyX19zdWJzaXRlIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMCAwLjc1cmVtIDA7IH0gfVxuICAucGgtZm9vdGVyX19zdWJzaXRlIC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnBoLWZvb3Rlcl9fc3Vic2l0ZSAqIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5waC1mb290ZXJfX3N1YnNpdGUgLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwOyB9XG4gIC5waC1mb290ZXJfX3N1YnNpdGUgLmNvbC0xMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGgtZm9vdGVyX19zdWJzaXRlIC5jb2wtMTIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLnBoLWZvb3Rlcl9fc3Vic2l0ZSAuc2Vjb25kYXJ5LW1lbnUge1xuICAgIHBhZGRpbmc6IDAgMCAwLjI1cmVtIDA7IH1cbiAgICAucGgtZm9vdGVyX19zdWJzaXRlIC5zZWNvbmRhcnktbWVudSA+IGxpID4gYSB7XG4gICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjMDAwMDAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNTYyNWVtKSB7XG4gICAgICAgIC5waC1mb290ZXJfX3N1YnNpdGUgLnNlY29uZGFyeS1tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcxLjI1ZW0pIHtcbiAgICAgICAgLnBoLWZvb3Rlcl9fc3Vic2l0ZSAuc2Vjb25kYXJ5LW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC43NXJlbTsgfSB9XG4gICAgLnBoLWZvb3Rlcl9fc3Vic2l0ZSAuc2Vjb25kYXJ5LW1lbnUgPiBsaTpsYXN0LWNoaWxkID4gYSB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLnBoLWZvb3Rlcl9fc3Vic2l0ZSBoNCB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwLjI1cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41NjI1ZW0pIHtcbiAgICAgIC5waC1mb290ZXJfX3N1YnNpdGUgaDQge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MS4yNWVtKSB7XG4gICAgICAucGgtZm9vdGVyX19zdWJzaXRlIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5waC1mb290ZXIgLnBoLWFjY29yZGlvbl9fbW9iaWxlICsgLnBoLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZmZmZjsgfSB9XG5cbi5waC1mb290ZXIgLnBoLWFjY29yZGlvbl9fdGl0bGUge1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBoLWZvb3RlciAucGgtYWNjb3JkaW9uX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbTsgfSB9XG4gIC5waC1mb290ZXIgLnBoLWFjY29yZGlvbl9fdGl0bGUuYnQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzVjNWM1OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGgtZm9vdGVyIC5waC1hY2NvcmRpb25fX3RpdGxlLmJ0IHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5waC1mb290ZXIgLnBoLWFjY29yZGlvbl9fdGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGgtZm9vdGVyIC5waC1hY2NvcmRpb25fX3RpdGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH0gfVxuICAucGgtZm9vdGVyIC5waC1hY2NvcmRpb25fX3RpdGxlOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAuNXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBoLWZvb3RlciAucGgtYWNjb3JkaW9uX190aXRsZTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGgtZm9vdGVyIC5waC1saXN0ID4gbGkgPiBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICovXHJcblxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuZGV0YWlscywgLyogMSAqL1xyXG5maWdjYXB0aW9uLFxyXG5maWd1cmUsXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5tYWluLCAvKiAyICovXHJcbm1lbnUsXHJcbm5hdixcclxuc2VjdGlvbixcclxuc3VtbWFyeSB7IC8qIDEgKi9cclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cclxuXHJcbmF1ZGlvLFxyXG5jYW52YXMsXHJcbnByb2dyZXNzLFxyXG52aWRlbyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICovXHJcblxyXG50ZW1wbGF0ZSwgLyogMSAqL1xyXG5baGlkZGVuXSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogTGlua3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxyXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlciB7XHJcbiAgb3V0bGluZS13aWR0aDogMDtcclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxyXG4gKi9cclxuXHJcbmRmbiB7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxyXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmgxIHtcclxuICBmb250LXNpemU6IDJlbTtcclxuICBtYXJnaW46IDAuNjdlbSAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxyXG4gKi9cclxuXHJcbm1hcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiA4MCU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuICogYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG4gIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAqL1xyXG5cclxuc3ZnOm5vdCg6cm9vdCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5wcmUsXHJcbnNhbXAge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xyXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXHJcbiAqL1xyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDFlbSA0MHB4O1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAqL1xyXG5cclxuaHIge1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXHJcbiAgaGVpZ2h0OiAwOyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gKi9cclxuXHJcbm9wdGdyb3VwIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXHJcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cclxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuZmllbGRzZXQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgbWFyZ2luOiAwIDJweDtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cclxuICovXHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICBvcGFjaXR5OiAwLjU0O1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcbiIsIi8vIEhUTUwgYmFzZVxyXG5odG1sIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIGZvbnQ6ICRmb250LXN0eWxlICRmb250LXZhcmlhbnQgJGZvbnQtd2VpZ2h0ICN7JGZvbnQtc2l6ZX0vI3skbGluZS1oZWlnaHR9XHJcbiAgICAkZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLy8gQm9keSBiYXNlXHJcbmJvZHkge1xyXG4gIGNvbG9yOiAkZm9udC1jb2xvcjtcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxucCB7XHJcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG5cclxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICBtYXJnaW46IDAgMCAwLjI1cmVtIDA7XHJcbiAgfVxyXG5cclxuICBlbSB7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWFpbiBidXR0b24gc3R5bGluZ1xyXG4lYnV0dG9ucyB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoICRidXR0b24tYm9yZGVyLXN0eWxlICRidXR0b24tYm9yZGVyLWNvbG9yO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tYm9yZGVyLXJhZGl1cztcclxuICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRidXR0b24tY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcclxuICB0ZXh0LXRyYW5zZm9ybTogJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcbiAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBtaW4td2lkdGg6IDEyMHB4O1xyXG5cclxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9ucyBvbiBob3ZlclxyXG4lYnV0dG9ucy1ob3ZlciB7XHJcbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCAkYnV0dG9uLWJvcmRlci1zdHlsZVxyXG4gICAgZGFya2VuKCRidXR0b24tYm9yZGVyLWNvbG9yLCAxMCUpO1xyXG4gIGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjtcclxuICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi8vIEJ1dHRvbnMgb24gZm9jdXNcclxuJWJ1dHRvbnMtZm9jdXMge1xyXG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggJGJ1dHRvbi1ib3JkZXItc3R5bGVcclxuICAgIGRhcmtlbigkYnV0dG9uLWJvcmRlci1jb2xvciwgMTAlKTtcclxuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpO1xyXG4gIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLy8gQXBwbHkgc3R5bGVzIHRvIC5idXR0b24gY2xhc3MsIGJ1dHRvbiBlbGVtZW50LCBhbmQgYnV0dG9uLWJhc2VkIGlucHV0c1xyXG4jeyRidXR0b25zfSB7XHJcbiAgQGV4dGVuZCAlYnV0dG9ucztcclxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gICY6aG92ZXIsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgQGV4dGVuZCAlYnV0dG9ucy1ob3ZlcjtcclxuICB9XHJcbiAgJjpmb2N1cyxcclxuICAmOmFjdGl2ZSB7XHJcbiAgICBAZXh0ZW5kICVidXR0b25zLWZvY3VzO1xyXG4gIH1cclxufVxyXG5cclxub2wsXHJcbnVsLFxyXG5kbCxcclxudGFibGUge1xyXG4gIG1hcmdpbjogMCAwIDAgMDtcclxufVxyXG5cclxuLy8gUmVtb3ZlIGV4dHJhIG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXHJcbnVsIGxpIHVsIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5vbCBsaSBvbCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gSGVhZGluZ3NcclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1IHtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4vLyBIZWFkaW5nIGluZGl2aWR1YWwgc3R5bGVzXHJcbmgxIHtcclxuICBmb250LXNpemU6ICRoMS1tb2JpbGU7XHJcbn1cclxuXHJcbmgyIHtcclxuICBmb250LXNpemU6ICRoMi1tb2JpbGU7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xyXG59XHJcblxyXG5oMyB7XHJcbiAgZm9udC1zaXplOiAkaDMtbW9iaWxlO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbmg0IHtcclxuICBmb250LXNpemU6ICRoNC1tb2JpbGU7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuaDUge1xyXG4gIGZvbnQtc2l6ZTogJGg1LW1vYmlsZTtcclxufVxyXG5cclxuQGluY2x1ZGUgc21hbGwtYnJlYWtwb2ludCB7XHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiAkaDE7XHJcbiAgfVxyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogJGgyO1xyXG4gIH1cclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6ICRoMztcclxuICB9XHJcbiAgaDQge1xyXG4gICAgZm9udC1zaXplOiAkaDQ7XHJcbiAgfVxyXG4gIGg1IHtcclxuICAgIGZvbnQtc2l6ZTogJGg1O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTGluayBzdHlsaW5nXHJcbmEge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBAaW5jbHVkZSBkZWZhdWx0LWxpbmsoJGxpbmssICR2aXNpdCwgJGhvdmVyLCAkYWN0aXZlKTtcclxufVxyXG5cclxuLy8gSGlnaGxpZ2h0XHJcbm1hcmsge1xyXG4gIGJhY2tncm91bmQ6ICRoaWdobGlnaHQ7XHJcbiAgcGFkZGluZzogMCAwLjJyZW07XHJcbn1cclxuXHJcbi8vIEJsb2NrcXVvdGVcclxuYmxvY2txdW90ZSB7XHJcbiAgbWFyZ2luOiAwIDAgJG1hcmdpbnMgMDtcclxuICBib3JkZXItbGVmdDogJGJxLWJvcmRlcjtcclxuICBwYWRkaW5nOiAwIDEuNXJlbTtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBjaXRlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbnM7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi8vIENvZGUgYmxvY2sgc3R5bGluZ1xyXG5wcmUge1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICBiYWNrZ3JvdW5kOiAkY29kZS1iYWNrZ3JvdW5kO1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgdGFiLXNpemU6IDI7XHJcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkY29kZS1zaXplO1xyXG4gIG1hcmdpbjogMCAwICRtYXJnaW5zIDA7XHJcbiAgY29kZSB7XHJcbiAgICBmb250LWZhbWlseTogJGNvZGUtZmFtaWx5O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEtleWJvYXJkIGlucHV0XHJcbmtiZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcclxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAwIDAgMnB4ICNmZmYgaW5zZXQ7XHJcbiAgY29sb3I6ICMzMzM7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG4gIG1hcmdpbjogMCAwLjFlbTtcclxuICBwYWRkaW5nOiAwLjFlbSAwLjZlbTtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xyXG59XHJcblxyXG4vLyBJbmxpbmUgY29kZSBzdHlsaW5nXHJcbjpub3QocHJlKSA+IGNvZGUge1xyXG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcclxuICBiYWNrZ3JvdW5kOiAkY29kZS1iYWNrZ3JvdW5kO1xyXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkY29kZS1zaXplO1xyXG4gIHBhZGRpbmc6IDAgMC4ycmVtO1xyXG4gIGJvcmRlcjogJGJvcmRlcnM7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbi8vaGlkZSBlbGVtZW50IGZvciB0b2dnbGVcclxuLmhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gTGluZSBicmVha1xyXG5ociB7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItdG9wOiAkYm9yZGVycztcclxufVxyXG5cclxuLy8gRGVmaW5pdGlvbiBsaXN0XHJcbmR0IHtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG5kZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG59XHJcblxyXG4vLyBGdWxsIGNvbnRhaW5lclxyXG4uZnVsbC1jb250YWluZXIge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwIDFyZW07XHJcbn1cclxuXHJcbi8vIENvbnRhaW5lclxyXG4uY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6ICRsYXJnZTtcclxuICBwYWRkaW5nOiAwICRwYWRkaW5nO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gU21hbGwgY29udGFpbmVyXHJcbi5zbWFsbC1jb250YWluZXIge1xyXG4gIEBleHRlbmQgLmNvbnRhaW5lcjtcclxuICBtYXgtd2lkdGg6ICRzbWFsbDtcclxufVxyXG5cclxuLy8gTWVkaXVtIGNvbnRhaW5lclxyXG4ubWVkaXVtLWNvbnRhaW5lciB7XHJcbiAgQGV4dGVuZCAuY29udGFpbmVyO1xyXG4gIG1heC13aWR0aDogJG1lZGl1bTtcclxufVxyXG4iLCIvKiBCcmVha3BvaW50c1xyXG4gID09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gTWVkaWEgcXVlcnkgZm9yIG1vYmlsZSBmaXJzdCBsYXlvdXQgXHJcbkBtaXhpbiBzbWFsbC1icmVha3BvaW50IHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRtb2JpbGV9KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBCcmVhayBvbiB0YWJsZXRcclxuICBAbWl4aW4gbWVkaXVtLWJyZWFrcG9pbnQge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHRhYmxldH0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIEJyZWFrIG9uIGRlc2t0b3BcclxuICBAbWl4aW4gbGFyZ2UtYnJlYWtwb2ludCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skZGVza3RvcH0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWl4aW4geGwtYnJlYWtwb2ludCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skeGx9KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4vLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MzIwcHgpIHtcclxuXHJcbi8vIH1cclxuLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQ4MHB4KSB7XHJcblxyXG4vLyB9XHJcbi8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCkge1xyXG5cclxuLy8gfVxyXG4vLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTAyNHB4KSB7XHJcblxyXG4vLyB9XHJcbi8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMTQwcHgpIHtcclxuXHJcbi8vIH1cclxuLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyODBweCkge1xyXG5cclxuLy8gfVxyXG4vLyBAbWVkaWEgcHJpbnQsICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiA1LzQpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSwgKG1pbi1yZXNvbHV0aW9uOiAxMjBkcGkpIHtcclxuXHJcbi8vIH1cclxuIiwiLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7IGNvbnRlbnQ6IFwiIFwiOyBkaXNwbGF5OiB0YWJsZTsgfVxyXG4gICAgJjphZnRlciB7IGNsZWFyOiBib3RoOyB9XHJcbn1cclxuXHJcbi8qIEhlbHBlcnNcclxuICA9PT09PT09PT09PT09PT0gKi9cclxuICA6OnNlbGVjdGlvbntcclxuICAgIGJhY2tncm91bmQ6ICMzMzM7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gIH1cclxuICA6Oi1tb3otc2VsZWN0aW9ue1xyXG4gICAgYmFja2dyb3VuZDogIzMzMztcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgfVxyXG4gIDo6LXdlYmtpdC1zZWxlY3Rpb257XHJcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIENsYXNzaWMgY2xlYXJmaXggXHJcbi5jbGVhcmZpeDo6YmVmb3JlLFxyXG4uY2xlYXJmaXg6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5jbGVhcmZpeDphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxufVxyXG5cclxuLy8gVGV4dCBzdHlsaW5nXHJcbi5waC10ZXh0LWJvZHlfX3NtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogJHNtLWJvZHktZm9udC1zaXplO1xyXG4gICAgZm9udC1zdHlsZTogJHNtLWJvZHktZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc20tYm9keS1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkc20tYm9keS1mb250LWNvbG9yO1xyXG4gICAgZm9udC1mYW1pbHk6ICRzbS1ib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRzbS1ib2R5LWxpbmUtaGVpZ2h0O1xyXG59XHJcblxyXG4vLyBNdWx0aSBDb2x1bW5zIEJvZHkgVGV4dFxyXG4ucGgtdGV4dC1ib2R5IHtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgcGFkZGluZzogMCAuNXJlbTtcclxuXHJcbiAgICAmX190d29Db2wge1xyXG4gICAgICAgIC13ZWJraXQtY29sdW1uczogMiAyMDBweDtcclxuICAgICAgICAtbW96LWNvbHVtbnM6IDIgMjAwcHg7XHJcbiAgICAgICAgY29sdW1uczogMiAyMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnBoLWl0YWxpY1xyXG5cclxuXHJcbi8vIC5waC10ZXh0LWhlYWRpbmctLWxhcmdlIHt9XHJcbi8vIC5waC10ZXh0LWhlYWRpbmctLW1lZGl1bSB7fVxyXG4vLyAucGgtdGV4dC1oZWFkaW5nLS1zbWFsbCB7fVxyXG5cclxuLy8gVGV4dCBhbGlnbm1lbnRcclxuLnRleHQtbGVmdCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4udGV4dC1yaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnRleHQtY2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRleHQtanVzdGlmeSB7XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG59XHJcblxyXG4vLyBUZXh0IFdlaWdodFxyXG5cclxuLmJvbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLy8gRGlzcGxheVxyXG4uYmxvY2sge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5pbmxpbmUtYmxvY2sge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uaW5saW5lIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLy8gVmVydGljYWwgY2VudGVyXHJcbi52ZXJ0aWNhbC1jZW50ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLy8gUmVzcG9uc2l2ZSBpbWFnZXNcclxuLnJlc3BvbnNpdmUtaW1hZ2Uge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uZmlsbC1pbWFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gRGlzcGxheSBTdGF0ZVxyXG4uc2hvdy1tb2JpbGUge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmhpZGUtbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmhpZGUtbW9iaWxlLWxnIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcclxuICAgIC5oaWRlLW1vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2hvdy1tb2JpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkge1xyXG4gICAgLmhpZGUtbW9iaWxlLWxnIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93LW1vYmlsZS1sZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uaW52aXNpYmxlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gQm9yZGVyc1xyXG4uYm9yZGVyLWxlZnQge1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbn1cclxuXHJcbi5ib3JkZXItYm90b20ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwaC1tZWRpdW0tZ3JleSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcclxuICAgIC5ib3JkZXItbGVmdCB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCAjZGVkZWRlIHNvbGlkO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBGbG9hdHNcclxuLmZsb2F0LWxlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5mbG9hdC1yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi8vIFBhZGRpbmdcclxuLm5vLXBhZGRpbmctdG9wIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXG4ubm8tcGFkZGluZy1ib3R0b20ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5wYWRkaW5nLXRvcCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxufVxyXG5cclxuLnBhZGRpbmctYm90dG9tIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4vLyBNYXJnaW5zXHJcbi5uby1tYXJnaW4tdG9wIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi5uby1tYXJnaW4tYm90dG9tIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5tYXJnaW4tdG9wIHtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbn1cclxuXHJcbi5tYXJnaW4tYm90dG9tIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcbi8vIEJhY2tncm91bmRzXHJcbi5hbHRlcm5hdGUtYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYWx0ZXJuYXRlLWJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGFsdGVybmF0ZS1jb2xvcjtcclxufVxyXG5cclxuLnBoLWljb24tZ29sZCB7XHJcbiAgICBjb2xvcjogJHBoLWdvbGQ7XHJcbn1cclxuXHJcbi8vIFNjcmVlbiByZWFkZXIgdGV4dCBmb3IgYWNjZXNzaWJpbGl0eVxyXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBoLWRhcmstZ3JleTtcclxuICAgIG9wYWNpdHk6IC43NTtcclxuXHJcbiAgICAuYXJyb3c6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBoLWRhcmstZ3JleTtcclxuICAgICAgICBvcGFjaXR5OiAuNzU7XHJcbiAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gTGlua3NcclxuLmEtbm8tdW5kZXJsaW5lIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4ucGgtYmx1ZS1saW5rIHtcclxuICAgIGNvbG9yOiAjMDA3NkNDICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vV2hpdGUgc3BhY2VcclxuICAud3JhcC10ZXh0IHtcclxuICAgICAgd2hpdGUtc3BhY2U6bm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuXHJcbi8vICAgTXlQYXJrZXIgUHJpdmF0ZSBBc3NldHNcclxuLnJpYmJvbiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYmFja2dyb3VuZDogJHBoLWdvbGQ7XHJcbiAgICBjb2xvcjokcGgtZGFyay1ncmV5O1xyXG4gICAgcGFkZGluZzouMTVlbSAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOjA7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHRyYW5zbGF0ZVkoMTIwJSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICB9XHJcbiAgLnJpYmJvbjpiZWZvcmUsXHJcbiAgLnJpYmJvbjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDowO1xyXG4gICAgbWFyZ2luOiAwIC0xcHg7IC8qIHR3ZWFrICovXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICRwaC1nb2xkO1xyXG4gIH1cclxuICAucmliYm9uOmJlZm9yZSB7XHJcbiAgICAgbGVmdDoxMDAlO1xyXG4gIH1cclxuICBcclxuICAucmliYm9uOmFmdGVyIHtcclxuICAgIHJpZ2h0OjEwMCU7XHJcbiAgfVxyXG5cclxuLy9EaXJlY3Rpb25hbCBzZWN0aW9uIGFycm93XHJcbi5waC1jYXJldC1kb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB0b3A6IC03cHg7XHJcbiAgICAgICAgbGVmdDogLTdweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDFyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggJHBoLXdhcm0tZ3JleTtcclxuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJHBoLXdhcm0tZ3JleTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHNrZXcoLTNkZWcsLTNkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGgtY2FyZXQtdXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHRvcDogLTdweDtcclxuICAgICAgICBsZWZ0OiAtN3B4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAkcGgtd2FybS1ncmV5O1xyXG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkcGgtd2FybS1ncmV5O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBza2V3KC0zZGVnLC0zZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuLndoaXRlLXRleHQge1xyXG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG59IiwiLyogTGlzdHNcclxuICA9PT09PT09PT09PT09PT0gKi9cclxudWwgbGkgYTpob3ZlciB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkcGgtZ29sZDtcclxufVxyXG5cclxuLmhpZGUtYnVsbGV0IHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbltjbGFzcyo9cGgtbGlzdF9fY29sLV0ge1xyXG4gIG1hcmdpbjogMS41cmVtIDA7XHJcblxyXG4gICYgPiB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICYgPiBsaSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC42MjVyZW07XHJcblxyXG4gICAgICBhOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHBoLWdvbGQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IFxyXG5cclxuLnBoLWxpc3Qge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgLypkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Ki9cclxuXHJcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAgaXMgYmxvY2sgbGV2ZWxcclxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAmX19idWxsZXRlZCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gICZfX3NtIHtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjQpO1xyXG5cclxuICAgICYgPiBsaSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zNzU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbGcge1xyXG4gICAgJiA+IGxpIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblxyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faWNvbnMge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgJiA+IGxpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG5cclxuICAgICAgJiA+IGEge1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMnB4ICRwaC1nb2xkO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzYpO1xyXG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNCA4IDQgMCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5waC1saXN0X19pbmxpbmUge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vRGVmaW5pdGlvbiBMaXN0c1xyXG4ucGgtZGwtbGlzdF9faW5saW5lIHtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICBkdCwgZGQge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gIH1cclxuXHJcbiAgZGQge1xyXG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDgpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xyXG5cclxuLnBoLWxpc3RfX2l0ZW0sIFxyXG4gIGEucGgtbGlzdF9faXRlbSB7XHJcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcclxuICBjb2xvcjogJHBoLWRhcmstZ3JleTtcclxuICAvLyBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxyXG4gIGJvcmRlcjogbm9uZTtcclxuICBwYWRkaW5nOiAuMjVyZW0gMDtcclxuXHJcbiAgLy8gSG92ZXIgc3RhdGVcclxuICAmOmhvdmVyLFxyXG4gICY6YWN0aXZlIHtcclxuICAgIGNvbG9yOiAkcGgtZGFyay1ncmV5O1xyXG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG5cclxuICAmLS1ib3JkZXItYm90dG9tIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGgtbGlnaHQtZ3JleTtcclxuICAgIHBhZGRpbmc6MXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5pY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogLjVyZW07XHJcbn1cclxuXHJcbi8vIFByb2R1Y3QgQ2F0ZWdvcnkgTGlzdCAtIHNtYWxsIHRodW1ibmFpbHNcclxuXHJcbi5waC1pbWctZ3JpZCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICZfX2xpc3Qge1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIG1hcmdpbjouNXJlbSAuNXJlbTtcclxuICAgIGZvbnQtc2l6ZTogJHNtLWJvZHktZm9udC1zaXplO1xyXG4gICAgcGFkZGluZzowIC4xNXJlbTtcclxuXHJcbiAgICAmIGEge1xyXG4gICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogOTBweDtcclxuICAgICAgbWF4LWhlaWdodDogOTBweDtcclxuICAgICAgbWFyZ2luOjAgYXV0byA1cHggYXV0bztcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcQVwiOyBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gUGFya2VyIFRvcHMgQXBwbGljYXRpb25cclxuLnBoLXRvcHMge1xyXG5cclxuJiBsaSB7XHJcbiAgYm9yZGVyOnNvbGlkIDJweCB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIFxyXG4gICY6aG92ZXIge1xyXG4gICAgYm9yZGVyOnNvbGlkIDJweCAkcGgtZ29sZDtcclxuICB9XHJcbn1cclxuXHJcbiAgJiBsaSBhIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLnNwZWNpZmljYXRpb25zIHtcclxuICAgIHBhZGRpbmc6LjVyZW0gMDtcclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgcGFkZGluZzouMjVyZW0gLjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcbiAgICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xyXG4gICAgICBoeXBoZW5zOiBhdXRvO1xyXG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICB9XHJcbiAgICAmX192YWx1ZSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDouMjVyZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWVkaWEgI3skeGxhcmdlLXVwfSB7XHJcbiAgLnNwZWNpZmljYXRpb25zIHsgXHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xyXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICB9XHJcbiAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICAmX192YWx1ZSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLy9HbG9iYWwgZm9vdGVyXHJcbi5waC1mb290ZXIge1xyXG4gICAgJl9fd3JhcHBlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRwaC1nb2xkO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcHJpbWFyeSB7XHJcbiAgICAgICAgJiA+IC5yb3cge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3NlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2IDApO1xyXG5cclxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTYgMCAxMiAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAqIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zbWFsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbC0xMiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlY29uZGFyeS1tZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAwIDQgMCk7XHJcblxyXG4gICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA0KTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg0IDApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc3Vic2l0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBoLWdvbGQ7XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTYgMCk7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNiAwIDEyIDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAqIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zbWFsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbC0xMiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlY29uZGFyeS1tZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAwIDQgMCk7XHJcblxyXG4gICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICRibGFjaztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA0KTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skeGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg0IDApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBoLWFjY29yZGlvbiB7XHJcbiAgICAgICAgJl9fbW9iaWxlIHtcclxuICAgICAgICAgICAgJiArIC5waC1hY2NvcmRpb25fX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5idCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBoLW1lZGl1bS1ncmV5O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNCA4KTtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5waC1saXN0IHtcclxuICAgICAgICAmID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0= */