@font-face {
    font-family: AkkuratMono;
    font-display: swap;
    font-style: normal;
    src: url(https://toyota-indus.com/e-motorsports/assets/fonts/akkurat-mono/resources/Akkurat-Mono.woff2) format("woff2"), url(https://toyota-indus.com/e-motorsports/assets/fonts/akkurat-mono/resources/Akkurat-Mon.woff) format("woff");
    font-weight: 300
}

@font-face {
    font-family: DecimaMono;
    font-display: swap;
    font-style: normal;
    src: url(https://toyota-indus.com/e-motorsports/assets/fonts/decima-mono-pro/resources/DecimaMonoPro-Light.woff2) format("woff2"), url(https://toyota-indus.com/e-motorsports/assets/fonts/decima-mono-pro/resources/DecimaMonoPro-Light.woff) format("woff");
    font-weight: 200
}

@font-face {
    font-family: DecimaMono;
    font-display: swap;
    font-style: normal;
    src: url(https://toyota-indus.com/e-motorsports/assets/fonts/decima-mono-pro/resources/DecimaMonoPro-Regular.woff2) format("woff2"), url(https://toyota-indus.com/e-motorsports/assets/fonts/decima-mono-pro/resources/DecimaMonoPro-Regular.woff) format("woff");
    font-weight: 400
}

@font-face {
    font-family: DecimaMono;
    font-display: swap;
    font-style: normal;
    src: url(https://toyota-indus.com/e-motorsports/assets/fonts/decima-mono-pro/resources/DecimaMonoPro-Bold.woff2) format("woff2"), url(https://toyota-indus.com/e-motorsports/assets/fonts/decima-mono-pro/resources/DecimaMonoPro-Bold.woff) format("woff");
    font-weight: 700
}

html.html-ga-racing {
    font-family: AkkuratMono, Arial, sans-serif;
    font-weight: 300;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media (max-width:1023px) {
    html.html-ga-racing {
        font-size: 14px
    }
}

@media (min-width:1024px) {
    html.html-ga-racing {
        font-size: 16px
    }
}

#cpl-brand-gz-racing {
    font-family: AkkuratMono, Arial, sans-serif;
    font-weight: 300;
    line-height: 1.5
}

#cpl-brand-gz-racing h1,
#cpl-brand-gz-racing h2,
#cpl-brand-gz-racing h3,
#cpl-brand-gz-racing h4,
#cpl-brand-gz-racing h5,
#cpl-brand-gz-racing h6,
#cpl-brand-gz-racing ol,
#cpl-brand-gz-racing p,
#cpl-brand-gz-racing ul {
    margin: 0
}

#cpl-brand-gz-racing b,
#cpl-brand-gz-racing strong {
    font-weight: 700
}

#cpl-brand-gz-racing h1,
#cpl-brand-gz-racing h2,
#cpl-brand-gz-racing h3 {
    font-family: DecimaMono, Arial, sans-serif;
    font-weight: 400
}

#cpl-brand-gz-racing h4 {
    font-family: AkkuratMono, Arial, sans-serif
}

#cpl-brand-gz-racing h1 {
    font-size: 4.25rem
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing h1 {
        font-size: 3.43rem
    }
}
@media (min-width: 1024px) {
#cpl-brand-gz-racing .cpl-stay-informed h3 {
    margin-bottom: 40px;
}
}
.mdc-button:not(:disabled) {
    background-color: #eb0a1e;
    border-color: #eb0a1e;
    -webkit-transition: background-color .25s;
    transition: background-color .25s;
}
.mdc-button:not(:disabled) .mdc-button__label {
    color: #fff;
}
.mdc-button {
    font-size: 1rem;
    font-weight: 700;
    border-radius: 0;
}
.mdc-button {
    height: 50px;
}
.mdc-button--raised, .mdc-button--unelevated {
    padding: 0 21px 0 21px;
}
.mdc-button {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;

    letter-spacing: .08929em;
    text-decoration: none;
    text-transform: uppercase;
    padding: 0 20px 0 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-width: 64px;
    border: none;
    outline: 0;
    line-height: inherit;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-appearance: none;
    overflow: visible;
    vertical-align: middle;
}
#cpl-brand-gz-racing h3 {
    font-size: 2.375rem;
    position: relative;
    padding-left: 25px;
    line-height: 1.05;
    color: #000
}

#cpl-brand-gz-racing h3:before {
    content: '';
    position: absolute;
    width: 5px;
    height: 45px;
    left: 8px;
    top: auto;
    bottom: 1px;
    -webkit-transform: rotate(10deg) skew(-10deg);
    transform: rotate(10deg) skew(-10deg);
    background-color: #e60010
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing h3 {
        font-size: 2.14rem
    }
    #cpl-brand-gz-racing h3:before {
        top: -11px
    }
}

#cpl-brand-gz-racing h4 {
    font-size: 1.375rem;
    margin-bottom: 5px;
    line-height: 1.18
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing h4 {
        font-size: 1.29rem
    }
}

#cpl-brand-gz-racing p {
    font-size: 1.125rem;
    line-height: 1.45;
    margin-bottom: 1.2rem
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing p {
        font-size: 1.29rem
    }
}

#cpl-brand-gz-racing .cpl-link-text {
    color: #e60010;
    font-size: 14px;
    font-weight: 600;
    background-image: -webkit-gradient(linear, right top, left top, color-stop(0, #e60010), to(#e60010));
    background-image: linear-gradient(270deg, #e60010 0, #e60010);
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    -webkit-transition: background-size .25s;
    transition: background-size .25s;
    letter-spacing: 1.05px
}

#cpl-brand-gz-racing .cpl-link-text:hover {
    background-size: 100% 1px
}

#cpl-brand-gz-racing .cpl-link-arrow {
    position: relative
}

#cpl-brand-gz-racing .cpl-link-arrow:after {
    content: "";
    width: 6px;
    height: 10px;
    background-image: url(https://toyota-indus.com/e-motorsports/assets/img/resources/arrow-right-red.svg);
    display: inline-block;
    background-size: contain;
    position: relative;
    margin-left: 7px
}

#cpl-brand-gz-racing .cpl-link-arrow:hover {
    background-size: calc(100% - 13px) 1px
}

#cpl-brand-gz-racing .cpl-external-link {
    position: relative
}

#cpl-brand-gz-racing .cpl-external-link:after {
    content: "";
    width: 14px;
    height: 14px;
    background-image: url(https://toyota-indus.com/e-motorsports/assets/img/resources/download.svg);
    display: inline-block;
    background-size: contain;
    position: relative;
    right: 0;
    margin-left: 7px;
    margin-bottom: -1px
}

#cpl-brand-gz-racing .cpl-external-link:hover {
    background-size: calc(100% - 21px) 1px
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing .cpl-sec-wrapper {
        padding-bottom: 48px
    }
}

.cpl-masthead {
    color: #fff;
    background-color: #000;
    position: relative;
    overflow: hidden
}

.cpl-masthead-media {
    width: 100%;
    position: relative;
    overflow: hidden
}

@media (orientation:landscape) {
    .cpl-masthead-media {
        height: 145vh;
        height: calc(var(--vh, 1vh) * 145)
    }
}

@media (min-width:1024px) and (max-height:680px) {
    .cpl-masthead-media {
        height: 154vh;
        height: calc(var(--vh, 1vh) * 154)
    }
}

@media (max-width:599px) {
    .cpl-masthead-media {
        height: 0;
        padding-bottom: 100vh
    }
}

@media (min-width:600px) and (orientation:portrait) {
    .cpl-masthead-media {
        height: 0;
        padding-bottom: 100%
    }
}

.cpl-masthead-media:after {
    content: "";
    opacity: .75;
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none
}

@media (min-width:600px) {
    .cpl-masthead-media:after {
        width: 75%;
        height: 100%;
        background: -webkit-gradient(linear, left top, right top, from(black), color-stop(19%, rgba(0, 0, 0, .738)), color-stop(34%, rgba(0, 0, 0, .541)), color-stop(47%, rgba(0, 0, 0, .382)), color-stop(56.5%, rgba(0, 0, 0, .278)), color-stop(65%, rgba(0, 0, 0, .194)), color-stop(73%, rgba(0, 0, 0, .126)), color-stop(80.2%, rgba(0, 0, 0, .075)), color-stop(86.1%, rgba(0, 0, 0, .042)), color-stop(91%, rgba(0, 0, 0, .021)), color-stop(95.2%, rgba(0, 0, 0, .008)), color-stop(98.2%, rgba(0, 0, 0, .002)), to(rgba(0, 0, 0, 0)));
        background: linear-gradient(to right, #000 0, rgba(0, 0, 0, .738) 19%, rgba(0, 0, 0, .541) 34%, rgba(0, 0, 0, .382) 47%, rgba(0, 0, 0, .278) 56.5%, rgba(0, 0, 0, .194) 65%, rgba(0, 0, 0, .126) 73%, rgba(0, 0, 0, .075) 80.2%, rgba(0, 0, 0, .042) 86.1%, rgba(0, 0, 0, .021) 91%, rgba(0, 0, 0, .008) 95.2%, rgba(0, 0, 0, .002) 98.2%, rgba(0, 0, 0, 0) 100%)
    }
}

@media (max-width:599px) {
    .cpl-masthead-media:after {
        width: 100%;
        height: 100%;
        background: -webkit-gradient(linear, left top, right top, from(black), color-stop(19%, rgba(0, 0, 0, .738)), color-stop(34%, rgba(0, 0, 0, .541)), color-stop(47%, rgba(0, 0, 0, .382)), color-stop(56.5%, rgba(0, 0, 0, .278)), color-stop(65%, rgba(0, 0, 0, .194)), color-stop(73%, rgba(0, 0, 0, .126)), color-stop(80.2%, rgba(0, 0, 0, .075)), color-stop(86.1%, rgba(0, 0, 0, .042)), color-stop(91%, rgba(0, 0, 0, .021)), color-stop(95.2%, rgba(0, 0, 0, .008)), color-stop(98.2%, rgba(0, 0, 0, .002)), to(rgba(0, 0, 0, 0)));
        background: linear-gradient(to right, #000 0, rgba(0, 0, 0, .738) 19%, rgba(0, 0, 0, .541) 34%, rgba(0, 0, 0, .382) 47%, rgba(0, 0, 0, .278) 56.5%, rgba(0, 0, 0, .194) 65%, rgba(0, 0, 0, .126) 73%, rgba(0, 0, 0, .075) 80.2%, rgba(0, 0, 0, .042) 86.1%, rgba(0, 0, 0, .021) 91%, rgba(0, 0, 0, .008) 95.2%, rgba(0, 0, 0, .002) 98.2%, rgba(0, 0, 0, 0) 100%)
    }
}

.cpl-masthead-media picture {
    width: 100%;
    height: 100%;
    -webkit-transform: scale(1.06, 1.06) translateZ(0);
    transform: scale(1.06, 1.06) translateZ(0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-transition: -webkit-transform 2s;
    transition: -webkit-transform 2s;
    transition: transform 2s;
    transition: transform 2s, -webkit-transform 2s;
    position: absolute;
    top: 0;
    left: 0
}

.cpl-masthead-media picture img {
    width: 100%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: 0;
    left: 50%;
    -o-object-fit: cover;
    object-fit: cover
}

.cpl-masthead-media.cpl-animated picture {
    -webkit-transform: scale(1, 1) translateZ(0);
    transform: scale(1, 1) translateZ(0);
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.cpl-masthead-content {
    width: 100%;
    max-width: 1280px;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: 0;
    left: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    z-index: 3
}

@media (min-width:600px) and (orientation:portrait) {
    .cpl-masthead-content {
        height: auto;
        position: absolute;
        top: 0;
        -webkit-transform: translate(0, 86%);
        transform: translate(0, 86%);
        left: 0
    }
}

@media (max-width:599px) and (orientation:portrait) {
    .cpl-masthead-content {
        height: 100vh
    }
}

.cpl-masthead-content h1 div {
    opacity: 0;
    -webkit-transform: translate(-5rem, 0);
    transform: translate(-5rem, 0);
    -webkit-transition: opacity .5s, -webkit-transform .8s;
    transition: opacity .5s, -webkit-transform .8s;
    transition: opacity .5s, transform .8s;
    transition: opacity .5s, transform .8s, -webkit-transform .8s
}

.cpl-masthead-content h1 span {
    opacity: 0;
    -webkit-transition: opacity .8s ease;
    transition: opacity .8s ease
}

@media (max-width:1023px) {
    .cpl-masthead-content h1 span {
        opacity: 0;
        -webkit-transform: translate(0, 3rem);
        transform: translate(0, 3rem);
        -webkit-transition: opacity .5s, -webkit-transform .8s;
        transition: opacity .5s, -webkit-transform .8s;
        transition: opacity .5s, transform .8s;
        transition: opacity .5s, transform .8s, -webkit-transform .8s
    }
}

.cpl-masthead-content h1 {
    position: relative
}

.cpl-masthead-content h1 span.gt-cup-logo {
    position: absolute;
    right: 0;
    top: 1rem;
    width: 20%;
    max-width: 230px
}

@media (max-width:599px) {
    .cpl-masthead-content h1 span.gt-cup-logo {
        position: relative;
        top: 0;
        width: 200px;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 7.5rem;
        margin-bottom: 7rem
    }
}

@media (max-width:320px) {
    .cpl-masthead-content h1 span.gt-cup-logo {
        width: 140px;
        margin-top: 5rem;
        margin-bottom: 3.8rem
    }
}

@media (max-width:1023px) {
    .cpl-masthead-content h1 {
        margin-bottom: 5rem
    }
}

.cpl-masthead-content p {
    padding-left: 22px;
    position: relative;
    margin-bottom: 1rem;
    opacity: 0;
    -webkit-transform: translate(-5rem, 0);
    transform: translate(-5rem, 0);
    -webkit-transition: opacity .5s, -webkit-transform .8s;
    transition: opacity .5s, -webkit-transform .8s;
    transition: opacity .5s, transform .8s;
    transition: opacity .5s, transform .8s, -webkit-transform .8s;
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.cpl-masthead-content p:before {
    content: '';
    position: absolute;
    width: 5px;
    height: 125%;
    left: 8px;
    top: auto;
    bottom: 0;
    -webkit-transform: rotate(10deg) skew(-10deg);
    transform: rotate(10deg) skew(-10deg);
    background-color: #e60010
}

.cpl-masthead-content h1 {
    letter-spacing: .1rem;
    line-height: 1
}

@media (max-width:599px) {
    .cpl-masthead-content h1 {
        font-size: 2rem
    }
}

@media (min-width:600px) and (max-width:1023px) {
    .cpl-masthead-content h1 {
        font-size: 3.2rem
    }
}

@media (min-width:1024px) {
    .cpl-masthead-content h1 {
        font-size: 3.75rem
    }
}

@supports (font-size:clamp(2rem, 3.75vw, 3.75rem)) {
    .cpl-masthead-content h1 {
        font-size: clamp(2rem, 3.75vw, 3.75rem)
    }
}

.cpl-masthead-content.cpl-animated .cpl-masthead-logo,
.cpl-masthead-content.cpl-animated h1 div,
.cpl-masthead-content.cpl-animated h1 span,
.cpl-masthead-content.cpl-animated p {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
}

.cpl-masthead-content.cpl-animated h1 div:nth-child(1) {
    -webkit-transition-delay: .25s;
    transition-delay: .25s
}

.cpl-masthead-content.cpl-animated h1 div:nth-child(2) {
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.cpl-masthead-content.cpl-animated h1 div:nth-child(3) {
    -webkit-transition-delay: .75s;
    transition-delay: .75s
}

.cpl-masthead-content.cpl-animated h1 span {
    -webkit-transition-delay: .7s;
    transition-delay: .7s
}

.cpl-masthead-intro {
    width: 100%;
    max-width: 1280px;
    position: absolute;
    bottom: 0;
    top: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    height: calc(45vh - 2rem);
    height: calc((var(--vh, 1vh) * 45) - 2rem)
}

.cpl-masthead-intro h3,
.cpl-masthead-intro p {
    opacity: 0;
    -webkit-transform: translate(-5rem, 0);
    transform: translate(-5rem, 0);
    -webkit-transition: opacity .5s, -webkit-transform .8s;
    transition: opacity .5s, -webkit-transform .8s;
    transition: opacity .5s, transform .8s;
    transition: opacity .5s, transform .8s, -webkit-transform .8s;
    width: 73%
}

.cpl-masthead-intro.cpl-animated h3,
.cpl-masthead-intro.cpl-animated p {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
}

.cpl-masthead-intro.cpl-animated h3 {
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.cpl-masthead-intro.cpl-animated p {
    -webkit-transition-delay: .35s;
    transition-delay: .35s
}

@media (min-width:600px) and (orientation:portrait) {
    .cpl-masthead-intro {
        height: auto
    }
}

@media (min-width:1024px) and (max-height:650px) {
    .cpl-masthead-intro {
        height: calc(54vh - 2rem);
        height: calc((var(--vh, 1vh) * 54) - 2rem)
    }
}

@media (max-width:599px) {
    .cpl-masthead-intro {
        position: relative;
        top: 0;
        left: 0;
        -webkit-transform: none;
        transform: none;
        height: auto;
        margin-bottom: 1rem
    }
    .cpl-masthead-intro h3,
    .cpl-masthead-intro p {
        width: 100%
    }
}

#cpl-brand-gz-racing .cpl-masthead-content h1 {
    margin-bottom: 1.5rem
}

@media (max-width:599px) {
    #cpl-brand-gz-racing .cpl-masthead-content h1 {
        margin-bottom: 0
    }
}

#cpl-brand-gz-racing .cpl-masthead-content p {
    margin-bottom: 1rem;
    font-size: 1.625rem;
    line-height: 1.45
}

#cpl-brand-gz-racing .cpl-masthead-intro h3 {
    color: #fff
}

@media (max-width:599px) {
    #cpl-brand-gz-racing .cpl-masthead-intro h3 {
        margin-bottom: 32px
    }
}

@media (min-width:600px) and (max-width:1023px) {
    #cpl-brand-gz-racing .cpl-masthead-intro h3 {
        margin-bottom: 32px
    }
}

@media (min-width:1024px) {
    #cpl-brand-gz-racing .cpl-masthead-intro h3 {
        margin-bottom: 40px
    }
}

