/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/pages/adult_workforce_education.css ***!
  \******************************************************************************************************************************************/
/* ──────────────────────────────────────────────────────────────
   Adult & Workforce Education page-specific overrides
   Loaded only on /<locale>/adult-and-workforce-education,
   on top of app.css.
   ────────────────────────────────────────────────────────────── */

/* Section 1 — Certify the Digital Skills Today's Workforce Needs
   ------------------------------------------------------------
   Full-bleed layout: the container spans the full viewport width
   and the media fills the entire left half (edge-to-edge), while
   the text column keeps a comfortable inner padding on the right. */
.he-s1 {
    padding-bottom: 0;
}
.he-s1 > .container-xl.py-5 {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0 !important;
}
.he-s1 > .container-xl.py-5 > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0;
}
.he-s1 > .container-xl.py-5 > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

.he-s1__media {
    width: 100%;
}
.he-s1__media > img,
.he-s1__photo {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
}

/* Remove the decorative dotted patterns around the media */
.he-s1__media::before,
.he-s1__media::after {
    content: none;
}

/* Inner padding on the text column so it doesn't hug the screen edge.
   Selector matches the reset above so it wins by source order. */
@media (min-width: 992px) {
    .he-s1 > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding-left: 120px;
        padding-right: 240px;
    }
}

/* Section 1b — Solving Key Challenges of Adult & Workforce Ed
   ------------------------------------------------------------ */
.awe-challenges {
    background: url(/build/images/bg.84d5d137.jpg) no-repeat center center;
    background-size: cover;
    padding: 80px 0;
}

.awe-challenges {
    /* Make the section container wider than default container-xl so
       the three cards have enough room for the "Challenge X" banner. */
}
.awe-challenges > .container-xl {
    max-width: 1600px;
}
.awe-challenges__cards {
    align-items: stretch;
    --bs-gutter-x: 3rem;
}

.awe-challenges__card {
    background: transparent;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Top "Challenge X" banner — blue chevron arrow */
.awe-challenges__banner {
    background: var(--tosa-blue);
    color: #fff;
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1;
    padding: 52px 64px;
    clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 50%, calc(100% - 64px) 100%, 0 100%);
    margin-bottom: 56px;
}

