@import "https://cdn.jsdelivr.net/npm/locomotive-scroll@3.5.4/dist/locomotive-scroll.css";
@import "https://cdnjs.cloudflare.com/ajax/libs/Swiper/7.0.0/swiper-bundle.min.css";

.u-flex {
    display: -ms-flexbox;
    display: flex
}

.u-flex--align-center {
    -ms-flex-align: center;
    align-items: center
}

.u-flex--align-end {
    -ms-flex-align: end;
    align-items: flex-end
}

.u-flex--align-start {
    -ms-flex-align: start;
    align-items: flex-start
}

.u-flex--justify-center {
    -ms-flex-pack: center;
    justify-content: center
}

.u-flex--justify-between {
    -ms-flex-pack: justify;
    justify-content: space-between
}

.u-flex--justify-start {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.u-flex--justify-end {
    -ms-flex-pack: end;
    justify-content: flex-end
}

.u-flex--justify-around {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.u-flex--wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.u-flex--center {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.u-flex--column {
    -ms-flex-direction: column;
    flex-direction: column
}

.u-flex--column.u-flex--reverse {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

:root {
    --ease-in-quad: cubic-bezier(.55, .085, .68, .53);
    --ease-in-cubic: cubic-bezier(.55, .055, .675, .19);
    --ease-in-quart: cubic-bezier(.895, .03, .685, .22);
    --ease-in-quint: cubic-bezier(.755, .05, .855, .06);
    --ease-in-expo: cubic-bezier(.95, .05, .795, .035);
    --ease-in-circ: cubic-bezier(.6, .04, .98, .335);
    --ease-out-quad: cubic-bezier(.25, .46, .45, .94);
    --ease-out-cubic: cubic-bezier(.215, .61, .355, 1);
    --ease-out-quart: cubic-bezier(.165, .84, .44, 1);
    --ease-out-quint: cubic-bezier(.23, 1, .32, 1);
    --ease-out-expo: cubic-bezier(.19, 1, .22, 1);
    --ease-out-circ: cubic-bezier(.075, .82, .165, 1);
    --ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);
    --ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);
    --ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);
    --ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);
    --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
    --ease-in-out-circ: cubic-bezier(.785, .135, .15, .86);
    --header-height: 72px;
    --font-size-display-m: 4.375rem;
    --font-size-title1-m: 3.125rem;
    --font-size-title2-m: 1.875rem;
    --font-size-title3-m: 1.5rem;
    --font-size-title4-m: 1.25rem;
    --font-size-base: 0.875rem;
    --font-size-psmall: 0.75rem;
    --line-height-primary: 1.3;
    font-size: 18px
}

/*.show-up {*/
/*    --ease: var(--ease-out-quad);*/
/*    opacity: 0;*/
/*    transform: translateY(24px);*/
/*    transition: 1s var(--ease);*/
/*    transition-delay: .3s*/
/*}*/

/*.show-up.animated {*/
/*    opacity: 1;*/
/*    transform: translateY(0)*/
/*}*/

/*.fade-in {*/
/*    --ease: var(--ease-out-quad);*/
/*    opacity: 0;*/
/*    transition: .5s var(--ease)*/
/*}*/

/*.fade-in.animated {*/
/*    opacity: 1*/
/*}*/

.doctor__image {
    border-radius: 1.875rem;
    overflow: hidden;
    position: relative
}

.doctor__image-wrapper {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 100%
}

.doctor__image img {
    width: 100%;
    border-radius: 1.875rem;;
}

.results {
    --slide-width: 54vw;
    --slide-height: 65vw
}

.results__slider {
    /*margin-left: -70vw;*/
    margin-top: 96px;
    overflow: hidden;
    position: relative
}

.results__slider, .results__slider > div {
    height: var(--slide-height)
}

.results__slider-wrapper {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: absolute
}

.results__slider-wrapper .slide-img {
    height: var(--slide-height);
    margin-right: 16px;
    position: relative;
    width: var(--slide-width)
}

.results__slider-wrapper .slide-img .slide-img__wrapper {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.results__slider-wrapper .slide-img .slide-img__wrapper > div {
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate3d(-50%, 0, 0)
}

.results__slider-wrapper .slide-img img {
    height: 100%;
    max-width: none
}

.rotation__content, .rotation__initial {
    -ms-flex-align: start;
    align-items: flex-start;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%
}

.rotation__content.u-hidden, .rotation__initial.u-hidden {
    display: none
}

.rotation__initial {
    max-width: 26.6875rem
}

.rotation__content {
    -ms-flex-pack: end;
    justify-content: flex-end;
    opacity: 0;
    width: 100%
}

.rotation__content .section-title {
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    width: auto
}

.rotation__content > div {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 28px;
    padding-left: 60px;
    padding-right: 0;
    position: relative;
    width: 100%
}

.rotation__content .video-progress {
    -ms-flex-positive: 1;
    flex-grow: 1
}

.rotation__content .progress {
    transition: width .3s ease-out
}

.rotation__content #play-rotation-button, .rotation__content #stop-rotation-button, .rotation__content .controls, .rotation__content .more-link {
    position: absolute
}

.rotation__content #play-rotation-button, .rotation__content #stop-rotation-button {
    left: 0;
    margin: 0
}

.rotation__content #stop-rotation-button {
    display: none
}

.rotation__content .more-link {
    bottom: 100%;
    text-decoration: underline
}

.rotation__content .controls {
    bottom: 100%;
    display: -ms-flexbox;
    display: flex;
    right: 0
}

.rotation__content .controls .button {
    height: auto;
    margin: 0
}

/*._non-touch */
.rotation__content .controls .button:hover {
    color: #FFFEDA
}

.rotation__content .controls .button:last-child {
    margin-left: 8px
}

.rotation .section__content, .rotation .u-wrapper {
    height: 100%
}

.rotation .section__content {
    max-width: none
}

.rotation #rotation-start-button {
    left: 50vw;
    margin: 0;
    position: absolute;
    top: 60%;
    transform: translate3d(-50%, 0, 0);
    z-index: 2
}

.accordion {
    overflow: hidden;
    position: relative
}

.accordion__panel {
    border-bottom: 1px solid #000;
    display: block;
    padding-bottom: 32px;
    padding-top: 32px;
    position: relative
}

.accordion__panel:first-child {
    border-top: 1px solid #000
}

.accordion__header {
    cursor: pointer;
    text-align: left;
    width: 100%;
}

.accordion__header * {
    pointer-events: none
}

.accordion__header .title1 {
    padding-right: 48px;
    position: relative
}

.accordion__header .title1 .toggle-icon {
    position: absolute;
    right: 0;
    top: 6px;
    height: 42px;
    width: 42px
}

.accordion__header.active .toggle-icon.plus, .accordion__header .toggle-icon.minus {
    display: none
}

.accordion__header.active .toggle-icon.minus {
    display: block
}

.accordion__content {
    height: 0;
    overflow: hidden;
    position: relative
}

.accordion__content > * {
    max-width: 33.625rem;
    padding-top: 32px
}

.timeline-title-block {
    margin-bottom: 6.125rem
}

.timeline-title-block .section-title .box {
    position: relative
}

.timeline-title-block .section-title .box:after {
    content: "";
    margin-left: 1px;
    position: absolute;
    top: 3px;
    left: -14px
}

.timeline-slider {
    overflow: unset;
    margin-left: 11vw;
    position: relative
}

.timeline-slider:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: #CEDDED;
    z-index: 3;
    overflow: hidden;
    top: 0;
    left: calc(-100% - 80px)
}

.timeline-slider .swiper-slide img {
    border-radius: 30px;
    margin-bottom: 2rem
}

.timeline-slider .swiper-slide .timeline-info {
    margin-bottom: 1.5rem
}

.timeline-slider .swiper-slide .timeline-info h4 {
    font-style: normal;
    font-weight: 500;
    font-size: 1rem;
    line-height: 140%;
    color: #000;
    margin-bottom: 4px
}

.timeline-slider .swiper-slide .timeline-info p {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 140%;
    color: #000
}

.timeline-slider .swiper-slide .line {
    height: 75px;
    margin-bottom: 1.375rem;
    position: relative
}

.timeline-slider .swiper-slide .line svg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1
}

.timeline-slider .swiper-slide .line:after {
    position: absolute;
    content: "";
    top: 50%;
    height: 1px;
    width: 100%;
    background-color: #000
}

.timeline-slider .swiper-slide .timeline-content {
    max-width: 252px
}

.timeline-slider .swiper-slide .timeline-content--hidden {
    max-height: 0;
    overflow: hidden
}

.timeline-slider .swiper-slide .timeline-content p {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 140%;
    color: #000;
    margin-bottom: 22px
}

.timeline-slider .swiper-slide .timeline-content p:last-of-type {
    margin-bottom: 0
}

.timeline-slider .swiper-slide .timeline-content--show-more {
    margin-top: 8px;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 140%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    color: #000
}

.timeline-slider .swiper-slide .timeline-content--show-more span {
    margin-right: 8px
}

.timeline-slider .swiper-slide .timeline-content--show-more svg {
    transition: transform .3s ease
}

.timeline-slider .swiper-slide .timeline-content.content-show .dots {
    display: none
}

.timeline-slider .swiper-slide .timeline-content.content-show button svg {
    transform: rotate(180deg)
}

.timeline-slider .swiper-slide:last-of-type .line:after {
    display: none
}

.advantages {
    width: 90%;
    margin-left: 10%
}

.advantages--cta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.advantages .advantage {
    display: -ms-flexbox;
    display: flex;
    padding: 4.25rem 0 3.125rem;
    border-bottom: 1px solid #000
}

.advantages .advantage:last-of-type {
    border-bottom: none
}

.advantages .advantage--icon-block {
    width: 3.75rem;
    margin-right: 2.5rem
}

.advantages .advantage--title-block {
    width: 33.33%
}

.advantages .advantage--title-block h2 {
    position: relative;
    font-size: var(--font-size-title1-m);
    line-height: 3.4375rem
}

.advantages .advantage--title-block h2:after {
    position: absolute;
    content: attr(data-number);
    top: -18px;
    left: 3px;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 110%;
    letter-spacing: .1em;
    text-transform: uppercase
}

.advantages .advantage--content-block {
    width: 46%;
    margin-left: auto;
    padding-top: .75rem
}

.advantages .advantage--content-block p {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #000
}

.toggle {
    display: -ms-flexbox;
    display: flex
}

.toggle * {
    pointer-events: none
}

html:not(.toggle-yes) .toggle {
    display: none
}

.toggle .toggle-item {
    border: 1px solid #000;
    border-radius: 16px;
    display: block;
    height: 16px;
    margin: 0 8px;
    position: relative;
    width: 32px
}

.toggle .toggle-item:before {
    background: #000;
    border-radius: 50%;
    content: "";
    left: 2px;
    position: absolute;
    top: 2px;
    transition: left .1s ease-out;
    height: 10px;
    width: 10px
}

.toggle.active .toggle-item:before {
    left: calc(100% - 2px - 10px)
}

.video-progress {
    --ease: var(--ease-out-quad);
    cursor: pointer;
    position: relative
}

.video-progress ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

.video-progress .progress {
    background-color: #000;
    height: 1px;
    pointer-events: none;
    position: relative;
    width: 100%
}

.video-progress .progress .line {
    background-color: #FFFEDA;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .1s linear;
    width: 100%
}

.video-progress .progress .dot {
    background-color: #000;
    border-radius: 50%;
    content: "";
    left: 0;
    position: absolute;
    top: -4px;
    transform: translate3d(-5px, 0, 0);
    transition: left .1s linear;
    height: 10px;
    width: 10px
}

.video-progress .video-title {
    bottom: 18px;
    left: 0;
    position: absolute
}