#cpl-brand-gz-racing .cpl-sec-bg-white {
    background: #fff
}

#cpl-brand-gz-racing .cpl-sec-bg-black {
    background: #000
}

#cpl-brand-gz-racing .cpl-sec-bg-light-grey {
    background: #f5f5f5
}

.cpl-gz-racing-car-models .cpl-gz-models-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 1rem
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model {
    width: calc((100% - 6rem)/ 4);
    margin-right: 2rem
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model:nth-child(4n) {
    margin-right: 0
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model:nth-child(n+5) {
    margin-top: 2rem
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model .cpl-card-img .cpl-ar {
    overflow: visible
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model .cpl-card-img .cpl-ar img {
    min-width: 90%;
    min-height: 90%;
    max-width: 90%;
    top: auto;
    bottom: 0
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model .cpl-card-content h4 {
    color: #000
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model .cpl-card-content h4 a {
    color: #000;
    font-size: inherit
}

.cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model.gr-supra .cpl-card-img .cpl-ar img {
    min-width: 85%;
    min-height: 85%;
    max-width: 85%
}

@media (max-width:599px) {
    .cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model {
        width: calc(100% - 4rem);
        margin-left: auto;
        margin-right: auto;
        margin-top: 2rem
    }
    .cpl-gz-racing-car-models .cpl-gz-models-list .cpl-gz-model:nth-child(4n) {
        margin-right: auto
    }
}

#cpl-brand-gz-racing .cpl-gz-racing-car-models .cpl-card-content p {
    font-size: 1rem
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing .cpl-gz-racing-car-models .cpl-card-content p {
        font-size: 1.143rem
    }
}

.cpl-ar {
    height: 0;
    position: relative;
    overflow: hidden
}

.cpl-ar-1-1 {
    padding-bottom: 100%
}

.cpl-ar-16-9 {
    padding-bottom: 56.25%
}

.cpl-ar-15-7 {
    padding-bottom: 46.67%
}

.cpl-ar-gallery {
    padding-bottom: 41.66667%
}

@media (max-width:599px) and (orientation:portrait) {
    .cpl-ar-gallery {
        padding-bottom: 100%
    }
}

.cpl-ar img {
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.cpl-brand-bg {
    overflow: hidden
}

.cpl-brand-bg,
.cpl-brand-bg picture {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

.cpl-brand-bg picture {
    -webkit-transform: scale(1.06, 1.06) translateZ(0);
    transform: scale(1.06, 1.06) translateZ(0);
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s;
    will-change: transform
}

.cpl-brand-bg.cpl-animated picture {
    -webkit-transform: scale(1, 1) translateZ(0);
    transform: scale(1, 1) translateZ(0)
}

.cpl-brand-bg img {
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0
}

.cpl-card-content {
    padding-top: 1.25rem
}

.cpl-card-content h4 {
    margin-bottom: .75rem
}

.cpl-card-link img {
    -webkit-transform: scale(1, 1) translateZ(0);
    transform: scale(1, 1) translateZ(0)
}

.cpl-card-link:hover img {
    -webkit-transform: scale(1.06, 1.06) translateZ(0);
    transform: scale(1.06, 1.06) translateZ(0)
}

@media (min-width:600px) {
    .cpl-card-side {
        display: -ms-grid;
        display: grid;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-gap: 40px
    }
    .cpl-card-side _:-ms-fullscreen,
    :root .cpl-card-side {
        margin-bottom: 40px
    }
    .cpl-card-side>div _:-ms-fullscreen:nth-child(odd),
    :root .cpl-card-side>div:nth-child(odd) {
        padding-right: 32px
    }
    .cpl-card-side>div _:-ms-fullscreen:nth-child(even),
    :root .cpl-card-side>div:nth-child(even) {
        padding-left: 32px
    }
    .cpl-card-side .cpl-card-img {
        -ms-grid-column-span: 1;
        grid-column-end: span 1
    }
    .cpl-card-side .cpl-card-content {
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        padding-top: 0
    }
}

@media (min-width:1280px) {
    .cpl-card-side {
        -ms-grid-columns: calc(62% - 64px) 38%;
        grid-template-columns: calc(62% - 64px) 38%;
        grid-gap: 64px
    }
    .cpl-card-side .cpl-card-content {
        padding-right: 48px
    }
}

.lg-actions .lg-next,
.lg-actions .lg-prev {
    background-color: rgba(0, 0, 0, .45);
    border-radius: 2px;
    color: #999;
    cursor: pointer;
    display: block;
    font-size: 22px;
    margin-top: -10px;
    padding: 8px 10px 9px;
    position: absolute;
    top: 50%;
    z-index: 1080;
    outline: 0;
    border: none;
    background-color: transparent
}

.lg-actions .lg-next.disabled,
.lg-actions .lg-prev.disabled {
    pointer-events: none;
    opacity: .5
}

.lg-actions .lg-next:hover,
.lg-actions .lg-prev:hover {
    color: #fff
}

.lg-actions .lg-next {
    right: 20px
}

.lg-actions .lg-next:before {
    content: "\e095"
}

.lg-actions .lg-prev {
    left: 20px
}

.lg-actions .lg-prev:after {
    content: "\e094"
}

@-webkit-keyframes lg-right-end {
    0% {
        left: 0
    }
    50% {
        left: -30px
    }
    100% {
        left: 0
    }
}

@keyframes lg-right-end {
    0% {
        left: 0
    }
    50% {
        left: -30px
    }
    100% {
        left: 0
    }
}

@-webkit-keyframes lg-left-end {
    0% {
        left: 0
    }
    50% {
        left: 30px
    }
    100% {
        left: 0
    }
}

@keyframes lg-left-end {
    0% {
        left: 0
    }
    50% {
        left: 30px
    }
    100% {
        left: 0
    }
}

.lg-outer.lg-right-end .lg-object {
    -webkit-animation: lg-right-end .3s;
    animation: lg-right-end .3s;
    position: relative
}

.lg-outer.lg-left-end .lg-object {
    -webkit-animation: lg-left-end .3s;
    animation: lg-left-end .3s;
    position: relative
}

.lg-toolbar {
    z-index: 1082;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, .45)
}

.lg-toolbar .lg-icon {
    color: #999;
    cursor: pointer;
    float: right;
    font-size: 24px;
    height: 47px;
    line-height: 27px;
    padding: 10px 0;
    text-align: center;
    width: 50px;
    text-decoration: none !important;
    outline: medium none;
    background: 0 0;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: color .2s linear;
    transition: color .2s linear
}

.lg-toolbar .lg-icon:hover {
    color: #fff
}

.lg-toolbar .lg-close:after {
    content: "\e070"
}

.lg-toolbar .lg-download:after {
    content: "\e0f2"
}

.lg-sub-html {
    background-color: rgba(0, 0, 0, .45);
    bottom: 0;
    color: #eee;
    font-size: 16px;
    left: 0;
    padding: 10px 40px;
    position: fixed;
    right: 0;
    text-align: center;
    z-index: 1080
}

.lg-sub-html h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 700
}

.lg-sub-html p {
    font-size: 12px;
    margin: 5px 0 0
}

#lg-counter {
    color: #999;
    display: inline-block;
    font-size: 16px;
    padding-left: 20px;
    padding-top: 12px;
    vertical-align: middle
}

.lg-next,
.lg-prev,
.lg-toolbar {
    opacity: 1;
    -webkit-transition: -webkit-transform .35s cubic-bezier(0, 0, .25, 1) 0s, opacity .35s cubic-bezier(0, 0, .25, 1) 0s, color .2s linear;
    -webkit-transition: opacity .35s cubic-bezier(0, 0, .25, 1) 0s, color .2s linear, -webkit-transform .35s cubic-bezier(0, 0, .25, 1) 0s;
    transition: opacity .35s cubic-bezier(0, 0, .25, 1) 0s, color .2s linear, -webkit-transform .35s cubic-bezier(0, 0, .25, 1) 0s;
    transition: transform .35s cubic-bezier(0, 0, .25, 1) 0s, opacity .35s cubic-bezier(0, 0, .25, 1) 0s, color .2s linear;
    transition: transform .35s cubic-bezier(0, 0, .25, 1) 0s, opacity .35s cubic-bezier(0, 0, .25, 1) 0s, color .2s linear, -webkit-transform .35s cubic-bezier(0, 0, .25, 1) 0s
}

.lg-hide-items .lg-prev {
    opacity: 0;
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0)
}

.lg-hide-items .lg-next {
    opacity: 0;
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0)
}

.lg-hide-items .lg-toolbar {
    opacity: 0;
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0)
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object {
    -webkit-transform: scale3d(.5, .5, .5);
    transform: scale3d(.5, .5, .5);
    opacity: 0;
    -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, .25, 1) 0s, opacity 250ms cubic-bezier(0, 0, .25, 1) !important;
    -webkit-transition: opacity 250ms cubic-bezier(0, 0, .25, 1), -webkit-transform 250ms cubic-bezier(0, 0, .25, 1) 0s !important;
    transition: opacity 250ms cubic-bezier(0, 0, .25, 1), -webkit-transform 250ms cubic-bezier(0, 0, .25, 1) 0s !important;
    transition: transform 250ms cubic-bezier(0, 0, .25, 1) 0s, opacity 250ms cubic-bezier(0, 0, .25, 1) !important;
    transition: transform 250ms cubic-bezier(0, 0, .25, 1) 0s, opacity 250ms cubic-bezier(0, 0, .25, 1), -webkit-transform 250ms cubic-bezier(0, 0, .25, 1) 0s !important;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1
}

.lg-outer .lg-thumb-outer {
    background-color: #0d0a0a;
    bottom: 0;
    position: absolute;
    width: 100%;
    z-index: 1080;
    max-height: 350px;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    -webkit-transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1) 0s;
    transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1) 0s;
    transition: transform .25s cubic-bezier(0, 0, .25, 1) 0s;
    transition: transform .25s cubic-bezier(0, 0, .25, 1) 0s, -webkit-transform .25s cubic-bezier(0, 0, .25, 1) 0s
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
    cursor: -webkit-grab;
    cursor: -o-grab;
    cursor: -ms-grab;
    cursor: grab
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
    cursor: move;
    cursor: -webkit-grabbing;
    cursor: -o-grabbing;
    cursor: -ms-grabbing;
    cursor: grabbing
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
    -webkit-transition-duration: 0s !important;
    transition-duration: 0s !important
}