.awe-challenges__body {
    padding: 0 8px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.awe-challenges__icon {
    width: 96px;
    height: 96px;
    object-fit: contain;
    margin-bottom: 36px;
}

.awe-challenges__title {
    font-size: 1.75rem;
    color: var(--tosa-blue);
    line-height: 1.25;
    margin-bottom: 24px;
}

.awe-challenges__text {
    color: #333;
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-bottom: 36px;
}

.awe-challenges__divider {
    border: 0;
    border-top: 1px solid rgba(69, 69, 219, 0.25);
    margin: 0 0 36px;
    opacity: 1;
}

.awe-challenges__solution-title {
    color: var(--tosa-orange);
    font-size: 1.5rem;
    margin-bottom: 18px;
}

.awe-challenges__solution-text {
    color: #333;
    font-size: 1.0625rem;
    line-height: 1.6;
}

/* Section 1c — Designed for Organizations that Train the Modern Workforce
   ------------------------------------------------------------ */
.awe-orgs {
    padding: 80px 0;
    background: url(/build/images/designed-for-organizations-bg.08f17019.jpg) no-repeat center center;
    background-size: cover;
}
.awe-orgs > .container-xl {
    max-width: 1600px;
}
.awe-orgs__intro {
    color: #333;
    line-height: 1.7;
    font-size: 1.0625rem;
    max-width: 1100px;
}
.awe-orgs__cards {
    align-items: stretch;
    --bs-gutter-x: 2.5rem;
}

.awe-orgs__card {
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}

.awe-orgs__top {
    padding: 40px 36px 30px;
    flex: 1;
}

.awe-orgs__icon {
    width: 88px;
    height: 88px;
    object-fit: contain;
    margin-bottom: 18px;
}

.awe-orgs__bar {
    display: block;
    width: 52px;
    height: 3px;
    background: var(--tosa-blue);
    border-radius: 2px;
    filter: blur(7px);
    margin-bottom: 28px;
}

.awe-orgs__title {
    font-size: 1.5rem;
    color: var(--tosa-blue);
    line-height: 1.25;
    margin-bottom: 18px;
}

.awe-orgs__text {
    color: #333;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 28px;
}

.awe-orgs__list-title {
    color: var(--tosa-orange);
    font-size: 1.125rem;
    margin-bottom: 14px;
}

.awe-orgs__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.awe-orgs__list li {
    position: relative;
    padding-left: 18px;
    color: #333;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 8px;
}
.awe-orgs__list li::before {
    content: '·';
    position: absolute;
    left: 4px;
    top: -4px;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1;
    color: #333;
}

.awe-orgs__bottom {
    background: #f4f4fb;
    padding: 30px 36px 36px;
}

.awe-orgs__bottom-title {
    color: #1a1a2e;
    font-size: 1.125rem;
    margin-bottom: 14px;
}

/* Section 3 — Why Adult & Workforce Education Providers Choose Tosa
   ------------------------------------------------------------
   Custom background image replacing the default gradient. */
.he-s3 {
    background: url(/build/images/Why-Audit-bg.9baf53ff.jpg) no-repeat center center;
    background-size: cover;
}
/* The decorative circles in app.css would clash with the image bg */
.he-s3::before,
.he-s3::after {
    content: none;
}

/* Section 4 — The Tosa Skills Framework
   ------------------------------------------------------------
   Full-bleed layout with the laptop mockup baked into the
   section background (positioned on the right). The text column
   floats over the left side of that background. */
.he-s4 {
    overflow: hidden;
    padding: 120px 0 !important;
    background: var(--tosa-blue) url(/build/images/tosa-skills-framework-mockup.a7ff3d0c.png) no-repeat right center;
    background-size: contain;
}
.he-s4 > .container-xl.py-5 {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.he-s4 > .container-xl.py-5 > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0;
}
.he-s4 > .container-xl.py-5 > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

/* Section dots — yellow accent on this section */
.he-s4 .section-dots span {
    background-color: var(--tosa-yellow) !important;
}

/* Left column (text) — narrower max-width + comfortable left padding */
.he-s4 > .container-xl.py-5 > .row > .he-s4__copy {
    padding-left: 120px;
    padding-right: 40px;
    max-width: 640px;
}
@media (min-width: 1400px) {
    .he-s4 > .container-xl.py-5 > .row > .he-s4__copy {
        padding-left: 180px;
        max-width: 720px;
    }
}

/* The right column is now just empty space (the laptop is baked into
   the section background). Keep it as a flex item to balance the row
   but with no specific styling needed. */
.he-s4 > .container-xl.py-5 > .row > .he-s4__media {
    align-self: stretch;
    min-height: 500px;
}

/* Section 5 — Why Adult & Workforce Education Learners (5a) /
   Supporting Training with the Isograd Learning Platform (5b)
   ------------------------------------------------------------
   5a uses bg.jpg on the section, 5b has its own dedicated bg
   applied on the inner container so the two sub-sections look
   visually distinct. */
.he-s5 {
    background: url(/build/images/bg.84d5d137.jpg) no-repeat center center;
    background-size: cover;
    padding-bottom: 0;
}
.he-s5__row-b {
    background: url(/build/images/supporting-training-bg.5a623061.jpg) no-repeat center center;
    background-size: cover;
    max-width: none !important;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: max(48px, calc(50vw - 760px)) !important;
    padding-right: max(48px, calc(50vw - 760px)) !important;
}

/* Enlarge the .he-s5 cards on this page */
.he-s5 .he-s5__card {
    max-height: 820px;
}
.he-s5__body {
    padding: 60px 64px;
}

/* 5b — make the inner card / body / media transparent so the
   supporting-training background shows through. */
.he-s5__row-b .he-s5__card,
.he-s5__row-b .he-s5__body,
.he-s5__row-b .he-s5__media {
    background: transparent !important;
    box-shadow: none !important;
}

.he-s5__media img {
    object-fit: contain !important;
}

/* FR entreprise (2a): no white behind the image — the card chrome
   stays on the text half only. */
.he-s5__card--media-flush {
    background: transparent;
    box-shadow: none;
}
.he-s5__card--media-flush .he-s5__body {
    background: #fff;
    box-shadow: 0 12px 50px rgba(0,0,0,0.10);
}

.he-s5 > .container-xl.py-5:not(.he-s5__row-b) .he-s5__media {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.he-s5 > .container-xl.py-5:not(.he-s5__row-b) .he-s5__media img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 707px;
    object-fit: contain;
}

/* CTA — Ready to Strengthen Your Adult & Workforce Education Programs?
   ------------------------------------------------------------
   The illustration is applied as a background-image so it can be
   positioned and sized freely without overflowing the layout. */
.he-cta__card .row {
    --bs-gutter-x: 0;
    align-items: stretch !important;
}
.he-cta__media {
    align-self: stretch;
    min-height: 480px;
    background: url(/build/images/cta-laptop-girl.ae599872.png) no-repeat left bottom;
    background-size: cover;
}
/* FR entreprise: decorative shapes over the photo cutout, overflowing the
   yellow card on its left. The card's yellow + cut corner move to a
   ::before so the shapes can escape the card box. */
.he-cta--contact {
    overflow-x: clip;
}
.he-cta__card--overflow {
    overflow: visible;
    clip-path: none;
    background: transparent;
}
.he-cta__card--overflow::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--tosa-yellow);
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}
.he-cta__card--overflow .row {
    position: relative;
}
.he-cta__media--contact {
    background: none;
    position: relative;
    z-index: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    /* Clip only below the card's bottom edge — the shapes stay free to
       overflow on the left and top. */
    clip-path: inset(-9999px -9999px 0 -9999px);
}
.he-cta__media--contact .he-cta__shapes {
    position: absolute;
    left: -439px;
    top: 64%;
    transform: translateY(-38%);
    width: 680px;
    max-width: none;
}
.he-cta__media--contact .he-cta__person {
    position: relative;
    z-index: -1;
    display: block;
    width: 100%;
    height: auto;
}

