/*!*******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/pages/tosadifference.css ***!
  \*******************************************************************************************************************************/
/* ──────────────────────────────────────────────────────────────
   Tosa Difference page-specific styles
   Loaded only on /<locale>/the-tosa-difference, on top of app.css.
   ────────────────────────────────────────────────────────────── */

/* ──── Banner ───────────────────────────────────────────── */
.td-banner {
    position: relative;
    min-height: 720px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.td-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.15) 50%, transparent 100%);
    pointer-events: none;
}
.td-banner__inner {
    position: relative;
    z-index: 1;
    padding-top: 140px;
    padding-bottom: 140px;
}
.td-banner__title {
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}
@media (max-width: 991.98px) {
    .td-banner { min-height: 520px; }
    .td-banner__inner { padding-top: 80px; padding-bottom: 80px; }
}
@media (max-width: 767.98px) {
    .td-banner { min-height: 380px; }
    .td-banner__inner { padding-top: 50px; padding-bottom: 50px; }
}

/* ──── Alternating image+text features (sections 1, 3, 4) ─── */
.td-features {
    padding: 80px 0;
    background-color: #f5fafd;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.td-feature {
    margin-bottom: 80px;
    /* Card-like row: background fades from white at the bottom to transparent
       at the top. No border, soft drop shadow at the bottom. */
    margin-left: 0;
    margin-right: 0;
    background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 30%);
    border: 0;
    border-radius: 0;
    box-shadow: 0 24px 40px -28px rgba(20, 30, 60, 0.2);
    padding: 0;
    overflow: hidden;
}