.lg-outer.lg-thumb-open .lg-thumb-outer {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.lg-outer .lg-thumb {
    padding: 10px 0;
    height: 100%;
    margin-bottom: -5px
}

.lg-outer .lg-thumb-item {
    border-radius: 5px;
    cursor: pointer;
    float: left;
    overflow: hidden;
    height: 100%;
    border: 2px solid #fff;
    border-radius: 4px;
    margin-bottom: 5px
}

@media (min-width:1025px) {
    .lg-outer .lg-thumb-item {
        -webkit-transition: border-color .25s ease;
        transition: border-color .25s ease
    }
}

.lg-outer .lg-thumb-item.active,
.lg-outer .lg-thumb-item:hover {
    border-color: #a90707
}

.lg-outer .lg-thumb-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.lg-outer.lg-has-thumb .lg-item {
    padding-bottom: 120px
}

.lg-outer.lg-can-toggle .lg-item {
    padding-bottom: 0
}

.lg-outer.lg-pull-caption-up .lg-sub-html {
    -webkit-transition: bottom .25s ease;
    transition: bottom .25s ease
}

.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
    bottom: 100px
}

.lg-outer .lg-toggle-thumb {
    background-color: #0d0a0a;
    border-radius: 2px 2px 0 0;
    color: #999;
    cursor: pointer;
    font-size: 24px;
    height: 39px;
    line-height: 27px;
    padding: 5px 0;
    position: absolute;
    right: 20px;
    text-align: center;
    top: -39px;
    width: 50px;
    outline: medium none;
    border: none
}

.lg-outer .lg-toggle-thumb:after {
    content: "\e1ff"
}

.lg-outer .lg-toggle-thumb:hover {
    color: #fff
}

.lg-outer .lg-video-cont {
    display: inline-block;
    vertical-align: middle;
    max-width: 1140px;
    max-height: 100%;
    width: 100%;
    padding: 0 5px
}

.lg-outer .lg-video {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    position: relative
}

.lg-outer .lg-video .lg-object {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important
}

.lg-outer .lg-video .lg-video-play {
    width: 84px;
    height: 59px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -42px;
    margin-top: -30px;
    z-index: 1080;
    cursor: pointer
}

.lg-outer .lg-has-vimeo .lg-video-play {
    background: url(https://toyota-indus.com/e-motorsports/assets/img/resources/vimeo-play.png) no-repeat scroll 0 0 transparent
}

.lg-outer .lg-has-vimeo:hover .lg-video-play {
    background: url(https://toyota-indus.com/e-motorsports/assets/img/resources/vimeo-play.png) no-repeat scroll 0 -58px transparent
}

.lg-outer .lg-has-html5 .lg-video-play {
    background: transparent url(https://toyota-indus.com/e-motorsports/assets/img/resources/video-play.png) no-repeat scroll 0 0;
    height: 64px;
    margin-left: -32px;
    margin-top: -32px;
    width: 64px;
    opacity: .8
}

.lg-outer .lg-has-html5:hover .lg-video-play {
    opacity: 1
}

.lg-outer .lg-has-youtube .lg-video-play {
    background: url(https://toyota-indus.com/e-motorsports/assets/img/resources/youtube-play.png) no-repeat scroll 0 0 transparent
}

.lg-outer .lg-has-youtube:hover .lg-video-play {
    background: url(https://toyota-indus.com/e-motorsports/assets/img/resources/youtube-play.png) no-repeat scroll 0 -60px transparent
}

.lg-outer .lg-video-object {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0
}

.lg-outer .lg-has-video .lg-video-object {
    visibility: hidden
}

.lg-outer .lg-has-video.lg-video-playing .lg-object,
.lg-outer .lg-has-video.lg-video-playing .lg-video-play {
    display: none
}

.lg-outer .lg-has-video.lg-video-playing .lg-video-object {
    visibility: visible
}

.lg-progress-bar {
    background-color: #333;
    height: 5px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1083;
    opacity: 0;
    -webkit-transition: opacity 80ms ease 0s;
    transition: opacity 80ms ease 0s
}

.lg-progress-bar .lg-progress {
    background-color: #a90707;
    height: 5px;
    width: 0
}

.lg-progress-bar.lg-start .lg-progress {
    width: 100%
}

.lg-show-autoplay .lg-progress-bar {
    opacity: 1
}

.lg-autoplay-button:after {
    content: "\e01d"
}

.lg-show-autoplay .lg-autoplay-button:after {
    content: "\e01a"
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image,
.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
    -webkit-transition-duration: 0s;
    transition-duration: 0s
}

.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
    -webkit-transition: -webkit-transform .3s cubic-bezier(0, 0, .25, 1) 0s;
    transition: -webkit-transform .3s cubic-bezier(0, 0, .25, 1) 0s;
    transition: transform .3s cubic-bezier(0, 0, .25, 1) 0s;
    transition: transform .3s cubic-bezier(0, 0, .25, 1) 0s, -webkit-transform .3s cubic-bezier(0, 0, .25, 1) 0s
}

.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
    -webkit-transition: left .3s cubic-bezier(0, 0, .25, 1) 0s, top .3s cubic-bezier(0, 0, .25, 1) 0s;
    transition: left .3s cubic-bezier(0, 0, .25, 1) 0s, top .3s cubic-bezier(0, 0, .25, 1) 0s
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(0, 0, .25, 1) 0s, opacity .15s !important;
    -webkit-transition: opacity .15s, -webkit-transform .3s cubic-bezier(0, 0, .25, 1) 0s !important;
    transition: opacity .15s, -webkit-transform .3s cubic-bezier(0, 0, .25, 1) 0s !important;
    transition: transform .3s cubic-bezier(0, 0, .25, 1) 0s, opacity .15s !important;
    transition: transform .3s cubic-bezier(0, 0, .25, 1) 0s, opacity .15s, -webkit-transform .3s cubic-bezier(0, 0, .25, 1) 0s !important;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

#lg-zoom-in:after {
    content: "\e311"
}

#lg-actual-size {
    font-size: 20px
}

#lg-actual-size:after {
    content: "\e033"
}

#lg-zoom-out {
    opacity: .5;
    pointer-events: none
}

#lg-zoom-out:after {
    content: "\e312"
}

.lg-zoomed #lg-zoom-out {
    opacity: 1;
    pointer-events: auto
}

.group:after,
.group:before {
    content: "";
    line-height: 0;
    display: table
}

.group:after {
    clear: both
}

.lg-outer {
    width: 100%;
    height: 100%;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    -webkit-transition: opacity .15s ease 0s;
    transition: opacity .15s ease 0s
}

.lg-outer * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.lg-outer.lg-visible {
    opacity: 1
}

