/**
 * Variables
 */

/* Breakpoints */

/* Specific breakpoint for global & dropdown navigation */

:root {

  /* Brand colors */

  /* Filters - Used for adjusting icon color. Generated using `npm run color-to-filter -- <options>`. */

  /* Typography */ /* 32px */ /* 24px */ /* 20px */ /* 18px - Lede */ /* 16px - Body */ /* 14px */ /* 12px - Sub, Caption */ /* 48px - Headline */ /* 40px - H1 */ /* 32px - H2 */ /* 24px - H3 */ /* 18px - H4 */ /* 16px - H5 */ /* 14px - H6 */ /* 1.6 x font size */ /* 1.2 x font size */ /* 14px always */

  /* Spacing */ /* 4px */ /* 8px */ /* 12px */ /* 16px */ /* 24px */ /* 32px */ /* 40px */ /* 48px */ /* 56px */ /* 64px */ /* 72px */ /* 80px */ /* 88px */

  /* Layout */

  /* Ratios */ /* 100%:56.25% = 16:9 */

  /* Utility */
}

@media (max-width: 719px) {
  :root { /* 24px */ /* 20px */ /* 18px */ /* 16px - Lede */ /* 14px - Body */ /* 12px */ /* 10px - Sub, Caption */ /* 36px - Headline */ /* 30px - H1 */ /* 24px - H2 */ /* 20px - H3 */ /* 18px - H4 */ /* 16px - H5 */ /* 14px - H6 */
  }
}

:root {

  /* Brand colors */

  /* Alert Colors */

  /* Design */

  /* Typography */ /* 10px */ /* 40px */

  /* Form */

  /* Header */

  /* Spacing Extra */

  /* Heading Sizes Extra */ /* 20px - H3 Tiles large to x-large */

  /* Tiles */

  /* Tabs */

  /* Grid */

  /* Print */
}

/**
 * Global Header
 *
 * Markup: global-header.twig
 *
 * Style guide: Grouped Components.global-header
 */

@media (min-width: 720px) {

.global__toggle {
    display: none
}
  }

.global__toggle__menu {
  border: 0 none;
  background-color: rgb(255, 255, 255);
}

/**
 * Logo
 *
 * Markup: logo.twig
 *
 * Style guide: Elements.logo
 */

/**
 * Primary Header
 *
 * A simple inline version of the Primary Header that contains Logo, Navigation and Search
 *
 * Markup: primary-header.twig
 *
 * Style guide: Grouped Components.global-header.primary-header
 */

.global__primary {
  background-color: rgb(255, 255, 255);
  font-size: 0.875rem;
  color: rgb(0, 0, 0)
}

@media (max-width: 719px) {

  .global__primary {
  font-size: 0.75rem
  }
}

.global__primary .section__content {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }

.global__primary__nav {
  display: none
}

@media (min-width: 720px) {

.global__primary__nav {
    display: -webkit-box;
    display: flex
}
  }

.global__primary__nav--open {
  display: block;
  width: 100%;
}

.global__primary__search {
  margin-top: 1.5rem
}

@media (min-width: 720px) and (max-width: 945px) {

.global__primary__search {
    display: none
}
  }

@media (min-width: 720px) {

.global__primary__search {
    margin-top: 0;
    margin-left: 1.5rem
}
  }

.global__primary__search label {
    display: none;
  }

.global__primary__search__input {
  width: 100%;
}

/**
 * Primary Header Stacked
 *
 * A version of the Primary Navigation which is stacked. The Logo and Search appear in the same row and a new row is created below to contain
 * the main Navigation. Additional styles and markup allow for left and right sections of the navigation, background colour to stretch full screen and padding to suit this layout.
 *
 * Markup: primary-header--stacked.twig
 *
 * Style guide: Grouped Components.global-header.primary-header-stacked
 */

.global__primary--stacked .section__content {
    padding: 0;
  }

.global__primary--stacked .global__primary__nav-menu {
    background-color: rgb(230, 236, 241)
  }

@media (max-width: 719px) {

.global__primary--stacked .global__primary__nav-menu {
      background-color: rgb(255, 255, 255)
  }
    }

.global__primary--stacked .nav {
    padding-left: 0;
    width: 100%
  }

@media (min-width: 720px) {

.global__primary--stacked .nav {
      width: auto
  }
    }

.global__primary--stacked .nav__level-1 {
    width: 100%;
  }

.global__primary--stacked .global__primary__search {
    margin: 0.5rem 0;
  }

.global__primary__logo-search {
  -webkit-box-flex: 0;
          flex: 0 0 100%;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding: 0 1.5rem
}

@media (max-width: 719px) {

.global__primary__logo-search .global__primary__nav {
      background-color: rgb(255, 255, 255);
      margin-left: -1.5rem;
      margin-right: -1.5rem;
      width: calc(100vw - 3rem);
      padding: 0 1.5rem
  }
    }

.global__primary__nav-menu {
  display: none;
  -webkit-box-flex: 0;
          flex: 0 0 100%;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding: 0.5rem 0
}

@media (min-width: 720px) {

.global__primary__nav-menu {
    display: -webkit-box;
    display: flex
}
  }

.global__primary__nav-menu.global__primary__nav--open {
    display: -webkit-box;
    display: flex;
  }

.global__primary__nav-menu .section__content {
    width: 100%;
    padding: 0 1.5rem;
  }

.global__primary__nav-menu .button {
    margin-top: 0.25rem;
  }

.global__primary__nav-menu .nav {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    margin-top: 0
  }

@media (min-width: 720px) {

.global__primary__nav-menu .nav {
      padding-left: 0.5rem
  }
    }

.global__primary__nav-left,
.global__primary__nav-right {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  width: 100%
}

.global__primary__nav-left > *, .global__primary__nav-right > * {
    width: 100%;
  }

@media (min-width: 720px) {

.global__primary__nav-left,
.global__primary__nav-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    width: auto
}

    .global__primary__nav-left > *, .global__primary__nav-right > * {
      width: auto;
    }
  }

/**
 * Secondary Header
 *
 * Markup: secondary-header.twig
 *
 * Style guide: Elements.secondary-header
 */

.global__secondary {
  background-color: rgb(10, 65, 122);
  font-size: 0.875rem;
  color: rgb(255, 255, 255)
}

@media (max-width: 719px) {

  .global__secondary {
  font-size: 0.75rem
  }
}

.global__secondary .section__content {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }

.global__secondary a {
    color: rgb(255, 255, 255);
    text-decoration: none
  }

.global__secondary a:hover,
    .global__secondary a:focus {
      text-decoration: underline;
    }

.global__secondary__nav {
  display: none
}

@media (min-width: 720px) {

.global__secondary__nav {
    display: inline-block
}
  }

/**
 * Global Footer
 *
 * Markup: global-footer.twig
 *
 * Style guide: Grouped Components.footer
 */

.global__footer {
  background-color: rgb(10, 65, 122);
  color: rgb(255, 255, 255);
  font-size: 0.875rem
}

@media (max-width: 719px) {

  .global__footer {
  font-size: 0.75rem
  }
}

.global__footer a {
    color: rgb(255, 255, 255);
  }

@media (max-width: 719px) {

.global__footer__logo {
    margin-bottom: 4rem;
    text-align: center
}
  }