.td-features .td-feature {
    gap: 100px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

/* In the Scoring & Proctoring section the feature rows are plain layouts
   (no card chrome), so kill the gradient + shadow + overflow clipping. */
.td-scoring-proctoring .td-feature {
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

/* Image column bleeds flush with the bottom of the card and the outer
   horizontal edge (left when normal, right when reversed). */
.td-feature > .td-feature__image-col {
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: flex-end;
}

/* Body column gets the vertical breathing room and centers its content.
   align-items: flex-start prevents block children (like the CTA button)
   from stretching the full width of the column. */
.td-feature > .td-feature__body-col {
    padding-top: 48px;
    padding-bottom: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.td-feature:last-child { margin-bottom: 0; }

/* On wide viewports, "reverse" rows put the image on the right,
   matching the alternating Figma layout. */
@media (min-width: 992px) {
    .td-feature--reverse > .td-feature__image-col {
        order: 2;
    }
    .td-feature--reverse > .td-feature__body-col {
        order: 1;
    }
}
@media (max-width: 991.98px) {
    .td-features .td-feature__image-col {
        display: none;
    }
}

.td-feature__image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0;
}
.td-features .td-feature__image {
    width: auto;
    max-height: 450px;
}
.td-feature__title {
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    color: #1a1a2e;
}
.td-feature__desc {
    color: #4a4a5e;
    line-height: 1.6;
    font-size: 1rem;
}

/* ──── Section 2 — Skills Framework with full-bleed background ─── */
.td-framework {
    position: relative;
    color: #fff;
    padding: 100px 0;
    overflow: hidden;
    background-color: var(--tosa-blue);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 600px;
}
.td-framework__container {
    position: relative;
    z-index: 1;
}
.td-framework__title {
    font-size: clamp(1.85rem, 3.4vw, 2.6rem);
    color: #fff;
}
.td-framework__desc {
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.6;
}
/* Laptop mockup anchored to the section's bottom-right corner */
.td-framework__image {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 39%;
    max-width: 1100px;
    max-height: 100%;
    height: auto;
    object-fit: contain;
    object-position: right bottom;
    z-index: 0;
    pointer-events: none;
}
.td-framework .section-dots--orange span {
    background: var(--tosa-yellow);
}

@media (max-width: 1199.98px) {
    .td-framework__image { width: 55%; }
}

@media (max-width: 991.98px) {
    .td-framework {
        padding: 60px 0 0;
        min-height: 0;
    }
    .td-framework__image {
        position: static;
        width: 100%;
        max-width: none;
        margin-top: 32px;
        display: block;
    }
}

/* ──── Section 4 — Scoring + Remote Proctoring background ─── */
.td-scoring-proctoring {
    position: relative;
    background-color: #f5fafd;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* ──── Section 5 — Comprehensive Reports (3 columns) ──────── */
.td-reports {
    background: #fff;
}
.td-reports__title {
    font-size: clamp(1.85rem, 3.4vw, 2.6rem);
    color: #1a1a2e;
}
.td-reports__intro {
    max-width: 760px;
    color: #4a4a5e;
    line-height: 1.6;
}

.td-reports__card {
    background: #fff;
    border: 1px solid #FFF;
    border-radius: 0;
    padding: 36px 28px;
    height: 100%;
    text-align: center;
    box-shadow: 0 6px 24px rgba(30, 30, 60, 0.06);
}
.td-reports__icon {
    position: relative;
    width: 80px;
    height: 80px;
    /* room below for the blurred glow line + breathing space before the text */
    margin: 0 auto 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Soft blue blurred line under the icon. */
.td-reports__icon::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -14px;
    transform: translateX(-50%);
    width: 64px;
    height: 6px;
    background: var(--tosa-blue);
    border-radius: 999px;
    filter: blur(6px);
    opacity: 0.55;
    pointer-events: none;
}
.td-reports__icon video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
}
.td-reports__text {
    color: #4a4a5e;
    line-height: 1.5;
    font-size: 1rem;
}
.td-reports__text strong {
    color: var(--tosa-blue);
    font-weight: 600;
}

/* ──── Section 6 — LMS Integration ────────────────────────── */
.td-lms {
    background-color: #ecf6fb;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 80px 0;
}
.td-lms__title {
    font-size: clamp(1.85rem, 3.4vw, 2.6rem);
    color: #1a1a2e;
}
.td-lms__desc {
    max-width: 720px;
    color: #4a4a5e;
    line-height: 1.6;
}
.td-lms__logos {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    padding: 24px 0;
}
.td-lms__logo {
    flex: 1 1 0;
    min-width: 0;
    max-width: 260px;
    text-align: center;
}
.td-lms__logo-card {
    background: #fff;
    border-radius: 0;
    height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 24px 20px;
    box-shadow: 0 6px 24px rgba(30, 30, 60, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
    color: inherit;
}
.td-lms__logo-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(30, 30, 60, 0.1);
}
.td-lms__logo-img {
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 12px;
}
.td-lms__logo-img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.td-lms__logo-name {
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
    text-align: center;
}

/* ──── Testimonial sizing on this page ─────────────────────
   The .get-started yellow card uses margin-top: -220px to overlap
   the previous section. We add bottom padding to .cert-testimonial
   so the quote sits well above the overlap zone. */
.cert-testimonial {
    padding-bottom: 260px;
}
.cert-testimonial__quote {
    margin: 100px auto 40px;
    background: linear-gradient(180deg, #014042 0%, rgba(1, 64, 66, 0) 100%);
    border: 0;
    position: relative;
}
.cert-testimonial__quote::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    border-bottom: 0;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0) 100%);
            mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0) 100%);
    pointer-events: none;
}
.cert-testimonial__text {
    font-weight: 600;
}

/* ──── Mobile tweaks ──────────────────────────────────────── */
@media (max-width: 991.98px) {
    .td-features,
    .td-scoring-proctoring,
    .td-exam-format {
        padding: 60px 0;
    }
    .td-feature { margin-bottom: 60px; }
    .cert-testimonial { padding-bottom: 180px; }
    .cert-testimonial__quote { margin: 60px auto 24px; }
}

@media (max-width: 575.98px) {
    .cert-testimonial { padding-bottom: 140px; }
}

@media (max-width: 575.98px) {
    .td-lms__logos { gap: 28px; }
    .td-lms__logo img { max-height: 40px; }
}