.video-progress .video-steps {
    /*margin-top: 4px;*/
    position: absolute;
    width: 100%
}

.video-progress .video-steps .step {
    cursor: pointer;
    transition: color .1s ease-out
}

.video-progress .video-steps .step.active {
    color: #FFFEDA
}

@media screen and (min-width: 768px) {
    :root {
        --header-height: 110px
    }

    /*.show-up {*/
    /*    transform: translateY(32px)*/
    /*}*/

    .doctor {
        padding: 106px 0
    }

    .doctor__image {
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 0
    }

    .doctor .section__content {
        position: relative;
        z-index: 1
    }

    .doctor .section__bg-content {
        -ms-flex-align: center;
        align-items: center;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: start;
        justify-content: flex-start;
        min-height: 27.5625rem;
        padding: 10%;
        position: relative
    }

    .results {
        --slide-width: 25vw;
        --slide-height: 31vw
    }

    .results__slider {
        margin-left: 0;
        /*padding-left: 10vw*/
        /*padding-left: 0;*/
    }

    .results__slider-wrapper .slide-img {
        margin-right: 20px
    }

    .rotation {
        height: 56.25vw;
        padding: 54px 0
    }

    .rotation__initial {
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .rotation__content {
        padding-left: 11vw;
        padding-right: 30px
    }

    .rotation__content > div {
        padding: 16px;
        padding-left: 60px;
        padding-right: 0
    }

    .rotation #rotation-start-button {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 71px;
        height: 71px;
    }

    .rotation #rotation-start-button {
        width: 71px;
        height: 71px;
    }

    .accordion__panel {
        padding-bottom: 64px;
        padding-top: 64px
    }

    .accordion__content > * {
        padding-top: 64px
    }

    .video-progress .video-title {
        bottom: 18px
    }
}

@media screen and (min-width: 1024px) {
    .rotation {
        padding: 114px 0 54px
    }
}

@media screen and (min-width: 1280px) {
   .rotation__content {
        padding-right: 60px
    }
}

@media screen and (min-width: 1440px) {
    .results {
        --slide-width: 360px;
        --slide-height: 446px
    }

    .results__slider {
        /*padding-left: 30vw*/
        /*padding-left: 0*/
    }

    .accordion__header .title1 {
        padding-right: 10%
    }
}

/*@media screen and (min-width: 2040px) {*/
/*    .rotation__content {*/
/*        padding-left: 0;*/
/*        padding-right: 0*/
/*    }*/
/*}*/

@media screen and (max-width: 1279px) {
    .advantages {
        width: 100%
    }
}