.global__footer__meta {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgb(255, 255, 255);
  text-align: center;
  line-height: 2
}

@media (min-width: 720px) {

.global__footer__meta {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between
}
  }

@media (max-width: 719px) {

.global__footer__meta .nav--inline > ul > li {
      display: block
  }
    }

/**
 * Secondary Menu
 *
 * Markup: secondary-menu.twig
 *
 * Style guide: Components.secondary-menu
 */

.global__secondary__nav ul {
    font-size: 0.875rem;
  }

@media (max-width: 719px) {

  .global__secondary__nav ul {
    font-size: 0.75rem
  }
}

.global__secondary__nav a {
    font-size: 0.875rem;
  }

@media (max-width: 719px) {

  .global__secondary__nav a {
    font-size: 0.75rem
  }
}

@media (max-width: 945px) {
    .global__secondary__nav.nav--inline {
      display: block
    }

      .global__secondary__nav.nav--inline > ul {
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
                justify-content: space-between
      }

        .global__secondary__nav.nav--inline > ul > li {
          width: calc(50% - 0.5rem);
          margin-left: 0;
          margin-bottom: 0.5rem;
        }

      .global__secondary__nav.nav--inline a {
        border: 1px solid rgb(10, 65, 122);
        border-radius: 3px;
        height: 3.5rem;
        line-height: 1;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
                justify-content: center;
        -webkit-box-align: center;
                align-items: center;
        text-align: center;
        padding: 0.5rem;
      }
  }

@media (max-width: 945px) {

.global__secondary {
    display: none;
    margin-top: 1rem;
    border-top: 1px solid rgb(194, 196, 199)
}

    .global__secondary.section--top-xs {
      padding-top: 2rem;
    }

    .global__secondary.global__secondary--show-mobile {
      display: block;
    }
  }

@media (max-width: 945px) {

.global__secondary .section__content {
      padding-left: 0.25rem;
      padding-right: 0.25rem
  }

      .global__secondary .section__content > div {
        width: 100%;
      }
    }

@media (min-width: 946px) {
      .global__secondary .section__content > *:last-child {
        margin-left: auto;
      }
    }

/* Fix for logo__search in styleguide */

.global__primary__logo-search {
  padding-top: 1rem;
  padding-bottom: 1rem
}

@media (max-width: 945px) {

.global__primary__logo-search {
    max-width: 100vw
}

    .global__primary__logo-search .global__primary__nav {
      -webkit-box-flex: 0;
              flex: 0 0 100vw;
    }
  }

@media (max-width: 539px) {
    .global__primary__logo-search .global__primary__nav {
      padding: 0;
      margin: 0;
      -webkit-box-flex: 0;
              flex: 0 0 calc(100vw - .5rem);
    }
  }

@media (max-width: 945px) {
  .global__toggle {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
  }

  .global__primary__nav-left .nav__level-1 {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    width: 100%;
  }

  .global__primary__nav-menu {
    display: none;
    padding: 0
  }

    .global__primary__nav-menu .nav {
      padding-left: 0;
    }
      .global__primary__logo-search .global__primary__nav--open .global__primary__search {
        display: block;
        width: 100%;
      }

  .global__primary__nav-left,
  .global__primary__nav-right,
  .global__primary__nav-left > *,
  .global__primary__nav-right > * {
    width: 100%;
  }
    .global__primary--stacked .global__primary__nav-menu {
      background-color: rgb(255, 255, 255);
    }
}

@media (min-width: 720px) and (max-width: 945px) {
    .global__primary__logo-search .global__primary__nav--open {
      -webkit-box-flex: 0;
              flex: 0 0 calc(100vw - 3rem);
    }
}

.global__secondary .section__content {
    max-width: calc(1180px - 3rem);
  }