.he-cta__body {
    padding: 60px 56px 60px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
@media (min-width: 1200px) {
    .he-cta__media {
        min-height: 560px;
    }
    .he-cta__body {
        padding: 80px 80px 80px 0;
    }
}

/* Subhead + bullet list on the left column */
.he-s4__subhead {
    color: #fff;
    font-size: 1.125rem;
}
.he-s4__list {
    list-style: none;
    padding: 0;
    margin: 0;
    color: #fff;
}
.he-s4__list li {
    position: relative;
    padding-left: 22px;
    line-height: 1.6;
    margin-bottom: 10px;
}
.he-s4__list li::before {
    content: '·';
    position: absolute;
    left: 6px;
    top: -6px;
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1;
    color: #fff;
}

/* ── Mobile fixes ─────────────────────────────────────────────── */
@media (max-width: 991.98px) {
    .awe-challenges__cards,
    .awe-orgs__cards {
        --bs-gutter-x: 2rem;
    }
    .he-s4 {
        background-image: none;
        padding: 64px 0 !important;
    }
    .he-s4 > .container-xl.py-5 > .row > .he-s4__copy {
        padding-left: 24px;
        padding-right: 24px;
        max-width: none;
    }
    .he-s4 > .container-xl.py-5 > .row > .he-s4__media {
        min-height: 240px;
        background: url(/build/images/tosa-skills-framework-mockup.a7ff3d0c.png) no-repeat right center / contain;
        margin-top: 32px;
        margin-right: calc(-1 * clamp(1rem, 2.5vw, 2rem));
        width: calc(100% + clamp(1rem, 2.5vw, 2rem));
        max-width: none;
    }
    .he-s5 .he-s5__card {
        max-height: none;
    }
    .he-s5__body {
        padding: 32px 24px;
    }
    .he-s5__row-b {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .he-cta__body {
        padding: 32px 24px;
    }
}

@media (max-width: 991.98px) {
    .he-banner__bg {
        object-position: center;
    }
}

@media (max-width: 991.98px) {
    .awe-challenges__banner {
        font-size: 1.75rem;
        padding: 32px 56px 32px 32px;
        clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 50%, calc(100% - 40px) 100%, 0 100%);
        margin-bottom: 40px;
    }
}

@media (min-width: 992px) and (max-width: 1479.98px) {
    .he-s1 > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding-left: 48px;
        padding-right: 48px;
    }
}

@media (min-width: 992px) and (max-width: 1479.98px) {
    .awe-challenges__banner {
        font-size: 1.5rem;
        padding: 36px 56px 36px 32px;
        clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 50%, calc(100% - 40px) 100%, 0 100%);
        margin-bottom: 40px;
    }
    .he-s4 {
        background-size: 45% auto;
    }
}

/* ──── FR organisme de formation page ──────────────────────────── */
.of-subtitle {
    color: var(--tosa-blue);
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.35;
}
.of-bullets {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}
.of-bullets li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 10px;
    color: #4a4a5e;
    line-height: 1.5;
}
.of-bullets li::before {
    content: '\00B7';
    position: absolute;
    left: 0;
    font-weight: 700;
}
/* Blue "référentiel de compétences" band with the FR framework laptop.
   On desktop the laptop is glued to the bottom-right corner of the band. */
.of-framework {
    position: relative;
    background: #3846D8;
    color: #fff;
    overflow: hidden;
}
.of-framework .section-title,
.of-framework .of-framework__subhead {
    color: #fff;
}
.of-framework__text {
    color: rgba(255, 255, 255, 0.92);
}
.of-framework .of-bullets li {
    color: rgba(255, 255, 255, 0.92);
}
.of-framework__img {
    width: 100%;
    height: auto;
    display: block;
}
/* Desktop: the laptop is glued to the bottom-right corner of the band.
   Must come after the base rule above so it wins the cascade.
   Below 980px the image is hidden entirely. */
@media (min-width: 980px) {
    .of-framework__img {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 41%;
        max-width: 900px;
    }
}
@media (max-width: 979.98px) {
    .of-framework__img {
        display: none;
    }
}

/* ──── FR entreprise page ──────────────────────────────────────── */
/* Orange challenge banners (the OF page keeps the default blue). */
.awe-challenges--orange .awe-challenges__banner {
    background: var(--tosa-orange);
}
/* Blue "Isograd Testing Services" band */
.ent-its {
    background: #3846D8;
    color: #fff;
    overflow: hidden;
}
.ent-its .section-title {
    color: #fff;
}
.ent-its__text {
    color: rgba(255, 255, 255, 0.92);
}
.ent-its__lead {
    color: #fff;
    font-weight: 700;
}
.ent-its__media img {
    width: 100%;
    height: auto;
    display: block;
}
/* FR entreprise: decorative rounded shape peeking out from the top-right
   corner of the photo. */