.lg-outer.lg-css3 .lg-item.lg-current,
.lg-outer.lg-css3 .lg-item.lg-next-slide,
.lg-outer.lg-css3 .lg-item.lg-prev-slide {
    -webkit-transition-duration: inherit !important;
    transition-duration: inherit !important;
    -webkit-transition-timing-function: inherit !important;
    transition-timing-function: inherit !important
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-current,
.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,
.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide {
    -webkit-transition-duration: 0s !important;
    transition-duration: 0s !important;
    opacity: 1
}

.lg-outer.lg-grab img.lg-object {
    cursor: -webkit-grab;
    cursor: -o-grab;
    cursor: -ms-grab;
    cursor: grab
}

.lg-outer.lg-grabbing img.lg-object {
    cursor: move;
    cursor: -webkit-grabbing;
    cursor: -o-grabbing;
    cursor: -ms-grabbing;
    cursor: grabbing
}

.lg-outer .lg {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden
}

.lg-outer .lg-inner {
    width: 100%;
    height: 100%;
    white-space: nowrap;
    position: absolute;
    top: 0;
    left: 0
}

.lg-outer .lg-item {
    background: url(https://toyota-indus.com/e-motorsports/assets/img/resources/loading.gif) no-repeat scroll center center transparent;
    display: none !important
}

.lg-outer.lg-css3 .lg-current,
.lg-outer.lg-css3 .lg-next-slide,
.lg-outer.lg-css3 .lg-prev-slide {
    display: inline-block !important
}

.lg-outer.lg-css .lg-current {
    display: inline-block !important
}

.lg-outer .lg-img-wrap,
.lg-outer .lg-item {
    width: 100%;
    height: 100%;
    text-align: center;
    position: absolute;
    display: inline-block
}

.lg-outer .lg-img-wrap:before,
.lg-outer .lg-item:before {
    width: 1px;
    height: 50%;
    content: "";
    margin-right: -1px;
    display: inline-block
}

.lg-outer .lg-img-wrap {
    padding: 0 5px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.lg-outer .lg-item.lg-complete {
    background-image: none
}

.lg-outer .lg-item.lg-current {
    z-index: 1060
}

.lg-outer .lg-image {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 100%;
    vertical-align: middle;
    display: inline-block
}

.lg-outer.lg-show-after-load .lg-item .lg-object,
.lg-outer.lg-show-after-load .lg-item .lg-video-play {
    opacity: 0;
    -webkit-transition: opacity .15s ease 0s;
    transition: opacity .15s ease 0s
}

.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object,
.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play {
    opacity: 1
}

.lg-outer .lg-empty-html {
    display: none
}

.lg-outer.lg-hide-download #lg-download {
    display: none
}

.lg-backdrop {
    background-color: rgba(0, 0, 0, .75);
    opacity: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    -webkit-transition: opacity .15s ease 0s;
    transition: opacity .15s ease 0s
}

.lg-backdrop.in {
    opacity: 1
}

@supports ((-webkit-backdrop-filter:none) or (backdrop-filter:none)) {
    .lg-backdrop {
        background-color: rgba(0, 0, 0, .5);
        -webkit-backdrop-filter: blur(.3em);
        backdrop-filter: blur(.3em)
    }
}

.lg-css3.lg-no-trans .lg-current,
.lg-css3.lg-no-trans .lg-next-slide,
.lg-css3.lg-no-trans .lg-prev-slide {
    -webkit-transition: none 0s ease 0s !important;
    transition: none 0s ease 0s !important
}

.lg-css3.lg-use-css3 .lg-item {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.lg-css3.lg-use-left .lg-item {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.lg-css3.lg-fade .lg-item {
    opacity: 0
}

.lg-css3.lg-fade .lg-item.lg-current {
    opacity: 1
}

.lg-css3.lg-fade .lg-item.lg-current,
.lg-css3.lg-fade .lg-item.lg-next-slide,
.lg-css3.lg-fade .lg-item.lg-prev-slide {
    -webkit-transition: opacity .1s ease 0s;
    transition: opacity .1s ease 0s
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
    opacity: 0
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0)
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current,
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
    -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, .25, 1) 0s, opacity .1s ease 0s;
    -webkit-transition: opacity .1s ease 0s, -webkit-transform 1s cubic-bezier(0, 0, .25, 1) 0s;
    transition: opacity .1s ease 0s, -webkit-transform 1s cubic-bezier(0, 0, .25, 1) 0s;
    transition: transform 1s cubic-bezier(0, 0, .25, 1) 0s, opacity .1s ease 0s;
    transition: transform 1s cubic-bezier(0, 0, .25, 1) 0s, opacity .1s ease 0s, -webkit-transform 1s cubic-bezier(0, 0, .25, 1) 0s
}

.lg-css3.lg-slide.lg-use-left .lg-item {
    opacity: 0;
    position: absolute;
    left: 0
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
    left: -100%
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide {
    left: 100%
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
    opacity: 1;
    left: 0
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-current,
.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide,
.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
    -webkit-transition: left 1s cubic-bezier(0, 0, .25, 1) 0s, opacity .1s ease 0s;
    transition: left 1s cubic-bezier(0, 0, .25, 1) 0s, opacity .1s ease 0s
}

.lg-toolbar {
    width: auto;
    height: 100%;
    right: 0;
    left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.lg-hide-items .lg-toolbar {
    -webkit-transform: translate3d(80%, 0, 0);
    transform: translate3d(80%, 0, 0)
}

.lg-toolbar .lg-icon {
    float: none;
    display: block;
    font-size: 0;
    width: 3.333rem;
    height: 3.333rem;
    position: relative
}

.lg-toolbar .lg-close:after,
.lg-toolbar .lg-close:before {
    height: 2.222rem;
    content: "";
    border-left: 2px solid #fff;
    position: absolute;
    top: .555rem;
    left: calc(50% - 2px)
}

.lg-toolbar .lg-close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.lg-toolbar .lg-close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

#lg-zoom-in,
#lg-zoom-out {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 30px
}

#lg-zoom-in:after,
#lg-zoom-out:after {
    content: none
}

#lg-zoom-in {
    background-image: url(https://toyota-indus.com/e-motorsports/assets/img/resources/icon-zoom-in.svg)
}

#lg-zoom-out {
    background-image: url(https://toyota-indus.com/e-motorsports/assets/img/resources/icon-zoom-out.svg)
}

.lg-outer .lg-item:not(.lg-current) {
    display: none !important;
    visibility: hidden !important
}

.lg-outer .lg-video-cont {
    max-width: 100%;
    height: 100%;
    padding: 0
}

.lg-outer .lg-video {
    height: 100%;
    padding-bottom: 0
}

.lg-outer .lg-has-youtube .lg-video-play {
    background: 0 0
}

.lg-outer .lg-has-youtube .lg-video-play:after {
    width: 80px;
    height: 80px;
    content: "";
    background: url(https://toyota-indus.com/e-motorsports/assets/img/resources/play.svg);
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%
}

@media screen and (max-width:768px) {
    .lg-outer .lg-has-youtube .lg-video-play:after {
        width: 56px;
        height: 56px
    }
}

.lg-outer .lg-has-youtube .lg-video-play:hover:after {
    opacity: .75
}

.lg-outer .lg-has-youtube:hover .lg-video-play {
    background: 0 0
}

.lg-video.is_ended:after,
.lg-video.is_paused:after {
    content: "";
    background-color: #000;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer
}

.lg-video.is_ended:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNTEyIDQzNy4xIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNDM3LjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTIyNy4xLDQzNy4xaC04LjVDOTgsNDM3LjEsMCwzMzkuMSwwLDIxOC41QzAsOTgsOTgsMCwyMTguNSwwYzExNy42LDAsMjEzLjksOTMuNCwyMTguNCwyMTBsNzUuMSwwTDM4MC4xLDM2MC44TDI0OC4yLDIxMGw3NC42LDBjLTQuNC01My43LTQ5LjQtOTYtMTA0LjItOTZDMTYwLjksMTE0LDExNCwxNjAuOSwxMTQsMjE4LjVjMCw1Ny42LDQ2LjksMTA0LjUsMTA0LjUsMTA0LjVoOC41VjQzNy4xeiBNMjE4LjUsMTcuMWMtMTExLjEsMC0yMDEuNCw5MC40LTIwMS40LDIwMS40YzAsMTA4LjIsODUuOCwxOTYuOCwxOTIuOSwyMDEuM3YtNzkuOWMtNjMuMS00LjQtMTEzLjEtNTcuMS0xMTMuMS0xMjEuM2MwLTY3LjEsNTQuNi0xMjEuNiwxMjEuNi0xMjEuNmM2Ny4xLDAsMTIxLjYsNTQuNiwxMjEuNiwxMjEuNnY4LjVsLTU0LjMsMGw5NC4yLDEwNy43bDk0LjItMTA3LjdsLTU0LjMsMHYtOC41QzQyMCwxMDcuNSwzMjkuNiwxNy4xLDIxOC41LDE3LjF6Ii8+PC9zdmc+);
    background-size: 64px
}

.lg-video.is_paused:after {
    background-image: url(data:image/svg+xml;utf8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEiIHdpZHRoPSIxNzA2LjY2NyIgaGVpZ2h0PSIxNzA2LjY2NyIgdmlld0JveD0iMCAwIDEyODAgMTI4MCI+PHBhdGggZD0iTTE1Ny42MzUgMi45ODRMMTI2MC45NzkgNjQwIDE1Ny42MzUgMTI3Ny4wMTZ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
    background-size: 44px
}

.cpl-gz-racing-accordion-content {
    position: relative;
    color: #fff
}

.cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info {
    margin-bottom: 4rem;
    padding-left: 4rem;
    position: relative
}

.cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info span.circle {
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    display: block;
    background: 0 0;
    border: 1px solid #fff;
    border-radius: 50%;
    top: 0;
    left: 0
}

.cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info span.circle:before {
    content: '';
    position: absolute;
    width: 1rem;
    height: 1rem;
    background: 0 0;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media (max-width:1023px) {
    .cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info span.circle {
        width: 1.7rem;
        height: 1.7rem
    }
    .cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info span.circle:before {
        width: .65rem;
        height: .65rem
    }
}

@media (min-width:1280px) {
    .cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info .cpl-card-side {
        grid-template-columns: calc(60% - 48px) 40%;
        grid-gap: 48px
    }
}

.cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info:not(:last-child):before {
    content: '';
    position: absolute;
    width: 1px;
    height: calc(100% + 1.5rem);
    background: #fff;
    left: 1.25rem;
    top: 2.5rem
}

.cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info.active span.circle:before {
    background: #e60010
}

@media (max-width:1023px) {
    .cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info {
        margin-bottom: 3.5rem;
        padding-left: 3rem
    }
    .cpl-gz-racing-accordion-content .cpl-gz-racing-timeline .cpl-gz-racing-race-info:not(:last-child):before {
        height: calc(100% + 1.8rem);
        top: 1.7rem;
        left: .85rem
    }
}

.cpl-accordion .cpl-accordion-item {
    border: 1px solid #fff
}

.cpl-accordion .cpl-accordion-item:not(:first-child) {
    border-top: none
}

.cpl-accordion .cpl-accordion-item .cpl-accordion-header {
    padding: 0 1.875rem
}

.cpl-accordion .cpl-accordion-item .cpl-accordion-header h4 {
    cursor: pointer;
    position: relative
}

.cpl-accordion .cpl-accordion-item .cpl-accordion-header h4:after {
    content: '';
    position: absolute;
    width: 11px;
    height: 22px;
    background-image: url(https://toyota-indus.com/e-motorsports/assets/img/resources/arrow-right-white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: rotate(-270deg);
    transform: rotate(-270deg);
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    top: 50%;
    margin-top: -9px;
    left: auto;
    right: 0
}

@media (max-width:1023px) {
    .cpl-accordion .cpl-accordion-item .cpl-accordion-header {
        padding: 0 1.43rem
    }
}

.cpl-accordion .cpl-accordion-item .cpl-accordion-body {
    padding: 2.5rem 1.875rem;
    position: relative;
    display: none;
    height: 0;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    opacity: 0
}

.cpl-accordion .cpl-accordion-item .cpl-accordion-body:before {
    content: '';
    position: absolute;
    height: 1px;
    width: calc(100% - 3.75rem);
    left: 1.875rem;
    top: 0;
    background: #fff
}

@media (max-width:1023px) {
    .cpl-accordion .cpl-accordion-item .cpl-accordion-body {
        padding: 2.3rem 1.43rem
    }
}

.cpl-accordion .cpl-accordion-item.show_accordion .cpl-accordion-header h4:after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.cpl-accordion .cpl-accordion-item.show_accordion .cpl-accordion-body {
    display: block;
    height: auto;
    opacity: 1
}

#cpl-brand-gz-racing .cpl-gz-racing-accordion-content h3 {
    color: #fff
}

#cpl-brand-gz-racing .cpl-gz-racing-accordion-content p a.cpl-external-link {
    font-size: inherit;
    color: inherit;
    background-size: calc(100% - 21px) 1px;
    background-image: -webkit-gradient(linear, right top, left top, color-stop(0, #fff), to(#fff));
    background-image: linear-gradient(270deg, #fff 0, #fff);
    display: inline-block
}

#cpl-brand-gz-racing .cpl-gz-racing-accordion-content p a.cpl-external-link:after {
    background-image: url(https://toyota-indus.com/e-motorsports/assets/img/resources/download-white.svg);
    position: relative;
    display: inline-block;
    right: 0;
    margin-left: 7px
}

#cpl-brand-gz-racing .cpl-gz-racing-accordion-content p a.cpl-external-link:hover {
    background-size: 0 1px
}

#cpl-brand-gz-racing .cpl-gz-racing-accordion-content .cpl-accordion .cpl-accordion-header h4 {
    padding: 1.25rem 3rem 1.25rem 0;
    margin-bottom: 0
}

#cpl-brand-gz-racing .cpl-gz-racing-accordion-content .cpl-accordion .cpl-accordion-body .cpl-gz-racing-race-info h4 {
    margin-bottom: .8rem
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing .cpl-gz-racing-accordion-content .cpl-accordion .cpl-accordion-body .cpl-gz-racing-race-info h4 {
        margin-bottom: 0
    }
}

.cpl-gz-racing-table-gp {
    width: calc(100% - 5rem);
    margin-left: auto;
    margin-right: auto
}

.cpl-gz-racing-table-gp .cpl-table {
    font-size: 1.125rem;
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%
}

.cpl-gz-racing-table-gp .cpl-table thead tr {
    text-align: center
}

.cpl-gz-racing-table-gp .cpl-table thead tr th {
    padding: 1.25rem 1.625rem
}

.cpl-gz-racing-table-gp .cpl-table tbody tr {
    text-align: center
}

.cpl-gz-racing-table-gp .cpl-table tbody tr td {
    padding: 1.25rem 1.625rem;
    background: rgba(255, 255, 255, .1)
}

.cpl-gz-racing-table-gp .cpl-table tbody tr td.no-data {
    background: #616161
}

.cpl-gz-racing-table-gp .cpl-table tbody tr td[rowspan] {
    border-left: 1px solid #fff
}

.cpl-gz-racing-table-gp .cpl-table.cpl-thead-bg-red thead tr th {
    background: #e60010;
    color: #fff
}

.cpl-gz-racing-table-gp .cpl-table.cpl-table-with-border-white {
    border: 1px solid #fff
}

.cpl-gz-racing-table-gp .cpl-table.cpl-table-with-border-white tbody tr td:not(:last-child),
.cpl-gz-racing-table-gp .cpl-table.cpl-table-with-border-white thead tr th:not(:last-child) {
    border-right: 1px solid #fff
}

.cpl-gz-racing-table-gp .cpl-table.cpl-table-with-border-white tbody tr {
    border-top: 1px solid #fff
}

@media (max-width:1023px) {
    .cpl-gz-racing-table-gp {
        width: 100%;
        max-width: 100%;
        overflow: scroll
    }
}

@media (max-width:1023px) {
    #cpl-brand-gz-racing .cpl-gz-racing-content-with-media .cpl-card .cpl-card-content {
        margin-bottom: 32px
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY3BsLWd6LXJhY2luZy1mb250cy5zY3NzIiwiY3BsLWd6LXJhY2luZy5zY3NzIiwiY3BsLWd6LXJhY2luZy5jc3MiLCJjb21wb25lbnRzL2NwbC1nei1yYWNpbmctbWFzdGhlYWQuc2NzcyIsInN0eWxlcy9taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvY3BsLWd6LXJhY2luZy1tb2RlbHMtbGlzdC5zY3NzIiwiY29tcG9uZW50cy9jcGwtYXNwZWN0LXJhdGlvLnNjc3MiLCJjb21wb25lbnRzL2NwbC1icmFuZC1iZy5zY3NzIiwiY29tcG9uZW50cy9jcGwtY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2xpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy10aGVtZS1kZWZhdWx0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xnLW1peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2xpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy10aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctdmlkZW8uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctYXV0b3BsYXkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctem9vbS5zY3NzIiwiY29tcG9uZW50cy9saWdodGdhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvY3BsLWd6LXJhY2luZy1hY2NvcmRpb24tY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9jcGwtZ3otcmFjaW5nLWFjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9jcGwtZ3otcmFjaW5nLXRhYmxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsV0FDSSxZQUFBLFlBQ0Es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LFFBQUEsTUFDQSxPQUFBLEtBQ0EsUUFBQSxFaEJ3TGhCLHlEQUdNLE1BQUEsS0FITiw0RUFPUSxVQUFBLFFBQ0EsTUFBQSxRQUNBLGdCQUFBLGtCQUFBLElBQ0EsaUJBQUEsd0VBQUEsaUJBQUEsb0NBQ0EsUUFBQSxhQVhSLGtGQWNVLGlCQUFBLHlDQUNBLFNBQUEsU0FDQSxRQUFBLGFBQ0EsTUFBQSxFQUNBLFlBQUEsSUFsQlYsa0ZBc0JVLGdCQUFBLEVBQUEsSUF0QlYsOEZBOEJVLFFBQUEsUUFBQSxLQUFBLFFBQUEsRUFDQSxjQUFBLEVBL0JWLHFIQXFDWSxjQUFBLE1BRUEsMEJBdkNaLHFIQXdDYyxjQUFBLEdpQjFTZCx3QkFDSSxNQUFBLGtCQUNBLFlBQUEsS0FDQSxhQUFBLEtBSEosbUNBS1EsVUFBQSxTQUNBLGVBQUEsRUFDQSxnQkFBQSxTQUNBLE1BQUEsS0FSUiw0Q0FZZ0IsV0FBQSxPQVpoQiwrQ0Fjb0IsUUFBQSxRQUFBLFNBZHBCLDRDQXdCZ0IsV0FBQSxPQXhCaEIsK0NBMkJvQixRQUFBLFFBQUEsU0FDQSxXQUFBLHFCQTVCcEIsdURBK0J3QixXQUFBLFFBL0J4Qix3REFtQ3dCLFlBQUEsSUFBQSxNQUFBLEtBbkN4QixnRUE2Q3dCLFdBQUEsUUFDQSxNQUFBLEtBOUN4QiwrREFxRFksT0FBQSxJQUFBLE1BQUEsS2hCeTRDTiw0RmdCOTdDTiw0RkF5RGdCLGFBQUEsSUFBQSxNQUFBLEtBekRoQix3RUE2RGdCLFdBQUEsSUFBQSxNQUFBLEtBS1osMEJBbEVKLHdCQW1FUSxNQUFBLEtBQ0EsVUFBQSxLQUNBLFNBQUEsUWpCb1BBLDBCQUpSLG1GQUtVLGNBQUEiLCJmaWxlIjoiY3BsLWd6LXJhY2luZy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUb3lvdGEgVHlwZSAtIGh0dHBzOi8vd3d3LnRveW90YS5jb20vYnJhbmRndWlkZWxpbmVzL3R5cG9ncmFwaHkvXHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkFra3VyYXRNb25vXCI7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBzcmM6IHVybCgnI3skYWtrdXJhdC1mb250LXBhdGh9QWtrdXJhdC1Nb25vLndvZmYyJykgZm9ybWF0KFwid29mZjJcIiksXHJcbiAgICAgICAgIHVybCgnI3skYWtrdXJhdC1mb250LXBhdGh9QWtrdXJhdC1Nb24ud29mZicpIGZvcm1hdChcIndvZmZcIik7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gIH1cclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJEZWNpbWFNb25vXCI7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBzcmM6IHVybCgnI3skZGVjaW1hLW1vbm8tZm9udC1wYXRofURlY2ltYU1vbm9Qcm8tTGlnaHQud29mZjInKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcclxuICAgICAgICAgdXJsKCcjeyRkZWNpbWEtbW9uby1mb250LXBhdGh9RGVjaW1hTW9ub1Byby1MaWdodC53b2ZmJykgZm9ybWF0KFwid29mZlwiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgfVxyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkRlY2ltYU1vbm9cIjtcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIHNyYzogdXJsKCcjeyRkZWNpbWEtbW9uby1mb250LXBhdGh9RGVjaW1hTW9ub1Byby1SZWd1bGFyLndvZmYyJykgZm9ybWF0KFwid29mZjJcIiksXHJcbiAgICAgICAgIHVybCgnI3skZGVjaW1hLW1vbm8tZm9udC1wYXRofURlY2ltYU1vbm9Qcm8tUmVndWxhci53b2ZmJykgZm9ybWF0KFwid29mZlwiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG5cclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJEZWNpbWFNb25vXCI7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBzcmM6IHVybCgnI3skZGVjaW1hLW1vbm8tZm9udC1wYXRofURlY2ltYU1vbm9Qcm8tQm9sZC53b2ZmMicpIGZvcm1hdChcIndvZmYyXCIpLFxyXG4gICAgICAgICB1cmwoJyN7JGRlY2ltYS1tb25vLWZvbnQtcGF0aH1EZWNpbWFNb25vUHJvLUJvbGQud29mZicpIGZvcm1hdChcIndvZmZcIik7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gIH1cclxuIiwiQGltcG9ydCBcInN0eWxlcy92YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwic3R5bGVzL21peGlucy5zY3NzXCI7XHJcblxyXG4kZ3otcmFjaW5nLXJlZDogI0U2MDAxMCAhZGVmYXVsdDtcclxuJGd6LXJhY2luZy1saWdodC1ncmV5OiAjRjVGNUY1ICFkZWZhdWx0O1xyXG5cclxuLy8gV2ViZm9udHNcclxuXHJcbiRha2t1cmF0LWZvbnQtcGF0aDogXCIuLi9mb250cy9ha2t1cmF0LW1vbm8vcmVzb3VyY2VzL1wiO1xyXG4kZGVjaW1hLW1vbm8tZm9udC1wYXRoOiBcIi4uL2ZvbnRzL2RlY2ltYS1tb25vLXByby9yZXNvdXJjZXMvXCI7XHJcblxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jcGwtZ3otcmFjaW5nLWZvbnRzLnNjc3NcIjtcclxuXHJcbmh0bWwge1xyXG4gICAgJi5odG1sLWdhLXJhY2luZyB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkFra3VyYXRNb25vXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuXHJcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW1fYW5kX2Rvd259IHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhICN7JG1lZGl1bV9hbmRfdXB9IHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2NwbC1icmFuZC1nei1yYWNpbmcge1xyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2LFxyXG4gIG9sLFxyXG4gIHVsLFxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgYixcclxuICBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB9XHJcblxyXG4gIGZvbnQtZmFtaWx5OiBcIkFra3VyYXRNb25vXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuXHJcbiAgaDEsXHJcbiAgaDIsXHJcbiAgaDN7XHJcbiAgICBmb250LWZhbWlseTogXCJEZWNpbWFNb25vXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB9XHJcblxyXG4gIGg0IHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkFra3VyYXRNb25vXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIH1cclxuXHJcbiAgaDEge1xyXG4gICAgICBmb250LXNpemU6IDQuMjVyZW07XHJcblxyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzLjQzcmVtO1xyXG5cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDIuMzc1cmVtO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMDU7XHJcbiAgICAgIGNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgYm90dG9tOiAxcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpIHNrZXcoLTEwZGVnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3otcmFjaW5nLXJlZDtcclxuXHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhICN7JG1lZGl1bV9hbmRfZG93bn0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi4xNHJlbTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICB0b3A6IC0xMXB4O1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIGg0IHtcclxuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xODtcclxuXHJcbiAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yOXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS40NTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjI5cmVtO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuY3BsLWxpbmstdGV4dCB7XHJcbiAgICAgIGNvbG9yOiAkZ3otcmFjaW5nLXJlZDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCRnei1yYWNpbmctcmVkIDAsJGd6LXJhY2luZy1yZWQpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAxcHg7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjI1cztcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMDVweDtcclxuXHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuY3BsLWxpbmstYXJyb3cge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmVzb3VyY2VzL2Fycm93LXJpZ2h0LXJlZC5zdmcpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgLSAxM3B4KSAxcHg7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5jcGwtZXh0ZXJuYWwtbGluayB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmVzb3VyY2VzL2Rvd25sb2FkLnN2Zyk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSAtIDIxcHgpIDFweDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhICN7JG1lZGl1bV9hbmRfZG93bn0ge1xyXG4gICAgLmNwbC1zZWMtd3JhcHBlciB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkX3NpemVfNjtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jcGwtZ3otcmFjaW5nLW1hc3RoZWFkLnNjc3NcIjtcclxuXHJcbiNjcGwtYnJhbmQtZ3otcmFjaW5nIHtcclxuICAgIC5jcGwtbWFzdGhlYWQtY29udGVudHtcclxuICAgICAgICBoMSB7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc21hbGxfYW5kX2Rvd259IHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3BsLW1hc3RoZWFkLWludHJvIHtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbF9hbmRfZG93bn0ge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRwYWRfc2l6ZV80O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc21hbGxfdG9fbWVkaXVtfSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZF9zaXplXzQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW1fYW5kX3VwfSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZF9zaXplXzU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNwbC1zZWMtYmctd2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAuY3BsLXNlYy1iZy1ibGFjayB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICB9XHJcblxyXG4gICAgLmNwbC1zZWMtYmctbGlnaHQtZ3JleSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRnei1yYWNpbmctbGlnaHQtZ3JleTtcclxuICAgIH1cclxufVxyXG5cclxuQGltcG9ydCBcImNvbXBvbmVudHMvY3BsLWd6LXJhY2luZy1tb2RlbHMtbGlzdC5zY3NzXCI7XHJcbiNjcGwtYnJhbmQtZ3otcmFjaW5nIHtcclxuICAuY3BsLWd6LXJhY2luZy1jYXItbW9kZWxzIHtcclxuICAgIC5jcGwtY2FyZC1jb250ZW50IHtcclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG5cclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuMTQzcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NwbC1hc3BlY3QtcmF0aW8uc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcImNvbXBvbmVudHMvY3BsLWJyYW5kLWJnLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NwbC1jYXJkLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpZ2h0Z2FsbGVyeS5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jcGwtZ3otcmFjaW5nLWFjY29yZGlvbi1jb250ZW50LnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NwbC1nei1yYWNpbmctYWNjb3JkaW9uLnNjc3NcIjtcclxuXHJcbiNjcGwtYnJhbmQtZ3otcmFjaW5nIHtcclxuICAuY3BsLWd6LXJhY2luZy1hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICBoMyB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGEuY3BsLWV4dGVybmFsLWxpbmsge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSAtIDIxcHgpIDFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCR3aGl0ZSAwLCR3aGl0ZSk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmVzb3VyY2VzL2Rvd25sb2FkLXdoaXRlLnN2Zyk7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAxcHg7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNwbC1hY2NvcmRpb24ge1xyXG4gICAgICAuY3BsLWFjY29yZGlvbi1oZWFkZXIge1xyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gM3JlbSAxLjI1cmVtIDA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY3BsLWFjY29yZGlvbi1ib2R5IHtcclxuICAgICAgICAuY3BsLWd6LXJhY2luZy1yYWNlLWluZm8ge1xyXG4gICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGltcG9ydCBcImNvbXBvbmVudHMvY3BsLWd6LXJhY2luZy10YWJsZS5zY3NzXCI7XHJcblxyXG4jY3BsLWJyYW5kLWd6LXJhY2luZyB7XHJcbiAgLmNwbC1nei1yYWNpbmctY29udGVudC13aXRoLW1lZGlhIHtcclxuICAgIC5jcGwtY2FyZCB7XHJcbiAgICAgIC5jcGwtY2FyZC1jb250ZW50IHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFkX3NpemVfNDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiIsbnVsbCwiQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXNcIjtcclxuXHJcbi5jcGwtbWFzdGhlYWQge1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAmLW1lZGlhIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAbWVkaWEgI3skb3JpZW50YXRpb25fbGFuZHNjYXBlfSB7XHJcbiAgICAgIGhlaWdodDogMTQ1dmg7XHJcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDE0NSk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JG1lZGl1bV9hbmRfdXB9IGFuZCAobWF4LWhlaWdodDo2ODBweCl7XHJcbiAgICAgIGhlaWdodDogMTU0dmg7XHJcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDE1NCk7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgI3skc21hbGxfYW5kX2Rvd259IHtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwdmg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsX2FuZF91cH0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgb3BhY2l0eTogLjc1O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICBAbWVkaWEgI3skc21hbGxfYW5kX3VwfSB7XHJcbiAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnRfYmxhY2tfMztcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhICN7JHNtYWxsX2FuZF9kb3dufSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50X2JsYWNrXzM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwaWN0dXJlIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2LCAxLjA2KSB0cmFuc2xhdGVaKDApO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAycztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jcGwtYW5pbWF0ZWQge1xyXG4gICAgICBwaWN0dXJlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjNzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6ICR3aWR0aF9jb250ZW50O1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIHotaW5kZXg6IDM7XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsX2FuZF91cH0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCAsIDg2JSk7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsX2FuZF9kb3dufSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xyXG4gICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG5cclxuICAgIGgxIGRpdntcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVyZW0sIDApO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cywgdHJhbnNmb3JtIDAuOHM7XHJcbiAgICB9XHJcblxyXG4gICAgaDEgc3BhbiB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjhzIGVhc2U7XHJcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW1fYW5kX2Rvd259e1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgM3JlbSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMsIHRyYW5zZm9ybSAwLjhzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDEgIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgc3Bhbi5ndC1jdXAtbG9nbyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMXJlbTtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMjMwcHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbF9hbmRfZG93bn0ge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDcuNXJlbTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzIwcHgpIHtcclxuICAgICAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDVyZW07XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG5cclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXJlbSwgMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMsIHRyYW5zZm9ybSAwLjhzO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMjUlO1xyXG4gICAgICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZykgc2tldygtMTBkZWcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3otcmFjaW5nLXJlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICAgIEBtZWRpYSAjeyRzbWFsbF9hbmRfZG93bn0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEgI3skc21hbGxfdG9fbWVkaXVtfSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhICN7JG1lZGl1bV9hbmRfdXB9IHtcclxuICAgICAgICBmb250LXNpemU6IDMuNzVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBzdXBwb3J0cyAoZm9udC1zaXplOiBjbGFtcCgycmVtLCAzLjc1dncsIDMuNzVyZW0pKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCAzLjc1dncsIDMuNzVyZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAmLmNwbC1hbmltYXRlZCB7XHJcbiAgICAgIGgxIGRpdixcclxuICAgICAgaDEgc3BhbixcclxuICAgICAgcCxcclxuICAgICAgLmNwbC1tYXN0aGVhZC1sb2dvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBoMSB7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yNXM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNzVzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaDEgc3BhbiB7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC43cztcclxuXHJcblxyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtaW50cm8ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XHJcbiAgICBoZWlnaHQ6IGNhbGMoNDV2aCAtIDJyZW0pO1xyXG4gICAgaGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwxdmgpICogNDUpIC0gMnJlbSk7XHJcblxyXG5cclxuICAgIGgzICxcclxuICAgIHAge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVyZW0sIDApO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzLCB0cmFuc2Zvcm0gMC44cztcclxuICAgICAgICB3aWR0aDogNzMlO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3BsLWFuaW1hdGVkIHtcclxuICAgICAgICBoMyxcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsX2FuZF91cH0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JG1lZGl1bV9hbmRfdXB9IGFuZCAobWF4LWhlaWdodDogNjUwcHgpe1xyXG4gICAgICBoZWlnaHQ6IGNhbGMoNTR2aCAtIDJyZW0pO1xyXG4gICAgICBoZWlnaHQ6IGNhbGMoKHZhcigtLXZoLDF2aCkgKiA1NCkgLSAycmVtKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc21hbGxfYW5kX2Rvd259IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgaDMgLFxyXG4gICAgICBwIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxufVxyXG4iLCJAaW1wb3J0IFwic3R5bGVzL3ZhcmlhYmxlcy5zY3NzXCI7XHJcblxyXG4vLyBBbmltYXRpb24gbWl4aW5cclxuXHJcbkBtaXhpbiBrZXlmcmFtZSgkYW5pbWF0aW9uLW5hbWUpIHtcclxuICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhbmltYXRpb24oJHN0cikge1xyXG4gIGFuaW1hdGlvbjogI3skc3RyfTtcclxufVxyXG5cclxuLy8gR3JhZGllbnQgbWl4aW5cclxuXHJcbkBtaXhpbiBncmFkaWVudF9ibGFja18yIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgdG8gdG9wLFxyXG4gICAgICBoc2woMCwgMCUsIDAlKSAwJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuNzM4KSAxOSUsXHJcbiAgICAgIGhzbGEoMCwgMCUsIDAlLCAwLjU0MSkgMzQlLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4zODIpIDQ3JSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMjc4KSA1Ni41JSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMTk0KSA2NSUsXHJcbiAgICAgIGhzbGEoMCwgMCUsIDAlLCAwLjEyNikgNzMlLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4wNzUpIDgwLjIlLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4wNDIpIDg2LjElLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4wMjEpIDkxJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMDA4KSA5NS4yJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMDAyKSA5OC4yJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDApIDEwMCVcclxuICAgICk7XHJcbiAgfVxyXG4gICVncmFkaWVudF9ibGFja18yIHtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50X2JsYWNrXzI7XHJcbiAgfVxyXG5cclxuICBAbWl4aW4gZ3JhZGllbnRfYmxhY2tfMyB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICAgIHRvIHJpZ2h0LFxyXG4gICAgICBoc2woMCwgMCUsIDAlKSAwJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuNzM4KSAxOSUsXHJcbiAgICAgIGhzbGEoMCwgMCUsIDAlLCAwLjU0MSkgMzQlLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4zODIpIDQ3JSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMjc4KSA1Ni41JSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMTk0KSA2NSUsXHJcbiAgICAgIGhzbGEoMCwgMCUsIDAlLCAwLjEyNikgNzMlLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4wNzUpIDgwLjIlLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4wNDIpIDg2LjElLFxyXG4gICAgICBoc2xhKDAsIDAlLCAwJSwgMC4wMjEpIDkxJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMDA4KSA5NS4yJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMDAyKSA5OC4yJSxcclxuICAgICAgaHNsYSgwLCAwJSwgMCUsIDApIDEwMCVcclxuICAgICk7XHJcbiAgfVxyXG4gICVncmFkaWVudF9ibGFja18zIHtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50X2JsYWNrXzM7XHJcbiAgfVxyXG4vLyBJY29ucyBtaXhpblxyXG5cclxuQG1peGluIGljb25fY2xvc2Vfd3JwIHtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIHdpZHRoOiAzLjMzM3JlbTtcclxuICAgIGhlaWdodDogMy4zMzNyZW07XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gICVpY29uX2Nsb3NlX3dycCB7XHJcbiAgICBAaW5jbHVkZSBpY29uX2Nsb3NlX3dycDtcclxuICB9XHJcbiAgQG1peGluIGljb25fY2xvc2Uge1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgaGVpZ2h0OiAyLjIyMnJlbTtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAuNTU1cmVtO1xyXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuICB9XHJcbiAgJWljb25fY2xvc2Uge1xyXG4gICAgQGluY2x1ZGUgaWNvbl9jbG9zZTtcclxuICB9XHJcbiAgQG1peGluIGljb25fcGxheSB7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3Jlc291cmNlcy9wbGF5LnN2Zyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICVpY29uX3BsYXkge1xyXG4gICAgQGluY2x1ZGUgaWNvbl9wbGF5O1xyXG4gIH1cclxuIiwiQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXNcIjtcclxuXHJcbi5jcGwtZ3otcmFjaW5nLWNhci1tb2RlbHMge1xyXG4gICAgLmNwbC1nei1tb2RlbHMtbGlzdCB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG4gICAgICAgIC5jcGwtZ3otbW9kZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDZyZW0pLzQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG4rNSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNwbC1jYXJkLWltZyB7XHJcbiAgICAgICAgICAgICAgICAuY3BsLWFyIHtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOmF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jcGwtY2FyZC1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmdyLXN1cHJhIHtcclxuICAgICAgICAgICAgICAgIC5jcGwtY2FyZC1pbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIC5jcGwtYXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA4NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA4NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg1JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNtYWxsX2FuZF9kb3dufSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXNcIjtcclxuXHJcbi5jcGwtYXIge1xyXG4gIGhlaWdodDogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgJi0xLTEge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcbiAgfVxyXG5cclxuICAmLTE2LTkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuICB9XHJcbiAgJi0xNS03IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0Ni42NyU7XHJcbiAgfVxyXG5cclxuICAmLWdhbGxlcnkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQxLjY2NjY3JTtcclxuXHJcbiAgICBAbWVkaWEgI3skc21hbGxfYW5kX2Rvd259IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlc1wiO1xyXG5cclxuLmNwbC1icmFuZC1iZyB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgJixcclxuICBwaWN0dXJlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcblxyXG4gIHBpY3R1cmUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2LCAxLjA2KSB0cmFuc2xhdGVaKDApO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzO1xyXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcclxuICB9XHJcblxyXG4gICYuY3BsLWFuaW1hdGVkIHtcclxuICAgIHBpY3R1cmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVooMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlc1wiO1xyXG5cclxuLmNwbC1jYXJkIHtcclxuICAmLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XHJcblxyXG4gICAgaDQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi1saW5rIHtcclxuICAgIGltZyB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWigwKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYsIDEuMDYpIHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtc2lkZSB7XHJcbiAgICBAbWVkaWEgI3skc21hbGxfYW5kX3VwfSB7XHJcbiAgICAgIC8qIGF1dG9wcmVmaXhlciBncmlkOiBuby1hdXRvcGxhY2UgKi9cclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgIGdyaWQtZ2FwOiAkcGFkX3NpemVfNTtcclxuXHJcbiAgICAgIF86LW1zLWZ1bGxzY3JlZW4sIDpyb290ICYge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRwYWRfc2l6ZV81O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgXzotbXMtZnVsbHNjcmVlbiwgOnJvb3QgJiB7XHJcbiAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZF9zaXplXzQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRfc2l6ZV80O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNwbC1jYXJkLWltZyB7XHJcbiAgICAgICAgLyogYXV0b3ByZWZpeGVyIGdyaWQ6IG5vLWF1dG9wbGFjZSAqL1xyXG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY3BsLWNhcmQtY29udGVudCB7XHJcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JGxhcmdlX2FuZF91cH0ge1xyXG4gICAgICAvKiBhdXRvcHJlZml4ZXIgZ3JpZDogbm8tYXV0b3BsYWNlICovXHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MiUgLSA2NHB4KSAzOCU7XHJcbiAgICAgIGdyaWQtZ2FwOiAkcGFkX3NpemVfODtcclxuICAgICAgLmNwbC1jYXJkLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRfc2l6ZV82O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIGRlZmF1bHQgdGhlbWVcbi5sZy1hY3Rpb25zIHtcbiAgICAubGctbmV4dCwgLmxnLXByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGctbmV4dC1wcmV2LWJnO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbGctYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICBjb2xvcjogJGxnLW5leHQtcHJldi1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHggOXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB6LWluZGV4OiAkemluZGV4LWNvbnRyb2xzO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGctbmV4dC1wcmV2LWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLW5leHQge1xuICAgICAgICByaWdodDogMjBweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTA5NVwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxnLXByZXYge1xuICAgICAgICBsZWZ0OiAyMHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUwOTRcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKGxnLXJpZ2h0LWVuZCkge1xuICAgIDAlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cblxuQGluY2x1ZGUga2V5ZnJhbWVzKGxnLWxlZnQtZW5kKSB7XG4gICAgMCUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG5cbi5sZy1vdXRlciB7XG4gICAgJi5sZy1yaWdodC1lbmQge1xuICAgICAgICAubGctb2JqZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihsZy1yaWdodC1lbmQgMC4zcyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxnLWxlZnQtZW5kIHtcbiAgICAgICAgLmxnLW9iamVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24obGctbGVmdC1lbmQgMC4zcyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGxnIHRvb2xiYXJcbi5sZy10b29sYmFyIHtcbiAgICB6LWluZGV4OiAkemluZGV4LXRvb2xiYXI7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsZy10b29sYmFyLWJnO1xuXG4gICAgLmxnLWljb24ge1xuICAgICAgICBjb2xvcjogJGxnLXRvb2xiYXItaWNvbi1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgaGVpZ2h0OiA0N3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3V0bGluZTogbWVkaXVtIG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAwLjJzIGxpbmVhcik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxnLXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1jbG9zZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUwNzBcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1kb3dubG9hZCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUwZjJcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gbGlnaHRHYWxsZXJ5IHRpdGxlXG4ubGctc3ViLWh0bWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsZy1zdWItaHRtbC1iZztcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICRsZy1zdWItaHRtbC1jb2xvcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAkemluZGV4LXN1Ymh0bWw7XG5cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgfVxufVxuXG4vLyBsZyBpbWFnZSBjb3VudGVyXG4jbGctY291bnRlciB7XG4gICAgY29sb3I6ICRsZy1pY29uLWNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRsZy1jb3VudGVyLWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gZm9yIGlkbGUgc3RhdGVcbi5sZy10b29sYmFyLCAubGctcHJldiwgLmxnLW5leHQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbSh0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgY29sb3IgMC4ycyBsaW5lYXIpO1xufVxuXG4ubGctaGlkZS1pdGVtcyB7XG4gICAgLmxnLXByZXYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgLmxnLW5leHQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICAubGctdG9vbGJhciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB9XG59XG5cbi8vIFN0YXJ0aW5nIGVmZmVjdFxuYm9keTpub3QoLmxnLWZyb20taGFzaCl7XG4gICAgLmxnLW91dGVyIHtcbiAgICAgICAgJi5sZy1zdGFydC16b29te1xuICAgICAgICAgICAgLmxnLW9iamVjdHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbSh0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKDUwJSA1MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxnLWl0ZW0ubGctY29tcGxldGV7XG4gICAgICAgICAgICAgICAgLmxnLW9iamVjdHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuLy8gLSBjdXJzb3IgZ3JhYlxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbn1cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRkZWxheSkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbC1tb2RlKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBALW1zLWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG5AbWl4aW4gaHlwaGVucygkbW9kZTogYXV0bykge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgIC1tb3otaHlwaGVuczogJG1vZGU7XG4gICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG59XG5cbkBtaXhpbiBzY2FsZVgoJHJhdGlvKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgIC1vLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cblxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOSBvbmx5XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xufVxuXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuXG5AbWl4aW4gc2NhbGUzZCgkeCwgJHksICR6KSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoJHgsICR5LCAkeik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKCR4LCAkeSwgJHopO1xufVxuXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpIHtcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG4vLyB0cmFuc2l0aW9uIGN1c3RvbVxuXG5AZnVuY3Rpb24gcHJlZml4KCRwcm9wZXJ0eSwgJHByZWZpeGVzOiB3ZWJraXQgbW96IG8gbXMpIHtcbiAgICAkdmVuZG9yLXByZWZpeGVkLXByb3BlcnRpZXM6IHRyYW5zZm9ybSBiYWNrZ3JvdW5kLWNsaXAgYmFja2dyb3VuZC1zaXplO1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICAgICBAaWYgaW5kZXgoJHZlbmRvci1wcmVmaXhlZC1wcm9wZXJ0aWVzLCAkcHJvcGVydHkpIHtcbiAgICAgICAgICAgICRwcm9wZXJ0eTogLSN7JHByZWZpeH0tI3skcHJvcGVydHl9O1xuICAgICAgICB9XG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkcHJvcGVydHkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbkBmdW5jdGlvbiB0cmFucy1wcmVmaXgoJHRyYW5zaXRpb24sICRwcmVmaXg6IG1veikge1xuICAgICRwcmVmaXhlZDogKCk7XG5cbiAgICBAZWFjaCAkdHJhbnMgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgICAkcHJvcC1uYW1lOiBudGgoJHRyYW5zLCAxKTtcbiAgICAgICAgJHZlbmRvci1wcm9wLW5hbWU6IHByZWZpeCgkcHJvcC1uYW1lLCAkcHJlZml4KTtcbiAgICAgICAgJHByb3AtdmFsczogbnRoKCR0cmFucywgMik7XG4gICAgICAgICRwcmVmaXhlZDogYXBwZW5kKCRwcmVmaXhlZCwgJHZlbmRvci1wcm9wLW5hbWUgJHByb3AtdmFscywgY29tbWEpO1xuICAgIH1cbiAgICBAcmV0dXJuICRwcmVmaXhlZDtcbn1cblxuQG1peGluIHRyYW5zaXRpb25DdXN0b20oJHZhbHVlcy4uLikge1xuICAgICR0cmFuc2l0aW9uczogKCk7XG5cbiAgICBAZWFjaCAkZGVjbGFyYXRpb24gaW4gJHZhbHVlcyB7XG4gICAgICAgICRwcm9wOiBudGgoJGRlY2xhcmF0aW9uLCAxKTtcbiAgICAgICAgJHByb3Atb3B0czogKCk7XG4gICAgICAgICRsZW5ndGg6IGxlbmd0aCgkZGVjbGFyYXRpb24pO1xuXG4gICAgICAgIEBpZiAkbGVuZ3RoID49IDIge1xuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAgICAgICAkcHJvcC1vcHRzOiBhcHBlbmQoJHByb3Atb3B0cywgbnRoKCRkZWNsYXJhdGlvbiwgJGkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkdHJhbnM6ICRwcm9wLCAkcHJvcC1vcHRzO1xuICAgICAgICAkdHJhbnNpdGlvbnM6IGFwcGVuZCgkdHJhbnNpdGlvbnMsICR0cmFucywgY29tbWEpO1xuICAgIH1cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zLXByZWZpeCgkdHJhbnNpdGlvbnMsIHdlYmtpdCk7XG4gICAgLW1vei10cmFuc2l0aW9uOiB0cmFucy1wcmVmaXgoJHRyYW5zaXRpb25zLCBtb3opO1xuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zLXByZWZpeCgkdHJhbnNpdGlvbnMsIG8pO1xuICAgIHRyYW5zaXRpb246ICR2YWx1ZXM7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG4vLyBtb3VzZSBncmFiXG5cbkBtaXhpbiBncmFiLWN1cnNvciB7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gICAgY3Vyc29yOiAtbW96LWdyYWI7XG4gICAgY3Vyc29yOiAtby1ncmFiO1xuICAgIGN1cnNvcjogLW1zLWdyYWI7XG4gICAgY3Vyc29yOiBncmFiO1xufVxuXG5AbWl4aW4gZ3JhYmJpbmctY3Vyc29yIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgICBjdXJzb3I6IC1vLWdyYWJiaW5nO1xuICAgIGN1cnNvcjogLW1zLWdyYWJiaW5nO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG59XG4iLCIubGctb3V0ZXIge1xuICAgIC5sZy10aHVtYi1vdXRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsZy10aHVtYi1iZztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAkemluZGV4LXRodW1ibmFpbDtcbiAgICAgICAgbWF4LWhlaWdodDogMzUwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMpO1xuXG4gICAgICAgICYubGctZ3JhYiB7XG4gICAgICAgICAgICAubGctdGh1bWItaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhYi1jdXJzb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmxnLWdyYWJiaW5nIHtcbiAgICAgICAgICAgIC5sZy10aHVtYi1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFiYmluZy1jdXJzb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmxnLWRyYWdnaW5nIHtcbiAgICAgICAgICAgIC5sZy10aHVtYiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwcyAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmxnLXRodW1iLW9wZW57XG4gICAgICAgIC5sZy10aHVtYi1vdXRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGctdGh1bWIge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICB9XG5cbiAgICAubGctdGh1bWItaXRlbSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjRkZGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgMC4yNXMgZWFzZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRsZy10aGVtZS1oaWdobGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGctaGFzLXRodW1iIHtcbiAgICAgICAgLmxnLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZy1jYW4tdG9nZ2xlIHtcbiAgICAgICAgLmxnLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5sZy1wdWxsLWNhcHRpb24tdXB7XG4gICAgICAgIC5sZy1zdWItaHRtbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvdHRvbSAwLjI1cyBlYXNlKTtcbiAgICAgICAgfVxuICAgICAgICAmLmxnLXRodW1iLW9wZW57XG4gICAgICAgICAgICAubGctc3ViLWh0bWwge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGctdG9nZ2xlLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxnLXRodW1iLXRvZ2dsZS1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGxnLWJvcmRlci1yYWRpdXMtYmFzZSAkbGctYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICAgICAgY29sb3I6ICRsZy10aHVtYi10b2dnbGUtY29sb3I7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IC0zOXB4O1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgb3V0bGluZTogbWVkaXVtIG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMWZmXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGctdGh1bWItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5sZy1vdXRlciB7XG4gICAgLmxnLXZpZGVvLWNvbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1heC13aWR0aDogMTE0MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuXG4gICAgLmxnLXZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5sZy1vYmplY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sZy12aWRlby1wbGF5IHtcbiAgICAgICAgICAgIHdpZHRoOiA4NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1OXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQycHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICAgICAgICAgIHotaW5kZXg6ICR6aW5kZXgtcGxheWJ1dHRvbjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1oYXMtdmltZW97XG4gICAgICAgIC5sZy12aWRlby1wbGF5e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiI3skbGctcGF0aC1pbWFnZXN9L3ZpbWVvLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAubGctdmlkZW8tcGxheXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRsZy1wYXRoLWltYWdlc30vdmltZW8tcGxheS5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIC01OHB4IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfSBcblxuICAgICAgICB9ICBcbiAgICB9XG5cbiAgICAubGctaGFzLWh0bWw1e1xuICAgICAgICAubGctdmlkZW8tcGxheXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIiN7JGxnLXBhdGgtaW1hZ2VzfS92aWRlby1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDtcbiAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzJweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIH0gIFxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmxnLXZpZGVvLXBsYXl7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICAgICAgfSBcblxuICAgICAgICB9IFxuICAgIH1cblxuICAgIC5sZy1oYXMteW91dHViZXtcbiAgICAgICAgLmxnLXZpZGVvLXBsYXl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRsZy1wYXRoLWltYWdlc30veW91dHViZS1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmxnLXZpZGVvLXBsYXl7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiI3skbGctcGF0aC1pbWFnZXN9L3lvdXR1YmUtcGxheS5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIC02MHB4IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfSBcblxuICAgICAgICB9ICBcbiAgICB9XG4gICAgLmxnLXZpZGVvLW9iamVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAubGctaGFzLXZpZGVvIHtcbiAgICAgICAgLmxnLXZpZGVvLW9iamVjdCB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAmLmxnLXZpZGVvLXBsYXlpbmcge1xuICAgICAgICAgICAgLmxnLW9iamVjdCwgLmxnLXZpZGVvLXBsYXkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZy12aWRlby1vYmplY3Qge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmxnLXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxnLXByb2dyZXNzLWJhci1iZztcbiAgICBoZWlnaHQ6ICRsZy1wcm9ncmVzcy1iYXItaGVpZ2h0O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAkemluZGV4LXByb2dyZXNzYmFyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbShvcGFjaXR5IDAuMDhzIGVhc2UgMHMpO1xuXG4gICAgLmxnLXByb2dyZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxnLXByb2dyZXNzLWJhci1hY3RpdmUtYmc7XG4gICAgICAgIGhlaWdodDogJGxnLXByb2dyZXNzLWJhci1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgIH1cblxuICAgICYubGctc3RhcnQge1xuICAgICAgICAubGctcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGctc2hvdy1hdXRvcGxheSAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5sZy1hdXRvcGxheS1idXR0b24ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICAubGctc2hvdy1hdXRvcGxheSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMDFhXCI7XG4gICAgICAgIH1cbiAgICAgICAgY29udGVudDogXCJcXGUwMWRcIjtcbiAgICB9XG59IiwiLmxnLW91dGVyIHtcbiAgICAvLyByZXNldCB0cmFuc2l0aW9uIGR1cmF0aW9uXG4gICAgJi5sZy1jc3MzLmxnLXpvb20tZHJhZ2dpbmcge1xuICAgICAgICAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSB7XG4gICAgICAgICAgICAubGctaW1nLXdyYXAsIC5sZy1pbWFnZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5sZy11c2UtdHJhbnNpdGlvbi1mb3Item9vbSB7XG4gICAgICAgIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIHtcbiAgICAgICAgICAgIC5sZy1pbWctd3JhcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbSh0cmFuc2Zvcm0gJHpvb20tdHJhbnNpdGlvbi1kdXJhdGlvbiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYubGctdXNlLWxlZnQtZm9yLXpvb20ge1xuICAgICAgICAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSB7XG4gICAgICAgICAgICAubGctaW1nLXdyYXAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25DdXN0b20obGVmdCAkem9vbS10cmFuc2l0aW9uLWR1cmF0aW9uIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgdG9wICR6b29tLXRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxle1xuXG4gICAgICAgIC5sZy1pbWctd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sZy1pbWFnZSB7XG4gICAgICAgICAgICAvLyBUcmFuc2xhdGUgcmVxdWlyZWQgZm9yIHpvb21cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uQ3VzdG9tKHRyYW5zZm9ybSAkem9vbS10cmFuc2l0aW9uLWR1cmF0aW9uIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjE1cyAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oMCAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyB6b29tIGJ1dHRvbnNcbiNsZy16b29tLWluIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGUzMTFcIjtcbiAgICB9XG59XG5cbiNsZy1hY3R1YWwtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTAzM1wiO1xuICAgIH1cbn1cblxuI2xnLXpvb20tb3V0IHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGUzMTJcIjtcbiAgICB9XG5cbiAgICAubGctem9vbWVkICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL3N0eWxlcy92YXJpYWJsZXNcIjtcclxuXHJcbi8vICRsZy10aGVtZTogJGNscl9ncmF5MTY7XHJcbi8vICRsZy1pY29uLWNvbG9yOiAkY2xyX2dyYXlkNztcclxuJGxnLXBhdGgtaW1hZ2VzOiAnLi4vaW1nL3Jlc291cmNlcyc7XHJcbi8vICR6aW5kZXgtb3V0ZXI6IDEwMDUwO1xyXG4vLyAkemluZGV4LXByb2dyZXNzYmFyOiAxMDA4MztcclxuLy8gJHppbmRleC1jb250cm9sczogMTAwODA7XHJcbi8vICR6aW5kZXgtdG9vbGJhcjogMTAwODI7XHJcbi8vICR6aW5kZXgtc3ViaHRtbDogMTAwODA7XHJcbi8vICR6aW5kZXgtdGh1bWJuYWlsOiAxMDA4MDtcclxuLy8gJHppbmRleC1wYWdlcjogMTAwODA7XHJcbi8vICR6aW5kZXgtcGxheWJ1dHRvbjogMTAwODA7XHJcbi8vICR6aW5kZXgtaXRlbTogMTAwNjA7XHJcbi8vICR6aW5kZXgtYmFja2Ryb3A6IDEwMDQwO1xyXG5cclxuQGltcG9ydCBcImxpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy12YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwibGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xnLW1peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJsaWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctdGhlbWUtZGVmYXVsdC5zY3NzXCI7XHJcbkBpbXBvcnQgXCJsaWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctdGh1bWJuYWlsLnNjc3NcIjtcclxuQGltcG9ydCBcImxpZ2h0Z2FsbGVyeS5qcy9zcmMvc2Fzcy9sZy12aWRlby5zY3NzXCI7XHJcbkBpbXBvcnQgXCJsaWdodGdhbGxlcnkuanMvc3JjL3Nhc3MvbGctYXV0b3BsYXkuc2Nzc1wiO1xyXG5AaW1wb3J0IFwibGlnaHRnYWxsZXJ5LmpzL3NyYy9zYXNzL2xnLXpvb20uc2Nzc1wiO1xyXG5cclxuLy8tLS0gbGlnaHRnYWxsZXJ5LmpzIENTU1xyXG5cclxuLy8gQ2xlYXJmaXhcclxuLmdyb3VwIHtcclxuICAqem9vbTogMTtcclxufVxyXG4uZ3JvdXAge1xyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBsaWdodGdhbGxlcnkgY29yZVxyXG4ubGctb3V0ZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkemluZGV4LW91dGVyO1xyXG4gIC8vIEZvciBzdGFydC9lbmQgdHJhbnNpdGlvblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGVhc2UgMHMpO1xyXG5cclxuICAqIHtcclxuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgfVxyXG5cclxuICAmLmxnLXZpc2libGUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIC8vIFNldCB0cmFuc2l0aW9uIHNwZWVkIGFuZCB0aW1pbmcgZnVuY3Rpb25cclxuICAmLmxnLWNzczMge1xyXG4gICAgLmxnLWl0ZW0ge1xyXG4gICAgICAmLmxnLXByZXYtc2xpZGUsXHJcbiAgICAgICYubGctbmV4dC1zbGlkZSxcclxuICAgICAgJi5sZy1jdXJyZW50IHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKGluaGVyaXQgIWltcG9ydGFudCk7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oaW5oZXJpdCAhaW1wb3J0YW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIHRyYW5zaXRpb24gd2hpbGUgZHJhZ2dpbmdcclxuICAmLmxnLWNzczMubGctZHJhZ2dpbmcge1xyXG4gICAgLmxnLWl0ZW0ge1xyXG4gICAgICAmLmxnLXByZXYtc2xpZGUsXHJcbiAgICAgICYubGctbmV4dC1zbGlkZSxcclxuICAgICAgJi5sZy1jdXJyZW50IHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDBzICFpbXBvcnRhbnQpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFNldCBjdXJzb3IgZ3JhYiB3aGlsZSBkcmFnZ2luZ1xyXG4gICYubGctZ3JhYiB7XHJcbiAgICBpbWcubGctb2JqZWN0IHtcclxuICAgICAgQGluY2x1ZGUgZ3JhYi1jdXJzb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmxnLWdyYWJiaW5nIHtcclxuICAgIGltZy5sZy1vYmplY3Qge1xyXG4gICAgICBAaW5jbHVkZSBncmFiYmluZy1jdXJzb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLmxnLWlubmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAubGctaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRsZy1wYXRoLWltYWdlc30vbG9hZGluZy5naWZcIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIHRyYW5zcGFyZW50O1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJi5sZy1jc3MzIHtcclxuICAgIC5sZy1wcmV2LXNsaWRlLFxyXG4gICAgLmxnLWN1cnJlbnQsXHJcbiAgICAubGctbmV4dC1zbGlkZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5sZy1jc3Mge1xyXG4gICAgLmxnLWN1cnJlbnQge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sZy1pdGVtLFxyXG4gIC5sZy1pbWctd3JhcCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgIGhlaWdodDogNTAlO1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sZy1pbWctd3JhcCB7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5sZy1pdGVtIHtcclxuICAgICYubGctY29tcGxldGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYubGctY3VycmVudCB7XHJcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtaXRlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sZy1pbWFnZSB7XHJcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcblxyXG4gICYubGctc2hvdy1hZnRlci1sb2FkIHtcclxuICAgIC5sZy1pdGVtIHtcclxuICAgICAgLmxnLW9iamVjdCxcclxuICAgICAgLmxnLXZpZGVvLXBsYXkge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgZWFzZSAwcyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGctY29tcGxldGUge1xyXG4gICAgICAgIC5sZy1vYmplY3QsXHJcbiAgICAgICAgLmxnLXZpZGVvLXBsYXkge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEhpZGUgdGl0bGUgZGl2IGlmIGVtcHR5XHJcbiAgLmxnLWVtcHR5LWh0bWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICYubGctaGlkZS1kb3dubG9hZCB7XHJcbiAgICAjbGctZG93bmxvYWQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxnLWJhY2tkcm9wIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgLjc1KTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogJHppbmRleC1iYWNrZHJvcDtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBlYXNlIDBzKTtcclxuXHJcbiAgJi5pbiB7XHJcbiAgICBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTtcclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBub25lKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgLjUpO1xyXG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKC4zZW0pO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRGVmYXVsdCBzbGlkZSBhbmltYXRpb25zLiBTaG91bGQgYmUgcGxhY2VkIGF0IHRoZSBib3R0b20gb2YgdGhlIGFuaW1hdGlvbiBDU1MuXHJcbi5sZy1jc3MzIHtcclxuICAvLyBSZW1vdmUgYWxsIHRyYW5zaXRpb24gZWZmZWN0c1xyXG4gICYubGctbm8tdHJhbnMge1xyXG4gICAgLmxnLXByZXYtc2xpZGUsXHJcbiAgICAubGctbmV4dC1zbGlkZSxcclxuICAgIC5sZy1jdXJyZW50IHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbShub25lIDBzIGVhc2UgMHMgIWltcG9ydGFudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmxnLXVzZS1jc3MzIHtcclxuICAgIC5sZy1pdGVtIHtcclxuICAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5sZy11c2UtbGVmdCB7XHJcbiAgICAubGctaXRlbSB7XHJcbiAgICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEZhZGUgbW9kZVxyXG4gICYubGctZmFkZSB7XHJcbiAgICAubGctaXRlbSB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAmLmxnLWN1cnJlbnQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHRyYW5zaXRpb24gdGltaW5nIHByb3BlcnR5IGFuZCBkdXJhdGlvbiB3aWxsIGJlIG92ZXIgd3JpdHRlbiBmcm9tIEphdmFTY3JpcHRcclxuICAgICAgJi5sZy1wcmV2LXNsaWRlLFxyXG4gICAgICAmLmxnLW5leHQtc2xpZGUsXHJcbiAgICAgICYubGctY3VycmVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbkN1c3RvbShvcGFjaXR5IC4xcyBlYXNlIDBzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5sZy1zbGlkZSB7XHJcbiAgICAmLmxnLXVzZS1jc3MzIHtcclxuICAgICAgLmxnLWl0ZW0ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgICYubGctcHJldi1zbGlkZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxnLW5leHQtc2xpZGUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxnLWN1cnJlbnQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdHJhbnNpdGlvbiB0aW1pbmcgcHJvcGVydHkgYW5kIGR1cmF0aW9uIHdpbGwgYmUgb3ZlciB3cml0dGVuIGZyb20gSmF2YVNjcmlwdFxyXG4gICAgICAgICYubGctcHJldi1zbGlkZSxcclxuICAgICAgICAmLmxnLW5leHQtc2xpZGUsXHJcbiAgICAgICAgJi5sZy1jdXJyZW50IHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25DdXN0b20odHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAuMjUsIDEpIDBzLCBvcGFjaXR5IC4xcyBlYXNlIDBzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmxnLXVzZS1sZWZ0IHtcclxuICAgICAgLmxnLWl0ZW0ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgICYubGctcHJldi1zbGlkZSB7XHJcbiAgICAgICAgICBsZWZ0OiAtMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubGctbmV4dC1zbGlkZSB7XHJcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sZy1jdXJyZW50IHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gVHJhbnNpdGlvbiB0aW1pbmcgcHJvcGVydHkgYW5kIGR1cmF0aW9uIHdpbGwgYmUgb3ZlciB3cml0dGVuIGZyb20gSmF2YVNjcmlwdFxyXG4gICAgICAgICYubGctcHJldi1zbGlkZSxcclxuICAgICAgICAmLmxnLW5leHQtc2xpZGUsXHJcbiAgICAgICAgJi5sZy1jdXJyZW50IHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb25DdXN0b20obGVmdCAxcyBjdWJpYy1iZXppZXIoMCwgMCwgLjI1LCAxKSAwcywgb3BhY2l0eSAuMXMgZWFzZSAwcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPdmVyd3JpdGUgZGVmYXVsdCBDU1NcclxuXHJcbi5sZy10b29sYmFyIHtcclxuICB3aWR0aDogYXV0bztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogYXV0bztcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gIC5sZy1oaWRlLWl0ZW1zICYge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4MCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgLmxnLWljb24ge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGljb25fY2xvc2Vfd3JwO1xyXG4gIH1cclxuXHJcbiAgLmxnLWNsb3NlIHtcclxuICAgIEBpbmNsdWRlIGljb25fY2xvc2U7XHJcbiAgfVxyXG59XHJcblxyXG4jbGctem9vbS1pbixcclxuI2xnLXpvb20tb3V0IHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbiNsZy16b29tLWluIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcmVzb3VyY2VzL2ljb24tem9vbS1pbi5zdmdcIik7XHJcbn1cclxuI2xnLXpvb20tb3V0IHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcmVzb3VyY2VzL2ljb24tem9vbS1vdXQuc3ZnXCIpO1xyXG59XHJcblxyXG4ubGctb3V0ZXIge1xyXG4gIC5sZy1pdGVtIHtcclxuICAgICY6bm90KC5sZy1jdXJyZW50KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGctdmlkZW8tY29udCB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLmxnLXZpZGVvIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLmxnLWhhcy15b3V0dWJlIHtcclxuICAgIC5sZy12aWRlby1wbGF5IHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGljb25fcGxheTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAuNzU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5sZy12aWRlby1wbGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBpRnJhbWUgd3JhcHBlclxyXG5cclxuLmxnLXZpZGVvIHtcclxuICAmLmlzX2VuZGVkLFxyXG4gICYuaXNfcGF1c2VkIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXNfZW5kZWQ6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0OGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdOVEV5SURRek55NHhJaUJ6ZEhsc1pUMGlaVzVoWW14bExXSmhZMnRuY205MWJtUTZibVYzSURBZ01DQTFNVElnTkRNM0xqRTdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGNHRjBhQ0J6ZEhsc1pUMGlabWxzYkRvalJrWkdSa1pHT3lJZ1pEMGlUVEl5Tnk0eExEUXpOeTR4YUMwNExqVkRPVGdzTkRNM0xqRXNNQ3d6TXprdU1Td3dMREl4T0M0MVF6QXNPVGdzT1Rnc01Dd3lNVGd1TlN3d1l6RXhOeTQyTERBc01qRXpMamtzT1RNdU5Dd3lNVGd1TkN3eU1UQnNOelV1TVN3d1RETTRNQzR4TERNMk1DNDRUREkwT0M0eUxESXhNR3czTkM0MkxEQmpMVFF1TkMwMU15NDNMVFE1TGpRdE9UWXRNVEEwTGpJdE9UWkRNVFl3TGprc01URTBMREV4TkN3eE5qQXVPU3d4TVRRc01qRTRMalZqTUN3MU55NDJMRFEyTGprc01UQTBMalVzTVRBMExqVXNNVEEwTGpWb09DNDFWalF6Tnk0eGVpQk5NakU0TGpVc01UY3VNV010TVRFeExqRXNNQzB5TURFdU5DdzVNQzQwTFRJd01TNDBMREl3TVM0MFl6QXNNVEE0TGpJc09EVXVPQ3d4T1RZdU9Dd3hPVEl1T1N3eU1ERXVNM1l0TnprdU9XTXROak11TVMwMExqUXRNVEV6TGpFdE5UY3VNUzB4TVRNdU1TMHhNakV1TTJNd0xUWTNMakVzTlRRdU5pMHhNakV1Tml3eE1qRXVOaTB4TWpFdU5tTTJOeTR4TERBc01USXhMallzTlRRdU5pd3hNakV1Tml3eE1qRXVOblk0TGpWc0xUVTBMak1zTUd3NU5DNHlMREV3Tnk0M2JEazBMakl0TVRBM0xqZHNMVFUwTGpNc01IWXRPQzQxUXpReU1Dd3hNRGN1TlN3ek1qa3VOaXd4Tnk0eExESXhPQzQxTERFM0xqRjZJaTgrUEM5emRtYyspO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA2NHB4O1xyXG4gIH1cclxuXHJcbiAgJi5pc19wYXVzZWQ6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4O2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFaUlIZHBaSFJvUFNJeE56QTJMalkyTnlJZ2FHVnBaMmgwUFNJeE56QTJMalkyTnlJZ2RtbGxkMEp2ZUQwaU1DQXdJREV5T0RBZ01USTRNQ0krUEhCaGRHZ2daRDBpVFRFMU55NDJNelVnTWk0NU9EUk1NVEkyTUM0NU56a2dOalF3SURFMU55NDJNelVnTVRJM055NHdNVFo2SWlCbWFXeHNQU0lqWm1abUlpOCtQQzl6ZG1jKyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQ0cHg7XHJcbiAgfVxyXG59XHJcbiIsIi5jcGwtZ3otcmFjaW5nLWFjY29yZGlvbi1jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgIC5jcGwtZ3otcmFjaW5nLXRpbWVsaW5lIHtcclxuICAgICAgICAuY3BsLWd6LXJhY2luZy1yYWNlLWluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIHNwYW4uY2lyY2xlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjVyZW07XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuN3JlbTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuN3JlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC42NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjY1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNwbC1jYXJkLXNpZGUge1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlX2FuZF91cH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSA0OHB4KSA0MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6ICRwYWRfc2l6ZV82O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMS41cmVtKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDEuMjVyZW07XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgc3Bhbi5jaXJjbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGd6LXJhY2luZy1yZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JG1lZGl1bV9hbmRfZG93bn0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMS44cmVtKTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDEuN3JlbTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLjg1cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn0iLCJAaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlc1wiO1xyXG5cclxuLmNwbC1hY2NvcmRpb24ge1xyXG5cclxuICAgIC5jcGwtYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jcGwtYWNjb3JkaW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07XHJcbiAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgIC8vIHBvaW50ZXI6IGN1cnNvcjtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yZXNvdXJjZXMvYXJyb3ctcmlnaHQtd2hpdGUuc3ZnKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTlweDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtX2FuZF9kb3dufSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEuNDNyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jcGwtYWNjb3JkaW9uLWJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMS44NzVyZW07XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjRzIGVhc2U7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMS44NzVyZW07XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW1fYW5kX2Rvd259IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuM3JlbSAxLjQzcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNob3dfYWNjb3JkaW9uIHtcclxuXHJcbiAgICAgICAgICAgIC5jcGwtYWNjb3JkaW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY3BsLWFjY29yZGlvbi1ib2R5IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vc3R5bGVzL3ZhcmlhYmxlc1wiO1xyXG5cclxuLmNwbC1nei1yYWNpbmctdGFibGUtZ3Age1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVyZW0pO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAuY3BsLXRhYmxlIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwcHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjYyNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS42MjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLm5vLWRhdGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjE2MTYxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJltyb3dzcGFuXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jcGwtdGhlYWQtYmctcmVkIHtcclxuICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGd6LXJhY2luZy1yZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNwbC10YWJsZS13aXRoLWJvcmRlci13aGl0ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgIHRoZWFkIHRyIHRoOm5vdCg6bGFzdC1jaGlsZCksXHJcbiAgICAgICAgICAgIHRib2R5IHRyIHRkOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0Ym9keSB0ciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRtZWRpdW1fYW5kX2Rvd259IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcclxuICAgIH1cclxufSJdfQ== */