@media (min-width: 946px) {

.global__primary__nav-left,
.global__primary__nav-right,
.global__primary__nav-left > *,
.global__primary__nav-right > * {
    width: 100%
}
  }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AcG54LW1peHRhcGUvY29uc3RhbnRzL3NyYy9jb25zdGFudHMuY3NzIiwiLi4vLi4vLi4vLi4vc3JjL192YXJpYWJsZXMuY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BwbngtbWl4dGFwZS9nbG9iYWwvc3JjL19nbG9iYWwuY3NzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2Vjb25kYXJ5LW1lbnUvc2Vjb25kYXJ5LW1lbnUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGLGdCQUFnQjs7QUFvQmhCLHlEQUF5RDs7QUFJekQ7O0VBeUJFLGlCQUFpQjs7RUFhakIscUdBQXFHOztFQWdCckcsZUFBZSxFQUtTLFNBQVMsRUFDUixTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNwQixnQkFBZ0IsRUFDWixTQUFTLEVBQ1Qsd0JBQXdCLEVBRXZCLG9CQUFvQixFQUNuQixjQUFjLEVBQ2pCLGNBQWMsRUFDWixjQUFjLEVBQ1osY0FBYyxFQUNqQixjQUFjLEVBQ1QsY0FBYyxFQUV4QixvQkFBb0IsRUFDbEIsb0JBQW9CLEVBQ2hCLGdCQUFnQjs7RUFNMUMsWUFBWSxFQUNZLFFBQVEsRUFDVixRQUFRLEVBQ04sU0FBUyxFQUNkLFNBQVMsRUFDUCxTQUFTLEVBQ1gsU0FBUyxFQUNOLFNBQVMsRUFDVixTQUFTLEVBQ04sU0FBUyxFQUNWLFNBQVMsRUFDVixTQUFTLEVBQ1YsU0FBUyxFQUNOLFNBQVM7O0VBTWpDLFdBQVc7O0VBT1gsV0FBVyxFQUNrQix1QkFBdUI7O0VBRXBELFlBQVk7QUFHZDs7QUFFQTtFQUNFLFFBQzRCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNkLGdCQUFnQixFQUNaLGdCQUFnQixFQUNqQixTQUFTLEVBQ1Asd0JBQXdCLEVBRXJCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2pCLGNBQWMsRUFDYixjQUFj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Q2hCO0VBQ0Y7O0FBR0U7O0FBREY7TUFFSSxxQkFBZ0M7TUFDaEM7RUFZSjs7TUFWSTtRQUNFLFdBQVc7TUFDYjtJQUNGOztBQUVBO01BQ0U7UUFDRSxpQkFBaUI7TUFDbkI7SUFDRjs7QUFJSix1Q0FBdUM7O0FBQ3ZDO0VBQ0UsaUJBQWlCO0VBQ2pCO0FBaUJGOztBQWZFOztBQUpGO0lBS0k7QUFjSjs7SUFaSTtNQUNFLG1CQUFlO2NBQWYsZUFBZTtJQUNqQjtFQUNGOztBQUVBO0lBQ0U7TUFDRSxVQUFVO01BQ1YsU0FBUztNQUNULG1CQUE2QjtjQUE3Qiw2QkFBNkI7SUFDL0I7RUFDRjs7QUFHRjtFQUNFO0lBQ0Usb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1lBQW5CLG1CQUFtQjtFQUNyQjs7RUFFQTtJQUNFLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLHdCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixXQUFXO0VBQ2I7O0VBRUE7SUFDRSxhQUFhO0lBQ2I7RUFLRjs7SUFIRTtNQUNFLGVBQWU7SUFDakI7TUFLRTtRQUNFLGNBQWM7UUFDZCxXQUFXO01BQ2I7O0VBSUo7Ozs7SUFJRSxXQUFXO0VBQ2I7SUFHRTtNQUNFLG9DQUEwQztJQUM1QztBQUVKOztBQUVBO0lBRUk7TUFDRSxtQkFBNEI7Y0FBNUIsNEJBQTRCO0lBQzlCO0FBRUo7O0FBR0U7SUFDRSw4QkFBZ0U7RUFDbEU7O0FBT0E7O0FBSkY7Ozs7SUFLSTtBQUVKO0VBREUiLCJmaWxlIjoic2Vjb25kYXJ5LW1lbnUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWYXJpYWJsZXNcbiAqL1xuXG4vKiBCcmVha3BvaW50cyAqL1xuQGN1c3RvbS1tZWRpYSAtLXgtc21hbGwtdXAgKHdpZHRoID49IDQyMHB4KTtcbkBjdXN0b20tbWVkaWEgLS14LXNtYWxsLWRvd24gKHdpZHRoIDwgNDIwcHgpO1xuQGN1c3RvbS1tZWRpYSAtLXgtc21hbGwtdG8tc21hbGwgKDQyMHB4IDw9IHdpZHRoIDwgNTQwcHgpO1xuXG5AY3VzdG9tLW1lZGlhIC0tc21hbGwtdXAgKHdpZHRoID49IDU0MHB4KTtcbkBjdXN0b20tbWVkaWEgLS1zbWFsbC1kb3duICh3aWR0aCA8IDU0MHB4KTtcbkBjdXN0b20tbWVkaWEgLS1zbWFsbC10by1tZWRpdW0gKDU0MHB4IDw9IHdpZHRoIDwgNzIwcHgpO1xuXG5AY3VzdG9tLW1lZGlhIC0tbWVkaXVtLXVwICh3aWR0aCA+PSA3MjBweCk7XG5AY3VzdG9tLW1lZGlhIC0tbWVkaXVtLWRvd24gKHdpZHRoIDwgNzIwcHgpO1xuQGN1c3RvbS1tZWRpYSAtLW1lZGl1bS10by1sYXJnZSAoNzIwcHggPD0gd2lkdGggPCA5NDZweCk7XG5cbkBjdXN0b20tbWVkaWEgLS1sYXJnZS11cCAod2lkdGggPj0gOTQ2cHgpO1xuQGN1c3RvbS1tZWRpYSAtLWxhcmdlLWRvd24gKHdpZHRoIDwgOTQ2cHgpO1xuQGN1c3RvbS1tZWRpYSAtLWxhcmdlLXRvLXgtbGFyZ2UgKDk0NnB4IDw9IHdpZHRoIDwgMTEwMHB4KTtcblxuQGN1c3RvbS1tZWRpYSAtLXgtbGFyZ2UtdXAgKHdpZHRoID49IDExMDBweCk7XG5AY3VzdG9tLW1lZGlhIC0teC1sYXJnZS1kb3duICh3aWR0aCA8IDExMDBweCk7XG5cbi8qIFNwZWNpZmljIGJyZWFrcG9pbnQgZm9yIGdsb2JhbCAmIGRyb3Bkb3duIG5hdmlnYXRpb24gKi9cbkBjdXN0b20tbWVkaWEgLS1nbG9iYWwtbmF2LXVwICh3aWR0aCA+PSA3MjBweCk7XG5AY3VzdG9tLW1lZGlhIC0tZ2xvYmFsLW5hdi1kb3duICh3aWR0aCA8IDcyMHB4KTtcblxuOnJvb3Qge1xuICAtLXdoaXRlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIC0tZ3JleS0wNTogcmdiKDI0MiwgMjQyLCAyNDMpO1xuICAtLWdyZXktMTA6IHJnYigyMzAsIDIzMCwgMjMwKTtcbiAgLS1ncmV5LTI1OiByZ2IoMTk0LCAxOTYsIDE5OSk7XG4gIC0tZ3JleS01MDogcmdiKDEyOCwgMTI4LCAxMjgpO1xuICAtLWdyZXktNzU6IHJnYig3NSwgNzksIDg4KTtcbiAgLS1ibGFjazogcmdiKDAsIDAsIDApO1xuICAtLWJsdWU6IHJnYigwLCA5MiwgMjUwKTtcbiAgLS1ibHVlLTUwOiByZ2IoOTksIDE4MSwgMjIyKTtcbiAgLS1ibHVlLTEwOiByZ2IoMjI5LCAyMzksIDI1NSk7XG4gIC0tYmx1ZS0wNTogcmdiKDIyOSwgMjM5LCAyNTUpO1xuICAtLW9yYW5nZTogcmdiKDI0NywgMTQzLCAyOSk7XG4gIC0tb3JhbmdlLTEwOiByZ2IoMjU0LCAyNDMsIDIzMik7XG4gIC0tZ3JlZW46IHJnYig2OCwgMTYyLCA3Mik7XG4gIC0tZ3JlZW4tMTA6IHJnYigyMzgsIDI0NiwgMjM4KTtcbiAgLS1yZWQ6IHJnYigxOTgsIDQwLCA0MCk7XG4gIC0tcmVkLTEwOiByZ2IoMjQ5LCAyMzMsIDIzMyk7XG4gIC0teWVsbG93OiByZ2IoMjQ5LCAyMTIsIDApO1xuICAtLXllbGxvdy0xMDogcmdiKDI1NCwgMjUwLCAyMjkpO1xuICAtLXB1cnBsZTogcmdiKDEzNiwgNDcsIDExNSk7XG4gIC0tcHVycGxlLTEwOiByZ2IoMjQzLCAyMzQsIDI0MSk7XG4gIC0tb3ZlcmxheS1saWdodDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gIC0tb3ZlcmxheS1kYXJrOiByZ2JhKDAsIDAsIDAsIC41KTtcblxuICAvKiBCcmFuZCBjb2xvcnMgKi9cbiAgLS1icmFuZC1wcmltYXJ5OiB2YXIoLS1wdXJwbGUpO1xuICAtLWJyYW5kLXByaW1hcnktbGlnaHQ6IHZhcigtLXB1cnBsZS0xMCk7XG4gIC0tYnJhbmQtc2Vjb25kYXJ5OiB2YXIoLS15ZWxsb3cpO1xuICAtLWJyYW5kLXNlY29uZGFyeS1saWdodDogdmFyKC0teWVsbG93LTEwKTtcbiAgLS1icmFuZC10ZXJ0aWFyeTogdmFyKC0tYmx1ZSk7XG4gIC0tYnJhbmQtdGVydGlhcnktbGlnaHQ6IHZhcigtLWJsdWUtMTApO1xuICAtLWJyYW5kLXJldmVyc2U6IHZhcigtLXdoaXRlKTtcbiAgLS1icmFuZC10ZXh0OiB2YXIoLS1ibGFjayk7XG4gIC0tYnJhbmQtbGluazogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XG4gIC0tYnJhbmQtbGluay1ob3ZlcjogdmFyKC0tYnJhbmQtdGVydGlhcnkpO1xuICAtLWJyYW5kLWJvcmRlcjogdmFyKC0tZ3JleS0xMCk7XG5cbiAgLyogRmlsdGVycyAtIFVzZWQgZm9yIGFkanVzdGluZyBpY29uIGNvbG9yLiBHZW5lcmF0ZWQgdXNpbmcgYG5wbSBydW4gY29sb3ItdG8tZmlsdGVyIC0tIDxvcHRpb25zPmAuICovXG4gIC0tZmlsdGVyLWJsYWNrOiBpbnZlcnQoMCUpIHNlcGlhKDQlKSBzYXR1cmF0ZSgwJSkgaHVlLXJvdGF0ZSg1M2RlZykgYnJpZ2h0bmVzcyg5NCUpIGNvbnRyYXN0KDEwMiUpO1xuICAtLWZpbHRlci13aGl0ZTogaW52ZXJ0KDg5JSkgc2VwaWEoNjAlKSBzYXR1cmF0ZSgwJSkgaHVlLXJvdGF0ZSgzNDFkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA3JSk7XG4gIC0tZmlsdGVyLWJyYW5kLXByaW1hcnk6IGludmVydCgyMyUpIHNlcGlhKDg3JSkgc2F0dXJhdGUoMTAyNCUpIGh1ZS1yb3RhdGUoMjc3ZGVnKSBicmlnaHRuZXNzKDg4JSkgY29udHJhc3QoOTElKTtcbiAgLS1maWx0ZXItYnJhbmQtc2Vjb25kYXJ5OiBpbnZlcnQoNzglKSBzZXBpYSg5MSUpIHNhdHVyYXRlKDIwMDUlKSBodWUtcm90YXRlKDM1N2RlZykgYnJpZ2h0bmVzcyg5NSUpIGNvbnRyYXN0KDEwNiUpO1xuICAtLWZpbHRlci1icmFuZC10ZXJ0aWFyeTogaW52ZXJ0KDI4JSkgc2VwaWEoNTklKSBzYXR1cmF0ZSg3MDU2JSkgaHVlLXJvdGF0ZSgyMTVkZWcpIGJyaWdodG5lc3MoOTglKSBjb250cmFzdCgxMDMlKTtcbiAgLS1maWx0ZXItYnJhbmQtbGluazogdmFyKC0tZmlsdGVyLWJyYW5kLXByaW1hcnkpO1xuICAtLWZpbHRlci1icmFuZC1saW5rLWhvdmVyOiB2YXIoLS1maWx0ZXItYnJhbmQtdGVydGlhcnkpO1xuICAtLWZpbHRlci1icmFuZC1yZXZlcnNlOiB2YXIoLS1maWx0ZXItd2hpdGUpO1xuICAtLWZpbHRlci1icmFuZC10ZXh0OiB2YXIoLS1maWx0ZXItYmxhY2spO1xuICAtLWZpbHRlci1ncmV5LTUwOiBpbnZlcnQoNTElKSBzZXBpYSgxJSkgc2F0dXJhdGUoMCUpIGh1ZS1yb3RhdGUoMTA2ZGVnKSBicmlnaHRuZXNzKDk5JSkgY29udHJhc3QoODclKTtcbiAgLS1maWx0ZXItcmVkOiBpbnZlcnQoMjElKSBzZXBpYSg4MyUpIHNhdHVyYXRlKDIzMzMlKSBodWUtcm90YXRlKDM0M2RlZykgYnJpZ2h0bmVzcyg5MSUpIGNvbnRyYXN0KDk2JSk7XG4gIC0tZmlsdGVyLWJsdWU6IGludmVydCgyOSUpIHNlcGlhKDYzJSkgc2F0dXJhdGUoNDYxMiUpIGh1ZS1yb3RhdGUoMjExZGVnKSBicmlnaHRuZXNzKDkyJSkgY29udHJhc3QoMTE1JSk7XG4gIC0tZmlsdGVyLWdyZWVuOiBpbnZlcnQoNDAlKSBzZXBpYSg4JSkgc2F0dXJhdGUoMzc3NCUpIGh1ZS1yb3RhdGUoNzNkZWcpIGJyaWdodG5lc3MoMTMyJSkgY29udHJhc3QoNzQlKTtcbiAgLS1maWx0ZXItb3JhbmdlOiBpbnZlcnQoNjklKSBzZXBpYSgzNSUpIHNhdHVyYXRlKDUwMzUlKSBodWUtcm90YXRlKDM0OWRlZykgYnJpZ2h0bmVzcygxMDMlKSBjb250cmFzdCg5NCUpO1xuXG4gIC8qIFR5cG9ncmFwaHkgKi9cbiAgLS1mb250LWZhbWlseTogXCJJbnRlclwiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtZmFtaWx5LXZhcmlhYmxlOiBcIkludGVyIHZhclwiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtZmFtaWx5LWhlYWRpbmc6IHZhcigtLWZvbnQtZmFtaWx5KTtcblxuICAtLWZvbnQtc2l6ZS14eHhsOiAycmVtOyAvKiAzMnB4ICovXG4gIC0tZm9udC1zaXplLXh4bDogMS41cmVtOyAvKiAyNHB4ICovXG4gIC0tZm9udC1zaXplLXhsOiAxLjI1cmVtOyAvKiAyMHB4ICovXG4gIC0tZm9udC1zaXplLWw6IDEuMTI1cmVtOyAvKiAxOHB4IC0gTGVkZSAqL1xuICAtLWZvbnQtc2l6ZS1tOiAxcmVtOyAvKiAxNnB4IC0gQm9keSAqL1xuICAtLWZvbnQtc2l6ZS1zOiAwLjg3NXJlbTsgLyogMTRweCAqL1xuICAtLWZvbnQtc2l6ZS14czogMC43NXJlbTsgLyogMTJweCAtIFN1YiwgQ2FwdGlvbiAqL1xuXG4gIC0taGVhZGluZy1zaXplLXh4bDogM3JlbTsgLyogNDhweCAtIEhlYWRsaW5lICovXG4gIC0taGVhZGluZy1zaXplLXhsOiAyLjVyZW07IC8qIDQwcHggLSBIMSAqL1xuICAtLWhlYWRpbmctc2l6ZS1sOiAycmVtOyAvKiAzMnB4IC0gSDIgKi9cbiAgLS1oZWFkaW5nLXNpemUtbTogMS41cmVtOyAvKiAyNHB4IC0gSDMgKi9cbiAgLS1oZWFkaW5nLXNpemUtczogMS4xMjVyZW07IC8qIDE4cHggLSBINCAqL1xuICAtLWhlYWRpbmctc2l6ZS14czogMXJlbTsgLyogMTZweCAtIEg1ICovXG4gIC0taGVhZGluZy1zaXplLXh4czogMC44NzVyZW07IC8qIDE0cHggLSBINiAqL1xuXG4gIC0tbGluZS1oZWlnaHQ6IDEuNjsgLyogMS42IHggZm9udCBzaXplICovXG4gIC0tbGluZS1oZWlnaHQtaDogMS4yOyAvKiAxLjIgeCBmb250IHNpemUgKi9cbiAgLS1saW5lLWhlaWdodC11aTogMC45cmVtOyAvKiAxNHB4IGFsd2F5cyAqL1xuXG4gIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAtLWZvbnQtd2VpZ2h0LWhlYXZ5OiA4MDA7XG5cbiAgLyogU3BhY2luZyAqL1xuICAtLXNwYWNpbmcteHhzOiAwLjI1cmVtOyAvKiA0cHggKi9cbiAgLS1zcGFjaW5nLXhzOiAwLjVyZW07IC8qIDhweCAqL1xuICAtLXNwYWNpbmcteHNzOiAwLjc1cmVtOyAvKiAxMnB4ICovXG4gIC0tc3BhY2luZy1zOiAxcmVtOyAvKiAxNnB4ICovXG4gIC0tc3BhY2luZy1tOiAxLjVyZW07IC8qIDI0cHggKi9cbiAgLS1zcGFjaW5nLWw6IDJyZW07IC8qIDMycHggKi9cbiAgLS1zcGFjaW5nLXhsOiAyLjVyZW07IC8qIDQwcHggKi9cbiAgLS1zcGFjaW5nLXh4bDogM3JlbTsgLyogNDhweCAqL1xuICAtLXNwYWNpbmcteHh4bDogMy41cmVtOyAvKiA1NnB4ICovXG4gIC0tc3BhY2luZy14eHh4bDogNHJlbTsgLyogNjRweCAqL1xuICAtLXNwYWNpbmctdWw6IDQuNXJlbTsgLyogNzJweCAqL1xuICAtLXNwYWNpbmctdXVsOiA1cmVtOyAvKiA4MHB4ICovXG4gIC0tc3BhY2luZy11dXVsOiA1LjVyZW07IC8qIDg4cHggKi9cblxuICAtLW91dGxpbmUtd2lkdGg6IDJweDtcbiAgLS1vdXRsaW5lLW9mZnNldDogdmFyKC0tc3BhY2luZy14eHMpO1xuICAtLW91dGxpbmUtY29sb3I6IHZhcigtLWJyYW5kLXRlcnRpYXJ5KTtcblxuICAvKiBMYXlvdXQgKi9cbiAgLS1jb250YWluZXItbWF4LXdpZHRoLW5hcnJvdzogNTgwcHg7XG4gIC0tY29udGFpbmVyLW1heC13aWR0aC1hbGlnbmVkOiA3NzZweDtcbiAgLS1jb250YWluZXItbWF4LXdpZHRoOiAxMTgwcHg7XG4gIC0tZ3JpZC1nYXA6IHZhcigtLXNwYWNpbmctbSk7XG4gIC0tZ3JpZC1nYXAtbGFyZ2U6IHZhcigtLXNwYWNpbmctbCk7XG5cbiAgLyogUmF0aW9zICovXG4gIC0tcmF0aW8taGVpZ2h0LTE2LTk6IDU2LjI1JTsgLyogMTAwJTo1Ni4yNSUgPSAxNjo5ICovXG5cbiAgLyogVXRpbGl0eSAqL1xuICAtLWJveC1zaGFkb3c6IDAgMCB2YXIoLS1zcGFjaW5nLXhzKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAtLWJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuQG1lZGlhICgtLW1lZGl1bS1kb3duKSB7XG4gIDpyb290IHtcbiAgICAtLWZvbnQtc2l6ZS14eHhsOiAxLjVyZW07IC8qIDI0cHggKi9cbiAgICAtLWZvbnQtc2l6ZS14eGw6IDEuMjVyZW07IC8qIDIwcHggKi9cbiAgICAtLWZvbnQtc2l6ZS14bDogMS4xMjVyZW07IC8qIDE4cHggKi9cbiAgICAtLWZvbnQtc2l6ZS1sOiAxcmVtOyAvKiAxNnB4IC0gTGVkZSAqL1xuICAgIC0tZm9udC1zaXplLW06IDAuODc1cmVtOyAvKiAxNHB4IC0gQm9keSAqL1xuICAgIC0tZm9udC1zaXplLXM6IDAuNzVyZW07IC8qIDEycHggKi9cbiAgICAtLWZvbnQtc2l6ZS14czogMC42MjVyZW07IC8qIDEwcHggLSBTdWIsIENhcHRpb24gKi9cblxuICAgIC0taGVhZGluZy1zaXplLXh4bDogMi4yNXJlbTsgLyogMzZweCAtIEhlYWRsaW5lICovXG4gICAgLS1oZWFkaW5nLXNpemUteGw6IDEuODc1cmVtOyAvKiAzMHB4IC0gSDEgKi9cbiAgICAtLWhlYWRpbmctc2l6ZS1sOiAxLjVyZW07IC8qIDI0cHggLSBIMiAqL1xuICAgIC0taGVhZGluZy1zaXplLW06IDEuMjVyZW07IC8qIDIwcHggLSBIMyAqL1xuICAgIC0taGVhZGluZy1zaXplLXM6IDEuMTI1cmVtOyAvKiAxOHB4IC0gSDQgKi9cbiAgICAtLWhlYWRpbmctc2l6ZS14czogMXJlbTsgLyogMTZweCAtIEg1ICovXG4gICAgLS1oZWFkaW5nLXNpemUteHhzOiAwLjg3NXJlbTsgLyogMTRweCAtIEg2ICovXG4gIH1cbn1cbiIsIkBpbXBvcnQgJ0BwbngtbWl4dGFwZS9jb25zdGFudHMvc3JjL2NvbnN0YW50cy5jc3MnO1xuQGltcG9ydCAnQHBueC1taXh0YXBlL2dsb2JhbC9zcmMvX3ZhcnMuY3NzJztcbkBpbXBvcnQgXCJAcG54LW1peHRhcGUvZm9ybS9zcmMvX3ZhcnMuY3NzXCI7XG5AaW1wb3J0IFwiQHBueC1taXh0YXBlL3RpbGVzL3NyYy9fdmFycy5jc3NcIjtcblxuQGN1c3RvbS1tZWRpYSAtLXNpdGUtbWF4LXdpZHRoLXVwICh3aWR0aCA+IDEyMjhweCk7XG5AY3VzdG9tLW1lZGlhIC0tc2l0ZS1tYXgtd2lkdGgtZG93biAod2lkdGggPD0gMTIyOHB4KTtcbkBjdXN0b20tbWVkaWEgLS1zbWFsbC10by1sYXJnZSAoNTQwcHggPD0gd2lkdGggPCA5NDZweCk7XG5cbjpyb290IHtcbiAgLS1wcmltYXJ5LTEwMDogcmdiKDEwLCA2NSwgMTIyKTtcbiAgLS1wcmltYXJ5LTUwOiByZ2IoNjEsIDEwNSwgMTUyKTtcbiAgLS1wcmltYXJ5LTIwOiByZ2IoMTk3LCAyMTAsIDIyMik7XG4gIC0tcHJpbWFyeS0xMDogcmdiKDIzMCwgMjM2LCAyNDEpO1xuICAtLXNlY29uZGFyeS0xMDA6IHJnYig0OCwgMTE2LCAxMTYpO1xuICAtLXNlY29uZGFyeS01MDogcmdiKDc0LCAxNzksIDE3OSk7XG4gIC0tc2Vjb25kYXJ5LTEwOiByZ2IoMjQ0LCAyNDgsIDI0OCk7XG4gIC0tZ3JleXNjYWxlLTEwMDogcmdiKDEzLCAxOCwgMzEpO1xuICAtLWdyZXlzY2FsZS03NTogcmdiKDc0LCA3OCwgODcpO1xuICAtLWdyZXlzY2FsZS01MDogcmdiKDEyNywgMTI3LCAxMjcpO1xuICAtLWdyZXlzY2FsZS0yNTogcmdiKDE5NCwgMTk2LCAxOTkpO1xuICAtLWdyZXlzY2FsZS0xMDogcmdiKDIzMCwgMjMwLCAyMzApO1xuICAtLWdyZXlzY2FsZS0wNTogcmdiKDI0MywgMjQzLCAyNDQpO1xuICAtLXdoaXRlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIC0tc3VjY2Vzcy0xMDA6IHJnYig2NywgMTYwLCA3MSk7XG4gIC0tc3VjY2Vzcy0xMDogcmdiKDIzNywgMjQ2LCAyMzcpO1xuICAtLWVycm9yLTEwMDogcmdiKDE5OCwgNDAsIDQwKTtcbiAgLS1lcnJvci0xMDogcmdiKDI0OSwgMjMzLCAyMzMpO1xuICAtLXdhcm5pbmctMTAwOiByZ2IoMjQ3LCAxNDMsIDMwKTtcbiAgLS13YXJuaW5nLTEwOiByZ2IoMjU0LCAyNDMsIDIzMik7XG4gIC0tZm9jdXMtMTAwOiByZ2IoMjUsIDExOCwgMjEwKTtcbiAgLS1mb2N1cy0xMDogcmdiKDIzMiwgMjQxLCAyNTApO1xuICAtLWJsdWUtMTAwOiByZ2IoMCwgMTE0LCAyMDYpO1xuICAtLWJsdWUtNTA6ICNkMGU4ZjM7XG4gIC0tcmVkLTEwMDogcmdiKDEzNywgMTIsIDg4KTtcbiAgLS15ZWxsb3ctMTAwOiByZ2IoMjQxLCAxODAsIDUyKTtcbiAgLS1wYWdlLWJnOiByZ2IoMjQ3IDI0OSAyNTApO1xuICAtLWJsYWNrLXRyYW5zcGFyZW50OiByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgLS1oaWdobGlnaHQtMDE6IHZhcigtLWJsdWUtMTAwKTtcbiAgLS1oaWdobGlnaHQtMDI6IHZhcigtLXJlZC0xMDApO1xuICAtLWhpZ2hsaWdodC0wMzogdmFyKC0teWVsbG93LTEwMCk7XG4gIC0tdHJhbnNwYXJlbnQtd2hpdGU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIC0tc2VtaS10cmFuc3BhcmVudC13aGl0ZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gIC0tdHJhbnNwYXJlbnQtYnJhbmQtcHJpbWFyeS1saWdodDogcmdiYSgyMzAsIDIzNiwgMjQxLCAwKTtcblxuICAvKiBCcmFuZCBjb2xvcnMgKi9cbiAgLS1icmFuZC1wcmltYXJ5OiB2YXIoLS1wcmltYXJ5LTEwMCk7XG4gIC0tYnJhbmQtcHJpbWFyeS1taWQ6IHZhcigtLXByaW1hcnktNTApO1xuICAtLWJyYW5kLXByaW1hcnktbWlkLWxpZ2h0OiB2YXIoLS1wcmltYXJ5LTIwKTtcbiAgLS1icmFuZC1wcmltYXJ5LWxpZ2h0OiB2YXIoLS1wcmltYXJ5LTEwKTtcbiAgLS1icmFuZC1zZWNvbmRhcnk6IHZhcigtLXByaW1hcnktMTAwKTtcbiAgLS1icmFuZC1zZWNvbmRhcnktbWlkOiB2YXIoLS1wcmltYXJ5LTUwKTtcbiAgLS1icmFuZC1zZWNvbmRhcnktbGlnaHQ6IHZhcigtLXByaW1hcnktMTApO1xuICAtLWJyYW5kLXJldmVyc2U6IHZhcigtLXdoaXRlKTtcbiAgLS1icmFuZC10ZXh0OiB2YXIoLS1ibGFjayk7XG4gIC0tYnJhbmQtc2xhdGUtZ3JleTogIzk4YTRhZTtcbiAgLS1icmFuZC1kZWVwLWdyZXk6ICMyNTM3NDY7XG5cbiAgLyogQWxlcnQgQ29sb3JzICovXG4gIC0tYWxlcnQtc3VjY2Vzcy0xMDA6IHZhcigtLXN1Y2Nlc3MtMTAwKTtcbiAgLS1hbGVydC1zdWNjZXNzLTEwOiB2YXIoLS1zdWNjZXNzLTEwKTtcbiAgLS1hbGVydC1lcnJvci0xMDA6IHZhcigtLWVycm9yLTEwMCk7XG4gIC0tYWxlcnQtZXJyb3ItMTA6IHZhcigtLWVycm9yLTEwKTtcbiAgLS1hbGVydC13YXJuaW5nLTEwMDogdmFyKC0td2FybmluZy0xMDApO1xuICAtLWFsZXJ0LXdhcm5pbmctMTA6IHZhcigtLXdhcm5pbmctMTApO1xuXG4gIC8qIERlc2lnbiAqL1xuICAtLWJvcmRlci13aWR0aDogMnB4O1xuICAtLWJvcmRlci1yYWRpdXM6IDNweDtcbiAgLS1ib3JkZXItcmFkaXVzLWxhcmdlOiA2cHg7XG4gIC0tYm94LXNoYWRvdzogMCAwIDEwcHggdmFyKC0tYmxhY2stdHJhbnNwYXJlbnQpO1xuICAtLWNvbG91ci1iYWNrZ3JvdW5kLXJldmVyc2U6IHZhcigtLWJsYWNrKTtcbiAgLS1jb2xvdXItZm9yZWdyb3VuZC1yZXZlcnNlOiB2YXIoLS13aGl0ZSk7XG5cbiAgLyogVHlwb2dyYXBoeSAqL1xuICAtLWZvbnQtZmFtaWx5OiBcInVydy1kaW5cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLS1mb250LWZhbWlseS1oZWFkaW5nOiBcInVydy1kaW5cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuICAtLWZvbnQtc2l6ZS14eHM6IDAuNjI1cmVtOyAvKiAxMHB4ICovXG4gIC0tZm9udC1zaXplLXh4eHhsOiAyLjVyZW07IC8qIDQwcHggKi9cblxuICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDUwMDtcbiAgLS1mb250LXdlaWdodC1oZWF2eTogNjAwO1xuXG4gIC8qIEZvcm0gKi9cbiAgLS1mb3JtLXNwYWNpbmc6IHZhcigtLXNwYWNpbmctcyk7XG4gIC0tZm9ybS1lbGVtZW50LWhlaWdodDogdmFyKC0tc3BhY2luZy14bCk7XG5cbiAgLS1mb3JtLXRleHQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAtLWZvcm0tZGVzY3JpcHRpb24tc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgLS1mb3JtLXRleHQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgLS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1ncmV5LTUwKTtcbiAgLS1mb3JtLWNvbG9yLXN1Y2Nlc3M6IHZhcigtLXN1Y2Nlc3MtMTAwKTtcbiAgLS1mb3JtLWNvbG9yLWVycm9yOiB2YXIoLS1lcnJvci0xMDApO1xuXG4gIC0tZm9ybS1ib3JkZXItY29sb3I6IHZhcigtLWdyZXlzY2FsZS01MCk7XG4gIC0tZm9ybS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdyZXlzY2FsZS03NSk7XG4gIC0tZm9ybS1ib3JkZXItY29sb3ItZm9jdXM6IHZhcigtLWZvY3VzLTEwMCk7XG4gIC0tZm9ybS1ib3JkZXItd2lkdGg6IDJweDtcbiAgLS1mb3JtLWJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8qIEhlYWRlciAqL1xuICAtLXN0YWNrZWQtYmc6IHZhcigtLXByaW1hcnktMTApO1xuICAtLXN0YWNrZWQtbW9iaWxlOiB2YXIoLS13aGl0ZSk7XG5cbiAgLyogU3BhY2luZyBFeHRyYSAqL1xuICAtLXNwYWNpbmctc3g6IC43NXJlbTtcbiAgLS1zcGFjaW5nLXNtOiAxLjI1cmVtO1xuICAtLXNwYWNpbmcteGxsOiAxLjc1cmVtO1xuXG4gIC8qIEhlYWRpbmcgU2l6ZXMgRXh0cmEgKi9cbiAgLS1oZWFkaW5nLXNpemUtc206IDEuMjVyZW07IC8qIDIwcHggLSBIMyBUaWxlcyBsYXJnZSB0byB4LWxhcmdlICovXG5cbiAgLyogVGlsZXMgKi9cbiAgLS10aWxlLXRleHQtaG92ZXI6IHZhcigtLXdoaXRlKTtcbiAgLS10aWxlLWJnOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWJyYW5kLXByaW1hcnkpLCB2YXIoLS1icmFuZC1wcmltYXJ5LW1pZCkpO1xuICAtLXRpbGUtYmctaG92ZXI6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tYnJhbmQtcHJpbWFyeS1taWQpLCB2YXIoLS1icmFuZC1wcmltYXJ5LW1pZCkpO1xuXG4gIC8qIFRhYnMgKi9cbiAgLS10YWJzLW1pbi13aWR0aDogMDtcblxuICAvKiBHcmlkICovXG4gIC0tZ2FwLXM6IDE2cHg7XG4gIC0tZ2FwOiAyNHB4O1xuICAtLWdhcC1sOiAzMnB4O1xuICAtLWdhcC14bDogNDBweDtcblxuICAvKiBQcmludCAqL1xuICAtLXByaW50LXBhZGRpbmc6IDJyZW07XG4gIC0tcHJpbnQtZm9yZWdyb3VuZDogdmFyKC0tcHJpbWFyeS0xMDApO1xuICAtLXByaW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG5AbWVkaWEgKC0tbWVkaXVtLWRvd24pIHtcbiAgOnJvb3Qge1xuICAgIC0taGVhZGluZy1zaXplLXh4bDogMnJlbTtcbiAgfVxufVxuIiwiLyoqXG4gKiBHbG9iYWwgSGVhZGVyXG4gKlxuICogTWFya3VwOiBnbG9iYWwtaGVhZGVyLnR3aWdcbiAqXG4gKiBTdHlsZSBndWlkZTogR3JvdXBlZCBDb21wb25lbnRzLmdsb2JhbC1oZWFkZXJcbiAqL1xuXG4uZ2xvYmFsX190b2dnbGUge1xuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZ2xvYmFsX190b2dnbGVfX21lbnUge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iZyk7XG59XG5cbi8qKlxuICogTG9nb1xuICpcbiAqIE1hcmt1cDogbG9nby50d2lnXG4gKlxuICogU3R5bGUgZ3VpZGU6IEVsZW1lbnRzLmxvZ29cbiAqL1xuXG4vKipcbiAqIFByaW1hcnkgSGVhZGVyXG4gKlxuICogQSBzaW1wbGUgaW5saW5lIHZlcnNpb24gb2YgdGhlIFByaW1hcnkgSGVhZGVyIHRoYXQgY29udGFpbnMgTG9nbywgTmF2aWdhdGlvbiBhbmQgU2VhcmNoXG4gKlxuICogTWFya3VwOiBwcmltYXJ5LWhlYWRlci50d2lnXG4gKlxuICogU3R5bGUgZ3VpZGU6IEdyb3VwZWQgQ29tcG9uZW50cy5nbG9iYWwtaGVhZGVyLnByaW1hcnktaGVhZGVyXG4gKi9cblxuLmdsb2JhbF9fcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmcpO1xuICBmb250LXNpemU6IHZhcigtLXByaW1hcnktZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktdGV4dCk7XG5cbiAgJiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi5nbG9iYWxfX3ByaW1hcnlfX25hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLmdsb2JhbF9fcHJpbWFyeV9fbmF2LS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZ2xvYmFsX19wcmltYXJ5X19zZWFyY2gge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdG8tbGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctbSk7XG4gIH1cblxuICAmIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5nbG9iYWxfX3ByaW1hcnlfX3NlYXJjaF9faW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBQcmltYXJ5IEhlYWRlciBTdGFja2VkXG4gKlxuICogQSB2ZXJzaW9uIG9mIHRoZSBQcmltYXJ5IE5hdmlnYXRpb24gd2hpY2ggaXMgc3RhY2tlZC4gVGhlIExvZ28gYW5kIFNlYXJjaCBhcHBlYXIgaW4gdGhlIHNhbWUgcm93IGFuZCBhIG5ldyByb3cgaXMgY3JlYXRlZCBiZWxvdyB0byBjb250YWluXG4gKiB0aGUgbWFpbiBOYXZpZ2F0aW9uLiBBZGRpdGlvbmFsIHN0eWxlcyBhbmQgbWFya3VwIGFsbG93IGZvciBsZWZ0IGFuZCByaWdodCBzZWN0aW9ucyBvZiB0aGUgbmF2aWdhdGlvbiwgYmFja2dyb3VuZCBjb2xvdXIgdG8gc3RyZXRjaCBmdWxsIHNjcmVlbiBhbmQgcGFkZGluZyB0byBzdWl0IHRoaXMgbGF5b3V0LlxuICpcbiAqIE1hcmt1cDogcHJpbWFyeS1oZWFkZXItLXN0YWNrZWQudHdpZ1xuICpcbiAqIFN0eWxlIGd1aWRlOiBHcm91cGVkIENvbXBvbmVudHMuZ2xvYmFsLWhlYWRlci5wcmltYXJ5LWhlYWRlci1zdGFja2VkXG4gKi9cblxuLmdsb2JhbF9fcHJpbWFyeS0tc3RhY2tlZCB7XG4gICYgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmIC5nbG9iYWxfX3ByaW1hcnlfX25hdi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2VkLWJnKTtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tZG93bikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tlZC1iZy1tb2JpbGUpO1xuICAgIH1cbiAgfVxuXG4gICYgLm5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJiAubmF2X19sZXZlbC0xIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYgLmdsb2JhbF9fcHJpbWFyeV9fc2VhcmNoIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNpbmcteHMpIDA7XG4gIH1cbn1cblxuLmdsb2JhbF9fcHJpbWFyeV9fbG9nby1zZWFyY2gge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy1tKTtcblxuICAmIC5nbG9iYWxfX3ByaW1hcnlfX25hdiB7XG4gICAgQG1lZGlhICgtLW1lZGl1bS1kb3duKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFja2VkLWJnLW1vYmlsZSk7XG4gICAgICBtYXJnaW4tbGVmdDogLXZhcigtLXNwYWNpbmctbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC12YXIoLS1zcGFjaW5nLW0pO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1zcGFjaW5nLXh4bCkpO1xuICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIH1cbiAgfVxufVxuXG4uZ2xvYmFsX19wcmltYXJ5X19uYXYtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIDA7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmLmdsb2JhbF9fcHJpbWFyeV9fbmF2LS1vcGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLW0pO1xuICB9XG5cbiAgJiAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXh4cyk7XG4gIH1cblxuICAmIC5uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXhzKTtcbiAgICB9XG4gIH1cbn1cblxuLmdsb2JhbF9fcHJpbWFyeV9fbmF2LWxlZnQsXG4uZ2xvYmFsX19wcmltYXJ5X19uYXYtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJiA+ICoge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bztcblxuICAgICYgPiAqIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFNlY29uZGFyeSBIZWFkZXJcbiAqXG4gKiBNYXJrdXA6IHNlY29uZGFyeS1oZWFkZXIudHdpZ1xuICpcbiAqIFN0eWxlIGd1aWRlOiBFbGVtZW50cy5zZWNvbmRhcnktaGVhZGVyXG4gKi9cblxuLmdsb2JhbF9fc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zZWNvbmRhcnktZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0KTtcblxuICAmIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICYgYSB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi5nbG9iYWxfX3NlY29uZGFyeV9fbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8qKlxuICogR2xvYmFsIEZvb3RlclxuICpcbiAqIE1hcmt1cDogZ2xvYmFsLWZvb3Rlci50d2lnXG4gKlxuICogU3R5bGUgZ3VpZGU6IEdyb3VwZWQgQ29tcG9uZW50cy5mb290ZXJcbiAqL1xuXG4uZ2xvYmFsX19mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb290ZXItYmcpO1xuICBjb2xvcjogdmFyKC0tZm9vdGVyLXRleHQpO1xuICBmb250LXNpemU6IHZhcigtLWZvb3Rlci1mb250LXNpemUpO1xuXG4gICYgYSB7XG4gICAgY29sb3I6IHZhcigtLWZvb3Rlci10ZXh0KTtcbiAgfVxufVxuXG4uZ2xvYmFsX19mb290ZXJfX2xvZ28ge1xuICBAbWVkaWEgKC0tbWVkaXVtLWRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXh4eHhsKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmdsb2JhbF9fZm9vdGVyX19tZXRhIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1mb290ZXItdGV4dCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDI7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJiAubmF2LS1pbmxpbmUgPiB1bCA+IGxpIHtcbiAgICBAbWVkaWEgKC0tbWVkaXVtLWRvd24pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vX3ZhcmlhYmxlcy5jc3MnO1xuQGltcG9ydCAnQHBueC1taXh0YXBlL2dsb2JhbC9zcmMvX2dsb2JhbC5jc3MnO1xuXG4vKipcbiAqIFNlY29uZGFyeSBNZW51XG4gKlxuICogTWFya3VwOiBzZWNvbmRhcnktbWVudS50d2lnXG4gKlxuICogU3R5bGUgZ3VpZGU6IENvbXBvbmVudHMuc2Vjb25kYXJ5LW1lbnVcbiAqL1xuXG4uZ2xvYmFsX19zZWNvbmRhcnlfX25hdiB7XG4gICYgdWwsXG4gICYgYSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIH1cblxuICBAbWVkaWEgKC0tbGFyZ2UtZG93bikge1xuICAgICYubmF2LS1pbmxpbmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICYgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tc3BhY2luZy14cykpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgYSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktMTAwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy14eHhsKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZ2xvYmFsX19zZWNvbmRhcnkge1xuICBAbWVkaWEgKC0tbGFyZ2UtZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JleXNjYWxlLTI1KTtcblxuICAgICYuc2VjdGlvbi0tdG9wLXhzIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIH1cblxuICAgICYuZ2xvYmFsX19zZWNvbmRhcnktLXNob3ctbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIEBtZWRpYSAoLS1sYXJnZS1kb3duKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmcteHhzKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmcteHhzKTtcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoLS1sYXJnZS11cCkge1xuICAgICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBGaXggZm9yIGxvZ29fX3NlYXJjaCBpbiBzdHlsZWd1aWRlICovXG4uZ2xvYmFsX19wcmltYXJ5X19sb2dvLXNlYXJjaCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcblxuICBAbWVkaWEgKC0tbGFyZ2UtZG93bikge1xuICAgIG1heC13aWR0aDogMTAwdnc7XG5cbiAgICAmIC5nbG9iYWxfX3ByaW1hcnlfX25hdiB7XG4gICAgICBmbGV4OiAwIDAgMTAwdnc7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsLWRvd24pIHtcbiAgICAmIC5nbG9iYWxfX3ByaW1hcnlfX25hdiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxleDogMCAwIGNhbGMoMTAwdncgLSAuNXJlbSk7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1sYXJnZS1kb3duKSB7XG4gIC5nbG9iYWxfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmdsb2JhbF9fcHJpbWFyeV9fbmF2LWxlZnQgLm5hdl9fbGV2ZWwtMSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZ2xvYmFsX19wcmltYXJ5X19uYXYtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJiAubmF2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuZ2xvYmFsX19wcmltYXJ5X19sb2dvLXNlYXJjaCB7XG4gICAgJiAuZ2xvYmFsX19wcmltYXJ5X19uYXYtLW9wZW4ge1xuICAgICAgJiAuZ2xvYmFsX19wcmltYXJ5X19zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdsb2JhbF9fcHJpbWFyeV9fbmF2LWxlZnQsXG4gIC5nbG9iYWxfX3ByaW1hcnlfX25hdi1yaWdodCxcbiAgLmdsb2JhbF9fcHJpbWFyeV9fbmF2LWxlZnQgPiAqLFxuICAuZ2xvYmFsX19wcmltYXJ5X19uYXYtcmlnaHQgPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5nbG9iYWxfX3ByaW1hcnktLXN0YWNrZWQge1xuICAgICYgLmdsb2JhbF9fcHJpbWFyeV9fbmF2LW1lbnUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhY2tlZC1iZy1tb2JpbGUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tbWVkaXVtLXRvLWxhcmdlKSB7XG4gIC5nbG9iYWxfX3ByaW1hcnlfX2xvZ28tc2VhcmNoIHtcbiAgICAmIC5nbG9iYWxfX3ByaW1hcnlfX25hdi0tb3BlbiB7XG4gICAgICBmbGV4OiAwIDAgY2FsYygxMDB2dyAtIDNyZW0pO1xuICAgIH1cbiAgfVxufVxuXG4uZ2xvYmFsX19zZWNvbmRhcnkge1xuICAmIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVyLW1heC13aWR0aCkgLSB2YXIoLS1zcGFjaW5nLXh4bCkpO1xuICB9XG59XG5cbi5nbG9iYWxfX3ByaW1hcnlfX25hdi1sZWZ0LFxuLmdsb2JhbF9fcHJpbWFyeV9fbmF2LXJpZ2h0LFxuLmdsb2JhbF9fcHJpbWFyeV9fbmF2LWxlZnQgPiAqLFxuLmdsb2JhbF9fcHJpbWFyeV9fbmF2LXJpZ2h0ID4gKiB7XG4gIEBtZWRpYSAoLS1sYXJnZS11cCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iXX0= */