/* ── Mobile fixes ─────────────────────────────────────────────── */
@media (max-width: 767.98px) {
    .td-lms__logos {
        flex-wrap: wrap;
        gap: 16px;
    }
    .td-lms__logo {
        flex: 0 1 calc(33.333% - 11px);
        max-width: none;
    }
    .td-lms__logo-card {
        height: 120px;
        padding: 16px 12px 12px;
    }
    .td-lms__logo-name {
        font-size: 0.85rem;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUU7SUFDbkMsb0JBQW9CLHFCQUFxQixFQUFFO0lBQzNDLDJCQUEyQixzQkFBc0IsRUFBRTtBQUN2RDs7QUFFQTtJQUNJLG9CQUFvQixxQkFBcUIsRUFBRTtBQUMvQzs7QUFFQTtJQUNJLGlCQUFpQixTQUFTLEVBQUU7SUFDNUIsb0JBQW9CLGdCQUFnQixFQUFFO0FBQzFDOztBQUVBLG9FQUFvRTtBQUNwRTtJQUNJO1FBQ0ksZUFBZTtRQUNmLFNBQVM7SUFDYjtJQUNBO1FBQ0ksOEJBQThCO1FBQzlCLGVBQWU7SUFDbkI7SUFDQTtRQUNJLGFBQWE7UUFDYix1QkFBdUI7SUFDM0I7SUFDQTtRQUNJLGtCQUFrQjtJQUN0QjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy90b3NhZGlmZmVyZW5jZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBUb3NhIERpZmZlcmVuY2UgcGFnZS1zcGVjaWZpYyBzdHlsZXNcbiAgIExvYWRlZCBvbmx5IG9uIC88bG9jYWxlPi90aGUtdG9zYS1kaWZmZXJlbmNlLCBvbiB0b3Agb2YgYXBwLmNzcy5cbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4vKiDilIDilIDilIDilIAgQmFubmVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnRkLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDcyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4udGQtYmFubmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udGQtYmFubmVyX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDtcbn1cbi50ZC1iYW5uZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuNXJlbSwgNnZ3LCA1cmVtKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC50ZC1iYW5uZXIgeyBtaW4taGVpZ2h0OiA1MjBweDsgfVxuICAgIC50ZC1iYW5uZXJfX2lubmVyIHsgcGFkZGluZy10b3A6IDgwcHg7IHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAudGQtYmFubmVyIHsgbWluLWhlaWdodDogMzgwcHg7IH1cbiAgICAudGQtYmFubmVyX19pbm5lciB7IHBhZGRpbmctdG9wOiA1MHB4OyBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxufVxuXG4vKiDilIDilIDilIDilIAgQWx0ZXJuYXRpbmcgaW1hZ2UrdGV4dCBmZWF0dXJlcyAoc2VjdGlvbnMgMSwgMywgNCkg4pSA4pSA4pSAICovXG4udGQtZmVhdHVyZXMge1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmYWZkO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi50ZC1mZWF0dXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIC8qIENhcmQtbGlrZSByb3c6IGJhY2tncm91bmQgZmFkZXMgZnJvbSB3aGl0ZSBhdCB0aGUgYm90dG9tIHRvIHRyYW5zcGFyZW50XG4gICAgICAgYXQgdGhlIHRvcC4gTm8gYm9yZGVyLCBzb2Z0IGRyb3Agc2hhZG93IGF0IHRoZSBib3R0b20uICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMzAlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiAwIDI0cHggNDBweCAtMjhweCByZ2JhKDIwLCAzMCwgNjAsIDAuMik7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGQtZmVhdHVyZXMgLnRkLWZlYXR1cmUge1xuICAgIGdhcDogMTAwcHg7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qIEluIHRoZSBTY29yaW5nICYgUHJvY3RvcmluZyBzZWN0aW9uIHRoZSBmZWF0dXJlIHJvd3MgYXJlIHBsYWluIGxheW91dHNcbiAgIChubyBjYXJkIGNocm9tZSksIHNvIGtpbGwgdGhlIGdyYWRpZW50ICsgc2hhZG93ICsgb3ZlcmZsb3cgY2xpcHBpbmcuICovXG4udGQtc2NvcmluZy1wcm9jdG9yaW5nIC50ZC1mZWF0dXJlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKiBJbWFnZSBjb2x1bW4gYmxlZWRzIGZsdXNoIHdpdGggdGhlIGJvdHRvbSBvZiB0aGUgY2FyZCBhbmQgdGhlIG91dGVyXG4gICBob3Jpem9udGFsIGVkZ2UgKGxlZnQgd2hlbiBub3JtYWwsIHJpZ2h0IHdoZW4gcmV2ZXJzZWQpLiAqL1xuLnRkLWZlYXR1cmUgPiAudGQtZmVhdHVyZV9faW1hZ2UtY29sIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLyogQm9keSBjb2x1bW4gZ2V0cyB0aGUgdmVydGljYWwgYnJlYXRoaW5nIHJvb20gYW5kIGNlbnRlcnMgaXRzIGNvbnRlbnQuXG4gICBhbGlnbi1pdGVtczogZmxleC1zdGFydCBwcmV2ZW50cyBibG9jayBjaGlsZHJlbiAobGlrZSB0aGUgQ1RBIGJ1dHRvbilcbiAgIGZyb20gc3RyZXRjaGluZyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgY29sdW1uLiAqL1xuLnRkLWZlYXR1cmUgPiAudGQtZmVhdHVyZV9fYm9keS1jb2wge1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi50ZC1mZWF0dXJlOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIE9uIHdpZGUgdmlld3BvcnRzLCBcInJldmVyc2VcIiByb3dzIHB1dCB0aGUgaW1hZ2Ugb24gdGhlIHJpZ2h0LFxuICAgbWF0Y2hpbmcgdGhlIGFsdGVybmF0aW5nIEZpZ21hIGxheW91dC4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC50ZC1mZWF0dXJlLS1yZXZlcnNlID4gLnRkLWZlYXR1cmVfX2ltYWdlLWNvbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgICAudGQtZmVhdHVyZS0tcmV2ZXJzZSA+IC50ZC1mZWF0dXJlX19ib2R5LWNvbCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC50ZC1mZWF0dXJlcyAudGQtZmVhdHVyZV9faW1hZ2UtY29sIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi50ZC1mZWF0dXJlX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG59XG4udGQtZmVhdHVyZXMgLnRkLWZlYXR1cmVfX2ltYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbn1cbi50ZC1mZWF0dXJlX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAzdncsIDIuNHJlbSk7XG4gICAgY29sb3I6ICMxYTFhMmU7XG59XG4udGQtZmVhdHVyZV9fZGVzYyB7XG4gICAgY29sb3I6ICM0YTRhNWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIOKUgOKUgOKUgOKUgCBTZWN0aW9uIDIg4oCUIFNraWxscyBGcmFtZXdvcmsgd2l0aCBmdWxsLWJsZWVkIGJhY2tncm91bmQg4pSA4pSA4pSAICovXG4udGQtZnJhbWV3b3JrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcbn1cbi50ZC1mcmFtZXdvcmtfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG4udGQtZnJhbWV3b3JrX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjg1cmVtLCAzLjR2dywgMi42cmVtKTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi50ZC1mcmFtZXdvcmtfX2Rlc2Mge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG4vKiBMYXB0b3AgbW9ja3VwIGFuY2hvcmVkIHRvIHRoZSBzZWN0aW9uJ3MgYm90dG9tLXJpZ2h0IGNvcm5lciAqL1xuLnRkLWZyYW1ld29ya19faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDM5JTtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICAgIHotaW5kZXg6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udGQtZnJhbWV3b3JrIC5zZWN0aW9uLWRvdHMtLW9yYW5nZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgICAudGQtZnJhbWV3b3JrX19pbWFnZSB7IHdpZHRoOiA1NSU7IH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnRkLWZyYW1ld29yayB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbiAgICAudGQtZnJhbWV3b3JrX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLyog4pSA4pSA4pSA4pSAIFNlY3Rpb24gNCDigJQgU2NvcmluZyArIFJlbW90ZSBQcm9jdG9yaW5nIGJhY2tncm91bmQg4pSA4pSA4pSAICovXG4udGQtc2NvcmluZy1wcm9jdG9yaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZmFmZDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vKiDilIDilIDilIDilIAgU2VjdGlvbiA1IOKAlCBDb21wcmVoZW5zaXZlIFJlcG9ydHMgKDMgY29sdW1ucykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4udGQtcmVwb3J0cyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi50ZC1yZXBvcnRzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjg1cmVtLCAzLjR2dywgMi42cmVtKTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi50ZC1yZXBvcnRzX19pbnRybyB7XG4gICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICBjb2xvcjogIzRhNGE1ZTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udGQtcmVwb3J0c19fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMzZweCAyOHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDMwLCAzMCwgNjAsIDAuMDYpO1xufVxuLnRkLXJlcG9ydHNfX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgLyogcm9vbSBiZWxvdyBmb3IgdGhlIGJsdXJyZWQgZ2xvdyBsaW5lICsgYnJlYXRoaW5nIHNwYWNlIGJlZm9yZSB0aGUgdGV4dCAqL1xuICAgIG1hcmdpbjogMCBhdXRvIDMycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLyogU29mdCBibHVlIGJsdXJyZWQgbGluZSB1bmRlciB0aGUgaWNvbi4gKi9cbi50ZC1yZXBvcnRzX19pY29uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IC0xNHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZpbHRlcjogYmx1cig2cHgpO1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udGQtcmVwb3J0c19faWNvbiB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udGQtcmVwb3J0c19fdGV4dCB7XG4gICAgY29sb3I6ICM0YTRhNWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4udGQtcmVwb3J0c19fdGV4dCBzdHJvbmcge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIOKUgOKUgOKUgOKUgCBTZWN0aW9uIDYg4oCUIExNUyBJbnRlZ3JhdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi50ZC1sbXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2Y2ZmI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG59XG4udGQtbG1zX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjg1cmVtLCAzLjR2dywgMi42cmVtKTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi50ZC1sbXNfX2Rlc2Mge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgY29sb3I6ICM0YTRhNWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi50ZC1sbXNfX2xvZ29zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMjRweDtcbiAgICBwYWRkaW5nOiAyNHB4IDA7XG59XG4udGQtbG1zX19sb2dvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udGQtbG1zX19sb2dvLWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDI0cHggMjRweCAyMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDI0cHggcmdiYSgzMCwgMzAsIDYwLCAwLjA2KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG4udGQtbG1zX19sb2dvLWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDMwLCAzMCwgNjAsIDAuMSk7XG59XG4udGQtbG1zX19sb2dvLWltZyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi50ZC1sbXNfX2xvZ28taW1nIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4udGQtbG1zX19sb2dvLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyog4pSA4pSA4pSA4pSAIFRlc3RpbW9uaWFsIHNpemluZyBvbiB0aGlzIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBUaGUgLmdldC1zdGFydGVkIHllbGxvdyBjYXJkIHVzZXMgbWFyZ2luLXRvcDogLTIyMHB4IHRvIG92ZXJsYXBcbiAgIHRoZSBwcmV2aW91cyBzZWN0aW9uLiBXZSBhZGQgYm90dG9tIHBhZGRpbmcgdG8gLmNlcnQtdGVzdGltb25pYWxcbiAgIHNvIHRoZSBxdW90ZSBzaXRzIHdlbGwgYWJvdmUgdGhlIG92ZXJsYXAgem9uZS4gKi9cbi5jZXJ0LXRlc3RpbW9uaWFsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjYwcHg7XG59XG4uY2VydC10ZXN0aW1vbmlhbF9fcXVvdGUge1xuICAgIG1hcmdpbjogMTAwcHggYXV0byA0MHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMTQwNDIgMCUsIHJnYmEoMSwgNjQsIDY2LCAwKSAxMDAlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNlcnQtdGVzdGltb25pYWxfX3F1b3RlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJvcmRlcjogMS41cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwMCAwJSwgcmdiYSgwLDAsMCwwLjUpIDYwJSwgcmdiYSgwLDAsMCwwKSAxMDAlKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDAgMCUsIHJnYmEoMCwwLDAsMC41KSA2MCUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uY2VydC10ZXN0aW1vbmlhbF9fdGV4dCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyog4pSA4pSA4pSA4pSAIE1vYmlsZSB0d2Vha3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAudGQtZmVhdHVyZXMsXG4gICAgLnRkLXNjb3JpbmctcHJvY3RvcmluZyxcbiAgICAudGQtZXhhbS1mb3JtYXQge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgfVxuICAgIC50ZC1mZWF0dXJlIHsgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAgIC5jZXJ0LXRlc3RpbW9uaWFsIHsgcGFkZGluZy1ib3R0b206IDE4MHB4OyB9XG4gICAgLmNlcnQtdGVzdGltb25pYWxfX3F1b3RlIHsgbWFyZ2luOiA2MHB4IGF1dG8gMjRweDsgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuY2VydC10ZXN0aW1vbmlhbCB7IHBhZGRpbmctYm90dG9tOiAxNDBweDsgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAudGQtbG1zX19sb2dvcyB7IGdhcDogMjhweDsgfVxuICAgIC50ZC1sbXNfX2xvZ28gaW1nIHsgbWF4LWhlaWdodDogNDBweDsgfVxufVxuXG4vKiDilIDilIAgTW9iaWxlIGZpeGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLnRkLWxtc19fbG9nb3Mge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMTZweDtcbiAgICB9XG4gICAgLnRkLWxtc19fbG9nbyB7XG4gICAgICAgIGZsZXg6IDAgMSBjYWxjKDMzLjMzMyUgLSAxMXB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgICAudGQtbG1zX19sb2dvLWNhcmQge1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDEycHggMTJweDtcbiAgICB9XG4gICAgLnRkLWxtc19fbG9nby1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/