@media screen and (max-width: 1023px) {
    .advantages .advantage {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .advantages .advantage--icon-block {
        margin-right: 0.5rem
    }

    .advantages .advantage--title-block {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
    }

    .advantages .advantage--title-block h2 {
        font-size: 1.875rem;
        line-height: 110%
    }

    .advantages .advantage--content-block {
        width: calc(100% - 80px)
    }
}

@media screen and (max-width: 767px) {
    :root {
        --font-size-display-m: 3.125rem
    }

    .doctor__image {
        margin-top: 52px;
        padding-bottom: 110%
    }

    .rotation {
        height: 215vw;
        padding: 70px 0 34px
    }

    .rotation .__video {
        -o-object-fit: contain;
        object-fit: contain
    }

    .advantages {
        margin-left: 0
    }

    .toggle .toggle-item {
        margin: 0 4px;
        /*border: 1px solid #FFF*/
    }

    /*.toggle .toggle-item:before {*/
    /*    background: #FFF*/
    /*}*/

    .toggle--bg {
        background-color: #000;
        color: #FFF;
        border-radius: 1.875rem;
        padding: 8px 16px
    }

    .video-progress .video-steps {
        font-size: 10px;
        margin-top: 16px
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5zY3NzIiwic3R5bGVzLmNzcyIsInRvb2xzL2hlbHBlcnMvX2ZsZXguc2NzcyIsInNldHRpbmdzL3ZhcmlhYmxlcy9fZWFzaW5ncy5zY3NzIiwic2V0dGluZ3MvdmFyaWFibGVzL19zaXplcy5zY3NzIiwic2V0dGluZ3MvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCJ0b29scy9oZWxwZXJzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCJ0b29scy9fYW5pbWF0aW9ucy5zY3NzIiwiYmxvY2tzL19kb2N0b3Iuc2NzcyIsImJsb2Nrcy9fcmVzdWx0cy5zY3NzIiwiYmxvY2tzL19yb3RhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsInRvb2xzL19mdW5jdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX3RpbWVsaW5lLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fYWR2YW50YWdlcy5zY3NzIiwibW9kdWxlcy9fc29jaWFsLnNjc3MiLCJtb2R1bGVzL190b2dnbGUuc2NzcyIsIm1vZHVsZXMvX3ZpZGVvLXByb2dyZXNzLnNjc3MiLCJ0b29scy9fbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsMEZBQU8sQUNIUCx5RENEeUIsQURHekIsUUFFRSxvQkNINEIsQURJNUIsWUNKNEIsQ0RLN0IsQUFFRCxzQkFFRSxzQkNSOEMsQUFDcEMsa0JBQUEsQ0RTWCxBQUVELG1CQUVFLG1CQ1o4QixBRGE5QixvQkNiOEIsQ0RjL0IsQUFFRCxxQkFFRSxxQkNqQitCLEFBQ3JCLHNCQUFBLENEa0JYLEFBRUQsd0JBRUUscUJDckIyQixBRHNCM0Isc0JDdEJvRCxDRHVCckQsQUFFRCx5QkN2Qlksc0JBQUEsQUQwQlYsNkJDMUJtQyxDRDJCcEMsQUFFRCx1QkFFRSxvQkM1QmlDLEFENkJqQywwQkM1QnFDLENENkJ0QyxBQUVELHFCQUVFLGtCQzdCYyxBRDhCZCx3QkM5QmMsQ0QrQmYsQUFFRCx3QkFDRSx5QkNoQ2tDLEFEaUNsQyw0QkNqQ2tDLENEa0NuQyxBRXpERCxjQUNJLG1CQUFBLEFBQ0EsY0FBQSxDRjRESCxBQUVELGdCRXpESSxzQkFBQSxBQUNBLG1CQUFBLEFBRUEscUJBQUEsQUFDQSxzQkFBQSxDRjRESCxBQUVELGdCRXhESSwwQkFBQSxBQUNBLHFCQUFBLENGNERILEFBRUQsZ0NBR0Usa0NHMUVELEFIMkVDLDZCQUErQixDSS9FakMsQUprRkEsTUkxRUksOENBQXFCLEFBR3JCLGdEQUFxQixBQUdyQixnREFBcUIsQUFHckIsZ0RBQWlCLEFBR2pCLCtDQUFtQixBQUduQiw2Q0FBc0IsQUFJdEIsOENBaENZLEFDOENaLCtDQUFBLEFMa0RGLDhDSTNGRixBSjRGRSwyQ0kzREQsQUo0REMsMENBQThDLEFNbEdoRCw4Q0FBQSxBQUNJLG9EQUFPLEFBRVAsbURBQVUsQUFDViwrQ0FBa0MsQUFBbEMsOENBQWtDLEFBQ2xDLHlDQUEwQixBQUExQixtREFBMEIsQU53RzVCLHFCTXBHZ0IsQU53R2hCLCtCTWpIRixBTmtIRSw4Qk1wR00sQU5xR04sOEJNckd3QyxBTnNHeEMsNEJBQTZCLEFNbEcvQiw2QkFBQSxBQUNJLDBCQUFBLEFBRUEsMkJBQVUsQUFDViwwQkFBQSxjQUFBLENOb0ZILEFBa0JELFNEdkhBLDRCQUFBLEFBSUEsVUFBQSxBUVJJLDJCQUFBLEFBRUksMEJBQWdCLEFBR2hCLG9CQUFBLENQK0hQLEFBRUQsa0JBQ0UsVU85SFUsQVBnSVYsdUJPL0hxQixDUGdJdEIsQUFFRCxTSy9GSSw0QkFBQSxBRTFCSSxVQUFBLEFQNkhOLDBCTzFITyxDUDJIUixBQUVELGtCQUNFLFNPMUhNLENQMkhQLEFBUUQsZUFDRSx1Qk92SG9CLEFQd0hwQixnQk9oS0YsQVBpS0UsaUJPckhVLENQc0hYLEFBRUQsdUJBQ0UsU094SFUsQVB5SFYsa0JPekh1QixBUDBIdkIsUU96SFUsQVAySFYsbUNPM0hxQyxBUDRIckMsVU8zSFUsQ1A0SFgsQUFFRCxtQlE3S0EsVUFBQSxDUitLQyxBQUVELFNBQ0UsbUJRN0tNLEFSOEtOLG1CUTdLd0IsQ1I4S3pCLEFBRUQsaUJBRUUsa0JRN0tjLEFBR1osZ0JBQUEsQVI0S0YsZ0JRM0tNLEFSNEtOLGlCUTVLTSxDUjZLUCxBQUVELHNDQVBFLDBCUW5MRyxDUjRMSixBQUVELHlCQUVFLHNCUXRMRyxBUnVMSCxtQlFoTFUsQVJrTFYsb0JRaExVLEFSaUxWLGFRaExVLEFSa0xWLG9CUS9LYyxBUmdMZCwyQlEvS3VCLEFSZ0x2QixpQlEvS3FCLENSZ0x0QixBQUVELG9DQUNFLDJCUS9Lb0IsQVJnTHBCLGtCUS9Ld0IsQVJnTHhCLGtCUXBNRyxBUnFNSCx3QlE5SzhCLENSK0svQixBQUVELHdEQUNFLHNCUTlLa0IsQVIrS2xCLFNRL0trQixBUmdMbEIsT1EzTUcsQVI0TUgsZ0JRNUtjLEFSNktkLGtCUTVLYyxBSGVaLFFBQUEsQUwrSkYsTVE3TkYsQVI4TkUsU1F6S00sQ1IwS1AsQUFFRCw0REFDRSxZUXhLVSxBUnlLVixTUXRLTyxBUnVLUCxrQlFyS2MsQVJzS2QsTVF4S08sQUhDTCwrQkFBQSxDTDBLSCxBQUVELHdDQUNFLFlRL0pNLEFSZ0tOLGNRL0pVLENSZ0tYLEFBRUQsc0NTM09RLHFCQUFhLEFBQWIsdUJBQWEsQUFDYixvQkFBQSxhQUFBLEFBQ0EsMEJBQVksQUFMZixzQkFBQSxBVDBQSCxXU25QbUIsQ1RvUHBCLEFBRUQsd0RTL09JLFlBQUEsQ1RrUEgsQUFFRCxtQlNsUFEsb0JBQVUsQ1RvUGpCLEFBRUQsbUJBRUUsa0JTbFBVLEFUbVBWLHlCU2xQZ0IsQVRtUGhCLFVTbFBVLEFBVlAsVUFBQSxDVDhQSixBQUVELGtDQUNFLFNTbFBVLEFUbVBWLFVTblBVLEFUb1BWLGtCU3BQdUIsQVRxUHZCLE1TcFBVLEFUcVBWLFVTclBVLENUc1BYLEFBRUQsdUJBRUUsc0JTdFA0QixBVHVQNUIsbUJTdFBxQixBVHdQckIsb0JTclBvQyxBVHNQcEMsYVN0UHdCLEFBeEJyQixzQkFBQSxBVGlSSCw4QlN0UFUsQVR1UFYsYVN2UFUsQUEzQlAsa0JBQUEsQVRvUkgsZ0JBQWlCLEFBQ2pCLGtCQUFtQixBQUNuQixVQUFZLENBQ2IsQUFFRCxtQ0FFRSxvQlNuUG1CLEFBeENoQixXQUFBLENUNlJKLEFBRUQsNkJTL1JLLDZCQUFBLENUa1NKLEFBRUQsNklBSUUsaUJTaFAwQixDVGlQM0IsQUFFRCxrRkFFRSxPUzdPK0IsQVQ4Ty9CLFFBQVUsQ1M3VFosQVRnVUEseUNBQ0UsWUFBYyxDU2pVaEIsQVRvVUEsOEJTcFVBLFlBQUEsQUF5RlEseUJBQVUsQ1Q4T2pCLEFBRUQsNkJTNU9RLFlBQUEsQUFDQSxvQkFBVSxBVCtPaEIsYUFBYyxBSy9SWixPQUFBLENMaVNILEFBRUQscUNBQ0UsWVNsVkYsQVRtVkUsUVM5T2lCLENUK09sQixBS3RSRyx1REk5REosYUFBQSxDVHdWQyxBQUVELGdEQUNFLGVTOU9VLENUK09YLEFBRUQsaURBRUUsV1M5T1UsQ1QrT1gsQUFFRCw0QkFDRSxjUzdPYyxDVDhPZixBQUVELGlDQUNFLFVTMU9VLEFUMk9WLFNTM09VLEFUNE9WLGtCQUFtQixBSzVTakIsUUFBQSxBTCtTRixnQ1MzTkQsQVQ0TkMsU0FBVyxDS2hUVCxBQU1BLFdJeUVJLGdCQUFBLEFUd09OLGlCU3ZPeUIsQ1R3TzFCLEFEbldELGtCV25CQSw2QkFBQSxBQUNJLGNBQUEsQUFDQSxvQkFBa0IsQUFFbEIsaUJBQUEsQVZ5WEYsaUJVeFhNLENWeVhQLEFBRUQsOEJBQ0UseUJVeFh3QixDVnlYekIsQUFFRCxtQkFDRSxlVXRYTSxBVnVYTixlVXRYTSxDVnVYUCxBQUVELHFCQUNFLG1CVXJYVSxDVnNYWCxBQUVELDJCQUNFLG1CVXBYc0IsQVZxWHRCLGlCVXBYc0IsQ1ZxWHZCLEFBRUQsd0NBQ0Usa0JVbFh3QyxBVm1YeEMsUVV0WUcsQVZ1WUgsUVVqWDhCLEFWa1g5QixZVXhZRyxBVnlZSCxVVWxYK0IsQ1ZtWGhDLEFBTUQsa0ZLaFdJLFlBQUEsQ0xrV0gsQUFFRCw2Q0FDRSxhVXpXTSxDVjBXUCxBQUVELG9CQUNFLFNVeFdVLEFWeVdWLGdCQUFpQixBV3hhbkIsaUJBQUEsQ1gwYUMsQUFFRCxzQld4YUksb0JBQVcsQUFFWCxnQkFBQSxDWHlhSCxBQUVELFFBQ0UsbUJXMWFNLEFYMmFOLFdXM2FNLEFYNGFOLGVXNWFNLEFBUlIsVUFBQSxDWHNiQyxBQUVELGdCQUVFLG9CQUFxQixBQUNyQixhV3phVSxBQWxCWixrQkFBQSxBWDhiRSx3Qll2YW1DLENad2FwQyxBQUVELGNXamFJLFdBQUEsQVhtYUYsYVdsYU0sQ1htYVAsQUFFRCxvREFHRSxpQld6YUcsQVgwYUgsYVd0YTBCLENYdWEzQixBQUVELDJCQUNFLGtCV3JhTSxDWHNhUCxBQUVELGlCQUNFLGtCV3hhTSxBWHlhTixrQld6YW1CLENYMGFwQixBQUVELGVBRUUsbUJXNWFNLEFYNmFOLHFCVzdhTSxBWCthTixvQlc3YTJCLEFOQXpCLFlBQUEsQ0wrYUgsQUFFRCwrQkFDRSxpQlc3YWtCLENYOGFuQixBQUVELHNDQUNFLGtCVzNhTSxDWDRhUCxBQUVELGdCQUVFLG1CVzlhVSxBWCthVixxQlc5YVUsQVhnYlYsb0JXNWFNLEFYNmFOLGFXN2FrQixBWCthbEIsb0JXOWFrQixBTkhoQixZQUFBLEFMb2JGLHNCVzVhb0IsQVg2YXBCLDZCVzNhTyxDWDRhUixBQUVELG1DQUNFLGtCV3phVSxDWDBhWCxBQUVELGVXcmFJLFlBQUEsQUFGSixjQUFBLENYMGFDLEFBRUQsa0NLamNJLGtCQUFBLENMbWNILEFBRUQsc0NBQ0Usa0JXamJGLENYa2JDLEFhcmdCRCxzQkFFSSxzQkRpQm9DLENac2Z2QyxBQUVELDBDQUNFLGlCYW5nQmlCLENib2dCbEIsQUFFRCxnREFDRSxXYW5nQk0sQWJvZ0JOLGdCQUFpQixBYWhnQm5CLGtCQUFBLEFBQ0ksUUFBQSxBQUNBLFVBQUEsQ2JrZ0JILEFBRUQsaUJBQ0UsZWEvZk0sQWJnZ0JOLGdCYS9ma0IsQWJnZ0JsQixpQmEvZmlCLENiZ2dCbEIsQUFFRCx3QkFDRSxXYS9mWSxBYmdnQlosa0JhL2ZNLEFBZlIsWUFBQSxBYmdoQkUsV2E1ZlUsQWI2ZlYseUJZL2dCc0MsQUNGeEMsVUFBQSxBYm1oQkUsZ0JhMWZVLEFiMmZWLE1hcGhCRixBYnFoQkUsdUJhMWZnQyxDYjJmakMsQUFFRCxtQ0FDRSxtQmExZjRCLEFiMmY1QixrQmExZmMsQ2IyZmYsQUFFRCw4Q0FDRSxvQlk1aEJzQyxDWjZoQnZDLEFBRUQsaURBQ0Usa0JhdGZzQixBYnVmdEIsZ0JhdGZVLEFidWZWLGVhdGZVLEFidWZWLGlCYXJpQkYsQWJzaUJFLFdhdGZjLEFidWZkLGlCYXRmc0IsQ2J1ZnZCLEFBRUQsZ0RBQ0Usa0JhM2lCRixBYjRpQkUsZ0JhcmZjLEFic2ZkLGVhcmZ5QixBYnNmekIsaUJhcmZzQixBYnNmdEIsVWFyZnlCLENic2YxQixBQUVELHFDQUNFLFlhbGZVLEFibWZWLHVCYXBqQkYsQWJxakJFLGlCYWxmNkIsQ2JtZjlCLEFBRUQseUNBQ0Usa0JhL2VjLEFiZ2ZkLFFhL2VjLEFiaWZkLDJCYS9leUIsQWJnZnpCLFNhL2VjLENiZ2ZmLEFBRUQsMkNBQ0Usa0JhNWU2QixBYjZlN0IsV2E1ZWMsQWI2ZWQsUWE1ZWMsQWI2ZWQsV2E1ZWMsQWI2ZWQsV2E1ZWMsQWI2ZWQscUJhNWUyQixDYjZlNUIsQUFFRCxpREFDRSxlYS9lYyxDYmdmZixBQUVELHlEQUNFLGFhaGZrQixBYmlmbEIsZWEva0JGLENiZ2xCQyxBQUVELG1EQUNFLGtCYWpma0IsQWJrZmxCLGdCYXBsQkYsQWJxbEJFLGVhN2VrQixBYjhlbEIsaUJhdGxCRixBYnVsQkUsV2ExZXNCLEFiMmV0QixrQmEzZXNCLENiNGV2QixBQUVELGdFYzVtQkEsZUFBQSxDZDhtQkMsQUFFRCw0REFDRSxlY2puQkYsQWRrbkJFLGtCY3BoQkQsQVRoREcsZ0JBQUEsQUxza0JGLGVjcG5CRixBZHFuQkUsaUJjNW1CbUIsQWQ4bUJuQixvQmMxbUJNLEFkMm1CTixhYzNtQk0sQWQ2bUJOLHNCYzVtQitCLEFkNm1CL0IsbUJjN21CK0IsQWQ4bUIvQixVYzltQk0sQ2QrbUJQLEFBRUQsaUVBQ0UsZ0JjOW1CbUIsQ2QrbUJwQixBQUVELGdFQUdFLDZCY3ppQkcsQ2QyaUJKLEFBRUQsb0VBQ0UsWWMzbUJVLENkNG1CWCxBQUVELHlFQUVFLHdCY3htQnVCLENkeW1CeEIsQUFFRCx3REFDRSxZY3ZtQmMsQ2R3bUJmLEFBRUQsWUFDRSxVYzFtQmMsQWQybUJkLGVjMW1CYyxDZDJtQmYsQUFFRCxpQkFFRSxvQmM5cEJGLEFkK3BCRSxhY3htQmtCLEFkMG1CbEIsa0JjeG1CNEIsQWR5bUI1Qix3QmN4bUIyQixDZHltQjVCLEFBRUQsdUJBRUUsb0JjeG1Ca0IsQWR5bUJsQixhY3htQmtCLEFkeW1CbEIsMkJLM25CRSxBTDRuQkYsNEJjMXFCRixDZDJxQkMsQUFFRCxvQ0FDRSxrQmNsbUJvQixDZG1tQnJCLEFBRUQsbUNBQ0UsY2NsckJGLEFkbXJCRSxtQmNubUJjLENkb21CZixBQUVELG9DQUNFLFljam1CYyxDZGttQmYsQUFFRCx1Q0RqcUJBLGtCQUFBLEFnQnpCQSxvQ0FBQSxBQUVRLHFCSHFCNkIsQ1p1cUJwQyxBQUVELDZDZTFyQlEsa0JBQUEsMEJBQWEsQUFOckIsVUFBQSxBZm9zQkUsU2U1ckJ1QixBQVJ6QixrQkFBQSxBZnNzQkUsZ0JlNXJCVSxBZjZyQlYsZUFBZ0IsQUt6cEJkLGlCQUFBLEFVOUNKLG9CQUFBLEFmMHNCRSx3QmU1ckJzRCxDZjZyQnZELEFBRUQsc0NnQjVzQkksVUFBQSxpQkFBYSxBQURqQixrQkFBQSxDaEJpdEJDLEFBRUQsd0NnQm50QkEsa0JBQUEsQWhCcXRCRSxnQmdCN3NCTSxBaEI4c0JOLGVnQjdzQk0sQWhCOHNCTixpQmdCN3NCb0IsQWhCOHNCcEIsVWdCN3NCa0IsQ2hCOHNCbkIsQUFJRCxVQUNFLGtCZ0I1c0JVLENoQjZzQlgsQUFFRCxXQUVFLG9CZ0I1c0JVLEFoQjZzQlYsWWdCN3NCVSxDaEI4c0JYLEFBRUQsMEJBQ0UsaUJnQjNzQmtDLENoQjRzQm5DLEFBRUQsYUFDRSx5QmdCMXNCZ0MsQ2hCMnNCakMsQUFFRCxRQUVFLG9CZ0J2c0JxQixBaEJ3c0JyQixZZ0J2c0JVLENoQndzQlgsQWlCbnZCRCxVQUNJLG1CQUFBLENqQnN2QkgsQUFFRCw4QkFDRSxZaUJudkJNLENqQm92QlAsQUFFRCxxQkFDRSxzQmlCdHZCb0MsQWpCdXZCcEMsbUJpQnZ2Qk0sQWpCd3ZCTixjaUJ2dkJpQixBQVRuQixZQUFBLEFqQmt3QkUsYWlCcnZCTSxBakJzdkJOLGtCaUJydkJpQixBakJzdkJqQixVaUJydkJNLENqQnN2QlAsQUFFRCw0QkFDRSxnQmlCcHZCVSxBakJxdkJWLGtCaUJwdkJzQixBakJxdkJ0QixXaUJwdkJpQixBakJxdkJqQixTaUJwdkJVLEFqQnF2QlYsa0JpQnB2QmdCLEFqQnF2QmhCLFFpQnB2QlUsQWpCc3ZCViw2QmlCcnZCVSxBakJzdkJWLFlpQnR2QlUsQWpCdXZCVixVaUJ0dkJVLENqQnV2QlgsQUFFRCxtQ0FDRSw0QmlCenZCcUIsQ2pCMHZCdEIsQUFFRCxnQkFDRSw0QmlCdnZCcUIsQWpCd3ZCckIsZWlCdnZCaUIsQWpCd3ZCakIsaUJpQnZ2QlUsQ2pCd3ZCWCxBQUVELG1CQUVFLG9CaUJ6dkJVLEFqQjB2QlYsYWtCenhCRSxBRFJKLHNCQUFBLEFqQm95QkUsOEJZN3dCbUMsQVo4d0JuQyxVaUJ0dkJhLENqQnV2QmQsQUFFRCwwQkFDRSxzQmlCcHZCd0IsQWpCcXZCeEIsV2lCcHZCTSxBakJxdkJOLG9CaUIzeUJGLEFqQjR5QkUsa0JpQm52QnlCLEFqQm92QnpCLFVpQm52QlUsQ2pCb3ZCWCxBQUVELGdDS2x2QkkseUJBQUEsQUxvdkJGLFlpQmx6QkYsQWpCbXpCRSxPaUJqdkJVLEFacEJSLGtCQUFBLEFMdXdCRixNaUJyekJGLEFqQnV6QkUsb0JZaHlCbUMsQWJPckMsNkJBQUEsQUM4eEJFLGdDQUFpQyxBQUVqQyxVQUFZLENBQ2IsQUFFRCwrQkFDRSxzQkFBdUIsQUFDdkIsa0JBQW1CLEFBQ25CLFdBQVksQUFDWixPQUFRLEFBQ1Isa0JBQW1CLEFBQ25CLFNBQVUsQUFFVixnQ0FBbUMsQUFFbkMsMkJBQTRCLEFBQzVCLFlBQWEsQUFDYixVQUFZLENBQ2IsQUFFRCw2QkFDRSxZQUFhLEFBQ2IsT0FBUSxBQUNSLGlCQUFtQixDQUNwQixBQUVELDZCQUNFLGVBQWdCLEFBQ2hCLGtCQUFtQixBQUNuQixVQUFZLENBQ2IsQUFFRCxtQ0FDRSxlQUFnQixBQUVoQiw2QkFBK0IsQ0FDaEMsQUFFRCwwQ0FDRSxhQUFlLENBQ2hCLEFBSUQsc0JBQ0UsZ0NBQWtDLENBQ25DLEFBSUQsb0NBQ0UsTUFDRSxxQkFBdUIsQ0FDeEIsQUFFRCxTQUVFLDBCQUE0QixDQUM3QixBQUVELFFBQ0UsZUFBaUIsQ0FDbEIsQUFFRCxlQUNFLFNBQVUsQUFDVixPQUFRLEFBQ1Isa0JBQW1CLEFBQ25CLFFBQVMsQUFDVCxNQUFPLEFBQ1AsU0FBVyxDQUNaLEFBRUQsMEJBQ0Usa0JBQW1CLEFBQ25CLFNBQVcsQ0FDWixBQUVELDZCQUVFLHNCQUF1QixBQUN2QixtQkFBb0IsQUFFcEIsb0JBQXFCLEFBQ3JCLGFBQWMsQUFFZCxvQkFBcUIsQUFDckIsMkJBQTRCLEFBQzVCLHNCQUF1QixBQUN2QixZQUFhLEFBQ2IsaUJBQW1CLENBQ3BCLEFBRUQsU0FDRSxtQkFBb0IsQUFDcEIsbUJBQXFCLENBQ3RCLEFBRUQsaUJBQ0UsY0FBZSxBQUNmLGlCQUFtQixDQUNwQixBQUVELG9DQUNFLGlCQUFtQixDQUNwQixBQUVELHdEQUNFLHNCQUF3QixDQUN6QixBQUVELFVBQ0UsZUFBZ0IsQUFDaEIsY0FBZ0IsQ0FDakIsQUFFRCxtQkFFRSxzQkFBdUIsQUFDdkIsNkJBQStCLENBQ2hDLEFBRUQsbUJBQ0UsaUJBQWtCLEFBQ2xCLGtCQUFvQixDQUNyQixBQUVELHVCQUNFLGFBQWMsQUFDZCxrQkFBbUIsQUFDbkIsZUFBaUIsQ0FDbEIsQUFFRCxpQ0FDRSxVQUFXLEFBQ1gsUUFBUyxBQUVULGlDQUFxQyxDQUN0QyxBQUVELGtCQUNFLG9CQUFxQixBQUNyQixnQkFBa0IsQ0FDbkIsQUFFRCxzQkFDRSxnQkFBa0IsQ0FDbkIsQUFFRCxRQUNFLGNBQWdCLENBQ2pCLEFBRUQsaUJBRUUsb0JBQXFCLEFBQ3JCLGFBQWMsQUFDZCxtQkFBb0IsQUFDcEIsZUFBZ0IsQUFDaEIsa0JBQW1CLEFBQ25CLGtCQUFvQixDQUNyQixBQUVELGdCQUNFLFVBQVksQ0FDYixBQUVELGdCQUNFLGdCQUFrQixDQUNuQixBQUVELGVBQ0UsU0FBVyxDQUNaLEFBRUQsNkJBQ0UsV0FBYSxDQUNkLENBQ0YsQUFFRCxxQ0FDRSxVQUNFLG9CQUFzQixDQUN2QixBQUVELHVCQUNFLFVBQVcsQUFDWCxpQkFBbUIsQ0FDcEIsQ0FDRixBQUVELHFDQUtFLG9DQUhFLGtCQUFvQixDQUd0QixBQUdDLGlCQUZDLGlCQUFtQixDQUVwQixBQUVELGVBQ0UsU0FBVyxDQUNaLENBQ0YsQUFFRCxxQ0FDRSxTQUNFLG9CQUFxQixBQUNyQixvQkFBc0IsQ0FDdkIsQUFFRCxpQkFDRSxpQkFBbUIsQ0FDcEIsQUFFRCwyQkFDRSxpQkFBbUIsQ0FDcEIsQ0FDRixBQUVELHFDQUNFLG1CQUNFLGVBQWdCLEFBQ2hCLGVBQWlCLENBQ2xCLENBQ0YsQUFFRCxxQ0FDRSxZQUNFLFVBQVksQ0FDYixDQUNGLEFBRUQscUNBQ0UsdUJBQ0UsbUJBQW9CLEFBQ3BCLGNBQWdCLENBQ2pCLEFBRUQsbUNBQ0Usb0JBQXNCLENBQ3ZCLEFBRUQsb0NBRUUsb0JBQXFCLEFBQ3JCLGFBQWMsQUFFZCxzQkFBdUIsQUFDdkIsbUJBQW9CLEFBQ3BCLHVCQUF5QixDQUMxQixBQUVELHVDQUNFLG1CQUFvQixBQUNwQixnQkFBa0IsQ0FDbkIsQUFFRCxzQ0FDRSx1QkFBeUIsQ0FDMUIsQ0FDRixBQUVELG9DQUNFLE1BQ0UsOEJBQWdDLENBQ2pDLEFBRUQsZUFDRSxnQkFBaUIsQUFDakIsbUJBQXFCLENBQ3RCLEFBRUQsVUFDRSxhQUFjLEFBQ2QsbUJBQXFCLENBQ3RCLEFBRUQsbUJBQ0Usc0JBQXVCLEFBQ3ZCLGtCQUFvQixDQUNyQixBQUVELGdCQUNFLGtCQUFvQixDQUNyQixBQUVELGdCQUNFLGVBQWlCLENBQ2xCLEFBRUQsWUFDRSxhQUFlLENBQ2hCLEFBRUQsMEJBQ0UsaUJBQW1CLENBQ3BCLEFBRUQscUJBQ0UsYUFBYyxBQUNkLHFCQUF1QixDQUN4QixBQUVELDRCQUNFLGVBQWlCLENBQ2xCLEFBRUQsWUFDRSxzQkFBdUIsQUFDdkIsV0FBWSxBQUNaLHVCQUF3QixBQUN4QixnQkFBa0IsQ0FDbkIsQUFFRCw2QkFDRSxlQUFnQixBQUNoQixlQUFpQixDQUNsQixDQUNGIiwiZmlsZSI6InN0eWxlcy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi90b29scy9taXhpbnMnO1xuQGltcG9ydCAnLi9zZXR0aW5ncy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi90b29scy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi90b29scy9hbmltYXRpb25zJztcblxuLyogTGlicyAqL1xuQGltcG9ydCBcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbG9jb21vdGl2ZS1zY3JvbGxAMy41LjQvZGlzdC9sb2NvbW90aXZlLXNjcm9sbC5jc3NcIjtcbkBpbXBvcnQgXCJodHRwczovL3VucGtnLmNvbS9zd2lwZXIvc3dpcGVyLWJ1bmRsZS5taW4uY3NzXCI7XG5cbi8qIEZvcm0gKi9cbi8vIEBpbXBvcnQgJy4vZm9ybS9jaGVja2JveCc7XG4vLyBAaW1wb3J0ICcuL2Zvcm0vZm9ybSc7XG4vLyBAaW1wb3J0ICcuL2Zvcm0vaW5wdXQnO1xuXG4vKiBibG9ja3MgKi9cbkBpbXBvcnQgJy4vYmxvY2tzL2RvY3Rvcic7XG5AaW1wb3J0ICcuL2Jsb2Nrcy9yZXN1bHRzJztcbkBpbXBvcnQgJy4vYmxvY2tzL3JvdGF0aW9uJztcblxuLyogQ29tcG9uZW50cyAqL1xuQGltcG9ydCAnLi9jb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvZm9vdGVyJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy90aW1lbGluZS1zbGlkZXInO1xuQGltcG9ydCAnLi9jb21wb25lbnRzL2FkdmFudGFnZXMnO1xuXG4vKiBNb2R1bGVzICovXG5AaW1wb3J0ICcuL21vZHVsZXMvc29jaWFsJztcbkBpbXBvcnQgJy4vbW9kdWxlcy90b2dnbGUnO1xuQGltcG9ydCAnLi9tb2R1bGVzL3ZpZGVvLXByb2dyZXNzJztcblxuLyogUGFnZXMgKi9cbkBpbXBvcnQgJy4vcGFnZXMvcGFnZSc7XG5cbi8qIEdlbmVyaWMgKi9cbiIsIi8qIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2l0YWxvZHIvYjRkZWQ1ODk0YWZhMmNlYWUxOWVkMWI3Njc3ODVlMDIgKi9cblxuQGltcG9ydCBcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbG9jb21vdGl2ZS1zY3JvbGxAMy41LjQvZGlzdC9sb2NvbW90aXZlLXNjcm9sbC5jc3NcIjtcblxuQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL3N3aXBlci9zd2lwZXItYnVuZGxlLm1pbi5jc3NcIjtcblxuLnUtZmxleCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnUtZmxleC0tYWxpZ24tY2VudGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnUtZmxleC0tYWxpZ24tZW5kIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4udS1mbGV4LS1hbGlnbi1zdGFydCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnUtZmxleC0tanVzdGlmeS1jZW50ZXIge1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51LWZsZXgtLWp1c3RpZnktYmV0d2VlbiB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnUtZmxleC0tanVzdGlmeS1zdGFydCB7XG4gIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udS1mbGV4LS1qdXN0aWZ5LWVuZCB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udS1mbGV4LS1qdXN0aWZ5LWFyb3VuZCB7XG4gIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4udS1mbGV4LS13cmFwIHtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udS1mbGV4LS1jZW50ZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51LWZsZXgtLWNvbHVtbiB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnUtZmxleC0tY29sdW1uLnUtZmxleC0tcmV2ZXJzZSB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG46cm9vdCB7XG4gIC0tZWFzZS1pbi1xdWFkOiBjdWJpYy1iZXppZXIoLjU1LCAuMDg1LCAuNjgsIC41Myk7XG4gIC0tZWFzZS1pbi1jdWJpYzogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTtcbiAgLS1lYXNlLWluLXF1YXJ0OiBjdWJpYy1iZXppZXIoLjg5NSwgLjAzLCAuNjg1LCAuMjIpO1xuICAtLWVhc2UtaW4tcXVpbnQ6IGN1YmljLWJlemllciguNzU1LCAuMDUsIC44NTUsIC4wNik7XG4gIC0tZWFzZS1pbi1leHBvOiBjdWJpYy1iZXppZXIoLjk1LCAuMDUsIC43OTUsIC4wMzUpO1xuICAtLWVhc2UtaW4tY2lyYzogY3ViaWMtYmV6aWVyKC42LCAuMDQsIC45OCwgLjMzNSk7XG4gIC0tZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gIC0tZWFzZS1vdXQtY3ViaWM6IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpO1xuICAtLWVhc2Utb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjE2NSwgLjg0LCAuNDQsIDEpO1xuICAtLWVhc2Utb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoLjIzLCAxLCAuMzIsIDEpO1xuICAtLWVhc2Utb3V0LWV4cG86IGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gIC0tZWFzZS1vdXQtY2lyYzogY3ViaWMtYmV6aWVyKC4wNzUsIC44MiwgLjE2NSwgMSk7XG4gIC0tZWFzZS1pbi1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSk7XG4gIC0tZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllciguNjQ1LCAuMDQ1LCAuMzU1LCAxKTtcbiAgLS1lYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC43NywgMCwgLjE3NSwgMSk7XG4gIC0tZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllciguODYsIDAsIC4wNywgMSk7XG4gIC0tZWFzZS1pbi1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpO1xuICAtLWVhc2UtaW4tb3V0LWNpcmM6IGN1YmljLWJlemllciguNzg1LCAuMTM1LCAuMTUsIC44Nik7XG59XG5cbjpyb290IHtcbiAgLS1oZWFkZXItaGVpZ2h0OiA3MnB4O1xufVxuXG46cm9vdCB7XG4gIC0tZm9udC1zaXplLWRpc3BsYXktbTogNC4zNzVyZW07XG4gIC0tZm9udC1zaXplLXRpdGxlMS1tOiAzLjEyNXJlbTtcbiAgLS1mb250LXNpemUtdGl0bGUyLW06IDEuODc1cmVtO1xuICAtLWZvbnQtc2l6ZS10aXRsZTMtbTogMS41cmVtO1xuICAtLWZvbnQtc2l6ZS10aXRsZTQtbTogMS4yNXJlbTtcbiAgLS1mb250LXNpemUtYmFzZTogMC44NzVyZW07XG4gIC0tZm9udC1zaXplLXBzbWFsbDogMC43NXJlbTtcbiAgLS1saW5lLWhlaWdodC1wcmltYXJ5OiAxLjM7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnNob3ctdXAge1xuICAtLWVhc2U6IHZhcigtLWVhc2Utb3V0LXF1YWQpO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI0cHgpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDFzIHZhcigtLWVhc2UpO1xuICB0cmFuc2l0aW9uOiAxcyB2YXIoLS1lYXNlKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC4zcztcbn1cblxuLnNob3ctdXAuYW5pbWF0ZWQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uZmFkZS1pbiB7XG4gIC0tZWFzZTogdmFyKC0tZWFzZS1vdXQtcXVhZCk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyB2YXIoLS1lYXNlKTtcbiAgdHJhbnNpdGlvbjogMC41cyB2YXIoLS1lYXNlKTtcbn1cblxuLmZhZGUtaW4uYW5pbWF0ZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBMaWJzICovXG5cbi8qIEZvcm0gKi9cblxuLyogYmxvY2tzICovXG5cbi5kb2N0b3JfX2ltYWdlIHtcbiAgYm9yZGVyLXJhZGl1czogMS44NzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRvY3Rvcl9faW1hZ2Utd3JhcHBlciB7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRvY3Rvcl9faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZXN1bHRzIHtcbiAgLS1zbGlkZS13aWR0aDogNTR2dztcbiAgLS1zbGlkZS1oZWlnaHQ6IDY1dnc7XG59XG5cbi5yZXN1bHRzX19zbGlkZXIge1xuICBoZWlnaHQ6IHZhcigtLXNsaWRlLWhlaWdodCk7XG4gIG1hcmdpbi1sZWZ0OiAtNzB2dztcbiAgbWFyZ2luLXRvcDogOTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmVzdWx0c19fc2xpZGVyID4gZGl2IHtcbiAgaGVpZ2h0OiB2YXIoLS1zbGlkZS1oZWlnaHQpO1xufVxuXG4ucmVzdWx0c19fc2xpZGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5yZXN1bHRzX19zbGlkZXItd3JhcHBlciAuc2xpZGUtaW1nIHtcbiAgaGVpZ2h0OiB2YXIoLS1zbGlkZS1oZWlnaHQpO1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IHZhcigtLXNsaWRlLXdpZHRoKTtcbn1cblxuLnJlc3VsdHNfX3NsaWRlci13cmFwcGVyIC5zbGlkZS1pbWcgLnNsaWRlLWltZ19fd3JhcHBlciB7XG4gIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4ucmVzdWx0c19fc2xpZGVyLXdyYXBwZXIgLnNsaWRlLWltZyAuc2xpZGUtaW1nX193cmFwcGVyID4gZGl2IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG59XG5cbi5yZXN1bHRzX19zbGlkZXItd3JhcHBlciAuc2xpZGUtaW1nIGltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4ucm90YXRpb25fX2luaXRpYWwsXG4ucm90YXRpb25fX2NvbnRlbnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yb3RhdGlvbl9faW5pdGlhbC51LWhpZGRlbixcbi5yb3RhdGlvbl9fY29udGVudC51LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yb3RhdGlvbl9faW5pdGlhbCB7XG4gIG1heC13aWR0aDogMTYuNjg3NXJlbTtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50IHtcbiAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQgLnNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnJvdGF0aW9uX19jb250ZW50ID4gZGl2IHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDI4cHg7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50IC52aWRlby1wcm9ncmVzcyB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5yb3RhdGlvbl9fY29udGVudCAucHJvZ3Jlc3Mge1xuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjNzIGVhc2Utb3V0O1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQgI3BsYXktcm90YXRpb24tYnV0dG9uLFxuLnJvdGF0aW9uX19jb250ZW50ICNzdG9wLXJvdGF0aW9uLWJ1dHRvbixcbi5yb3RhdGlvbl9fY29udGVudCAubW9yZS1saW5rLFxuLnJvdGF0aW9uX19jb250ZW50IC5jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50ICNzdG9wLXJvdGF0aW9uLWJ1dHRvbixcbi5yb3RhdGlvbl9fY29udGVudCAjcGxheS1yb3RhdGlvbi1idXR0b24ge1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5yb3RhdGlvbl9fY29udGVudCAjc3RvcC1yb3RhdGlvbi1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQgLm1vcmUtbGluayB7XG4gIGJvdHRvbTogMTAwJTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yb3RhdGlvbl9fY29udGVudCAuY29udHJvbHMge1xuICBib3R0b206IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5yb3RhdGlvbl9fY29udGVudCAuY29udHJvbHMgLmJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xufVxuXG4uX25vbi10b3VjaCAucm90YXRpb25fX2NvbnRlbnQgLmNvbnRyb2xzIC5idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZmVkYTtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50IC5jb250cm9scyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ucm90YXRpb24gLnUtd3JhcHBlcixcbi5yb3RhdGlvbiAuc2VjdGlvbl9fY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJvdGF0aW9uIC5zZWN0aW9uX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4ucm90YXRpb24gI3JvdGF0aW9uLXN0YXJ0LWJ1dHRvbiB7XG4gIGxlZnQ6IDUwdnc7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDYwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICB6LWluZGV4OiAzO1xufVxuXG4vKiBDb21wb25lbnRzICovXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hY2NvcmRpb25fX3BhbmVsIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFjY29yZGlvbl9fcGFuZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbn1cblxuLmFjY29yZGlvbl9faGVhZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYWNjb3JkaW9uX19oZWFkZXIgKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYWNjb3JkaW9uX19oZWFkZXIgLnRpdGxlMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFjY29yZGlvbl9faGVhZGVyIC50aXRsZTEgLnRvZ2dsZS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA2cHg7XG4gIGhlaWdodDogNDJweDtcbiAgd2lkdGg6IDQycHg7XG59XG5cbi5hY2NvcmRpb25fX2hlYWRlciAudG9nZ2xlLWljb24ubWludXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYWNjb3JkaW9uX19oZWFkZXIuYWN0aXZlIC50b2dnbGUtaWNvbi5wbHVzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFjY29yZGlvbl9faGVhZGVyLmFjdGl2ZSAudG9nZ2xlLWljb24ubWludXMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmFjY29yZGlvbl9fY29udGVudCB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWNjb3JkaW9uX19jb250ZW50ID4gKiB7XG4gIG1heC13aWR0aDogMzMuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICNjZWRkZWQ7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAzMnB4IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9vdGVyX19oZWFkZXIge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uZm9vdGVyIC5sb2dvIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9vdGVyIC5sb2dvLFxuLmZvb3RlciAubG9nbyAuaWNvbixcbi5mb290ZXIgLmxvZ28gc3ZnIHtcbiAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gIHdpZHRoOiA3Ljc1cmVtO1xufVxuXG4uZm9vdGVyIC5sYW5ndWFnZS1zd2l0Y2hlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5mb290ZXJfX3dyYXBwZXIge1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5mb290ZXJfX2xpbmtzIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mb290ZXJfX2xpbmtzID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4uZm9vdGVyX19saW5rcyB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmZvb3Rlcl9fZm9vdGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICBmbGV4LWdyb3c6IDE7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZvb3Rlcl9fZm9vdGVyIHA6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5maXhlZC13cmFwcGVyIHtcbiAgYm90dG9tOiA1MnB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5maXhlZC13cmFwcGVyIC5sYW5ndWFnZS1zd2l0Y2hlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5maXhlZC13cmFwcGVyIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4udGltZWxpbmUtdGl0bGUtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiA2LjEyNXJlbTtcbn1cblxuLnRpbWVsaW5lLXRpdGxlLWJsb2NrIC5zZWN0aW9uLXRpdGxlIC5ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50aW1lbGluZS10aXRsZS1ibG9jayAuc2VjdGlvbi10aXRsZSAuYm94OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFweDtcbiAgbGVmdDogLTE0cHg7XG59XG5cbi50aW1lbGluZS1zbGlkZXIge1xuICBvdmVyZmxvdzogdW5zZXQ7XG4gIG1hcmdpbi1sZWZ0OiAxMSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRpbWVsaW5lLXNsaWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZWRkZWQ7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0b3A6IDA7XG4gIGxlZnQ6IGNhbGMoLTEwMCUgLSA4MHB4KTtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC50aW1lbGluZS1pbmZvIGg0IHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWluZm8gcCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAubGluZSB7XG4gIGhlaWdodDogNzVweDtcbiAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5saW5lIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDE7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAubGluZTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDI1MnB4O1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQtLWhpZGRlbiB7XG4gIG1heC1oZWlnaHQ6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC50aW1lbGluZS1jb250ZW50IHAge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQtLXNob3ctbW9yZSB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQtLXNob3ctbW9yZSBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtY29udGVudC0tc2hvdy1tb3JlIHN2ZyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMzAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMzAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAzMDBtcyBlYXNlO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQuY29udGVudC1zaG93IC5kb3RzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC50aW1lbGluZS1jb250ZW50LmNvbnRlbnQtc2hvdyBidXR0b24gc3ZnIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGU6bGFzdC1vZi10eXBlIC5saW5lOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFkdmFudGFnZXMge1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW4tbGVmdDogMTAlO1xufVxuXG4uYWR2YW50YWdlcy0tY3RhIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFkdmFudGFnZXMgLmFkdmFudGFnZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNC4yNXJlbSAwIDMuMTI1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDAwMDtcbn1cblxuLmFkdmFudGFnZXMgLmFkdmFudGFnZTpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uYWR2YW50YWdlcyAuYWR2YW50YWdlLS1pY29uLWJsb2NrIHtcbiAgd2lkdGg6IDMuNzVyZW07XG4gIG1hcmdpbi1yaWdodDogMi41cmVtO1xufVxuXG4uYWR2YW50YWdlcyAuYWR2YW50YWdlLS10aXRsZS1ibG9jayB7XG4gIHdpZHRoOiAzMy4zMyU7XG59XG5cbi5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2UtLXRpdGxlLWJsb2NrIGgyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aXRsZTEtbSk7XG4gIGxpbmUtaGVpZ2h0OiAzLjQzNzVyZW07XG59XG5cbi5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2UtLXRpdGxlLWJsb2NrIGgyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBhdHRyKGRhdGEtbnVtYmVyKTtcbiAgdG9wOiAtMThweDtcbiAgbGVmdDogM3B4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDExMCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmFkdmFudGFnZXMgLmFkdmFudGFnZS0tY29udGVudC1ibG9jayB7XG4gIHdpZHRoOiA0NiU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbn1cblxuLmFkdmFudGFnZXMgLmFkdmFudGFnZS0tY29udGVudC1ibG9jayBwIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLyogTW9kdWxlcyAqL1xuXG4uc29jaWFsIHAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc29jaWFsIHVsIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uc29jaWFsIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xufVxuXG4uc29jaWFsIHVsIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRvZ2dsZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnRvZ2dsZSAqIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmh0bWw6bm90KC50b2dnbGUteWVzKSAudG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvZ2dsZSAudG9nZ2xlLWl0ZW0ge1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luOiAwIDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzJweDtcbn1cblxuLnRvZ2dsZSAudG9nZ2xlLWl0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29udGVudDogJyc7XG4gIGxlZnQ6IDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IC4xcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogbGVmdCAuMXMgZWFzZS1vdXQ7XG4gIGhlaWdodDogMTBweDtcbiAgd2lkdGg6IDEwcHg7XG59XG5cbi50b2dnbGUuYWN0aXZlIC50b2dnbGUtaXRlbTo6YmVmb3JlIHtcbiAgbGVmdDogY2FsYygxMDAlIC0gMnB4IC0gMTBweCk7XG59XG5cbi52aWRlby1wcm9ncmVzcyB7XG4gIC0tZWFzZTogdmFyKC0tZWFzZS1vdXQtcXVhZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmlkZW8tcHJvZ3Jlc3MgdWwge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi52aWRlby1wcm9ncmVzcyAucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBoZWlnaHQ6IDFweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi52aWRlby1wcm9ncmVzcyAucHJvZ3Jlc3MgLmxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZWRhO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMXMgbGluZWFyLCAtd2Via2l0LXRyYW5zZm9ybSAuMXMgbGluZWFyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnZpZGVvLXByb2dyZXNzIC5wcm9ncmVzcyAuZG90IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb250ZW50OiAnJztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IC4xcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGxlZnQgLjFzIGxpbmVhcjtcbiAgaGVpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTBweDtcbn1cblxuLnZpZGVvLXByb2dyZXNzIC52aWRlby10aXRsZSB7XG4gIGJvdHRvbTogMThweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4udmlkZW8tcHJvZ3Jlc3MgLnZpZGVvLXN0ZXBzIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udmlkZW8tcHJvZ3Jlc3MgLnZpZGVvLXN0ZXBzIC5zdGVwIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC4xcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2Utb3V0O1xufVxuXG4udmlkZW8tcHJvZ3Jlc3MgLnZpZGVvLXN0ZXBzIC5zdGVwLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmZWRhO1xufVxuXG4vKiBQYWdlcyAqL1xuXG4ucGFnZTpub3QoLmhvbWUtcGFnZSkge1xuICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG59XG5cbi8qIEdlbmVyaWMgKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgOnJvb3Qge1xuICAgIC0taGVhZGVyLWhlaWdodDogMTEwcHg7XG4gIH1cblxuICAuc2hvdy11cCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzJweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMycHgpO1xuICB9XG5cbiAgLmRvY3RvciB7XG4gICAgcGFkZGluZzogMTA2cHggMDtcbiAgfVxuXG4gIC5kb2N0b3JfX2ltYWdlIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAuZG9jdG9yIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5kb2N0b3IgLnNlY3Rpb25fX2JnLWNvbnRlbnQge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1pbi1oZWlnaHQ6IDI3LjU2MjVyZW07XG4gICAgcGFkZGluZzogMTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5yZXN1bHRzIHtcbiAgICAtLXNsaWRlLXdpZHRoOiAyNXZ3O1xuICAgIC0tc2xpZGUtaGVpZ2h0OiAzMXZ3O1xuICB9XG5cbiAgLnJlc3VsdHNfX3NsaWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHZ3O1xuICB9XG5cbiAgLnJlc3VsdHNfX3NsaWRlci13cmFwcGVyIC5zbGlkZS1pbWcge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5yZXN1bHRzX19zbGlkZXItd3JhcHBlciAuc2xpZGUtaW1nIC5zbGlkZS1pbWdfX3dyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICB9XG5cbiAgLnJvdGF0aW9uIHtcbiAgICBoZWlnaHQ6IDU2LjI1dnc7XG4gICAgcGFkZGluZzogNTRweCAwO1xuICB9XG5cbiAgLnJvdGF0aW9uX19pbml0aWFsIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLnJvdGF0aW9uX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG5cbiAgLnJvdGF0aW9uX19jb250ZW50ID4gZGl2IHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLnJvdGF0aW9uICNyb3RhdGlvbi1zdGFydC1idXR0b24ge1xuICAgIGxlZnQ6IDYwdnc7XG4gICAgdG9wOiA0MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDUwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCA1MCUsIDApO1xuICB9XG5cbiAgLmFjY29yZGlvbl9fcGFuZWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICB9XG5cbiAgLmFjY29yZGlvbl9fY29udGVudCA+ICoge1xuICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICB9XG5cbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZzogNTJweCAwO1xuICB9XG5cbiAgLmZvb3Rlcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxuXG4gIC5mb290ZXJfX2hlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZm9vdGVyX19mb290ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG5cbiAgLmZpeGVkLXdyYXBwZXIge1xuICAgIGxlZnQ6IDMwcHg7XG4gIH1cblxuICAudmlkZW8tcHJvZ3Jlc3MgLnZpZGVvLXRpdGxlIHtcbiAgICBib3R0b206IDE4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5yb3RhdGlvbiB7XG4gICAgcGFkZGluZzogMTE0cHggMCA1NHB4O1xuICB9XG5cbiAgLmZvb3RlciAuZml4ZWQtZGVza3RvcCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5yb3RhdGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxuXG4gIC5mb290ZXJfX3dyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG5cbiAgLmZpeGVkLXdyYXBwZXIge1xuICAgIGxlZnQ6IDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5yZXN1bHRzIHtcbiAgICAtLXNsaWRlLXdpZHRoOiAzNjBweDtcbiAgICAtLXNsaWRlLWhlaWdodDogNDQ2cHg7XG4gIH1cblxuICAucmVzdWx0c19fc2xpZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwdnc7XG4gIH1cblxuICAuYWNjb3JkaW9uX19oZWFkZXIgLnRpdGxlMSB7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwNDBweCkge1xuICAucm90YXRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuYWR2YW50YWdlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2Uge1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLmFkdmFudGFnZXMgLmFkdmFudGFnZS0taWNvbi1ibG9jayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICB9XG5cbiAgLmFkdmFudGFnZXMgLmFkdmFudGFnZS0tdGl0bGUtYmxvY2sge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG5cbiAgLmFkdmFudGFnZXMgLmFkdmFudGFnZS0tdGl0bGUtYmxvY2sgaDIge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDExMCU7XG4gIH1cblxuICAuYWR2YW50YWdlcyAuYWR2YW50YWdlLS1jb250ZW50LWJsb2NrIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZm9udC1zaXplLWRpc3BsYXktbTogMy4xMjVyZW07XG4gIH1cblxuICAuZG9jdG9yX19pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogNTJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTEwJTtcbiAgfVxuXG4gIC5yb3RhdGlvbiB7XG4gICAgaGVpZ2h0OiAyMTV2dztcbiAgICBwYWRkaW5nOiA3MHB4IDAgMzRweDtcbiAgfVxuXG4gIC5yb3RhdGlvbiAuX192aWRlbyB7XG4gICAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG5cbiAgLmZvb3Rlcl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NHB4O1xuICB9XG5cbiAgLmZvb3Rlcl9fZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgLmFkdmFudGFnZXMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLnNvY2lhbCB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG5cbiAgLnRvZ2dsZSAudG9nZ2xlLWl0ZW0ge1xuICAgIG1hcmdpbjogMCA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgfVxuXG4gIC50b2dnbGUgLnRvZ2dsZS1pdGVtOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuXG4gIC50b2dnbGUtLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICB9XG5cbiAgLnZpZGVvLXByb2dyZXNzIC52aWRlby1zdGVwcyB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gIH1cbn0iLCJAbWl4aW4gZmxleCgkYnJlYWtwb2ludHM6W10sICRiYXNlOiB0cnVlKSB7XG4gICAgQGlmICRiYXNlIHtcbiAgICAgICAgLnUtZmxleCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAmLS1hbGlnbi1jZW50ZXIgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgICAgICAmLS1hbGlnbi1lbmQgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAgICAgICAgICYtLWFsaWduLXN0YXJ0IHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgICAgICYtLWp1c3RpZnktY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICAgICYtLWp1c3RpZnktYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAgICAgJi0tanVzdGlmeS1zdGFydCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAgICAgJi0tanVzdGlmeS1lbmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICAgICAgICAmLS1qdXN0aWZ5LWFyb3VuZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAgICAgICAmLS13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG5cbiAgICAgICAgICAgICYtLWNlbnRlciB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tY29sdW1uIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgJi51LWZsZXgtLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG4gICAgICAgICRuYW1lc3BhY2U6IHN0cmlwLXVuaXQoJGJyZWFrcG9pbnQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC51LWZsZXgtLXMjeyRuYW1lc3BhY2V9IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI6cm9vdCB7XG4gICAgLS1lYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKTtcbiAgICAtLWVhc2UtaW4tY3ViaWM6IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7XG4gICAgLS1lYXNlLWluLXF1YXJ0OiBjdWJpYy1iZXppZXIoLjg5NSwgLjAzLCAuNjg1LCAuMjIpO1xuICAgIC0tZWFzZS1pbi1xdWludDogY3ViaWMtYmV6aWVyKC43NTUsIC4wNSwgLjg1NSwgLjA2KTtcbiAgICAtLWVhc2UtaW4tZXhwbzogY3ViaWMtYmV6aWVyKC45NSwgLjA1LCAuNzk1LCAuMDM1KTtcbiAgICAtLWVhc2UtaW4tY2lyYzogY3ViaWMtYmV6aWVyKC42LCAuMDQsIC45OCwgLjMzNSk7XG4gICAgLS1lYXNlLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgICAtLWVhc2Utb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTtcbiAgICAtLWVhc2Utb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjE2NSwgLjg0LCAuNDQsIDEpO1xuICAgIC0tZWFzZS1vdXQtcXVpbnQ6IGN1YmljLWJlemllciguMjMsIDEsIC4zMiwgMSk7XG4gICAgLS1lYXNlLW91dC1leHBvOiBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICAgIC0tZWFzZS1vdXQtY2lyYzogY3ViaWMtYmV6aWVyKC4wNzUsIC44MiwgLjE2NSwgMSk7XG4gICAgLS1lYXNlLWluLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KTtcbiAgICAtLWVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoLjY0NSwgLjA0NSwgLjM1NSwgMSk7XG4gICAgLS1lYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC43NywgMCwgLjE3NSwgMSk7XG4gICAgLS1lYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKC44NiwgMCwgLjA3LCAxKTtcbiAgICAtLWVhc2UtaW4tb3V0LWV4cG86IGN1YmljLWJlemllcigxLCAwLCAwLCAxKTtcbiAgICAtLWVhc2UtaW4tb3V0LWNpcmM6IGN1YmljLWJlemllciguNzg1LCAuMTM1LCAuMTUsIC44Nik7XG59XG4iLCIkbWF4LXJlYWRpbmctd2lkdGg6IDU4MHB4O1xuJGdsb2JhbC1tYXgtd2lkdGg6ICRzMTkyMDtcblxuOnJvb3Qge1xuICAgIC0taGVhZGVyLWhlaWdodDogNzJweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiAxMTBweDtcbiAgICB9XG59XG4iLCIkZm9udC1zaXplOiAxNnB4O1xuJHZlcnRpY2FsLXJoeXRobTogOHB4O1xuXG4kdC1wcmltYXJ5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7XG5cbjpyb290IHtcbiAgICAvLyBEaXNwbGF5XG4gICAgLS1mb250LXNpemUtZGlzcGxheS1tOiAjezcwcHggLyAxNnB4ICogMXJlbX07XG5cbiAgICAvLyBUaXRsZSAxXG4gICAgLS1mb250LXNpemUtdGl0bGUxLW06ICN7NTBweCAvIDE2cHggKiAxcmVtfTtcblxuICAgIC8vIFRpdGxlIDJcbiAgICAtLWZvbnQtc2l6ZS10aXRsZTItbTogI3szMHB4IC8gMTZweCAqIDFyZW19O1xuXG4gICAgLy8gVGl0bGUgM1xuICAgIC0tZm9udC1zaXplLXRpdGxlMy1tOiAjezI0cHggLyAxNnB4ICogMXJlbX07XG5cbiAgICAvLyBUaXRsZSA0XG4gICAgLS1mb250LXNpemUtdGl0bGU0LW06ICN7MjBweCAvIDE2cHggKiAxcmVtfTtcblxuICAgIC8vIFBcbiAgICAtLWZvbnQtc2l6ZS1iYXNlOiAjezE0cHggLyAxNnB4ICogMXJlbX07XG5cbiAgICAvLyBQIHNtYWxsXG4gICAgLS1mb250LXNpemUtcHNtYWxsOiAjezEycHggLyAxNnB4ICogMXJlbX07XG5cbiAgICAvLyBMaW5lIGhlaWdodHNcbiAgICAtLWxpbmUtaGVpZ2h0LXByaW1hcnk6IDEuMztcblxuICAgIC8vIGZvbnQtc2l6ZTogMC44M3Z3OyAvLyAxNiBlbiBsYSBwYW50YWxsYSBkZSAxOTIwXG4gICAgLy8gZm9udC1zaXplOiAxLjExMXZ3OyAvLyAxNiBlbiBsYSBwYW50YWxsYSBkZSAxNDQwXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3NjgpIHtcbiAgICAgICAgLy8gRGlzcGxheVxuICAgICAgICAtLWZvbnQtc2l6ZS1kaXNwbGF5LW06ICN7NTBweCAvIDE2cHggKiAxcmVtfTtcbiAgICB9XG59XG5cbkBtaXhpbiBmb250LXByaW1hcnkoJGxpbmUtaGVpZ2h0OiAwKSB7XG4gICAgZm9udC1mYW1pbHk6ICR0LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpZiAkbGluZS1oZWlnaHQgPiAwIHsgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDsgfVxuICAgIEBlbHNlIHsgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXByaW1hcnkpOyB9XG59XG4iLCIvLyBUT0RPOiBSZXZpc2FyIHVzbyBkZSBlbXMsIHVuaWZpY2FyIG5hbWluZ3NcblxuLyogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vaXRhbG9kci9iNGRlZDU4OTRhZmEyY2VhZTE5ZWQxYjc2Nzc4NWUwMiAqL1xuJG1xLWlQYWRSZXRpbmE6IFwiYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWdlbmVyYXRvcigkdHlwZSwgJHNpemUxLCAkc2l6ZTI6ICcnLCAkb3JpZW50YXRpb246ICcnKSB7XG4gICAgQGlmICRvcmllbnRhdGlvbiAhPSAnJyB7XG4gICAgICAgICRvcmllbnRhdGlvbjogXCIgYW5kIChvcmllbnRhdGlvbjogI3skb3JpZW50YXRpb259KVwiO1xuICAgIH1cblxuICAgICRtcTogJyc7XG5cbiAgICBAaWYgJHR5cGUgPT0gJ21pbicge1xuICAgICAgICAkbXE6IFwiYW5kIChtaW4td2lkdGg6ICN7bnRoKCRzaXplMSwgMSl9KVwiO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICR0eXBlID09ICdtYXgnIHtcbiAgICAgICAgJG1xOiBcImFuZCAobWF4LXdpZHRoOiAjeyhudGgoJHNpemUxLCAxKSAtIDFweCl9KVwiO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICR0eXBlID09ICdiZXR3ZWVuJyB7XG4gICAgICAgICRtcTogXCJhbmQgKG1pbi13aWR0aDogI3tudGgoJHNpemUxLCAxKX0pIGFuZCAobWF4LXdpZHRoOiAjeyhudGgoJHNpemUyLCAxKSAtIDFweCl9KVwiO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICR0eXBlID09ICdkZXZpY2VzJyB7XG4gICAgICAgICRtcTogJHNpemUxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiVW5leGlzdGVudCB0eXBlIG9mIGJyZWFrcG9pbnQuXCI7XG4gICAgfVxuXG4gICAgQHJldHVybiAje3NjcmVlbn0gI3skbXF9I3skb3JpZW50YXRpb259O1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1kZXZpY2VzKCRtcSwgJG9yaWVudGF0aW9uOiAnJykge1xuICAgICRtZWRpYTogYnJlYWtwb2ludC1nZW5lcmF0b3IoJ2RldmljZXMnLCAkbXEsICcnLCAkb3JpZW50YXRpb24pO1xuXG4gICAgQG1lZGlhICN7JG1lZGlhfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbWF4KCRyYW5nZSwgJG9yaWVudGF0aW9uOiAnJykge1xuICAgICRtZWRpYTogYnJlYWtwb2ludC1nZW5lcmF0b3IoJ21heCcsICRyYW5nZSwgJycsICRvcmllbnRhdGlvbik7XG5cbiAgICBAbWVkaWEgI3skbWVkaWF9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1taW5tYXgoJHJhbmdlX21pbiwgJHJhbmdlX21heCwgJG9yaWVudGF0aW9uOiAnJykge1xuICAgICRtZWRpYTogYnJlYWtwb2ludC1nZW5lcmF0b3IoJ2JldHdlZW4nLCAkcmFuZ2VfbWluLCAkcmFuZ2VfbWF4LCAkb3JpZW50YXRpb24pO1xuXG4gICAgQG1lZGlhICN7JG1lZGlhfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQoJHJhbmdlLCAkb3JpZW50YXRpb246ICcnKSB7XG4gICAgJG1lZGlhOiBicmVha3BvaW50LWdlbmVyYXRvcignbWluJywgJHJhbmdlLCAnJywgJG9yaWVudGF0aW9uKTtcblxuICAgIEBtZWRpYSAjeyRtZWRpYX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1heHdpZHRoKCR3aWR0aDogJGdsb2JhbC1tYXgtd2lkdGgsICRwYWRkaW5nOiAyKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoICsgZ2V0LXB4cyhzcGFjZSgkcGFkZGluZykgKiAyKSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIuc2hvdy11cCB7XG4gICAgLS1lYXNlOiB2YXIoLS1lYXNlLW91dC1xdWFkKTtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCN7c3BhY2UoMyl9KTtcbiAgICB0cmFuc2l0aW9uOiAxcyB2YXIoLS1lYXNlKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG5cbiAgICAmLmFuaW1hdGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCN7c3BhY2UoNCl9KTtcbiAgICB9XG59XG5cbi5mYWRlLWluIHtcbiAgICAtLWVhc2U6IHZhcigtLWVhc2Utb3V0LXF1YWQpO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAuNXMgdmFyKC0tZWFzZSk7XG5cbiAgICAmLmFuaW1hdGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iLCIuZG9jdG9yIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbXMoMzBweCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczc2OCkge1xuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSg2LjUpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDExMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDEzLjI1KSAwO1xuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb25fX2JnLWNvbnRlbnQge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW1zKDQ0MXB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZXN1bHRzIHtcbiAgICAtLXNsaWRlLXdpZHRoOiA1NHZ3O1xuICAgIC0tc2xpZGUtaGVpZ2h0OiA2NXZ3O1xuXG4gICAgJl9fc2xpZGVyIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zbGlkZS1oZWlnaHQpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTcwdnc7XG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDEyKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gZGl2IHsgaGVpZ2h0OiB2YXIoLS1zbGlkZS1oZWlnaHQpOyB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAuc2xpZGUtaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2xpZGUtaGVpZ2h0KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tc2xpZGUtd2lkdGgpO1xuXG4gICAgICAgICAgICAuc2xpZGUtaW1nX193cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW1zKDIwcHgpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIC0tc2xpZGUtd2lkdGg6IDI1dnc7XG4gICAgICAgIC0tc2xpZGUtaGVpZ2h0OiAzMXZ3O1xuXG4gICAgICAgICZfX3NsaWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTB2dztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NsaWRlci13cmFwcGVyIHtcbiAgICAgICAgICAgIC5zbGlkZS1pbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMi41KTtcblxuICAgICAgICAgICAgICAgIC5zbGlkZS1pbWdfX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW1zKDMwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxNDQwKSB7XG4gICAgICAgIC0tc2xpZGUtd2lkdGg6IDM2MHB4O1xuICAgICAgICAtLXNsaWRlLWhlaWdodDogNDQ2cHg7XG5cbiAgICAgICAgJl9fc2xpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzB2dztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yb3RhdGlvbiB7XG4gICAgJl9faW5pdGlhbCxcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAmLnUtaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgICZfX2luaXRpYWwge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbXMoMjY3cHgpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDMuNSk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDcuNSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudmlkZW8tcHJvZ3Jlc3MgeyBmbGV4LWdyb3c6IDE7IH1cblxuICAgICAgICAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjNzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3BsYXktcm90YXRpb24tYnV0dG9uLFxuICAgICAgICAjc3RvcC1yb3RhdGlvbi1idXR0b24sXG4gICAgICAgIC5tb3JlLWxpbmssXG4gICAgICAgIC5jb250cm9scyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAjc3RvcC1yb3RhdGlvbi1idXR0b24sXG4gICAgICAgICNwbGF5LXJvdGF0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3N0b3Atcm90YXRpb24tYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC5tb3JlLWxpbmsge1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udHJvbHMge1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbjpsYXN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IHNwYWNlKCk7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51LXdyYXBwZXIsXG4gICAgLnNlY3Rpb25fX2NvbnRlbnQgeyBoZWlnaHQ6IDEwMCU7IH1cblxuICAgIC5zZWN0aW9uX19jb250ZW50IHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbiAgICAjcm90YXRpb24tc3RhcnQtYnV0dG9uIHtcbiAgICAgICAgbGVmdDogNTB2dztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNzY4KSB7XG4gICAgICAgIGhlaWdodDogMjE1dnc7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDguNzUpIDAgc3BhY2UoNC4yNSk7XG5cbiAgICAgICAgLl9fdmlkZW8geyBvYmplY3QtZml0OiBjb250YWluOyB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBoZWlnaHQ6IDU2LjI1dnc7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDYuNzUpIDA7XG5cbiAgICAgICAgJl9faW5pdGlhbCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTElO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoMy43NSk7XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgyKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDcuNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNyb3RhdGlvbi1zdGFydC1idXR0b24ge1xuICAgICAgICAgICAgbGVmdDogNjB2dztcbiAgICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCA1MCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczEwMjQpIHtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMTQuMjUpIDAgc3BhY2UoNi43NSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczEyODApIHtcbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSg3LjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXh3aWR0aCgkZ2xvYmFsLW1heC13aWR0aCwgNy41KSB7XG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hY2NvcmRpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fcGFuZWwge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSg0KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAxcHggc29saWQgJGMtYmxhY2s7IH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgKiB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICAgICAgLnRpdGxlMSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSg2KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLnRvZ2dsZS1pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoNDJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9nZ2xlLWljb24ubWludXMgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgLnRvZ2dsZS1pY29uLnBsdXMgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAudG9nZ2xlLWljb24ubWludXMgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbXMoNTM4cHgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNlKDQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAmX19wYW5lbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoOCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50ID4gKiB7IHBhZGRpbmctdG9wOiBzcGFjZSg4KTsgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxNDQwKSB7XG4gICAgICAgICZfX2hlYWRlciAudGl0bGUxIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjLWRhcmtCbHVlO1xuICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICBwYWRkaW5nOiBzcGFjZSg0KSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJixcbiAgICAgICAgLmljb24sXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbXMoMjVweCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtcygxMjRweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFuZ3VhZ2Utc3dpdGNoZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgzLjc1KTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjZSgyKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoMik7XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgPiBkaXY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IHNwYWNlKDUpOyB9XG4gICAgICAgIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjUpOyB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBwOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiBzcGFjZSgxLjUpOyB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3NjgpIHtcbiAgICAgICAgJl9faGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoOCk7IH1cbiAgICAgICAgJl9fZm9vdGVyIHsgbWFyZ2luLXRvcDogc3BhY2UoNy41KTsgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoNi41KSAwO1xuXG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2UoMy43NSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgzLjc1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRlciB7IHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICZfX2Zvb3RlciB7IG1hcmdpbi1sZWZ0OiBzcGFjZSg1KTsgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxMDI0KSB7XG4gICAgICAgIC5maXhlZC1kZXNrdG9wIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTI4MCkge1xuICAgICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2UoNy41KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNlKDcuNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maXhlZC13cmFwcGVyIHtcbiAgICBib3R0b206IHNwYWNlKDYuNSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLmxhbmd1YWdlLXN3aXRjaGVyIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoMy43NSk7IH1cbiAgICB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoMS41KTsgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBsZWZ0OiBzcGFjZSgzLjc1KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTI4MCkge1xuICAgICAgICBsZWZ0OiBzcGFjZSg3LjUpO1xuICAgIH1cbn1cbiIsIkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICAgICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbnVtYmVyO1xufVxuXG5AZnVuY3Rpb24gZ2V0LXB4cygkc2l6ZSkge1xuICAgIEBpZiB1bml0KCRzaXplKSAhPSAncHgnIHtcbiAgICAgICAgQHJldHVybiByb3VuZChzdHJpcC11bml0KCRzaXplKSAqIHN0cmlwLXVuaXQoJG1pbi1mb250LXNpemUpKSAqIDFweDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gJHNpemU7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gcmVtcygkc2l6ZSkge1xuICAgIEByZXR1cm4gI3skc2l6ZSAvICRmb250LXNpemUgKiAxcmVtfTtcbn1cblxuQGZ1bmN0aW9uIHNwYWNlKCR0aW1lczogMSkge1xuICAgIEByZXR1cm4gJHZlcnRpY2FsLXJoeXRobSAqICR0aW1lcztcbn1cblxuQGZ1bmN0aW9uIHJhbmRvbW51bSgkbWluLCAkbWF4KSB7XG4gICAgJHJhbmQ6IHJhbmRvbSgpO1xuICAgICRyYW5kb21OdW06ICRtaW4gKyBmbG9vcigkcmFuZCAqICgoJG1heCAtICRtaW4pICsgMSkpO1xuXG4gICAgQHJldHVybiAkcmFuZG9tTnVtO1xufVxuIiwiLnRpbWVsaW5lLXRpdGxlLWJsb2Nre1xuICAgIC8vbWFyZ2luLWxlZnQ6IDExJTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW1zKDk4cHgpO1xuXG5cbiAgICAuc2VjdGlvbi10aXRsZSAuYm94e1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5zZWN0aW9uLXRpdGxlIC5ib3g6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBsZWZ0OiAtMTRweDtcbiAgICB9XG59XG5cbi50aW1lbGluZS1zbGlkZXIge1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICBtYXJnaW4tbGVmdDogMTElO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlZGRlZDtcbiAgICAgICAgei1pbmRleDogOTk5OTk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogY2FsYygtMTAwJSAtIDgwcHggKTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1zKDMycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpbWVsaW5lLWluZm8ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtcygyNHB4KTtcbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbXMoMTZweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDE2cHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtcygyMnB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGltZWxpbmUtY29udGVudCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1MnB4O1xuICAgICAgICAgICAgJi0taGlkZGVue1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICAvL3Zpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbXMoMTZweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXNob3ctbW9yZXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb250ZW50LXNob3d7XG4gICAgICAgICAgICAgICAgLmRvdHN7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgIC5saW5lOmFmdGVye1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vL1xuLy8uZHJhZ3tcbi8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgIGhlaWdodDogMTAwcHg7XG4vLyAgICB3aWR0aDogMTAwcHg7XG4vLyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XG4vL31cbiIsIi5hZHZhbnRhZ2Vze1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luLWxlZnQ6MTAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHMxMjgwKXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3Njgpe1xuICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgIH1cblxuICAgICYtLWN0YXtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuYWR2YW50YWdle1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiByZW1zKDY4cHgpIDAgcmVtcyg1MHB4KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzMTAyNCl7XG4gICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taWNvbi1ibG9ja3tcbiAgICAgICAgICAgIHdpZHRoOiByZW1zKDYwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1zKDQwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHMxMDI0KXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbXMoMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYtLXRpdGxlLWJsb2NrIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG5cblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczEwMjQpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpdGxlMS1tKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtcyg1NXB4KTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLW51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHMxMDI0KXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDMwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTEwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYtLWNvbnRlbnQtYmxvY2t7XG4gICAgICAgICAgICB3aWR0aDogNDYlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtcygxMnB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzMTAyNCl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG59XG4iLCIuc29jaWFsIHtcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMi41KTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IHNwYWNlKDMpOyB9XG5cbiAgICAgICAgYSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3NjgpIHtcbiAgICAgICAgdWwgbGk6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IHNwYWNlKDEuNSk7IH1cbiAgICB9XG59XG4iLCIudG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgKiB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICBodG1sOm5vdCgudG9nZ2xlLXllcykgJiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC50b2dnbGUtaXRlbSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBtYXJnaW46IDAgc3BhY2UoKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMzJweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAuMXMgZWFzZS1vdXQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIC50b2dnbGUtaXRlbTo6YmVmb3JlIHsgbGVmdDogY2FsYygxMDAlIC0gMnB4IC0gMTBweCk7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNzY4KSB7XG4gICAgICAgIC50b2dnbGUtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgc3BhY2UoLjUpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtcygzMHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKCkgc3BhY2UoMik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudmlkZW8tcHJvZ3Jlc3Mge1xuICAgIC0tZWFzZTogdmFyKC0tZWFzZS1vdXQtcXVhZCk7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9ncmVzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGxpbmVhcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IC4xcyBsaW5lYXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aWRlby10aXRsZSB7XG4gICAgICAgIGJvdHRvbTogc3BhY2UoMi4yNSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAudmlkZW8tc3RlcHMge1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSguNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7IGNvbG9yOiAkYy15ZWxsb3c7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgLnZpZGVvLXRpdGxlIHtcbiAgICAgICAgICAgIGJvdHRvbTogc3BhY2UoMi4yNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczc2OCkge1xuICAgICAgICAudmlkZW8tc3RlcHMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuL2hlbHBlcnMvY2xlYXItZm9ybSc7XG5AaW1wb3J0ICcuL2hlbHBlcnMvY29sdW1ucyc7XG5AaW1wb3J0ICcuL2hlbHBlcnMvZmxleCc7XG5AaW1wb3J0ICcuL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuL2hlbHBlcnMvc2Nyb2xsJztcbkBpbXBvcnQgJy4vaGVscGVycy92aXNpYmlsaXR5JztcblxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgd2lkdGg6ICRzaXplO1xufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIoKSB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBnZXQtcmF0aW8oJG8td2lkdGgsICRvLWhlaWdodCwgJHdpZHRoOiAwLCAkaGVpZ2h0OiAwKSB7XG4gICAgJGg6IHN0cmlwLXVuaXQoZ2V0LXB4cygkaGVpZ2h0KSk7XG4gICAgJHc6IHN0cmlwLXVuaXQoZ2V0LXB4cygkd2lkdGgpKTtcblxuICAgIEBpZiAkdyA+IDAge1xuICAgICAgICBoZWlnaHQ6IGNlaWwoKCR3IC8gJG8td2lkdGgpICogJG8taGVpZ2h0KSAqIDFweDtcbiAgICAgICAgd2lkdGg6ICR3ICogMXB4O1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaCAqIDFweDtcbiAgICAgICAgd2lkdGg6IGNlaWwoKCRoIC8gJG8taGVpZ2h0KSAqICRvLXdpZHRoKSAqIDFweDtcbiAgICB9XG59XG5cbkBtaXhpbiBob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5fbm9uLXRvdWNoICYge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBkYXNoZWQtYm9yZGVyKCRjb2xvcikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvciA2MCUsIHRyYW5zcGFyZW50IDYwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMnB4IDM2cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgIH1cbn1cblxuQG1peGluIGNyb3NzZXMge1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG59XG5cbkBtaXhpbiBjZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xufVxuXG5AbWl4aW4gbWVkaWEtcmVzcG9uc2l2ZSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgKiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgZmxleCgpO1xuIl19 */
