@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%
}

.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 {
    border-radius: 30px !important;
    border: 1px solid var(--primary-brown, #C66A39);
    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: 16.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:  #E2E6E8 !important;
    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-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: 60vw;
        top: 40%;
        transform: translate3d(-50%, 50%, 0)
    }

    .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*/
    }

    .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: 1.25rem
    }

    .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 {
    }
}

@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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5zY3NzIiwiaG9tZS5jc3MiLCJ0b29scy9oZWxwZXJzL19mbGV4LnNjc3MiLCJzZXR0aW5ncy92YXJpYWJsZXMvX2Vhc2luZ3Muc2NzcyIsInNldHRpbmdzL3ZhcmlhYmxlcy9fc2l6ZXMuc2NzcyIsInNldHRpbmdzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidG9vbHMvaGVscGVycy9fbWVkaWEtcXVlcmllcy5zY3NzIiwidG9vbHMvX2FuaW1hdGlvbnMuc2NzcyIsImJsb2Nrcy9fZG9jdG9yLnNjc3MiLCJibG9ja3MvX3Jlc3VsdHMuc2NzcyIsImJsb2Nrcy9fcm90YXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJjb21wb25lbnRzL190aW1lbGluZS1zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2FkdmFudGFnZXMuc2NzcyIsIm1vZHVsZXMvX3NvY2lhbC5zY3NzIiwibW9kdWxlcy9fdG9nZ2xlLnNjc3MiLCJtb2R1bGVzL192aWRlby1wcm9ncmVzcy5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwiaG9tZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLDBGQUFPLEFDSFAseURDRHlCLEFER3pCLFFBRUUsb0JDSDRCLEFESTVCLFlDSjRCLENESzdCLEFBRUQsc0JBRUUsc0JDUjhDLEFBQ3BDLGtCQUFBLENEU1gsQUFFRCxtQkFFRSxtQkNaOEIsQURhOUIsb0JDYjhCLENEYy9CLEFBRUQscUJBRUUscUJDakIrQixBQUNyQixzQkFBQSxDRGtCWCxBQUVELHdCQUVFLHFCQ3JCMkIsQURzQjNCLHNCQ3RCb0QsQ0R1QnJELEFBRUQseUJDdkJZLHNCQUFBLEFEMEJWLDZCQzFCbUMsQ0QyQnBDLEFBRUQsdUJBRUUsb0JDNUJpQyxBRDZCakMsMEJDNUJxQyxDRDZCdEMsQUFFRCxxQkFFRSxrQkM3QmMsQUQ4QmQsd0JDOUJjLENEK0JmLEFBRUQsd0JBQ0UseUJDaENrQyxBRGlDbEMsNEJDakNrQyxDRGtDbkMsQUV6REQsY0FDSSxtQkFBQSxBQUNBLGNBQUEsQ0Y0REgsQUFFRCxnQkV6REksc0JBQUEsQUFDQSxtQkFBQSxBQUVBLHFCQUFBLEFBQ0Esc0JBQUEsQ0Y0REgsQUFFRCxnQkV4REksMEJBQUEsQUFDQSxxQkFBQSxDRjRESCxBQUVELGdDQUdFLGtDRzFFRCxBSDJFQyw2QkFBK0IsQ0kvRWpDLEFKa0ZBLE1JMUVJLDhDQUFxQixBQUdyQixnREFBcUIsQUFHckIsZ0RBQXFCLEFBR3JCLGdEQUFpQixBQUdqQiwrQ0FBbUIsQUFHbkIsNkNBQXNCLEFBSXRCLDhDQWhDWSxBQzhDWiwrQ0FBQSxBTGtERiw4Q0kzRkYsQUo0RkUsMkNJM0RELEFKNERDLDBDQUE4QyxBTWxHaEQsOENBQUEsQUFDSSxvREFBTyxBQUVQLG1EQUFVLEFBQ1YsK0NBQWtDLEFBQWxDLDhDQUFrQyxBQUNsQyx5Q0FBMEIsQUFBMUIsbURBQTBCLEFOd0c1QixxQk1wR2dCLEFOd0doQiwrQk1qSEYsQU5rSEUsOEJNcEdNLEFOcUdOLDhCTXJHd0MsQU5zR3hDLDRCQUE2QixBTWxHL0IsNkJBQUEsQUFDSSwwQkFBQSxBQUVBLDJCQUFVLEFBQ1YsMEJBQUEsY0FBQSxDTm9GSCxBQWtCRCxTRHZIQSw0QkFBQSxBQUlBLFVBQUEsQVFSSSwyQkFBQSxBQUVJLDBCQUFnQixBQUdoQixvQkFBQSxDUCtIUCxBQUVELGtCQUNFLFVPOUhVLEFQZ0lWLHVCTy9IcUIsQ1BnSXRCLEFBRUQsU0svRkksNEJBQUEsQUUxQkksVUFBQSxBUDZITiwwQk8xSE8sQ1AySFIsQUFFRCxrQkFDRSxTTzFITSxDUDJIUCxBQVFELGVBQ0UsdUJPdkhvQixBUHdIcEIsZ0JPaEtGLEFQaUtFLGlCT3JIVSxDUHNIWCxBQUVELHVCQUNFLFNPeEhVLEFQeUhWLGtCT3pIdUIsQVAwSHZCLFFPekhVLEFQMkhWLG1DTzNIcUMsQVA0SHJDLFVPM0hVLENQNEhYLEFBRUQsbUJRN0tBLFVBQUEsQ1IrS0MsQUFFRCxTQUNFLG1CUTdLTSxBUjhLTixtQlE3S3dCLENSOEt6QixBQUVELGlCQUVFLGtCUTdLYyxBQUdaLGdCQUFBLEFSNEtGLGdCUTNLTSxBUjRLTixpQlE1S00sQ1I2S1AsQUFFRCxzQ0FQRSwwQlFuTEcsQ1I0TEosQUFFRCx5QkFFRSxzQlF0TEcsQVJ1TEgsbUJRaExVLEFSa0xWLG9CUWhMVSxBUmlMVixhUWhMVSxBUmtMVixvQlEvS2MsQVJnTGQsMkJRL0t1QixBUmdMdkIsaUJRL0txQixDUmdMdEIsQUFFRCxvQ0FDRSwyQlEvS29CLEFSZ0xwQixrQlEvS3dCLEFSZ0x4QixrQlFwTUcsQVJxTUgsd0JROUs4QixDUitLL0IsQUFFRCx3REFDRSxzQlE5S2tCLEFSK0tsQixTUS9La0IsQVJnTGxCLE9RM01HLEFSNE1ILGdCUTVLYyxBUjZLZCxrQlE1S2MsQUhlWixRQUFBLEFMK0pGLE1RN05GLEFSOE5FLFNRektNLENSMEtQLEFBRUQsNERBQ0UsWVF4S1UsQVJ5S1YsU1F0S08sQVJ1S1Asa0JRcktjLEFSc0tkLE1ReEtPLEFIQ0wsK0JBQUEsQ0wwS0gsQUFFRCx3Q0FDRSxZUS9KTSxBUmdLTixjUS9KVSxDUmdLWCxBQUVELHNDUzNPUSxxQkFBYSxBQUFiLHVCQUFhLEFBQ2Isb0JBQUEsYUFBQSxBQUNBLDBCQUFZLEFBTGYsc0JBQUEsQVQwUEgsV1NuUG1CLENUb1BwQixBQUVELHdEUy9PSSxZQUFBLENUa1BILEFBRUQsbUJTbFBRLG9CQUFVLENUb1BqQixBQUVELG1CQUVFLGtCU2xQVSxBVG1QVix5QlNsUGdCLEFUbVBoQixVU2xQVSxBQVZQLFVBQUEsQ1Q4UEosQUFFRCxrQ0FDRSxTU2xQVSxBVG1QVixVU25QVSxBVG9QVixrQlNwUHVCLEFUcVB2QixNU3BQVSxBVHFQVixVU3JQVSxDVHNQWCxBQUVELHVCQUVFLHNCU3RQNEIsQVR1UDVCLG1CU3RQcUIsQVR3UHJCLG9CU3JQb0MsQVRzUHBDLGFTdFB3QixBQXhCckIsc0JBQUEsQVRpUkgsOEJTdFBVLEFUdVBWLGFTdlBVLEFBM0JQLGtCQUFBLEFUb1JILGdCQUFpQixBQUNqQixrQkFBbUIsQUFDbkIsVUFBWSxDQUNiLEFBRUQsbUNBRUUsb0JTblBtQixBQXhDaEIsV0FBQSxDVDZSSixBQUVELDZCUy9SSyw2QkFBQSxDVGtTSixBQUVELDZJQUlFLGlCU2hQMEIsQ1RpUDNCLEFBRUQsa0ZBRUUsT1M3TytCLEFUOE8vQixRQUFVLENTN1RaLEFUZ1VBLHlDQUNFLFlBQWMsQ1NqVWhCLEFUb1VBLDhCU3BVQSxZQUFBLEFBeUZRLHlCQUFVLENUOE9qQixBQUVELDZCUzVPUSxZQUFBLEFBQ0Esb0JBQVUsQVQrT2hCLGFBQWMsQUsvUlosT0FBQSxDTGlTSCxBQUVELHFDQUNFLFlTbFZGLEFUbVZFLFFTOU9pQixDVCtPbEIsQUt0UkcsdURJOURKLGFBQUEsQ1R3VkMsQUFFRCxnREFDRSxlUzlPVSxDVCtPWCxBQUVELGlEQUVFLFdTOU9VLENUK09YLEFBRUQsNEJBQ0UsY1M3T2MsQ1Q4T2YsQUFFRCxpQ0FDRSxVUzFPVSxBVDJPVixTUzNPVSxBVDRPVixrQkFBbUIsQUs1U2pCLFFBQUEsQUwrU0YsZ0NTM05ELEFUNE5DLFNBQVcsQ0toVFQsQUFNQSxXSXlFSSxnQkFBQSxBVHdPTixpQlN2T3lCLENUd08xQixBRG5XRCxrQlduQkEsNkJBQUEsQUFDSSxjQUFBLEFBQ0Esb0JBQWtCLEFBRWxCLGlCQUFBLEFWeVhGLGlCVXhYTSxDVnlYUCxBQUVELDhCQUNFLHlCVXhYd0IsQ1Z5WHpCLEFBRUQsbUJBQ0UsZVV0WE0sQVZ1WE4sZVV0WE0sQ1Z1WFAsQUFFRCxxQkFDRSxtQlVyWFUsQ1ZzWFgsQUFFRCwyQkFDRSxtQlVwWHNCLEFWcVh0QixpQlVwWHNCLENWcVh2QixBQUVELHdDQUNFLGtCVWxYd0MsQVZtWHhDLFFVdFlHLEFWdVlILFFValg4QixBVmtYOUIsWVV4WUcsQVZ5WUgsVVVsWCtCLENWbVhoQyxBQU1ELGtGS2hXSSxZQUFBLENMa1dILEFBRUQsNkNBQ0UsYVV6V00sQ1YwV1AsQUFFRCxvQkFDRSxTVXhXVSxBVnlXVixnQkFBaUIsQVd4YW5CLGlCQUFBLENYMGFDLEFBRUQsc0JXeGFJLG9CQUFXLEFBRVgsZ0JBQUEsQ1h5YUgsQUFFRCxRQUNFLG1CVzFhTSxBWDJhTixXVzNhTSxBWDRhTixlVzVhTSxBQVJSLFVBQUEsQ1hzYkMsQUFFRCxnQkFFRSxvQkFBcUIsQUFDckIsYVd6YVUsQUFsQlosa0JBQUEsQVg4YkUsd0JZdmFtQyxDWndhcEMsQUFFRCxjV2phSSxXQUFBLEFYbWFGLGFXbGFNLENYbWFQLEFBRUQsb0RBR0UsaUJXemFHLEFYMGFILGFXdGEwQixDWHVhM0IsQUFFRCwyQkFDRSxrQldyYU0sQ1hzYVAsQUFFRCxpQkFDRSxrQld4YU0sQVh5YU4sa0JXemFtQixDWDBhcEIsQUFFRCxlQUVFLG1CVzVhTSxBWDZhTixxQlc3YU0sQVgrYU4sb0JXN2EyQixBTkF6QixZQUFBLENMK2FILEFBRUQsK0JBQ0UsaUJXN2FrQixDWDhhbkIsQUFFRCxzQ0FDRSxrQlczYU0sQ1g0YVAsQUFFRCxnQkFFRSxtQlc5YVUsQVgrYVYscUJXOWFVLEFYZ2JWLG9CVzVhTSxBWDZhTixhVzdha0IsQVgrYWxCLG9CVzlha0IsQU5IaEIsWUFBQSxBTG9iRixzQlc1YW9CLEFYNmFwQiw2QlczYU8sQ1g0YVIsQUFFRCxtQ0FDRSxrQld6YVUsQ1gwYVgsQUFFRCxlV3JhSSxZQUFBLEFBRkosY0FBQSxDWDBhQyxBQUVELGtDS2pjSSxrQkFBQSxDTG1jSCxBQUVELHNDQUNFLGtCV2piRixDWGtiQyxBYXJnQkQsc0JBRUksc0JEaUJvQyxDWnNmdkMsQUFFRCwwQ0FDRSxpQmFuZ0JpQixDYm9nQmxCLEFBRUQsZ0RBQ0UsV2FuZ0JNLEFib2dCTixnQkFBaUIsQWFoZ0JuQixrQkFBQSxBQUNJLFFBQUEsQUFDQSxVQUFBLENia2dCSCxBQUVELGlCQUNFLGVhL2ZNLEFiZ2dCTixnQmEvZmtCLEFiZ2dCbEIsaUJhL2ZpQixDYmdnQmxCLEFBRUQsd0JBQ0UsV2EvZlksQWJnZ0JaLGtCYS9mTSxBQWZSLFlBQUEsQWJnaEJFLFdhNWZVLEFiNmZWLHlCWS9nQnNDLEFDRnhDLFVBQUEsQWJtaEJFLGdCYTFmVSxBYjJmVixNYXBoQkYsQWJxaEJFLHVCYTFmZ0MsQ2IyZmpDLEFBRUQsbUNBQ0UsbUJhMWY0QixBYjJmNUIsa0JhMWZjLENiMmZmLEFBRUQsOENBQ0Usb0JZNWhCc0MsQ1o2aEJ2QyxBQUVELGlEQUNFLGtCYXRmc0IsQWJ1ZnRCLGdCYXRmVSxBYnVmVixlYXRmVSxBYnVmVixpQmFyaUJGLEFic2lCRSxXYXRmYyxBYnVmZCxpQmF0ZnNCLENidWZ2QixBQUVELGdEQUNFLGtCYTNpQkYsQWI0aUJFLGdCYXJmYyxBYnNmZCxlYXJmeUIsQWJzZnpCLGlCYXJmc0IsQWJzZnRCLFVhcmZ5QixDYnNmMUIsQUFFRCxxQ0FDRSxZYWxmVSxBYm1mVix1QmFwakJGLEFicWpCRSxpQmFsZjZCLENibWY5QixBQUVELHlDQUNFLGtCYS9lYyxBYmdmZCxRYS9lYyxBYmlmZCwyQmEvZXlCLEFiZ2Z6QixTYS9lYyxDYmdmZixBQUVELDJDQUNFLGtCYTVlNkIsQWI2ZTdCLFdhNWVjLEFiNmVkLFFhNWVjLEFiNmVkLFdhNWVjLEFiNmVkLFdhNWVjLEFiNmVkLHFCYTVlMkIsQ2I2ZTVCLEFBRUQsaURBQ0UsZWEvZWMsQ2JnZmYsQUFFRCx5REFDRSxhYWhma0IsQWJpZmxCLGVhL2tCRixDYmdsQkMsQUFFRCxtREFDRSxrQmFqZmtCLEFia2ZsQixnQmFwbEJGLEFicWxCRSxlYTdla0IsQWI4ZWxCLGlCYXRsQkYsQWJ1bEJFLFdhMWVzQixBYjJldEIsa0JhM2VzQixDYjRldkIsQUFFRCxnRWM1bUJBLGVBQUEsQ2Q4bUJDLEFBRUQsNERBQ0UsZWNqbkJGLEFka25CRSxrQmNwaEJELEFUaERHLGdCQUFBLEFMc2tCRixlY3BuQkYsQWRxbkJFLGlCYzVtQm1CLEFkOG1CbkIsb0JjMW1CTSxBZDJtQk4sYWMzbUJNLEFkNm1CTixzQmM1bUIrQixBZDZtQi9CLG1CYzdtQitCLEFkOG1CL0IsVWM5bUJNLENkK21CUCxBQUVELGlFQUNFLGdCYzltQm1CLENkK21CcEIsQUFFRCxnRUFHRSw2QmN6aUJHLENkMmlCSixBQUVELG9FQUNFLFljM21CVSxDZDRtQlgsQUFFRCx5RUFFRSx3QmN4bUJ1QixDZHltQnhCLEFBRUQsd0RBQ0UsWWN2bUJjLENkd21CZixBQUVELFlBQ0UsVWMxbUJjLEFkMm1CZCxlYzFtQmMsQ2QybUJmLEFBRUQsaUJBRUUsb0JjOXBCRixBZCtwQkUsYWN4bUJrQixBZDBtQmxCLGtCY3htQjRCLEFkeW1CNUIsd0JjeG1CMkIsQ2R5bUI1QixBQUVELHVCQUVFLG9CY3htQmtCLEFkeW1CbEIsYWN4bUJrQixBZHltQmxCLDJCSzNuQkUsQUw0bkJGLDRCYzFxQkYsQ2QycUJDLEFBRUQsb0NBQ0Usa0JjbG1Cb0IsQ2RtbUJyQixBQUVELG1DQUNFLGNjbHJCRixBZG1yQkUsbUJjbm1CYyxDZG9tQmYsQUFFRCxvQ0FDRSxZY2ptQmMsQ2RrbUJmLEFBRUQsdUNEanFCQSxrQkFBQSxBZ0J6QkEsb0NBQUEsQUFFUSxxQkhxQjZCLENadXFCcEMsQUFFRCw2Q2UxckJRLGtCQUFBLDBCQUFhLEFBTnJCLFVBQUEsQWZvc0JFLFNlNXJCdUIsQUFSekIsa0JBQUEsQWZzc0JFLGdCZTVyQlUsQWY2ckJWLGVBQWdCLEFLenBCZCxpQkFBQSxBVTlDSixvQkFBQSxBZjBzQkUsd0JlNXJCc0QsQ2Y2ckJ2RCxBQUVELHNDZ0I1c0JJLFVBQUEsaUJBQWEsQUFEakIsa0JBQUEsQ2hCaXRCQyxBQUVELHdDZ0JudEJBLGtCQUFBLEFoQnF0QkUsZ0JnQjdzQk0sQWhCOHNCTixlZ0I3c0JNLEFoQjhzQk4saUJnQjdzQm9CLEFoQjhzQnBCLFVnQjdzQmtCLENoQjhzQm5CLEFBSUQsVUFDRSxrQmdCNXNCVSxDaEI2c0JYLEFBRUQsV0FFRSxvQmdCNXNCVSxBaEI2c0JWLFlnQjdzQlUsQ2hCOHNCWCxBQUVELDBCQUNFLGlCZ0Izc0JrQyxDaEI0c0JuQyxBQUVELGFBQ0UseUJnQjFzQmdDLENoQjJzQmpDLEFBRUQsUUFFRSxvQmdCdnNCcUIsQWhCd3NCckIsWWdCdnNCVSxDaEJ3c0JYLEFpQm52QkQsVUFDSSxtQkFBQSxDakJzdkJILEFBRUQsOEJBQ0UsWWlCbnZCTSxDakJvdkJQLEFBRUQscUJBQ0Usc0JpQnR2Qm9DLEFqQnV2QnBDLG1CaUJ2dkJNLEFqQnd2Qk4sY2lCdnZCaUIsQUFUbkIsWUFBQSxBakJrd0JFLGFpQnJ2Qk0sQWpCc3ZCTixrQmlCcnZCaUIsQWpCc3ZCakIsVWlCcnZCTSxDakJzdkJQLEFBRUQsNEJBQ0UsZ0JpQnB2QlUsQWpCcXZCVixrQmlCcHZCc0IsQWpCcXZCdEIsV2lCcHZCaUIsQWpCcXZCakIsU2lCcHZCVSxBakJxdkJWLGtCaUJwdkJnQixBakJxdkJoQixRaUJwdkJVLEFqQnN2QlYsNkJpQnJ2QlUsQWpCc3ZCVixZaUJ0dkJVLEFqQnV2QlYsVWlCdHZCVSxDakJ1dkJYLEFBRUQsbUNBQ0UsNEJpQnp2QnFCLENqQjB2QnRCLEFBRUQsZ0JBQ0UsNEJpQnZ2QnFCLEFqQnd2QnJCLGVpQnZ2QmlCLEFqQnd2QmpCLGlCaUJ2dkJVLENqQnd2QlgsQUFFRCxtQkFFRSxvQmlCenZCVSxBakIwdkJWLGFrQnp4QkUsQURSSixzQkFBQSxBakJveUJFLDhCWTd3Qm1DLEFaOHdCbkMsVWlCdHZCYSxDakJ1dkJkLEFBRUQsMEJBQ0Usc0JpQnB2QndCLEFqQnF2QnhCLFdpQnB2Qk0sQWpCcXZCTixvQmlCM3lCRixBakI0eUJFLGtCaUJudkJ5QixBakJvdkJ6QixVaUJudkJVLENqQm92QlgsQUFFRCxnQ0tsdkJJLHlCQUFBLEFMb3ZCRixZaUJsekJGLEFqQm16QkUsT2lCanZCVSxBWnBCUixrQkFBQSxBTHV3QkYsTWlCcnpCRixBakJ1ekJFLG9CWWh5Qm1DLEFiT3JDLDZCQUFBLEFDOHhCRSxnQ0FBaUMsQW1CMXpCbkMsVUFBQSxDQUVBLEFBSUEsK0JuQjB6QkUsc0JBQXVCLEFBQ3ZCLGtCQUFtQixBQUNuQixXQUFZLEFBQ1osT0FBUSxBQUNSLGtCQUFtQixBQUNuQixTQUFVLEFBRVYsZ0NBQW1DLEFBRW5DLDJCQUE0QixBQUM1QixZQUFhLEFBQ2IsVUFBWSxDQUNiLEFBRUQsNkJBQ0UsWUFBYSxBQUNiLE9BQVEsQUFDUixpQkFBbUIsQ0FDcEIsQUFFRCw2QkFDRSxlQUFnQixBQUNoQixrQkFBbUIsQUFDbkIsVUFBWSxDQUNiLEFBRUQsbUNBQ0UsZUFBZ0IsQUFFaEIsNkJBQStCLENBQ2hDLEFBRUQsMENBQ0UsYUFBZSxDQUNoQixBQUlELHNCQUNFLGdDQUFrQyxDQUNuQyxBQVlELG9DQUNFLE1BQ0UscUJBQXVCLENBQ3hCLEFBRUQsU0FFRSwwQkFBNEIsQ0FDN0IsQUFFRCxRQUNFLGVBQWlCLENBQ2xCLEFBRUQsZUFDRSxTQUFVLEFBQ1YsT0FBUSxBQUNSLGtCQUFtQixBQUNuQixRQUFTLEFBQ1QsTUFBTyxBQUNQLFNBQVcsQ0FDWixBQUVELDBCQUNFLGtCQUFtQixBQUNuQixTQUFXLENBQ1osQUFFRCw2QkFFRSxzQkFBdUIsQUFDdkIsbUJBQW9CLEFBRXBCLG9CQUFxQixBQUNyQixhQUFjLEFBRWQsb0JBQXFCLEFBQ3JCLDJCQUE0QixBQUM1QixzQkFBdUIsQUFDdkIsWUFBYSxBQUNiLGlCQUFtQixDQUNwQixBQUVELFNBQ0UsbUJBQW9CLEFBQ3BCLG1CQUFxQixDQUN0QixBQUVELGlCQUNFLGNBQWUsQUFDZixpQkFBbUIsQ0FDcEIsQUFFRCxvQ0FDRSxpQkFBbUIsQ0FDcEIsQUFFRCx3REFDRSxzQkFBd0IsQ0FDekIsQUFFRCxVQUNFLGVBQWdCLEFBQ2hCLGNBQWdCLENBQ2pCLEFBRUQsbUJBRUUsc0JBQXVCLEFBQ3ZCLDZCQUErQixDQUNoQyxBQUVELG1CQUNFLGlCQUFrQixBQUNsQixrQkFBb0IsQ0FDckIsQUFFRCx1QkFDRSxhQUFjLEFBQ2Qsa0JBQW1CLEFBQ25CLGVBQWlCLENBQ2xCLEFBRUQsaUNBQ0UsVUFBVyxBQUNYLFFBQVMsQUFFVCxpQ0FBcUMsQ0FDdEMsQUFFRCxrQkFDRSxvQkFBcUIsQUFDckIsZ0JBQWtCLENBQ25CLEFBRUQsc0JBQ0UsZ0JBQWtCLENBQ25CLEFBRUQsUUFDRSxjQUFnQixDQUNqQixBQUVELGlCQUVFLG9CQUFxQixBQUNyQixhQUFjLEFBQ2QsbUJBQW9CLEFBQ3BCLGVBQWdCLEFBQ2hCLGtCQUFtQixBQUNuQixrQkFBb0IsQ0FDckIsQUFFRCxnQkFDRSxVQUFZLENBQ2IsQUFFRCxnQkFDRSxnQkFBa0IsQ0FDbkIsQUFFRCxlQUNFLFNBQVcsQ0FDWixBQUVELDZCQUNFLFdBQWEsQ0FDZCxDQUNGLEFBRUQscUNBQ0UsVUFDRSxvQkFBc0IsQ0FDdkIsQUFFRCx1QkFDRSxVQUFXLEFBQ1gsaUJBQW1CLENBQ3BCLENBQ0YsQUFFRCxxQ0FLRSxvQ0FIRSxrQkFBb0IsQ0FHdEIsQUFHQyxpQkFGQyxpQkFBbUIsQ0FFcEIsQUFFRCxlQUNFLFNBQVcsQ0FDWixDQUNGLEFBRUQscUNBQ0UsU0FDRSxvQkFBcUIsQUFDckIsb0JBQXNCLENBQ3ZCLEFBRUQsaUJBQ0UsaUJBQW1CLENBQ3BCLEFBRUQsMkJBQ0UsaUJBQW1CLENBQ3BCLENBQ0YsQUFFRCxxQ0FDRSxtQkFDRSxlQUFnQixBQUNoQixlQUFpQixDQUNsQixDQUNGLEFBRUQscUNBQ0UsWUFDRSxVQUFZLENBQ2IsQ0FDRixBQUVELHFDQUNFLHVCQUNFLG1CQUFvQixBQUNwQixjQUFnQixDQUNqQixBQUVELG1DQUNFLG9CQUFzQixDQUN2QixBQUVELG9DQUVFLG9CQUFxQixBQUNyQixhQUFjLEFBRWQsc0JBQXVCLEFBQ3ZCLG1CQUFvQixBQUNwQix1QkFBeUIsQ0FDMUIsQUFFRCx1Q0FDRSxtQkFBb0IsQUFDcEIsZ0JBQWtCLENBQ25CLEFBRUQsc0NBQ0UsdUJBQXlCLENBQzFCLENBQ0YsQUFFRCxvQ0FDRSxNQUNFLDhCQUFnQyxDQUNqQyxBQUVELGVBQ0UsZ0JBQWlCLEFBQ2pCLG1CQUFxQixDQUN0QixBQUVELFVBQ0UsYUFBYyxBQUNkLG1CQUFxQixDQUN0QixBQUVELG1CQUNFLHNCQUF1QixBQUN2QixrQkFBb0IsQ0FDckIsQUFFRCxnQkFDRSxrQkFBb0IsQ0FDckIsQUFFRCxnQkFDRSxlQUFpQixDQUNsQixBQUVELFlBQ0UsYUFBZSxDQUNoQixBQUVELDBCQUNFLGlCQUFtQixDQUNwQixBQUVELHFCQUNFLGFBQWMsQUFDZCxxQkFBdUIsQ0FDeEIsQUFFRCw0QkFDRSxlQUFpQixDQUNsQixBQUVELFlBQ0Usc0JBQXVCLEFBQ3ZCLFdBQVksQUFDWix1QkFBd0IsQUFDeEIsZ0JBQWtCLENBQ25CLEFBRUQsNkJBQ0UsZUFBZ0IsQUFDaEIsZUFBaUIsQ0FDbEIsQ0FDRiIsImZpbGUiOiJob21lLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuL3Rvb2xzL21peGlucyc7XG5AaW1wb3J0ICcuL3NldHRpbmdzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuL3Rvb2xzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuL3Rvb2xzL2FuaW1hdGlvbnMnO1xuXG4vKiBMaWJzICovXG5AaW1wb3J0IFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9sb2NvbW90aXZlLXNjcm9sbEAzLjUuNC9kaXN0L2xvY29tb3RpdmUtc2Nyb2xsLmNzc1wiO1xuQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL3N3aXBlci9zd2lwZXItYnVuZGxlLm1pbi5jc3NcIjtcblxuLyogRm9ybSAqL1xuLy8gQGltcG9ydCAnLi9mb3JtL2NoZWNrYm94Jztcbi8vIEBpbXBvcnQgJy4vZm9ybS9mb3JtJztcbi8vIEBpbXBvcnQgJy4vZm9ybS9pbnB1dCc7XG5cbi8qIGJsb2NrcyAqL1xuQGltcG9ydCAnLi9ibG9ja3MvZG9jdG9yJztcbkBpbXBvcnQgJy4vYmxvY2tzL3Jlc3VsdHMnO1xuQGltcG9ydCAnLi9ibG9ja3Mvcm90YXRpb24nO1xuXG4vKiBDb21wb25lbnRzICovXG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9mb290ZXInO1xuQGltcG9ydCAnLi9jb21wb25lbnRzL3RpbWVsaW5lLXNsaWRlcic7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvYWR2YW50YWdlcyc7XG5cbi8qIE1vZHVsZXMgKi9cbkBpbXBvcnQgJy4vbW9kdWxlcy9zb2NpYWwnO1xuQGltcG9ydCAnLi9tb2R1bGVzL3RvZ2dsZSc7XG5AaW1wb3J0ICcuL21vZHVsZXMvdmlkZW8tcHJvZ3Jlc3MnO1xuXG4vKiBQYWdlcyAqL1xuQGltcG9ydCAnLi9wYWdlcy9wYWdlJztcblxuLyogR2VuZXJpYyAqL1xuIiwiLyogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vaXRhbG9kci9iNGRlZDU4OTRhZmEyY2VhZTE5ZWQxYjc2Nzc4NWUwMiAqL1xuXG5AaW1wb3J0IFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9sb2NvbW90aXZlLXNjcm9sbEAzLjUuNC9kaXN0L2xvY29tb3RpdmUtc2Nyb2xsLmNzc1wiO1xuXG5AaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vc3dpcGVyL3N3aXBlci1idW5kbGUubWluLmNzc1wiO1xuXG4udS1mbGV4IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udS1mbGV4LS1hbGlnbi1jZW50ZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udS1mbGV4LS1hbGlnbi1lbmQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi51LWZsZXgtLWFsaWduLXN0YXJ0IHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4udS1mbGV4LS1qdXN0aWZ5LWNlbnRlciB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnUtZmxleC0tanVzdGlmeS1iZXR3ZWVuIHtcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udS1mbGV4LS1qdXN0aWZ5LXN0YXJ0IHtcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi51LWZsZXgtLWp1c3RpZnktZW5kIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi51LWZsZXgtLWp1c3RpZnktYXJvdW5kIHtcbiAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi51LWZsZXgtLXdyYXAge1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi51LWZsZXgtLWNlbnRlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnUtZmxleC0tY29sdW1uIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4udS1mbGV4LS1jb2x1bW4udS1mbGV4LS1yZXZlcnNlIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbjpyb290IHtcbiAgLS1lYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKTtcbiAgLS1lYXNlLWluLWN1YmljOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpO1xuICAtLWVhc2UtaW4tcXVhcnQ6IGN1YmljLWJlemllciguODk1LCAuMDMsIC42ODUsIC4yMik7XG4gIC0tZWFzZS1pbi1xdWludDogY3ViaWMtYmV6aWVyKC43NTUsIC4wNSwgLjg1NSwgLjA2KTtcbiAgLS1lYXNlLWluLWV4cG86IGN1YmljLWJlemllciguOTUsIC4wNSwgLjc5NSwgLjAzNSk7XG4gIC0tZWFzZS1pbi1jaXJjOiBjdWJpYy1iZXppZXIoLjYsIC4wNCwgLjk4LCAuMzM1KTtcbiAgLS1lYXNlLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgLS1lYXNlLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7XG4gIC0tZWFzZS1vdXQtcXVhcnQ6IGN1YmljLWJlemllciguMTY1LCAuODQsIC40NCwgMSk7XG4gIC0tZWFzZS1vdXQtcXVpbnQ6IGN1YmljLWJlemllciguMjMsIDEsIC4zMiwgMSk7XG4gIC0tZWFzZS1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgLS1lYXNlLW91dC1jaXJjOiBjdWJpYy1iZXppZXIoLjA3NSwgLjgyLCAuMTY1LCAxKTtcbiAgLS1lYXNlLWluLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KTtcbiAgLS1lYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC42NDUsIC4wNDUsIC4zNTUsIDEpO1xuICAtLWVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjc3LCAwLCAuMTc1LCAxKTtcbiAgLS1lYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKC44NiwgMCwgLjA3LCAxKTtcbiAgLS1lYXNlLWluLW91dC1leHBvOiBjdWJpYy1iZXppZXIoMSwgMCwgMCwgMSk7XG4gIC0tZWFzZS1pbi1vdXQtY2lyYzogY3ViaWMtYmV6aWVyKC43ODUsIC4xMzUsIC4xNSwgLjg2KTtcbn1cblxuOnJvb3Qge1xuICAtLWhlYWRlci1oZWlnaHQ6IDcycHg7XG59XG5cbjpyb290IHtcbiAgLS1mb250LXNpemUtZGlzcGxheS1tOiA0LjM3NXJlbTtcbiAgLS1mb250LXNpemUtdGl0bGUxLW06IDMuMTI1cmVtO1xuICAtLWZvbnQtc2l6ZS10aXRsZTItbTogMS44NzVyZW07XG4gIC0tZm9udC1zaXplLXRpdGxlMy1tOiAxLjVyZW07XG4gIC0tZm9udC1zaXplLXRpdGxlNC1tOiAxLjI1cmVtO1xuICAtLWZvbnQtc2l6ZS1iYXNlOiAwLjg3NXJlbTtcbiAgLS1mb250LXNpemUtcHNtYWxsOiAwLjc1cmVtO1xuICAtLWxpbmUtaGVpZ2h0LXByaW1hcnk6IDEuMztcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uc2hvdy11cCB7XG4gIC0tZWFzZTogdmFyKC0tZWFzZS1vdXQtcXVhZCk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI0cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjRweCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMXMgdmFyKC0tZWFzZSk7XG4gIHRyYW5zaXRpb246IDFzIHZhcigtLWVhc2UpO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IC4zcztcbiAgdHJhbnNpdGlvbi1kZWxheTogLjNzO1xufVxuXG4uc2hvdy11cC5hbmltYXRlZCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5mYWRlLWluIHtcbiAgLS1lYXNlOiB2YXIoLS1lYXNlLW91dC1xdWFkKTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIHZhcigtLWVhc2UpO1xuICB0cmFuc2l0aW9uOiAwLjVzIHZhcigtLWVhc2UpO1xufVxuXG4uZmFkZS1pbi5hbmltYXRlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIExpYnMgKi9cblxuLyogRm9ybSAqL1xuXG4vKiBibG9ja3MgKi9cblxuLmRvY3Rvcl9faW1hZ2Uge1xuICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZG9jdG9yX19pbWFnZS13cmFwcGVyIHtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZG9jdG9yX19pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJlc3VsdHMge1xuICAtLXNsaWRlLXdpZHRoOiA1NHZ3O1xuICAtLXNsaWRlLWhlaWdodDogNjV2dztcbn1cblxuLnJlc3VsdHNfX3NsaWRlciB7XG4gIGhlaWdodDogdmFyKC0tc2xpZGUtaGVpZ2h0KTtcbiAgbWFyZ2luLWxlZnQ6IC03MHZ3O1xuICBtYXJnaW4tdG9wOiA5NnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZXN1bHRzX19zbGlkZXIgPiBkaXYge1xuICBoZWlnaHQ6IHZhcigtLXNsaWRlLWhlaWdodCk7XG59XG5cbi5yZXN1bHRzX19zbGlkZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnJlc3VsdHNfX3NsaWRlci13cmFwcGVyIC5zbGlkZS1pbWcge1xuICBoZWlnaHQ6IHZhcigtLXNsaWRlLWhlaWdodCk7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tc2xpZGUtd2lkdGgpO1xufVxuXG4ucmVzdWx0c19fc2xpZGVyLXdyYXBwZXIgLnNsaWRlLWltZyAuc2xpZGUtaW1nX193cmFwcGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5yZXN1bHRzX19zbGlkZXItd3JhcHBlciAuc2xpZGUtaW1nIC5zbGlkZS1pbWdfX3dyYXBwZXIgPiBkaXYge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbn1cblxuLnJlc3VsdHNfX3NsaWRlci13cmFwcGVyIC5zbGlkZS1pbWcgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5yb3RhdGlvbl9faW5pdGlhbCxcbi5yb3RhdGlvbl9fY29udGVudCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJvdGF0aW9uX19pbml0aWFsLnUtaGlkZGVuLFxuLnJvdGF0aW9uX19jb250ZW50LnUtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJvdGF0aW9uX19pbml0aWFsIHtcbiAgbWF4LXdpZHRoOiAxNi42ODc1cmVtO1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQge1xuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5yb3RhdGlvbl9fY29udGVudCAuc2VjdGlvbi10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQgPiBkaXYge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMjhweDtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQgLnZpZGVvLXByb2dyZXNzIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50IC5wcm9ncmVzcyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAuM3MgZWFzZS1vdXQ7XG59XG5cbi5yb3RhdGlvbl9fY29udGVudCAjcGxheS1yb3RhdGlvbi1idXR0b24sXG4ucm90YXRpb25fX2NvbnRlbnQgI3N0b3Atcm90YXRpb24tYnV0dG9uLFxuLnJvdGF0aW9uX19jb250ZW50IC5tb3JlLWxpbmssXG4ucm90YXRpb25fX2NvbnRlbnQgLmNvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQgI3N0b3Atcm90YXRpb24tYnV0dG9uLFxuLnJvdGF0aW9uX19jb250ZW50ICNwbGF5LXJvdGF0aW9uLWJ1dHRvbiB7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50ICNzdG9wLXJvdGF0aW9uLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yb3RhdGlvbl9fY29udGVudCAubW9yZS1saW5rIHtcbiAgYm90dG9tOiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50IC5jb250cm9scyB7XG4gIGJvdHRvbTogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICByaWdodDogMDtcbn1cblxuLnJvdGF0aW9uX19jb250ZW50IC5jb250cm9scyAuYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG59XG5cbi5fbm9uLXRvdWNoIC5yb3RhdGlvbl9fY29udGVudCAuY29udHJvbHMgLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZWRhO1xufVxuXG4ucm90YXRpb25fX2NvbnRlbnQgLmNvbnRyb2xzIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5yb3RhdGlvbiAudS13cmFwcGVyLFxuLnJvdGF0aW9uIC5zZWN0aW9uX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucm90YXRpb24gLnNlY3Rpb25fX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5yb3RhdGlvbiAjcm90YXRpb24tc3RhcnQtYnV0dG9uIHtcbiAgbGVmdDogNTB2dztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNjAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIHotaW5kZXg6IDM7XG59XG5cbi8qIENvbXBvbmVudHMgKi9cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFjY29yZGlvbl9fcGFuZWwge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWNjb3JkaW9uX19wYW5lbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uYWNjb3JkaW9uX19oZWFkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5hY2NvcmRpb25fX2hlYWRlciAqIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5hY2NvcmRpb25fX2hlYWRlciAudGl0bGUxIHtcbiAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWNjb3JkaW9uX19oZWFkZXIgLnRpdGxlMSAudG9nZ2xlLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDZweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICB3aWR0aDogNDJweDtcbn1cblxuLmFjY29yZGlvbl9faGVhZGVyIC50b2dnbGUtaWNvbi5taW51cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hY2NvcmRpb25fX2hlYWRlci5hY3RpdmUgLnRvZ2dsZS1pY29uLnBsdXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYWNjb3JkaW9uX19oZWFkZXIuYWN0aXZlIC50b2dnbGUtaWNvbi5taW51cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYWNjb3JkaW9uX19jb250ZW50IHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hY2NvcmRpb25fX2NvbnRlbnQgPiAqIHtcbiAgbWF4LXdpZHRoOiAzMy42MjVyZW07XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xufVxuXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI2NlZGRlZDtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb290ZXJfX2hlYWRlciB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5mb290ZXIgLmxvZ28ge1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mb290ZXIgLmxvZ28sXG4uZm9vdGVyIC5sb2dvIC5pY29uLFxuLmZvb3RlciAubG9nbyBzdmcge1xuICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgd2lkdGg6IDcuNzVyZW07XG59XG5cbi5mb290ZXIgLmxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmZvb3Rlcl9fd3JhcHBlciB7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmZvb3Rlcl9fbGlua3Mge1xuICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZvb3Rlcl9fbGlua3MgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG5cbi5mb290ZXJfX2xpbmtzIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uZm9vdGVyX19mb290ZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZm9vdGVyX19mb290ZXIgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmZpeGVkLXdyYXBwZXIge1xuICBib3R0b206IDUycHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLmZpeGVkLXdyYXBwZXIgLmxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmZpeGVkLXdyYXBwZXIgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi50aW1lbGluZS10aXRsZS1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDYuMTI1cmVtO1xufVxuXG4udGltZWxpbmUtdGl0bGUtYmxvY2sgLnNlY3Rpb24tdGl0bGUgLmJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRpbWVsaW5lLXRpdGxlLWJsb2NrIC5zZWN0aW9uLXRpdGxlIC5ib3g6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW4tbGVmdDogMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAtMTRweDtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciB7XG4gIG92ZXJmbG93OiB1bnNldDtcbiAgbWFyZ2luLWxlZnQ6IDExJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGltZWxpbmUtc2xpZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZGRlZDtcbiAgei1pbmRleDogOTk5OTk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogMDtcbiAgbGVmdDogY2FsYygtMTAwJSAtIDgwcHgpO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC50aW1lbGluZS1pbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWluZm8gaDQge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtaW5mbyBwIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5saW5lIHtcbiAgaGVpZ2h0OiA3NXB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLmxpbmUgc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5saW5lOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtY29udGVudCB7XG4gIG1heC13aWR0aDogMjUycHg7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtY29udGVudC0taGlkZGVuIHtcbiAgbWF4LWhlaWdodDogMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQgcCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtY29udGVudCBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtY29udGVudC0tc2hvdy1tb3JlIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtY29udGVudC0tc2hvdy1tb3JlIHNwYW4ge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLnRpbWVsaW5lLXNsaWRlciAuc3dpcGVyLXNsaWRlIC50aW1lbGluZS1jb250ZW50LS1zaG93LW1vcmUgc3ZnIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAzMDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAzMDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDMwMG1zIGVhc2U7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZSAudGltZWxpbmUtY29udGVudC5jb250ZW50LXNob3cgLmRvdHMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGltZWxpbmUtc2xpZGVyIC5zd2lwZXItc2xpZGUgLnRpbWVsaW5lLWNvbnRlbnQuY29udGVudC1zaG93IGJ1dHRvbiBzdmcge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi50aW1lbGluZS1zbGlkZXIgLnN3aXBlci1zbGlkZTpsYXN0LW9mLXR5cGUgLmxpbmU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYWR2YW50YWdlcyB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbi1sZWZ0OiAxMCU7XG59XG5cbi5hZHZhbnRhZ2VzLS1jdGEge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWR2YW50YWdlcyAuYWR2YW50YWdlIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA0LjI1cmVtIDAgMy4xMjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xufVxuXG4uYWR2YW50YWdlcyAuYWR2YW50YWdlOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2UtLWljb24tYmxvY2sge1xuICB3aWR0aDogMy43NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07XG59XG5cbi5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2UtLXRpdGxlLWJsb2NrIHtcbiAgd2lkdGg6IDMzLjMzJTtcbn1cblxuLmFkdmFudGFnZXMgLmFkdmFudGFnZS0tdGl0bGUtYmxvY2sgaDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpdGxlMS1tKTtcbiAgbGluZS1oZWlnaHQ6IDMuNDM3NXJlbTtcbn1cblxuLmFkdmFudGFnZXMgLmFkdmFudGFnZS0tdGl0bGUtYmxvY2sgaDI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1udW1iZXIpO1xuICB0b3A6IC0xOHB4O1xuICBsZWZ0OiAzcHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTEwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYWR2YW50YWdlcyAuYWR2YW50YWdlLS1jb250ZW50LWJsb2NrIHtcbiAgd2lkdGg6IDQ2JTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xufVxuXG4uYWR2YW50YWdlcyAuYWR2YW50YWdlLS1jb250ZW50LWJsb2NrIHAge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4vKiBNb2R1bGVzICovXG5cbi5zb2NpYWwgcCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5zb2NpYWwgdWwge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zb2NpYWwgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG59XG5cbi5zb2NpYWwgdWwgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udG9nZ2xlIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udG9nZ2xlICoge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuaHRtbDpub3QoLnRvZ2dsZS15ZXMpIC50b2dnbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9nZ2xlIC50b2dnbGUtaXRlbSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW46IDAgOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMnB4O1xufVxuXG4udG9nZ2xlIC50b2dnbGUtaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb250ZW50OiAnJztcbiAgbGVmdDogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgLjFzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBsZWZ0IC4xcyBlYXNlLW91dDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTBweDtcbn1cblxuLnRvZ2dsZS5hY3RpdmUgLnRvZ2dsZS1pdGVtOjpiZWZvcmUge1xuICBsZWZ0OiBjYWxjKDEwMCUgLSAycHggLSAxMHB4KTtcbn1cblxuLnZpZGVvLXByb2dyZXNzIHtcbiAgLS1lYXNlOiB2YXIoLS1lYXNlLW91dC1xdWFkKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52aWRlby1wcm9ncmVzcyB1bCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnZpZGVvLXByb2dyZXNzIC5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGhlaWdodDogMXB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnZpZGVvLXByb2dyZXNzIC5wcm9ncmVzcyAubGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZlZGE7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuMXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuMXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBsaW5lYXIsIC13ZWJraXQtdHJhbnNmb3JtIC4xcyBsaW5lYXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udmlkZW8tcHJvZ3Jlc3MgLnByb2dyZXNzIC5kb3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgLjFzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogbGVmdCAuMXMgbGluZWFyO1xuICBoZWlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAxMHB4O1xufVxuXG4udmlkZW8tcHJvZ3Jlc3MgLnZpZGVvLXRpdGxlIHtcbiAgYm90dG9tOiAxOHB4O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi52aWRlby1wcm9ncmVzcyAudmlkZW8tc3RlcHMge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi52aWRlby1wcm9ncmVzcyAudmlkZW8tc3RlcHMgLnN0ZXAge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMXMgZWFzZS1vdXQ7XG59XG5cbi52aWRlby1wcm9ncmVzcyAudmlkZW8tc3RlcHMgLnN0ZXAuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmZlZGE7XG59XG5cbi8qIFBhZ2VzICovXG5cbi5wYWdlOm5vdCguaG9tZS1wYWdlKSB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbn1cblxuLyogR2VuZXJpYyAqL1xuXG4vKiBDb21wb25lbnRzICovXG5cbi8qIE1vZHVsZXMgKi9cblxuLyogU2NyZWVucyAqL1xuXG4vKiBHZW5lcmljICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDExMHB4O1xuICB9XG5cbiAgLnNob3ctdXAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMycHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMnB4KTtcbiAgfVxuXG4gIC5kb2N0b3Ige1xuICAgIHBhZGRpbmc6IDEwNnB4IDA7XG4gIH1cblxuICAuZG9jdG9yX19pbWFnZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmRvY3RvciAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuZG9jdG9yIC5zZWN0aW9uX19iZy1jb250ZW50IHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtaW4taGVpZ2h0OiAyNy41NjI1cmVtO1xuICAgIHBhZGRpbmc6IDEwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAucmVzdWx0cyB7XG4gICAgLS1zbGlkZS13aWR0aDogMjV2dztcbiAgICAtLXNsaWRlLWhlaWdodDogMzF2dztcbiAgfVxuXG4gIC5yZXN1bHRzX19zbGlkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMTB2dztcbiAgfVxuXG4gIC5yZXN1bHRzX19zbGlkZXItd3JhcHBlciAuc2xpZGUtaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAucmVzdWx0c19fc2xpZGVyLXdyYXBwZXIgLnNsaWRlLWltZyAuc2xpZGUtaW1nX193cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgfVxuXG4gIC5yb3RhdGlvbiB7XG4gICAgaGVpZ2h0OiA1Ni4yNXZ3O1xuICAgIHBhZGRpbmc6IDU0cHggMDtcbiAgfVxuXG4gIC5yb3RhdGlvbl9faW5pdGlhbCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5yb3RhdGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMSU7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxuXG4gIC5yb3RhdGlvbl9fY29udGVudCA+IGRpdiB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5yb3RhdGlvbiAjcm90YXRpb24tc3RhcnQtYnV0dG9uIHtcbiAgICBsZWZ0OiA2MHZ3O1xuICAgIHRvcDogNDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCA1MCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgNTAlLCAwKTtcbiAgfVxuXG4gIC5hY2NvcmRpb25fX3BhbmVsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgfVxuXG4gIC5hY2NvcmRpb25fX2NvbnRlbnQgPiAqIHtcbiAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgfVxuXG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmc6IDUycHggMDtcbiAgfVxuXG4gIC5mb290ZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cblxuICAuZm9vdGVyX19oZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZvb3Rlcl9fZm9vdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgfVxuXG4gIC5maXhlZC13cmFwcGVyIHtcbiAgICBsZWZ0OiAzMHB4O1xuICB9XG5cbiAgLnZpZGVvLXByb2dyZXNzIC52aWRlby10aXRsZSB7XG4gICAgYm90dG9tOiAxOHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucm90YXRpb24ge1xuICAgIHBhZGRpbmc6IDExNHB4IDAgNTRweDtcbiAgfVxuXG4gIC5mb290ZXIgLmZpeGVkLWRlc2t0b3Age1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAucm90YXRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cblxuICAuZm9vdGVyX193cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxuXG4gIC5maXhlZC13cmFwcGVyIHtcbiAgICBsZWZ0OiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAucmVzdWx0cyB7XG4gICAgLS1zbGlkZS13aWR0aDogMzYwcHg7XG4gICAgLS1zbGlkZS1oZWlnaHQ6IDQ0NnB4O1xuICB9XG5cbiAgLnJlc3VsdHNfX3NsaWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHZ3O1xuICB9XG5cbiAgLmFjY29yZGlvbl9faGVhZGVyIC50aXRsZTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMDQwcHgpIHtcbiAgLnJvdGF0aW9uX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmFkdmFudGFnZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYWR2YW50YWdlcyAuYWR2YW50YWdlIHtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2UtLWljb24tYmxvY2sge1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgfVxuXG4gIC5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2UtLXRpdGxlLWJsb2NrIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxuXG4gIC5hZHZhbnRhZ2VzIC5hZHZhbnRhZ2UtLXRpdGxlLWJsb2NrIGgyIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICB9XG5cbiAgLmFkdmFudGFnZXMgLmFkdmFudGFnZS0tY29udGVudC1ibG9jayB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIDpyb290IHtcbiAgICAtLWZvbnQtc2l6ZS1kaXNwbGF5LW06IDMuMTI1cmVtO1xuICB9XG5cbiAgLmRvY3Rvcl9faW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDUycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDExMCU7XG4gIH1cblxuICAucm90YXRpb24ge1xuICAgIGhlaWdodDogMjE1dnc7XG4gICAgcGFkZGluZzogNzBweCAwIDM0cHg7XG4gIH1cblxuICAucm90YXRpb24gLl9fdmlkZW8ge1xuICAgIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuXG4gIC5mb290ZXJfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgfVxuXG4gIC5mb290ZXJfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxuXG4gIC5hZHZhbnRhZ2VzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5zb2NpYWwgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuXG4gIC50b2dnbGUgLnRvZ2dsZS1pdGVtIHtcbiAgICBtYXJnaW46IDAgNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIH1cblxuICAudG9nZ2xlIC50b2dnbGUtaXRlbTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gIH1cblxuICAudG9nZ2xlLS1iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgfVxuXG4gIC52aWRlby1wcm9ncmVzcyAudmlkZW8tc3RlcHMge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICB9XG59IiwiQG1peGluIGZsZXgoJGJyZWFrcG9pbnRzOltdLCAkYmFzZTogdHJ1ZSkge1xuICAgIEBpZiAkYmFzZSB7XG4gICAgICAgIC51LWZsZXgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgJi0tYWxpZ24tY2VudGVyIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAgICAgJi0tYWxpZ24tZW5kIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgICAgICAgICAmLS1hbGlnbi1zdGFydCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgICAgICAmLS1qdXN0aWZ5LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgICAmLS1qdXN0aWZ5LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICAgICYtLWp1c3RpZnktc3RhcnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgICAgICYtLWp1c3RpZnktZW5kIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgICAgICAgJi0tanVzdGlmeS1hcm91bmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICAgICAgICAgJi0td3JhcCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4gICAgICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWNvbHVtbiB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICYudS1mbGV4LS1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICAkbmFtZXNwYWNlOiBzdHJpcC11bml0KCRicmVha3BvaW50KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICAudS1mbGV4LS1zI3skbmFtZXNwYWNlfSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiOnJvb3Qge1xuICAgIC0tZWFzZS1pbi1xdWFkOiBjdWJpYy1iZXppZXIoLjU1LCAuMDg1LCAuNjgsIC41Myk7XG4gICAgLS1lYXNlLWluLWN1YmljOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpO1xuICAgIC0tZWFzZS1pbi1xdWFydDogY3ViaWMtYmV6aWVyKC44OTUsIC4wMywgLjY4NSwgLjIyKTtcbiAgICAtLWVhc2UtaW4tcXVpbnQ6IGN1YmljLWJlemllciguNzU1LCAuMDUsIC44NTUsIC4wNik7XG4gICAgLS1lYXNlLWluLWV4cG86IGN1YmljLWJlemllciguOTUsIC4wNSwgLjc5NSwgLjAzNSk7XG4gICAgLS1lYXNlLWluLWNpcmM6IGN1YmljLWJlemllciguNiwgLjA0LCAuOTgsIC4zMzUpO1xuICAgIC0tZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgLS1lYXNlLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7XG4gICAgLS1lYXNlLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC4xNjUsIC44NCwgLjQ0LCAxKTtcbiAgICAtLWVhc2Utb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoLjIzLCAxLCAuMzIsIDEpO1xuICAgIC0tZWFzZS1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICAtLWVhc2Utb3V0LWNpcmM6IGN1YmljLWJlemllciguMDc1LCAuODIsIC4xNjUsIDEpO1xuICAgIC0tZWFzZS1pbi1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSk7XG4gICAgLS1lYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC42NDUsIC4wNDUsIC4zNTUsIDEpO1xuICAgIC0tZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllciguNzcsIDAsIC4xNzUsIDEpO1xuICAgIC0tZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllciguODYsIDAsIC4wNywgMSk7XG4gICAgLS1lYXNlLWluLW91dC1leHBvOiBjdWJpYy1iZXppZXIoMSwgMCwgMCwgMSk7XG4gICAgLS1lYXNlLWluLW91dC1jaXJjOiBjdWJpYy1iZXppZXIoLjc4NSwgLjEzNSwgLjE1LCAuODYpO1xufVxuIiwiJG1heC1yZWFkaW5nLXdpZHRoOiA1ODBweDtcbiRnbG9iYWwtbWF4LXdpZHRoOiAkczE5MjA7XG5cbjpyb290IHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDcycHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIC0taGVhZGVyLWhlaWdodDogMTEwcHg7XG4gICAgfVxufVxuIiwiJGZvbnQtc2l6ZTogMTZweDtcbiR2ZXJ0aWNhbC1yaHl0aG06IDhweDtcblxuJHQtcHJpbWFyeTogJ0RNIFNhbnMnLCBzYW5zLXNlcmlmO1xuXG46cm9vdCB7XG4gICAgLy8gRGlzcGxheVxuICAgIC0tZm9udC1zaXplLWRpc3BsYXktbTogI3s3MHB4IC8gMTZweCAqIDFyZW19O1xuXG4gICAgLy8gVGl0bGUgMVxuICAgIC0tZm9udC1zaXplLXRpdGxlMS1tOiAjezUwcHggLyAxNnB4ICogMXJlbX07XG5cbiAgICAvLyBUaXRsZSAyXG4gICAgLS1mb250LXNpemUtdGl0bGUyLW06ICN7MzBweCAvIDE2cHggKiAxcmVtfTtcblxuICAgIC8vIFRpdGxlIDNcbiAgICAtLWZvbnQtc2l6ZS10aXRsZTMtbTogI3syNHB4IC8gMTZweCAqIDFyZW19O1xuXG4gICAgLy8gVGl0bGUgNFxuICAgIC0tZm9udC1zaXplLXRpdGxlNC1tOiAjezIwcHggLyAxNnB4ICogMXJlbX07XG5cbiAgICAvLyBQXG4gICAgLS1mb250LXNpemUtYmFzZTogI3sxNHB4IC8gMTZweCAqIDFyZW19O1xuXG4gICAgLy8gUCBzbWFsbFxuICAgIC0tZm9udC1zaXplLXBzbWFsbDogI3sxMnB4IC8gMTZweCAqIDFyZW19O1xuXG4gICAgLy8gTGluZSBoZWlnaHRzXG4gICAgLS1saW5lLWhlaWdodC1wcmltYXJ5OiAxLjM7XG5cbiAgICAvLyBmb250LXNpemU6IDAuODN2dzsgLy8gMTYgZW4gbGEgcGFudGFsbGEgZGUgMTkyMFxuICAgIC8vIGZvbnQtc2l6ZTogMS4xMTF2dzsgLy8gMTYgZW4gbGEgcGFudGFsbGEgZGUgMTQ0MFxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNzY4KSB7XG4gICAgICAgIC8vIERpc3BsYXlcbiAgICAgICAgLS1mb250LXNpemUtZGlzcGxheS1tOiAjezUwcHggLyAxNnB4ICogMXJlbX07XG4gICAgfVxufVxuXG5AbWl4aW4gZm9udC1wcmltYXJ5KCRsaW5lLWhlaWdodDogMCkge1xuICAgIGZvbnQtZmFtaWx5OiAkdC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBAaWYgJGxpbmUtaGVpZ2h0ID4gMCB7IGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7IH1cbiAgICBAZWxzZSB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wcmltYXJ5KTsgfVxufVxuIiwiLy8gVE9ETzogUmV2aXNhciB1c28gZGUgZW1zLCB1bmlmaWNhciBuYW1pbmdzXG5cbi8qIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2l0YWxvZHIvYjRkZWQ1ODk0YWZhMmNlYWUxOWVkMWI3Njc3ODVlMDIgKi9cbiRtcS1pUGFkUmV0aW5hOiBcImFuZCAobWluLWRldmljZS13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMDI0cHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZW5lcmF0b3IoJHR5cGUsICRzaXplMSwgJHNpemUyOiAnJywgJG9yaWVudGF0aW9uOiAnJykge1xuICAgIEBpZiAkb3JpZW50YXRpb24gIT0gJycge1xuICAgICAgICAkb3JpZW50YXRpb246IFwiIGFuZCAob3JpZW50YXRpb246ICN7JG9yaWVudGF0aW9ufSlcIjtcbiAgICB9XG5cbiAgICAkbXE6ICcnO1xuXG4gICAgQGlmICR0eXBlID09ICdtaW4nIHtcbiAgICAgICAgJG1xOiBcImFuZCAobWluLXdpZHRoOiAje250aCgkc2l6ZTEsIDEpfSlcIjtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdHlwZSA9PSAnbWF4JyB7XG4gICAgICAgICRtcTogXCJhbmQgKG1heC13aWR0aDogI3sobnRoKCRzaXplMSwgMSkgLSAxcHgpfSlcIjtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdHlwZSA9PSAnYmV0d2Vlbicge1xuICAgICAgICAkbXE6IFwiYW5kIChtaW4td2lkdGg6ICN7bnRoKCRzaXplMSwgMSl9KSBhbmQgKG1heC13aWR0aDogI3sobnRoKCRzaXplMiwgMSkgLSAxcHgpfSlcIjtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdHlwZSA9PSAnZGV2aWNlcycge1xuICAgICAgICAkbXE6ICRzaXplMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIlVuZXhpc3RlbnQgdHlwZSBvZiBicmVha3BvaW50LlwiO1xuICAgIH1cblxuICAgIEByZXR1cm4gI3tzY3JlZW59ICN7JG1xfSN7JG9yaWVudGF0aW9ufTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtZGV2aWNlcygkbXEsICRvcmllbnRhdGlvbjogJycpIHtcbiAgICAkbWVkaWE6IGJyZWFrcG9pbnQtZ2VuZXJhdG9yKCdkZXZpY2VzJywgJG1xLCAnJywgJG9yaWVudGF0aW9uKTtcblxuICAgIEBtZWRpYSAjeyRtZWRpYX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1heCgkcmFuZ2UsICRvcmllbnRhdGlvbjogJycpIHtcbiAgICAkbWVkaWE6IGJyZWFrcG9pbnQtZ2VuZXJhdG9yKCdtYXgnLCAkcmFuZ2UsICcnLCAkb3JpZW50YXRpb24pO1xuXG4gICAgQG1lZGlhICN7JG1lZGlhfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbWlubWF4KCRyYW5nZV9taW4sICRyYW5nZV9tYXgsICRvcmllbnRhdGlvbjogJycpIHtcbiAgICAkbWVkaWE6IGJyZWFrcG9pbnQtZ2VuZXJhdG9yKCdiZXR3ZWVuJywgJHJhbmdlX21pbiwgJHJhbmdlX21heCwgJG9yaWVudGF0aW9uKTtcblxuICAgIEBtZWRpYSAjeyRtZWRpYX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50KCRyYW5nZSwgJG9yaWVudGF0aW9uOiAnJykge1xuICAgICRtZWRpYTogYnJlYWtwb2ludC1nZW5lcmF0b3IoJ21pbicsICRyYW5nZSwgJycsICRvcmllbnRhdGlvbik7XG5cbiAgICBAbWVkaWEgI3skbWVkaWF9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1tYXh3aWR0aCgkd2lkdGg6ICRnbG9iYWwtbWF4LXdpZHRoLCAkcGFkZGluZzogMikge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aCArIGdldC1weHMoc3BhY2UoJHBhZGRpbmcpICogMikpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLnNob3ctdXAge1xuICAgIC0tZWFzZTogdmFyKC0tZWFzZS1vdXQtcXVhZCk7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3NwYWNlKDMpfSk7XG4gICAgdHJhbnNpdGlvbjogMXMgdmFyKC0tZWFzZSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjNzO1xuXG4gICAgJi5hbmltYXRlZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3NwYWNlKDQpfSk7XG4gICAgfVxufVxuXG4uZmFkZS1pbiB7XG4gICAgLS1lYXNlOiB2YXIoLS1lYXNlLW91dC1xdWFkKTtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogLjVzIHZhcigtLWVhc2UpO1xuXG4gICAgJi5hbmltYXRlZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuIiwiLmRvY3RvciB7XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1zKDMwcHgpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3NjgpIHtcbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoNi41KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgxMy4yNSkgMDtcblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uX19iZy1jb250ZW50IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtcyg0NDFweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucmVzdWx0cyB7XG4gICAgLS1zbGlkZS13aWR0aDogNTR2dztcbiAgICAtLXNsaWRlLWhlaWdodDogNjV2dztcblxuICAgICZfX3NsaWRlciB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc2xpZGUtaGVpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03MHZ3O1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgxMik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGRpdiB7IGhlaWdodDogdmFyKC0tc2xpZGUtaGVpZ2h0KTsgfVxuICAgIH1cblxuICAgICZfX3NsaWRlci13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgLnNsaWRlLWltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNsaWRlLWhlaWdodCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKDIpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNsaWRlLXdpZHRoKTtcblxuICAgICAgICAgICAgLnNsaWRlLWltZ19fd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtcygyMHB4KTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczc2OCkge1xuICAgICAgICAtLXNsaWRlLXdpZHRoOiAyNXZ3O1xuICAgICAgICAtLXNsaWRlLWhlaWdodDogMzF2dztcblxuICAgICAgICAmX19zbGlkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwdnc7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zbGlkZXItd3JhcHBlciB7XG4gICAgICAgICAgICAuc2xpZGUtaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKDIuNSk7XG5cbiAgICAgICAgICAgICAgICAuc2xpZGUtaW1nX193cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtcygzMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTQ0MCkge1xuICAgICAgICAtLXNsaWRlLXdpZHRoOiAzNjBweDtcbiAgICAgICAgLS1zbGlkZS1oZWlnaHQ6IDQ0NnB4O1xuXG4gICAgICAgICZfX3NsaWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwdnc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucm90YXRpb24ge1xuICAgICZfX2luaXRpYWwsXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJi51LWhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAmX19pbml0aWFsIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1zKDI2N3B4KTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgzLjUpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjZSg3LjUpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZpZGVvLXByb2dyZXNzIHsgZmxleC1ncm93OiAxOyB9XG5cbiAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICNwbGF5LXJvdGF0aW9uLWJ1dHRvbixcbiAgICAgICAgI3N0b3Atcm90YXRpb24tYnV0dG9uLFxuICAgICAgICAubW9yZS1saW5rLFxuICAgICAgICAuY29udHJvbHMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3N0b3Atcm90YXRpb24tYnV0dG9uLFxuICAgICAgICAjcGxheS1yb3RhdGlvbi1idXR0b24ge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICNzdG9wLXJvdGF0aW9uLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAubW9yZS1saW5rIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRyb2xzIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b246bGFzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiBzcGFjZSgpOyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudS13cmFwcGVyLFxuICAgIC5zZWN0aW9uX19jb250ZW50IHsgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAuc2VjdGlvbl9fY29udGVudCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG4gICAgI3JvdGF0aW9uLXN0YXJ0LWJ1dHRvbiB7XG4gICAgICAgIGxlZnQ6IDUwdnc7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDYwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczc2OCkge1xuICAgICAgICBoZWlnaHQ6IDIxNXZ3O1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSg4Ljc1KSAwIHNwYWNlKDQuMjUpO1xuXG4gICAgICAgIC5fX3ZpZGVvIHsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgaGVpZ2h0OiA1Ni4yNXZ3O1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSg2Ljc1KSAwO1xuXG4gICAgICAgICZfX2luaXRpYWwge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDExJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNlKDMuNzUpO1xuXG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMik7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjZSg3LjUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjcm90YXRpb24tc3RhcnQtYnV0dG9uIHtcbiAgICAgICAgICAgIGxlZnQ6IDYwdnc7XG4gICAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgNTAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxMDI0KSB7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDE0LjI1KSAwIHNwYWNlKDYuNzUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMxMjgwKSB7XG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoNy41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4d2lkdGgoJGdsb2JhbC1tYXgtd2lkdGgsIDcuNSkge1xuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYWNjb3JkaW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX3BhbmVsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJsYWNrOyB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICogeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4gICAgICAgIC50aXRsZTEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoNik7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC50b2dnbGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDQycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvZ2dsZS1pY29uLm1pbnVzIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC50b2dnbGUtaWNvbi5wbHVzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgLnRvZ2dsZS1pY29uLm1pbnVzIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW1zKDUzOHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSg0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgJl9fcGFuZWwge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNlKDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCA+ICogeyBwYWRkaW5nLXRvcDogc3BhY2UoOCk7IH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTQ0MCkge1xuICAgICAgICAmX19oZWFkZXIgLnRpdGxlMSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1kYXJrQmx1ZTtcbiAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgcGFkZGluZzogc3BhY2UoNCkgMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYsXG4gICAgICAgIC5pY29uLFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW1zKDI1cHgpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbXMoMTI0cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMy43NSk7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2UoMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNlKDIpO1xuICAgIH1cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgID4gZGl2OmZpcnN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiBzcGFjZSg1KTsgfVxuICAgICAgICB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoMS41KTsgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgcDpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoMS41KTsgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNzY4KSB7XG4gICAgICAgICZfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IHNwYWNlKDgpOyB9XG4gICAgICAgICZfX2Zvb3RlciB7IG1hcmdpbi10b3A6IHNwYWNlKDcuNSk7IH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDYuNSkgMDtcblxuICAgICAgICAmX193cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDMuNzUpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoMy43NSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkZXIgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgICAmX19mb290ZXIgeyBtYXJnaW4tbGVmdDogc3BhY2UoNSk7IH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzMTAyNCkge1xuICAgICAgICAuZml4ZWQtZGVza3RvcCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczEyODApIHtcbiAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDcuNSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSg3LjUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZml4ZWQtd3JhcHBlciB7XG4gICAgYm90dG9tOiBzcGFjZSg2LjUpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC5sYW5ndWFnZS1zd2l0Y2hlciB7IG1hcmdpbi1ib3R0b206IHNwYWNlKDMuNzUpOyB9XG4gICAgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1ib3R0b206IHNwYWNlKDEuNSk7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHM3NjgpIHtcbiAgICAgICAgbGVmdDogc3BhY2UoMy43NSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkczEyODApIHtcbiAgICAgICAgbGVmdDogc3BhY2UoNy41KTtcbiAgICB9XG59XG4iLCJAZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIGdldC1weHMoJHNpemUpIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgIT0gJ3B4JyB7XG4gICAgICAgIEByZXR1cm4gcm91bmQoc3RyaXAtdW5pdCgkc2l6ZSkgKiBzdHJpcC11bml0KCRtaW4tZm9udC1zaXplKSkgKiAxcHg7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICRzaXplO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHJlbXMoJHNpemUpIHtcbiAgICBAcmV0dXJuICN7JHNpemUgLyAkZm9udC1zaXplICogMXJlbX07XG59XG5cbkBmdW5jdGlvbiBzcGFjZSgkdGltZXM6IDEpIHtcbiAgICBAcmV0dXJuICR2ZXJ0aWNhbC1yaHl0aG0gKiAkdGltZXM7XG59XG5cbkBmdW5jdGlvbiByYW5kb21udW0oJG1pbiwgJG1heCkge1xuICAgICRyYW5kOiByYW5kb20oKTtcbiAgICAkcmFuZG9tTnVtOiAkbWluICsgZmxvb3IoJHJhbmQgKiAoKCRtYXggLSAkbWluKSArIDEpKTtcblxuICAgIEByZXR1cm4gJHJhbmRvbU51bTtcbn1cbiIsIi50aW1lbGluZS10aXRsZS1ibG9ja3tcbiAgICAvL21hcmdpbi1sZWZ0OiAxMSU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtcyg5OHB4KTtcblxuXG4gICAgLnNlY3Rpb24tdGl0bGUgLmJveHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuc2VjdGlvbi10aXRsZSAuYm94OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogLTE0cHg7XG4gICAgfVxufVxuXG4udGltZWxpbmUtc2xpZGVyIHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgbWFyZ2luLWxlZnQ6IDExJTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWRkZWQ7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTEwMCUgLSA4MHB4ICk7XG4gICAgfVxuXG4gICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtcygzMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aW1lbGluZS1pbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbXMoMjRweCk7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDE2cHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtcygxNnB4KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbXMoMjJweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTJweDtcbiAgICAgICAgICAgICYtLWhpZGRlbntcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgLy92aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDE2cHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zaG93LW1vcmV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29udGVudC1zaG93e1xuICAgICAgICAgICAgICAgIC5kb3Rze1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICAubGluZTphZnRlcntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLy9cbi8vLmRyYWd7XG4vLyAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICBoZWlnaHQ6IDEwMHB4O1xuLy8gICAgd2lkdGg6IDEwMHB4O1xuLy8gICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93O1xuLy99XG4iLCIuYWR2YW50YWdlc3tcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbi1sZWZ0OjEwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzMTI4MCl7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNzY4KXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICB9XG5cbiAgICAmLS1jdGF7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmFkdmFudGFnZXtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogcmVtcyg2OHB4KSAwIHJlbXMoNTBweCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczEwMjQpe1xuICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWljb24tYmxvY2t7XG4gICAgICAgICAgICB3aWR0aDogcmVtcyg2MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtcyg0MHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzMTAyNCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1zKDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAmLS10aXRsZS1ibG9jayB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuXG5cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHMxMDI0KXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aXRsZTEtbSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbXMoNTVweCk7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1udW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xOHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTEwJTtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzMTAyNCl7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtcygzMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDExMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAmLS1jb250ZW50LWJsb2Nre1xuICAgICAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbXMoMTJweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczEwMjQpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgfVxufVxuIiwiLnNvY2lhbCB7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDIuNSk7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGxpOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiBzcGFjZSgzKTsgfVxuXG4gICAgICAgIGEgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWF4KCRzNzY4KSB7XG4gICAgICAgIHVsIGxpOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiBzcGFjZSgxLjUpOyB9XG4gICAgfVxufVxuIiwiLnRvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICogeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4gICAgaHRtbDpub3QoLnRvZ2dsZS15ZXMpICYgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAudG9nZ2xlLWl0ZW0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luOiAwIHNwYWNlKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDMycHg7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLWJsYWNrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgLjFzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSAudG9nZ2xlLWl0ZW06OmJlZm9yZSB7IGxlZnQ6IGNhbGMoMTAwJSAtIDJweCAtIDEwcHgpOyB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1heCgkczc2OCkge1xuICAgICAgICAudG9nZ2xlLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIHNwYWNlKC41KTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbXMoMzBweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgpIHNwYWNlKDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnZpZGVvLXByb2dyZXNzIHtcbiAgICAtLWVhc2U6IHZhcigtLWVhc2Utb3V0LXF1YWQpO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBsaW5lYXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAuMXMgbGluZWFyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8tdGl0bGUge1xuICAgICAgICBib3R0b206IHNwYWNlKDIuMjUpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLnZpZGVvLXN0ZXBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoLjUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4xcyBlYXNlLW91dDtcblxuICAgICAgICAgICAgJi5hY3RpdmUgeyBjb2xvcjogJGMteWVsbG93OyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzNzY4KSB7XG4gICAgICAgIC52aWRlby10aXRsZSB7XG4gICAgICAgICAgICBib3R0b206IHNwYWNlKDIuMjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tYXgoJHM3NjgpIHtcbiAgICAgICAgLnZpZGVvLXN0ZXBzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi9oZWxwZXJzL2NsZWFyLWZvcm0nO1xuQGltcG9ydCAnLi9oZWxwZXJzL2NvbHVtbnMnO1xuQGltcG9ydCAnLi9oZWxwZXJzL2ZsZXgnO1xuQGltcG9ydCAnLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi9oZWxwZXJzL3Njcm9sbCc7XG5AaW1wb3J0ICcuL2hlbHBlcnMvdmlzaWJpbGl0eSc7XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIHdpZHRoOiAkc2l6ZTtcbn1cblxuQG1peGluIHBsYWNlaG9sZGVyKCkge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gZ2V0LXJhdGlvKCRvLXdpZHRoLCAkby1oZWlnaHQsICR3aWR0aDogMCwgJGhlaWdodDogMCkge1xuICAgICRoOiBzdHJpcC11bml0KGdldC1weHMoJGhlaWdodCkpO1xuICAgICR3OiBzdHJpcC11bml0KGdldC1weHMoJHdpZHRoKSk7XG5cbiAgICBAaWYgJHcgPiAwIHtcbiAgICAgICAgaGVpZ2h0OiBjZWlsKCgkdyAvICRvLXdpZHRoKSAqICRvLWhlaWdodCkgKiAxcHg7XG4gICAgICAgIHdpZHRoOiAkdyAqIDFweDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGggKiAxcHg7XG4gICAgICAgIHdpZHRoOiBjZWlsKCgkaCAvICRvLWhlaWdodCkgKiAkby13aWR0aCkgKiAxcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gaG92ZXIge1xuICAgICY6aG92ZXIge1xuICAgICAgICAuX25vbi10b3VjaCAmIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gZGFzaGVkLWJvcmRlcigkY29sb3IpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLCAkY29sb3IgNjAlLCB0cmFuc3BhcmVudCA2MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDJweCAzNnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICB9XG59XG5cbkBtaXhpbiBjcm9zc2VzIHtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbn1cblxuQG1peGluIG1lZGlhLXJlc3BvbnNpdmUge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICoge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGZsZXgoKTtcbiIsIkBpbXBvcnQgJy4vc3R5bGVzJztcblxuLyogQ29tcG9uZW50cyAqL1xuXG4vKiBNb2R1bGVzICovXG5cbi8qIFNjcmVlbnMgKi9cblxuLyogR2VuZXJpYyAqL1xuIl19 */