.ent-its__media--vector {
    position: relative;
}
.ent-its__media--vector .ent-its__vector {
    position: absolute;
    top: -120px;
    right: -90px;
    width: 340px;
    height: auto;
    z-index: 0;
}
.ent-its__media--vector img:not(.ent-its__vector) {
    position: relative;
    z-index: 1;
}
@media (max-width: 991.98px) {
    .ent-its__media--vector .ent-its__vector {
        top: -60px;
        right: -20px;
        width: 220px;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMvYWR1bHRfd29ya2ZvcmNlX2VkdWNhdGlvbi40ODlhZDJlMC5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7bUVBSW1FOztBQUVuRTs7OztvRUFJb0U7QUFDcEU7SUFDSSxpQkFBaUI7QUFDckI7QUFDQTtJQUNJLGVBQWU7SUFDZixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtBQUNoQztBQUNBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixTQUFTO0FBQ2I7QUFDQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7QUFDQTs7SUFFSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGNBQWM7SUFDZCxnQkFBZ0I7QUFDcEI7O0FBRUEsMkRBQTJEO0FBQzNEOztJQUVJLGFBQWE7QUFDakI7O0FBRUE7aUVBQ2lFO0FBQ2pFO0lBQ0k7UUFDSSxtQkFBbUI7UUFDbkIsb0JBQW9CO0lBQ3hCO0FBQ0o7O0FBRUE7aUVBQ2lFO0FBQ2pFO0lBQ0ksMkVBQXlGO0lBQ3pGLHNCQUFzQjtJQUN0QixlQUFlO0FBQ25COztBQUVBO0lBQ0k7dUVBQ21FO0FBQ3ZFO0FBQ0E7SUFDSSxpQkFBaUI7QUFDckI7QUFDQTtJQUNJLG9CQUFvQjtJQUNwQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7O0FBRUEsa0RBQWtEO0FBQ2xEO0lBQ0ksNEJBQTRCO0lBQzVCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsc0ZBQXNGO0lBQ3RGLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxPQUFPO0lBQ1AsYUFBYTtJQUNiLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNs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QVc7SUFDWCxZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0FBQ2Q7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixVQUFVO0FBQ2Q7QUFDQTtJQUNJO1FBQ0ksVUFBVTtRQUNWLFlBQVk7UUFDWixZQUFZO0lBQ2hCO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhZ2VzL2FkdWx0X3dvcmtmb3JjZV9lZHVjYXRpb24uY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgQWR1bHQgJiBXb3JrZm9yY2UgRWR1Y2F0aW9uIHBhZ2Utc3BlY2lmaWMgb3ZlcnJpZGVzXG4gICBMb2FkZWQgb25seSBvbiAvPGxvY2FsZT4vYWR1bHQtYW5kLXdvcmtmb3JjZS1lZHVjYXRpb24sXG4gICBvbiB0b3Agb2YgYXBwLmNzcy5cbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4vKiBTZWN0aW9uIDEg4oCUIENlcnRpZnkgdGhlIERpZ2l0YWwgU2tpbGxzIFRvZGF5J3MgV29ya2ZvcmNlIE5lZWRzXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEZ1bGwtYmxlZWQgbGF5b3V0OiB0aGUgY29udGFpbmVyIHNwYW5zIHRoZSBmdWxsIHZpZXdwb3J0IHdpZHRoXG4gICBhbmQgdGhlIG1lZGlhIGZpbGxzIHRoZSBlbnRpcmUgbGVmdCBoYWxmIChlZGdlLXRvLWVkZ2UpLCB3aGlsZVxuICAgdGhlIHRleHQgY29sdW1uIGtlZXBzIGEgY29tZm9ydGFibGUgaW5uZXIgcGFkZGluZyBvbiB0aGUgcmlnaHQuICovXG4uaGUtczEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLmhlLXMxID4gLmNvbnRhaW5lci14bC5weS01IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5oZS1zMSA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDA7XG4gICAgLS1icy1ndXR0ZXIteTogMDtcbiAgICBtYXJnaW46IDA7XG59XG4uaGUtczEgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uaGUtczFfX21lZGlhIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5oZS1zMV9fbWVkaWEgPiBpbWcsXG4uaGUtczFfX3Bob3RvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLyogUmVtb3ZlIHRoZSBkZWNvcmF0aXZlIGRvdHRlZCBwYXR0ZXJucyBhcm91bmQgdGhlIG1lZGlhICovXG4uaGUtczFfX21lZGlhOjpiZWZvcmUsXG4uaGUtczFfX21lZGlhOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbn1cblxuLyogSW5uZXIgcGFkZGluZyBvbiB0aGUgdGV4dCBjb2x1bW4gc28gaXQgZG9lc24ndCBodWcgdGhlIHNjcmVlbiBlZGdlLlxuICAgU2VsZWN0b3IgbWF0Y2hlcyB0aGUgcmVzZXQgYWJvdmUgc28gaXQgd2lucyBieSBzb3VyY2Ugb3JkZXIuICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaGUtczEgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93ID4gLmNvbC1sZy02Omxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDtcbiAgICB9XG59XG5cbi8qIFNlY3Rpb24gMWIg4oCUIFNvbHZpbmcgS2V5IENoYWxsZW5nZXMgb2YgQWR1bHQgJiBXb3JrZm9yY2UgRWRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmF3ZS1jaGFsbGVuZ2VzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2FkdWx0LXdvcmtmb3JjZS9iZy5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbn1cblxuLmF3ZS1jaGFsbGVuZ2VzIHtcbiAgICAvKiBNYWtlIHRoZSBzZWN0aW9uIGNvbnRhaW5lciB3aWRlciB0aGFuIGRlZmF1bHQgY29udGFpbmVyLXhsIHNvXG4gICAgICAgdGhlIHRocmVlIGNhcmRzIGhhdmUgZW5vdWdoIHJvb20gZm9yIHRoZSBcIkNoYWxsZW5nZSBYXCIgYmFubmVyLiAqL1xufVxuLmF3ZS1jaGFsbGVuZ2VzID4gLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiAxNjAwcHg7XG59XG4uYXdlLWNoYWxsZW5nZXNfX2NhcmRzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAtLWJzLWd1dHRlci14OiAzcmVtO1xufVxuXG4uYXdlLWNoYWxsZW5nZXNfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIFRvcCBcIkNoYWxsZW5nZSBYXCIgYmFubmVyIOKAlCBibHVlIGNoZXZyb24gYXJyb3cgKi9cbi5hd2UtY2hhbGxlbmdlc19fYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogNTJweCA2NHB4O1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDY0cHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSA2NHB4KSAxMDAlLCAwIDEwMCUpO1xuICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG59XG5cbi5hd2UtY2hhbGxlbmdlc19fYm9keSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hd2UtY2hhbGxlbmdlc19faWNvbiB7XG4gICAgd2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiA5NnB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbn1cblxuLmF3ZS1jaGFsbGVuZ2VzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5hd2UtY2hhbGxlbmdlc19fdGV4dCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xufVxuXG4uYXdlLWNoYWxsZW5nZXNfX2RpdmlkZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg2OSwgNjksIDIxOSwgMC4yNSk7XG4gICAgbWFyZ2luOiAwIDAgMzZweDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uYXdlLWNoYWxsZW5nZXNfX3NvbHV0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG5cbi5hd2UtY2hhbGxlbmdlc19fc29sdXRpb24tdGV4dCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogU2VjdGlvbiAxYyDigJQgRGVzaWduZWQgZm9yIE9yZ2FuaXphdGlvbnMgdGhhdCBUcmFpbiB0aGUgTW9kZXJuIFdvcmtmb3JjZVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYXdlLW9yZ3Mge1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2FkdWx0LXdvcmtmb3JjZS9kZXNpZ25lZC1mb3Itb3JnYW5pemF0aW9ucy1iZy5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLmF3ZS1vcmdzID4gLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiAxNjAwcHg7XG59XG4uYXdlLW9yZ3NfX2ludHJvIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xufVxuLmF3ZS1vcmdzX19jYXJkcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgLS1icy1ndXR0ZXIteDogMi41cmVtO1xufVxuXG4uYXdlLW9yZ3NfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4uYXdlLW9yZ3NfX3RvcCB7XG4gICAgcGFkZGluZzogNDBweCAzNnB4IDMwcHg7XG4gICAgZmxleDogMTtcbn1cblxuLmF3ZS1vcmdzX19pY29uIHtcbiAgICB3aWR0aDogODhweDtcbiAgICBoZWlnaHQ6IDg4cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuXG4uYXdlLW9yZ3NfX2JhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZmlsdGVyOiBibHVyKDdweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbn1cblxuLmF3ZS1vcmdzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLmF3ZS1vcmdzX190ZXh0IHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG59XG5cbi5hd2Utb3Jnc19fbGlzdC10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG59XG5cbi5hd2Utb3Jnc19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5hd2Utb3Jnc19fbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi5hd2Utb3Jnc19fbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnwrcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0cHg7XG4gICAgdG9wOiAtNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMzMzM7XG59XG5cbi5hd2Utb3Jnc19fYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNGZiO1xuICAgIHBhZGRpbmc6IDMwcHggMzZweCAzNnB4O1xufVxuXG4uYXdlLW9yZ3NfX2JvdHRvbS10aXRsZSB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xufVxuXG4vKiBTZWN0aW9uIDMg4oCUIFdoeSBBZHVsdCAmIFdvcmtmb3JjZSBFZHVjYXRpb24gUHJvdmlkZXJzIENob29zZSBUb3NhXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIHJlcGxhY2luZyB0aGUgZGVmYXVsdCBncmFkaWVudC4gKi9cbi5oZS1zMyB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvd2hvd2VzZXJ2ZS9hZHVsdC13b3JrZm9yY2UvV2h5LUF1ZGl0LWJnLmpwZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4vKiBUaGUgZGVjb3JhdGl2ZSBjaXJjbGVzIGluIGFwcC5jc3Mgd291bGQgY2xhc2ggd2l0aCB0aGUgaW1hZ2UgYmcgKi9cbi5oZS1zMzo6YmVmb3JlLFxuLmhlLXMzOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbn1cblxuLyogU2VjdGlvbiA0IOKAlCBUaGUgVG9zYSBTa2lsbHMgRnJhbWV3b3JrXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEZ1bGwtYmxlZWQgbGF5b3V0IHdpdGggdGhlIGxhcHRvcCBtb2NrdXAgYmFrZWQgaW50byB0aGVcbiAgIHNlY3Rpb24gYmFja2dyb3VuZCAocG9zaXRpb25lZCBvbiB0aGUgcmlnaHQpLiBUaGUgdGV4dCBjb2x1bW5cbiAgIGZsb2F0cyBvdmVyIHRoZSBsZWZ0IHNpZGUgb2YgdGhhdCBiYWNrZ3JvdW5kLiAqL1xuLmhlLXM0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEyMHB4IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpIHVybCgnLi4vLi4vaW1hZ2VzL3Rvc2FkaWZmZXJlbmNlL3Rvc2Etc2tpbGxzLWZyYW1ld29yay1tb2NrdXAucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG4uaGUtczQgPiAuY29udGFpbmVyLXhsLnB5LTUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5oZS1zNCA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cge1xuICAgIC0tYnMtZ3V0dGVyLXg6IDA7XG4gICAgLS1icy1ndXR0ZXIteTogMDtcbiAgICBtYXJnaW46IDA7XG59XG4uaGUtczQgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vKiBTZWN0aW9uIGRvdHMg4oCUIHllbGxvdyBhY2NlbnQgb24gdGhpcyBzZWN0aW9uICovXG4uaGUtczQgLnNlY3Rpb24tZG90cyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10b3NhLXllbGxvdykgIWltcG9ydGFudDtcbn1cblxuLyogTGVmdCBjb2x1bW4gKHRleHQpIOKAlCBuYXJyb3dlciBtYXgtd2lkdGggKyBjb21mb3J0YWJsZSBsZWZ0IHBhZGRpbmcgKi9cbi5oZS1zNCA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cgPiAuaGUtczRfX2NvcHkge1xuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIC5oZS1zNCA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cgPiAuaGUtczRfX2NvcHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIH1cbn1cblxuLyogVGhlIHJpZ2h0IGNvbHVtbiBpcyBub3cganVzdCBlbXB0eSBzcGFjZSAodGhlIGxhcHRvcCBpcyBiYWtlZCBpbnRvXG4gICB0aGUgc2VjdGlvbiBiYWNrZ3JvdW5kKS4gS2VlcCBpdCBhcyBhIGZsZXggaXRlbSB0byBiYWxhbmNlIHRoZSByb3dcbiAgIGJ1dCB3aXRoIG5vIHNwZWNpZmljIHN0eWxpbmcgbmVlZGVkLiAqL1xuLmhlLXM0ID4gLmNvbnRhaW5lci14bC5weS01ID4gLnJvdyA+IC5oZS1zNF9fbWVkaWEge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG59XG5cbi8qIFNlY3Rpb24gNSDigJQgV2h5IEFkdWx0ICYgV29ya2ZvcmNlIEVkdWNhdGlvbiBMZWFybmVycyAoNWEpIC9cbiAgIFN1cHBvcnRpbmcgVHJhaW5pbmcgd2l0aCB0aGUgSXNvZ3JhZCBMZWFybmluZyBQbGF0Zm9ybSAoNWIpXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDVhIHVzZXMgYmcuanBnIG9uIHRoZSBzZWN0aW9uLCA1YiBoYXMgaXRzIG93biBkZWRpY2F0ZWQgYmdcbiAgIGFwcGxpZWQgb24gdGhlIGlubmVyIGNvbnRhaW5lciBzbyB0aGUgdHdvIHN1Yi1zZWN0aW9ucyBsb29rXG4gICB2aXN1YWxseSBkaXN0aW5jdC4gKi9cbi5oZS1zNSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvd2hvd2VzZXJ2ZS9hZHVsdC13b3JrZm9yY2UvYmcuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5oZS1zNV9fcm93LWIge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL3dob3dlc2VydmUvYWR1bHQtd29ya2ZvcmNlL3N1cHBvcnRpbmctdHJhaW5pbmctYmcuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXgoNDhweCwgY2FsYyg1MHZ3IC0gNzYwcHgpKSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IG1heCg0OHB4LCBjYWxjKDUwdncgLSA3NjBweCkpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVubGFyZ2UgdGhlIC5oZS1zNSBjYXJkcyBvbiB0aGlzIHBhZ2UgKi9cbi5oZS1zNSAuaGUtczVfX2NhcmQge1xuICAgIG1heC1oZWlnaHQ6IDgyMHB4O1xufVxuLmhlLXM1X19ib2R5IHtcbiAgICBwYWRkaW5nOiA2MHB4IDY0cHg7XG59XG5cbi8qIDViIOKAlCBtYWtlIHRoZSBpbm5lciBjYXJkIC8gYm9keSAvIG1lZGlhIHRyYW5zcGFyZW50IHNvIHRoZVxuICAgc3VwcG9ydGluZy10cmFpbmluZyBiYWNrZ3JvdW5kIHNob3dzIHRocm91Z2guICovXG4uaGUtczVfX3Jvdy1iIC5oZS1zNV9fY2FyZCxcbi5oZS1zNV9fcm93LWIgLmhlLXM1X19ib2R5LFxuLmhlLXM1X19yb3ctYiAuaGUtczVfX21lZGlhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhlLXM1X19tZWRpYSBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbn1cblxuLyogRlIgZW50cmVwcmlzZSAoMmEpOiBubyB3aGl0ZSBiZWhpbmQgdGhlIGltYWdlIOKAlCB0aGUgY2FyZCBjaHJvbWVcbiAgIHN0YXlzIG9uIHRoZSB0ZXh0IGhhbGYgb25seS4gKi9cbi5oZS1zNV9fY2FyZC0tbWVkaWEtZmx1c2gge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uaGUtczVfX2NhcmQtLW1lZGlhLWZsdXNoIC5oZS1zNV9fYm9keSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDEycHggNTBweCByZ2JhKDAsMCwwLDAuMTApO1xufVxuXG4uaGUtczUgPiAuY29udGFpbmVyLXhsLnB5LTU6bm90KC5oZS1zNV9fcm93LWIpIC5oZS1zNV9fbWVkaWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmhlLXM1ID4gLmNvbnRhaW5lci14bC5weS01Om5vdCguaGUtczVfX3Jvdy1iKSAuaGUtczVfX21lZGlhIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA3MDdweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiBDVEEg4oCUIFJlYWR5IHRvIFN0cmVuZ3RoZW4gWW91ciBBZHVsdCAmIFdvcmtmb3JjZSBFZHVjYXRpb24gUHJvZ3JhbXM/XG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFRoZSBpbGx1c3RyYXRpb24gaXMgYXBwbGllZCBhcyBhIGJhY2tncm91bmQtaW1hZ2Ugc28gaXQgY2FuIGJlXG4gICBwb3NpdGlvbmVkIGFuZCBzaXplZCBmcmVlbHkgd2l0aG91dCBvdmVyZmxvd2luZyB0aGUgbGF5b3V0LiAqL1xuLmhlLWN0YV9fY2FyZCAucm93IHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG4uaGUtY3RhX19tZWRpYSB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBtaW4taGVpZ2h0OiA0ODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2FkdWx0LXdvcmtmb3JjZS9jdGEtbGFwdG9wLWdpcmwucG5nJykgbm8tcmVwZWF0IGxlZnQgYm90dG9tO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4vKiBGUiBlbnRyZXByaXNlOiBkZWNvcmF0aXZlIHNoYXBlcyBvdmVyIHRoZSBwaG90byBjdXRvdXQsIG92ZXJmbG93aW5nIHRoZVxuICAgeWVsbG93IGNhcmQgb24gaXRzIGxlZnQuIFRoZSBjYXJkJ3MgeWVsbG93ICsgY3V0IGNvcm5lciBtb3ZlIHRvIGFcbiAgIDo6YmVmb3JlIHNvIHRoZSBzaGFwZXMgY2FuIGVzY2FwZSB0aGUgY2FyZCBib3guICovXG4uaGUtY3RhLS1jb250YWN0IHtcbiAgICBvdmVyZmxvdy14OiBjbGlwO1xufVxuLmhlLWN0YV9fY2FyZC0tb3ZlcmZsb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5oZS1jdGFfX2NhcmQtLW92ZXJmbG93OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA2MHB4KSAwLCAxMDAlIDYwcHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbn1cbi5oZS1jdGFfX2NhcmQtLW92ZXJmbG93IC5yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5oZS1jdGFfX21lZGlhLS1jb250YWN0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8qIENsaXAgb25seSBiZWxvdyB0aGUgY2FyZCdzIGJvdHRvbSBlZGdlIOKAlCB0aGUgc2hhcGVzIHN0YXkgZnJlZSB0b1xuICAgICAgIG92ZXJmbG93IG9uIHRoZSBsZWZ0IGFuZCB0b3AuICovXG4gICAgY2xpcC1wYXRoOiBpbnNldCgtOTk5OXB4IC05OTk5cHggMCAtOTk5OXB4KTtcbn1cbi5oZS1jdGFfX21lZGlhLS1jb250YWN0IC5oZS1jdGFfX3NoYXBlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC00MzlweDtcbiAgICB0b3A6IDY0JTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM4JSk7XG4gICAgd2lkdGg6IDY4MHB4O1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cbi5oZS1jdGFfX21lZGlhLS1jb250YWN0IC5oZS1jdGFfX3BlcnNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmhlLWN0YV9fYm9keSB7XG4gICAgcGFkZGluZzogNjBweCA1NnB4IDYwcHggMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmhlLWN0YV9fbWVkaWEge1xuICAgICAgICBtaW4taGVpZ2h0OiA1NjBweDtcbiAgICB9XG4gICAgLmhlLWN0YV9fYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggODBweCA4MHB4IDA7XG4gICAgfVxufVxuXG4vKiBTdWJoZWFkICsgYnVsbGV0IGxpc3Qgb24gdGhlIGxlZnQgY29sdW1uICovXG4uaGUtczRfX3N1YmhlYWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG4uaGUtczRfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNmZmY7XG59XG4uaGUtczRfX2xpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmhlLXM0X19saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfCtyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDZweDtcbiAgICB0b3A6IC02cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi8qIOKUgOKUgCBNb2JpbGUgZml4ZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuYXdlLWNoYWxsZW5nZXNfX2NhcmRzLFxuICAgIC5hd2Utb3Jnc19fY2FyZHMge1xuICAgICAgICAtLWJzLWd1dHRlci14OiAycmVtO1xuICAgIH1cbiAgICAuaGUtczQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA2NHB4IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhlLXM0ID4gLmNvbnRhaW5lci14bC5weS01ID4gLnJvdyA+IC5oZS1zNF9fY29weSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgICAuaGUtczQgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93ID4gLmhlLXM0X19tZWRpYSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy90b3NhZGlmZmVyZW5jZS90b3NhLXNraWxscy1mcmFtZXdvcmstbW9ja3VwLnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiBjbGFtcCgxcmVtLCAyLjV2dywgMnJlbSkpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgY2xhbXAoMXJlbSwgMi41dncsIDJyZW0pKTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgICAuaGUtczUgLmhlLXM1X19jYXJkIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG4gICAgLmhlLXM1X19ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMzJweCAyNHB4O1xuICAgIH1cbiAgICAuaGUtczVfX3Jvdy1iIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhlLWN0YV9fYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMjRweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5oZS1iYW5uZXJfX2JnIHtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuYXdlLWNoYWxsZW5nZXNfX2Jhbm5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgcGFkZGluZzogMzJweCA1NnB4IDMycHggMzJweDtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gNDBweCkgMCwgMTAwJSA1MCUsIGNhbGMoMTAwJSAtIDQwcHgpIDEwMCUsIDAgMTAwJSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxNDc5Ljk4cHgpIHtcbiAgICAuaGUtczEgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93ID4gLmNvbC1sZy02Omxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxNDc5Ljk4cHgpIHtcbiAgICAuYXdlLWNoYWxsZW5nZXNfX2Jhbm5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDU2cHggMzZweCAzMnB4O1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA0MHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gNDBweCkgMTAwJSwgMCAxMDAlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gICAgLmhlLXM0IHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0NSUgYXV0bztcbiAgICB9XG59XG5cbi8qIOKUgOKUgOKUgOKUgCBGUiBvcmdhbmlzbWUgZGUgZm9ybWF0aW9uIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4ub2Ytc3VidGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG4ub2YtYnVsbGV0cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5vZi1idWxsZXRzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICM0YTRhNWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5vZi1idWxsZXRzIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDAwQjcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4vKiBCbHVlIFwicsOpZsOpcmVudGllbCBkZSBjb21ww6l0ZW5jZXNcIiBiYW5kIHdpdGggdGhlIEZSIGZyYW1ld29yayBsYXB0b3AuXG4gICBPbiBkZXNrdG9wIHRoZSBsYXB0b3AgaXMgZ2x1ZWQgdG8gdGhlIGJvdHRvbS1yaWdodCBjb3JuZXIgb2YgdGhlIGJhbmQuICovXG4ub2YtZnJhbWV3b3JrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzM4NDZEODtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm9mLWZyYW1ld29yayAuc2VjdGlvbi10aXRsZSxcbi5vZi1mcmFtZXdvcmsgLm9mLWZyYW1ld29ya19fc3ViaGVhZCB7XG4gICAgY29sb3I6ICNmZmY7XG59XG4ub2YtZnJhbWV3b3JrX190ZXh0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbn1cbi5vZi1mcmFtZXdvcmsgLm9mLWJ1bGxldHMgbGkge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xufVxuLm9mLWZyYW1ld29ya19faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBEZXNrdG9wOiB0aGUgbGFwdG9wIGlzIGdsdWVkIHRvIHRoZSBib3R0b20tcmlnaHQgY29ybmVyIG9mIHRoZSBiYW5kLlxuICAgTXVzdCBjb21lIGFmdGVyIHRoZSBiYXNlIHJ1bGUgYWJvdmUgc28gaXQgd2lucyB0aGUgY2FzY2FkZS5cbiAgIEJlbG93IDk4MHB4IHRoZSBpbWFnZSBpcyBoaWRkZW4gZW50aXJlbHkuICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgICAub2YtZnJhbWV3b3JrX19pbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA0MSU7XG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk3OS45OHB4KSB7XG4gICAgLm9mLWZyYW1ld29ya19faW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIOKUgOKUgOKUgOKUgCBGUiBlbnRyZXByaXNlIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4vKiBPcmFuZ2UgY2hhbGxlbmdlIGJhbm5lcnMgKHRoZSBPRiBwYWdlIGtlZXBzIHRoZSBkZWZhdWx0IGJsdWUpLiAqL1xuLmF3ZS1jaGFsbGVuZ2VzLS1vcmFuZ2UgLmF3ZS1jaGFsbGVuZ2VzX19iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cbi8qIEJsdWUgXCJJc29ncmFkIFRlc3RpbmcgU2VydmljZXNcIiBiYW5kICovXG4uZW50LWl0cyB7XG4gICAgYmFja2dyb3VuZDogIzM4NDZEODtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmVudC1pdHMgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLmVudC1pdHNfX3RleHQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xufVxuLmVudC1pdHNfX2xlYWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uZW50LWl0c19fbWVkaWEgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBGUiBlbnRyZXByaXNlOiBkZWNvcmF0aXZlIHJvdW5kZWQgc2hhcGUgcGVla2luZyBvdXQgZnJvbSB0aGUgdG9wLXJpZ2h0XG4gICBjb3JuZXIgb2YgdGhlIHBob3RvLiAqL1xuLmVudC1pdHNfX21lZGlhLS12ZWN0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lbnQtaXRzX19tZWRpYS0tdmVjdG9yIC5lbnQtaXRzX192ZWN0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMjBweDtcbiAgICByaWdodDogLTkwcHg7XG4gICAgd2lkdGg6IDM0MHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAwO1xufVxuLmVudC1pdHNfX21lZGlhLS12ZWN0b3IgaW1nOm5vdCguZW50LWl0c19fdmVjdG9yKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuZW50LWl0c19fbWVkaWEtLXZlY3RvciAuZW50LWl0c19fdmVjdG9yIHtcbiAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/