/* NODE PACKAGES */
@import url(../../node_modules/rolly.js/css/style.css);
/* BASE COMPONENTS */
/* HOVER */
/* FONT */
/* LAYOUT */
/* TRANSFORM */
/* ANIMATION */
/* CLIP PATH */
@import url("https://fonts.googleapis.com/css?family=DM+Sans:400,700|DM+Serif+Display&display=swap");
@import url("https://use.typekit.net/kxa4zdg.css");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");
.gform_confirmation_wrapper {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  color: #ffffff !important;
  text-align: center;
  margin-bottom: 16px !important;
  padding: 11px 16px 12px !important;
  border: 0 none !important;
  border-radius: 0 !important;
  background-color: #5DC67D !important;
  box-shadow: none !important; }

#content .gform_wrapper .gform_fields {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap; }
  #content .gform_wrapper .gform_fields .gfield {
    flex: 1 0 auto; }
    @media (min-width: 768px) {
      #content .gform_wrapper .gform_fields .gfield {
        flex: 0 0 calc(50% - 10px); } }
    #content .gform_wrapper .gform_fields .gfield:nth-last-child(1), #content .gform_wrapper .gform_fields .gfield:nth-last-child(2) {
      flex: 0 0 100%;
      max-width: 100% !important; }

#content .gform_wrapper ul li.gfield {
  margin-top: 0;
  padding: 0; }
  #content .gform_wrapper ul li.gfield:before {
    display: none !important; }

.gform_wrapper.gravity-theme {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }
  .gform_wrapper.gravity-theme .gform_ajax_spinner {
    display: none !important; }
  .gform_wrapper.gravity-theme .validation_error {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #ffffff !important;
    border: 0 none !important;
    background-color: #c02b0a; }
  .gform_wrapper.gravity-theme div.gform_validation_errors {
    margin-bottom: 16px !important;
    padding: 11px 16px 12px !important;
    border: 0 none !important;
    border-radius: 0 !important;
    background-color: #c02b0a !important;
    box-shadow: none !important; }
    .gform_wrapper.gravity-theme div.gform_validation_errors > h2.hide_summary {
      padding: 0 0 0 30px;
      color: #ffffff;
      font-size: 16px;
      font-weight: 400; }
    .gform_wrapper.gravity-theme div.gform_validation_errors ol {
      display: none !important; }
  .gform_wrapper.gravity-theme .gform_heading {
    display: none; }
  .gform_wrapper.gravity-theme form .validation_message, .gform_wrapper.gravity-theme form .gfield_validation_message {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    color: #ffffff;
    display: inline-block !important;
    width: auto !important;
    margin-top: 0 !important;
    padding: 4px 8px !important;
    background-color: #c02b0a !important; }
  .gform_wrapper.gravity-theme form .gform_body .gfield {
    margin-bottom: 10px; }
    .gform_wrapper.gravity-theme form .gform_body .gfield.gfield_error {
      border: 0 none !important;
      background-color: transparent !important; }
    .gform_wrapper.gravity-theme form .gform_body .gfield .ginput_container {
      margin: 0; }
      .gform_wrapper.gravity-theme form .gform_body .gfield .ginput_container.ginput_container_checkbox {
        padding: 6px 0 0; }
    .gform_wrapper.gravity-theme form .gform_body .gfield .gform-grid-col *:nth-last-child(1)[class*="-type-sub"],
    .gform_wrapper.gravity-theme form .gform_body .gfield .ginput_container *:nth-last-child(1)[class*="-type-sub"] {
      margin-top: 6px;
      margin-bottom: 0; }
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="text"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="password"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="email"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="tel"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="color"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="number"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="search"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="date"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="time"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="datetime"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="datetime-local"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="week"],
    .gform_wrapper.gravity-theme form .gform_body .gfield input[type*="month"],
    .gform_wrapper.gravity-theme form .gform_body .gfield select,
    .gform_wrapper.gravity-theme form .gform_body .gfield textarea {
      width: 100%;
      font-family: "Montserrat", sans-serif;
      font-size: 16px;
      margin: 0 !important;
      padding: 18px 24px 22px !important;
      border: 1px solid #ffffff !important;
      background-color: transparent;
      outline: none; }
    .gform_wrapper.gravity-theme form .gform_body .gfield textarea {
      height: 349px; }
  .gform_wrapper.gravity-theme form .gform_footer {
    padding: 35px 0 0 !important;
    margin: 0 !important; }
    .gform_wrapper.gravity-theme form .gform_footer .gform_button {
      min-height: 66px !important;
      width: auto !important;
      min-width: 212px;
      font-family: "industry", sans-serif;
      font-weight: 700;
      font-size: 12px !important;
      color: #0080C6;
      letter-spacing: 3px;
      text-transform: uppercase;
      padding: 11px 51px 10px 35px;
      border: 0;
      background-image: url("../images/button-arrow-blue.svg"), linear-gradient(270deg, #F0F0F0 50%, #ffffff 0);
      background-repeat: no-repeat, repeat;
      background-position: right 71px center, 0 0;
      background-size: 6px 9px, 200% 100%;
      transition: 0.3s all cubic-bezier(0.87, 0, 0.13, 1);
      cursor: pointer; }
      .gform_wrapper.gravity-theme form .gform_footer .gform_button:after {
        content: "";
        background: url("../../images/button-arrow-blue.svg");
        background-repeat: no-repeat;
        width: 6px;
        height: 9px;
        display: inline-block;
        transition: 0.3s margin cubic-bezier(0.87, 0, 0.13, 1);
        margin-left: 10px; }
      @media (hover: hover) {
        .gform_wrapper.gravity-theme form .gform_footer .gform_button:hover {
          padding-right: 58.5px;
          padding-left: 27.5px;
          background-position: right 63.5px center, 100% 100%; } }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

html,
body {
  font-size: 100%;
  color: #ffffff;
  font-family: "Montserrat", sans-serif; }

h1 {
  font-family: "industry", sans-serif;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 70px;
  font-size: 10vw; }
  @media (max-width: 400px) {
    h1 {
      font-size: 40px; } }
  @media (min-width: 1500px) {
    h1 {
      font-size: 150px; } }

h2 {
  font-family: "industry", sans-serif;
  font-weight: 500;
  line-height: 1.1;
  font-size: 35px;
  font-size: 3.5vw; }
  @media (max-width: 857.14286px) {
    h2 {
      font-size: 30px; } }
  @media (min-width: 1285.71429px) {
    h2 {
      font-size: 45px; } }

h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 28px;
  font-size: 3.2vw; }
  @media (max-width: 750px) {
    h3 {
      font-size: 24px; } }
  @media (min-width: 1093.75px) {
    h3 {
      font-size: 35px; } }

h4 {
  font-family: "industry", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 8px;
  text-transform: uppercase;
  font-size: 14px; }

h5 {
  font-size: 12px;
  font-size: 1vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 4px;
  display: inline-block;
  text-align: center;
  line-height: 25px;
  position: relative;
  padding-right: 5px; }
  @media (max-width: 1200px) {
    h5 {
      font-size: 12px; } }
  @media (min-width: 1200px) {
    h5 {
      font-size: 12px; } }

p {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.9;
  font-size: 16px; }
  p + p {
    padding-top: 40px; }

.gform_wrapper form .gform_body .gfield .gform-field-label {
  color: #ffffff; }
  .gform_wrapper form .gform_body .gfield .gform-field-label .gfield_required {
    color: #c02b0a; }

.gform_wrapper form .gform_body .gfield input[type*="text"],
.gform_wrapper form .gform_body .gfield input[type*="password"],
.gform_wrapper form .gform_body .gfield input[type*="email"],
.gform_wrapper form .gform_body .gfield input[type*="tel"],
.gform_wrapper form .gform_body .gfield input[type*="color"],
.gform_wrapper form .gform_body .gfield input[type*="number"],
.gform_wrapper form .gform_body .gfield input[type*="search"],
.gform_wrapper form .gform_body .gfield input[type*="date"],
.gform_wrapper form .gform_body .gfield input[type*="time"],
.gform_wrapper form .gform_body .gfield input[type*="datetime"],
.gform_wrapper form .gform_body .gfield input[type*="datetime-local"],
.gform_wrapper form .gform_body .gfield input[type*="week"],
.gform_wrapper form .gform_body .gfield input[type*="month"],
.gform_wrapper form .gform_body .gfield select,
.gform_wrapper form .gform_body .gfield textarea {
  color: #ffffff;
  border-color: #ffffff; }

.gform_wrapper .gform_footer .gform_button {
  color: #0080C6;
  background-color: #ffffff; }

.gform_wrapper ::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: white; }

.gform_wrapper ::-moz-placeholder {
  /* Firefox 19+ */
  color: white; }

.gform_wrapper :-ms-input-placeholder {
  /* IE 10+ */
  color: white; }

.gform_wrapper :-moz-placeholder {
  /* Firefox 18- */
  color: white; }

html {
  background-color: #151313; }

.container {
  width: calc(100% - 50px);
  max-width: 1250px;
  margin: auto;
  position: relative; }

a[href^="tel"] {
  color: inherit;
  text-decoration: none; }

a {
  text-decoration: none;
  color: inherit; }
  a.arrow-link {
    font-family: "industry", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #0080C6;
    text-transform: uppercase; }
    a.arrow-link:after {
      content: "";
      background: url("../images/link-arrow-blue.svg");
      background-repeat: no-repeat;
      width: 6px;
      height: 9px;
      display: inline-block;
      transition: 0.3s margin cubic-bezier(0.87, 0, 0.13, 1);
      margin-left: 5px; }
    @media (hover: hover) {
      a.arrow-link:hover:after {
        margin-left: 15px; } }

button {
  padding: 10px 35px;
  min-width: 212px;
  min-height: 66px;
  font-size: 12px;
  letter-spacing: 3px;
  font-family: "industry", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  border: 0;
  cursor: pointer; }
  button.dark {
    transition: 0.3s all cubic-bezier(0.87, 0, 0.13, 1);
    background: linear-gradient(270deg, #131379 50%, #0080C6 0);
    background-size: 200% 100%;
    background-position: 0 0;
    color: #ffffff; }
    button.dark:after {
      content: "";
      background: url("../images/button-arrow-white.svg");
      background-repeat: no-repeat;
      width: 6px;
      height: 9px;
      display: inline-block;
      transition: 0.3s margin cubic-bezier(0.87, 0, 0.13, 1);
      margin-left: 10px; }
    @media (hover: hover) {
      button.dark:hover {
        background-position: 100% 100%; }
        button.dark:hover:after {
          margin-left: 25px; } }
  button.light {
    transition: 0.3s all cubic-bezier(0.87, 0, 0.13, 1);
    background: linear-gradient(270deg, #F0F0F0 50%, #ffffff 0);
    background-size: 200% 100%;
    background-position: 0 0;
    color: #0080C6; }
    button.light:after {
      content: "";
      background: url("../images/button-arrow-blue.svg");
      background-repeat: no-repeat;
      width: 6px;
      height: 9px;
      display: inline-block;
      transition: 0.3s margin cubic-bezier(0.87, 0, 0.13, 1);
      margin-left: 10px; }
    @media (hover: hover) {
      button.light:hover {
        background-position: 100% 100%; }
        button.light:hover:after {
          margin-left: 25px; } }

#content ul li {
  list-style: none;
  position: relative;
  font-size: 16px;
  line-height: 23px;
  margin-left: 10px;
  padding-bottom: 10px;
  padding-left: 15px; }
  #content ul li:before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: #ffffff;
    position: absolute;
    top: 5px;
    left: 0; }

.site-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding-right: 65px;
  height: 95px;
  width: calc(100vw - 65px);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 998;
  background-image: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 75%); }
  @media (max-width: 1440px) {
    .site-header {
      width: calc(100vw - 35px);
      padding-right: 35px;
      transition: .2s all ease-in-out; } }
  .site-header-logo {
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 40px; }
    @media (max-width: 1199.98px) {
      .site-header-logo {
        width: 200px; } }
    .site-header-logo img {
      width: 230px;
      max-width: 100%; }
  .site-header-menu {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    height: 100%; }
    @media (max-width: 1199.98px) {
      .site-header-menu {
        display: none; } }
    .site-header-menu .menu-main-menu-container {
      height: 100%; }
      .site-header-menu .menu-main-menu-container .menu {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        height: 100%; }
        .site-header-menu .menu-main-menu-container .menu li,
        .site-header-menu .menu-main-menu-container .menu ul {
          list-style: none; }
        .site-header-menu .menu-main-menu-container .menu > li {
          padding: 0 41px;
          height: 100%; }
          @media (max-width: 1440px) {
            .site-header-menu .menu-main-menu-container .menu > li {
              padding: 0 20px; } }
          .site-header-menu .menu-main-menu-container .menu > li > a {
            height: 100%;
            text-decoration: none;
            text-transform: uppercase;
            color: #ffffff;
            font-size: 16px;
            font-weight: 700;
            letter-spacing: 2px;
            font-family: "industry", sans-serif;
            position: relative;
            display: block;
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            cursor: pointer; }
          .site-header-menu .menu-main-menu-container .menu > li > .sub-menu {
            width: calc(100vw - 20%);
            padding: 5% 10%;
            background-color: #131379;
            position: absolute;
            top: 95px;
            left: 0;
            display: none; }
            .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li {
              padding: 0 5%; }
              .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > a {
                text-decoration: none;
                text-transform: uppercase;
                color: #ffffff;
                font-size: 14px;
                font-weight: 700;
                letter-spacing: 3px;
                font-family: "industry", sans-serif; }
              .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > .sub-menu {
                padding-top: 15px; }
                .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > .sub-menu:before {
                  content: "";
                  width: 75px;
                  height: 1px;
                  display: block;
                  background-color: #ffffff;
                  margin-bottom: 20px; }
                .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > .sub-menu li {
                  padding-bottom: 15px; }
                  .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > .sub-menu li a {
                    font-size: 16px;
                    font-family: "Montserrat", sans-serif;
                    line-height: 1.25; }
                  .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > .sub-menu li:last-child a {
                    font-family: "industry", sans-serif;
                    font-size: 10px;
                    font-weight: 700;
                    letter-spacing: 3px;
                    color: #ffffff;
                    text-transform: uppercase; }
                    .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > .sub-menu li:last-child a:after {
                      content: "";
                      background: url("../images/button-arrow-white.svg");
                      background-repeat: no-repeat;
                      background-position: right center;
                      width: 6px;
                      height: 9px;
                      display: inline-block;
                      transition: 0.3s margin cubic-bezier(0.87, 0, 0.13, 1);
                      margin-left: 5px;
                      -moz-transform: translateY(1px);
                      -webkit-transform: translateY(1px);
                      -ms-transform: translateY(1px);
                      transform: translateY(1px); }
                    @media (hover: hover) {
                      .site-header-menu .menu-main-menu-container .menu > li > .sub-menu > li > .sub-menu li:last-child a:hover:after {
                        margin-left: 10px; } }
          @media (hover: hover) {
            .site-header-menu .menu-main-menu-container .menu > li:hover > a:after {
              content: "";
              width: 120%;
              height: 12px;
              background-color: #131379;
              position: absolute;
              bottom: 0;
              left: -10%; }
            .site-header-menu .menu-main-menu-container .menu > li:hover > .sub-menu {
              display: flex;
              flex-direction: row;
              justify-content: space-between;
              align-items: flex-start;
              flex-wrap: nowrap; } }
    .site-header-menu-secondary {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap; }
      @media (max-width: 1199.98px) {
        .site-header-menu-secondary {
          display: none; } }
      .site-header-menu-secondary .contact {
        margin: 25px; }
        .site-header-menu-secondary .contact a {
          text-decoration: none;
          text-transform: uppercase;
          color: #ffffff;
          font-size: 16px;
          font-weight: 700;
          letter-spacing: 2px;
          font-family: "industry", sans-serif;
          border-radius: 22px;
          padding: 10px 35px;
          transition: 0.3s all cubic-bezier(0.87, 0, 0.13, 1);
          background: linear-gradient(270deg, #131379 50%, #0080C6 0);
          background-size: 200% 100%;
          background-position: 0 0; }
          @media (hover: hover) {
            .site-header-menu-secondary .contact a:hover {
              background-position: 100% 100%; } }
      .site-header-menu-secondary .search-icon {
        transition: 0.2s all cubic-bezier(0.87, 0, 0.13, 1);
        cursor: pointer; }
        @media (hover: hover) {
          .site-header-menu-secondary .search-icon:hover {
            -moz-transform: scale(1.2);
            -webkit-transform: scale(1.2);
            -ms-transform: scale(1.2);
            transform: scale(1.2); } }
      .site-header-menu-secondary .search-modal {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(19, 19, 121, 0.95); }
        .site-header-menu-secondary .search-modal .search-form {
          position: absolute;
          left: 50%;
          top: 50%;
          -moz-transform: translateX(-50%) translateY(-50%);
          -webkit-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
          width: 800px;
          max-width: calc(100vw - 50px);
          margin: aut; }
          .site-header-menu-secondary .search-modal .search-form .search-field {
            -webkit-appearance: none;
            background-color: transparent;
            border: 0; }
          .site-header-menu-secondary .search-modal .search-form .search-border {
            width: 100%;
            height: 4px;
            background-color: #131379; }

.transition-curtain {
  background-color: black;
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 999; }

.site-footer .call-to-action {
  min-height: 610px;
  width: 100%;
  background-color: #ffffff;
  position: relative; }
  .site-footer .call-to-action-inner {
    width: 850px;
    min-height: inherit;
    max-width: calc(100% - 50px);
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    z-index: 2;
    position: relative; }
    .site-footer .call-to-action-inner__intro {
      font-size: 14px;
      color: #0080C6;
      font-family: "industry", sans-serif;
      font-weight: 700;
      letter-spacing: 8px;
      text-transform: uppercase;
      text-align: center;
      padding-bottom: 22px; }
    .site-footer .call-to-action-inner__headline {
      font-size: 40px;
      font-size: 4vw;
      color: #0080C6;
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
      padding-bottom: 30px; }
      @media (max-width: 750px) {
        .site-footer .call-to-action-inner__headline {
          font-size: 30px; } }
      @media (min-width: 1125px) {
        .site-footer .call-to-action-inner__headline {
          font-size: 45px; } }
  .site-footer .call-to-action-background-image {
    position: absolute;
    left: 50%;
    top: 50%;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    z-index: 1;
    width: 95%; }
    .site-footer .call-to-action-background-image img {
      width: 100%; }

.site-footer .company {
  min-height: calc(265px - 100px);
  width: 100%;
  padding: 50px 0;
  background-color: #151313;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  .site-footer .company-inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 1490px;
    max-width: calc(100% - 50px);
    margin: 0 auto;
    padding-bottom: 24px; }
    @media (max-width: 1199.98px) {
      .site-footer .company-inner {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap; } }
    .site-footer .company-inner-info {
      color: #ffffff;
      font-weight: 100;
      font-size: 14px;
      padding: 0 15px;
      text-align: center;
      line-height: 1.5;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap; }
      @media (max-width: 1199.98px) {
        .site-footer .company-inner-info {
          padding: 25px 0; } }
      @media (max-width: 991.98px) {
        .site-footer .company-inner-info {
          display: flex;
          flex-direction: column;
          justify-content: flex-start;
          align-items: center;
          flex-wrap: wrap; } }
      .site-footer .company-inner-info__name {
        font-weight: 600; }
      .site-footer .company-inner-info .divider {
        padding: 0 10px; }
        @media (max-width: 991.98px) {
          .site-footer .company-inner-info .divider {
            display: none; } }
    .site-footer .company-inner-social a {
      margin-left: 35px; }
      .site-footer .company-inner-social a:first-child {
        margin-left: 0; }
      .site-footer .company-inner-social a .svg * {
        transition: .2s all ease-in-out; }
      @media (hover: hover) {
        .site-footer .company-inner-social a .svg:hover * {
          fill: #ffffff; } }
  .site-footer .company-legal {
    color: #ffffff;
    font-weight: 300;
    text-align: center;
    font-size: 12px; }
    .site-footer .company-legal a {
      color: #ffffff; }

/* PAGES */
.featured-project {
  height: 95vh;
  min-height: 800px;
  max-height: 1100px;
  background-color: #ffffff;
  position: relative; }
  .featured-project-info {
    position: absolute;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    z-index: 2;
    width: 450px;
    max-width: 75vw; }
    .featured-project-info-details {
      background-color: #131379;
      padding: 50px 40px; }
      .featured-project-info-details-label {
        padding-bottom: 10px; }
      .featured-project-info-details-title {
        padding-bottom: 20px; }
      .featured-project-info-details-excerpt {
        padding-bottom: 30px; }
        .featured-project-info-details-excerpt p {
          font-size: 14px;
          line-height: 1.5; }
      .featured-project-info-details-stats {
        padding-left: 35px; }
        .featured-project-info-details-stats-label {
          position: relative;
          margin-bottom: 10px; }
          .featured-project-info-details-stats-label:before {
            content: "";
            background: url("../images/stats-icon.svg");
            position: absolute;
            top: 50%;
            -moz-transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            left: -35px;
            width: 20px;
            height: 20px; }
        .featured-project-info-details-stats-list__item {
          font-size: 12px !important;
          margin-left: 0 !important; }
    @media (min-width: 1200px) {
      .featured-project-info-link {
        margin-left: 100px; } }
    @media (min-width: 992px) and (max-width: 1199.98px) {
      .featured-project-info-link {
        margin-left: 100px; } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      .featured-project-info-link {
        margin-left: 50px; } }
    @media (max-width: 767.98px) {
      .featured-project-info-link {
        margin-left: 50px; } }
  .featured-project-image {
    position: absolute;
    left: 50%;
    top: 50%;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% - (100px * 2));
    height: calc(100% - (100px * 2));
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1; }
    @media (max-width: 991.98px) {
      .featured-project-image {
        width: calc(100% - (50px * 2));
        height: calc(100% - (50px * 2)); } }

.clients {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  overflow: hidden; }
  @media (min-width: 1200px) {
    .clients {
      padding: 240px; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .clients {
      padding: 200px; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .clients {
      padding: 150px; } }
  @media (max-width: 767.98px) {
    .clients {
      padding: 75px; } }
  .clients .client-scroller {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    width: 0px;
    overflow: visible;
    padding: 70px 0; }
    .clients .client-scroller-image {
      height: 100px;
      padding-right: 115px; }
      .clients .client-scroller-image img {
        height: 100%; }

.services-cta {
  width: 1370px;
  max-width: calc(100% - 50px);
  margin: auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap; }
  @media (min-width: 1200px) {
    .services-cta {
      padding: 120px 0; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .services-cta {
      padding: 120px 0; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .services-cta {
      padding: 100px 0; } }
  @media (max-width: 767.98px) {
    .services-cta {
      padding: 75px 0; } }
  @media (max-width: 1199.98px) {
    .services-cta {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap; } }
  .services-cta .services-illustration {
    width: calc(50% - 90px);
    max-width: 700px; }
    @media (max-width: 1199.98px) {
      .services-cta .services-illustration {
        width: 80%;
        margin-bottom: 100px; } }
    @media (max-width: 575.98px) {
      .services-cta .services-illustration {
        width: 90%;
        margin-bottom: 50px; } }
    .services-cta .services-illustration img {
      width: 100%; }
  .services-cta .services-list {
    width: calc(50% - 90px); }
    @media (max-width: 1199.98px) {
      .services-cta .services-list {
        width: 80%; } }
    @media (max-width: 575.98px) {
      .services-cta .services-list {
        width: 100%; } }
    .services-cta .services-list__headline {
      color: #0080C6;
      padding-bottom: 10px; }
    .services-cta .services-list__subheadline {
      font-size: 20px;
      font-size: 2vw;
      line-height: 1.3;
      font-weight: 500;
      font-family: "Montserrat", sans-serif;
      padding-bottom: 20px; }
      @media (max-width: 950px) {
        .services-cta .services-list__subheadline {
          font-size: 19px; } }
      @media (min-width: 1100px) {
        .services-cta .services-list__subheadline {
          font-size: 22px; } }
    .services-cta .services-list-bullets {
      padding-bottom: 30px; }
      .services-cta .services-list-bullets p {
        font-size: 18px;
        font-size: 1.5vw;
        padding-bottom: 10px; }
        @media (max-width: 1066.66667px) {
          .services-cta .services-list-bullets p {
            font-size: 16px; } }
        @media (min-width: 1200px) {
          .services-cta .services-list-bullets p {
            font-size: 18px; } }

.flexible-service-content {
  position: relative; }
  .flexible-service-content .service-menu {
    max-width: 255px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 !important;
    z-index: 1; }
    .flexible-service-content .service-menu__item {
      font-size: 14px;
      color: #ffffff;
      text-transform: uppercase;
      font-family: "industry", sans-serif;
      line-height: 1.45;
      padding-bottom: 15px;
      transition: 0.2s all ease-in-out; }
      .flexible-service-content .service-menu__item.active {
        color: #0080C6; }
  .flexible-service-content .headline-and-text {
    width: 60%;
    margin-left: 40%; }
    @media (min-width: 1200px) {
      .flexible-service-content .headline-and-text {
        padding-bottom: 180px; } }
    @media (min-width: 992px) and (max-width: 1199.98px) {
      .flexible-service-content .headline-and-text {
        padding-bottom: 150px; } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      .flexible-service-content .headline-and-text {
        padding-bottom: 100px; } }
    @media (max-width: 767.98px) {
      .flexible-service-content .headline-and-text {
        padding-bottom: 50px; } }
    .flexible-service-content .headline-and-text__title {
      color: #0080C6;
      padding-bottom: 25px; }
    .flexible-service-content .headline-and-text__text ul {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: wrap;
      padding-top: 25px; }
      .flexible-service-content .headline-and-text__text ul li {
        width: calc(50% - 25px); }
  @media (min-width: 1200px) {
    .flexible-service-content .service-media-item {
      margin-bottom: 180px; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .flexible-service-content .service-media-item {
      margin-bottom: 150px; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .flexible-service-content .service-media-item {
      margin-bottom: 100px; } }
  @media (max-width: 767.98px) {
    .flexible-service-content .service-media-item {
      margin-bottom: 50px; } }

.careers-intro {
  width: 800px;
  max-width: calc(100% - 50px);
  margin: auto; }
  @media (min-width: 1200px) {
    .careers-intro {
      padding-bottom: 180px; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .careers-intro {
      padding-bottom: 150px; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .careers-intro {
      padding-bottom: 100px; } }
  @media (max-width: 767.98px) {
    .careers-intro {
      padding-bottom: 50px; } }

.available-jobs {
  background-color: #ffffff; }
  @media (min-width: 1200px) {
    .available-jobs {
      padding: 200px 0; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .available-jobs {
      padding: 150px 0; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .available-jobs {
      padding: 100px 0; } }
  @media (max-width: 767.98px) {
    .available-jobs {
      padding: 75px 0; } }
  .available-jobs__title {
    color: #0080C6;
    text-align: center; }
    @media (min-width: 1200px) {
      .available-jobs__title {
        padding-bottom: 75px; } }
    @media (min-width: 992px) and (max-width: 1199.98px) {
      .available-jobs__title {
        padding-bottom: 75px; } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      .available-jobs__title {
        padding-bottom: 50px; } }
    @media (max-width: 767.98px) {
      .available-jobs__title {
        padding-bottom: 35px; } }
  .available-jobs .job {
    text-align: center; }
    .available-jobs .job__title {
      position: relative;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      font-size: 60px;
      font-size: 7vw;
      text-align: center;
      text-transform: uppercase;
      display: inline-block;
      color: #0080C6;
      font-family: "industry", sans-serif;
      font-weight: 700;
      margin-bottom: 35px;
      cursor: pointer; }
      @media (max-width: 642.85714px) {
        .available-jobs .job__title {
          font-size: 45px; } }
      @media (min-width: 1071.42857px) {
        .available-jobs .job__title {
          font-size: 75px; } }
      .available-jobs .job__title:after {
        content: "";
        background: url("../images/link-arrow-blue.svg");
        background-repeat: no-repeat;
        background-position: right center;
        position: absolute;
        top: 50%;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: -25px;
        width: 6px;
        height: 9px;
        transition: 0.3s all cubic-bezier(0.87, 0, 0.13, 1); }
      @media (hover: hover) {
        .available-jobs .job__title:hover {
          background-position: 100% 100%; }
          .available-jobs .job__title:hover:after {
            right: -40px; } }

.available-job-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #131379;
  z-index: 999;
  display: none;
  overflow: auto; }
  .available-job-modal-inner {
    width: 80%;
    margin: auto;
    padding: 10% 0; }
    .available-job-modal-inner-header {
      position: relative;
      font-size: 60px;
      font-size: 7vw;
      text-transform: uppercase;
      display: inline-block;
      color: #ffffff;
      font-family: "industry", sans-serif;
      font-weight: 700;
      margin-bottom: 75px;
      cursor: pointer; }
      @media (max-width: 642.85714px) {
        .available-job-modal-inner-header {
          font-size: 45px; } }
      @media (min-width: 1071.42857px) {
        .available-job-modal-inner-header {
          font-size: 75px; } }
      .available-job-modal-inner-header:before {
        content: "";
        background: url("../images/button-arrow-white.svg");
        background-repeat: no-repeat;
        background-position: left center;
        position: absolute;
        top: 50%;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        -moz-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
        transform-origin: top;
        left: -25px;
        width: 6px;
        height: 9px;
        transition: 0.3s all cubic-bezier(0.87, 0, 0.13, 1); }
      @media (hover: hover) {
        .available-job-modal-inner-header:hover {
          background-position: 100% 100%; }
          .available-job-modal-inner-header:hover:before {
            left: -40px; } }
    .available-job-modal-inner-info {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: nowrap; }
      @media (max-width: 1199.98px) {
        .available-job-modal-inner-info {
          display: flex;
          flex-direction: column;
          justify-content: flex-start;
          align-items: flex-start;
          flex-wrap: nowrap; } }
      .available-job-modal-inner-info .modal-job-description {
        width: 55%;
        padding-right: 10%; }
        @media (max-width: 1199.98px) {
          .available-job-modal-inner-info .modal-job-description {
            width: 100%;
            padding-right: 0;
            padding-bottom: 70px; } }
      .available-job-modal-inner-info .modal-job-requirements-apply {
        width: 45%; }
        @media (max-width: 1199.98px) {
          .available-job-modal-inner-info .modal-job-requirements-apply {
            width: 100%; } }
        .available-job-modal-inner-info .modal-job-requirements-apply__requirements-title {
          padding-bottom: 25px; }
        .available-job-modal-inner-info .modal-job-requirements-apply__requirements {
          padding-bottom: 70px; }

.project {
  position: relative;
  height: 95vh;
  min-height: 800px;
  max-height: 1100px; }
  .project-info {
    position: absolute;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    z-index: 2;
    width: 450px;
    max-width: 75vw; }
    .project-info-details {
      background-color: #ffffff;
      padding: 50px 40px; }
      .project-info-details-label {
        padding-bottom: 10px; }
      .project-info-details-title {
        padding-bottom: 20px;
        color: #151313; }
      .project-info-details-excerpt {
        padding-bottom: 30px;
        color: #151313; }
        .project-info-details-excerpt p {
          font-size: 14px;
          line-height: 1.5; }
      .project-info-details-stats {
        padding-left: 35px; }
        .project-info-details-stats-label {
          position: relative;
          margin-bottom: 10px;
          color: #151313; }
          .project-info-details-stats-label:before {
            content: "";
            background: url("../images/stats-icon.svg");
            position: absolute;
            top: 50%;
            -moz-transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            left: -35px;
            width: 20px;
            height: 20px; }
        .project-info-details-stats-list__item {
          font-size: 12px !important;
          margin-left: 0 !important;
          color: #0080C6; }
          .project-info-details-stats-list__item:before {
            background-color: #0080C6 !important; }
    @media (min-width: 1200px) {
      .project-info-link {
        padding-left: 100px; } }
    @media (min-width: 992px) and (max-width: 1199.98px) {
      .project-info-link {
        padding-left: 100px; } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      .project-info-link {
        padding-left: 50px; } }
    @media (max-width: 767.98px) {
      .project-info-link {
        padding-left: 50px; } }
  .project-image {
    position: absolute;
    left: 50%;
    top: 50%;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% - (100px * 2));
    height: calc(100% - (100px * 2));
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1; }
    @media (max-width: 991.98px) {
      .project-image {
        width: calc(100% - (50px * 2));
        height: calc(100% - (50px * 2)); } }

@media (min-width: 1200px) {
  .flexible-project-content-media-item {
    padding-bottom: 200px; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .flexible-project-content-media-item {
    padding-bottom: 150px; } }

@media (min-width: 768px) and (max-width: 991.98px) {
  .flexible-project-content-media-item {
    padding-bottom: 100px; } }

@media (max-width: 767.98px) {
  .flexible-project-content-media-item {
    padding-bottom: 50px; } }

.single-project .page-title {
  font-size: 70px;
  font-size: 10vw; }
  @media (max-width: 400px) {
    .single-project .page-title {
      font-size: 40px; } }
  @media (min-width: 1200px) {
    .single-project .page-title {
      font-size: 120px; } }

.flexible-project-content-text {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap; }
  @media (min-width: 1200px) {
    .flexible-project-content-text {
      padding-bottom: 200px; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .flexible-project-content-text {
      padding-bottom: 150px; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .flexible-project-content-text {
      padding-bottom: 100px; } }
  @media (max-width: 767.98px) {
    .flexible-project-content-text {
      padding-bottom: 50px; } }
  @media (max-width: 1199.98px) {
    .flexible-project-content-text {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: nowrap; } }
  .flexible-project-content-text__text {
    width: 60%; }
    @media (min-width: 1200px) {
      .flexible-project-content-text__text {
        padding-right: 200px; } }
    @media (min-width: 992px) and (max-width: 1199.98px) {
      .flexible-project-content-text__text {
        padding-right: 0; } }
    @media (min-width: 768px) and (max-width: 991.98px) {
      .flexible-project-content-text__text {
        padding-right: 0; } }
    @media (max-width: 767.98px) {
      .flexible-project-content-text__text {
        padding-right: 0; } }
    @media (max-width: 1199.98px) {
      .flexible-project-content-text__text {
        width: 100%;
        padding-bottom: 50px; } }
  .flexible-project-content-text__quote {
    width: 40%;
    color: #0080C6; }
    @media (max-width: 1199.98px) {
      .flexible-project-content-text__quote {
        width: 90%;
        margin: auto; } }

.project-footer {
  background-color: #ffffff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap; }
  @media (min-width: 1200px) {
    .project-footer {
      padding: 80px 0; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .project-footer {
      padding: 80px 0; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .project-footer {
      padding: 50px 0; } }
  @media (max-width: 767.98px) {
    .project-footer {
      padding: 50px 0; } }
  @media (max-width: 1199.98px) {
    .project-footer {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: nowrap; } }
  .project-footer__text {
    width: 40%;
    margin-right: 200px;
    padding: 120px 0 120px 8%; }
    .project-footer__text .headline-and-text__text {
      color: #151313; }
    @media (max-width: 1199.98px) {
      .project-footer__text {
        width: calc(100% - 50px);
        padding: 0 25px 50px 25px;
        margin-right: 0; } }
  .project-footer__image {
    width: 60%;
    min-height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    @media (max-width: 1199.98px) {
      .project-footer__image {
        height: 60vh;
        width: 100%;
        min-height: 450px; } }

.history-intro-text {
  width: 550px;
  padding-left: calc(212px / 2);
  -moz-transform: translateY(-100px);
  -webkit-transform: translateY(-100px);
  -ms-transform: translateY(-100px);
  transform: translateY(-100px); }
  @media (max-width: 1199.98px) {
    .history-intro-text {
      -moz-transform: translateY(0);
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      width: 100%;
      max-width: calc(100vw - 50px);
      padding: 75px 0;
      margin: auto; } }

.team-members {
  background-color: #ffffff; }
  @media (min-width: 1200px) {
    .team-members {
      padding: 100px 0; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .team-members {
      padding: 100px 0; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .team-members {
      padding: 75px 0; } }
  @media (max-width: 767.98px) {
    .team-members {
      padding: 50px 0; } }
  .team-members-inner {
    width: 1500px;
    max-width: calc(100% - 50px);
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap; }
    .team-members-inner .team-member {
      flex: 0 1 calc((100% / 3) - 50px);
      margin: 0 25px;
      padding-bottom: 100px; }
      @media (max-width: 1199.98px) {
        .team-members-inner .team-member {
          flex: 0 1 calc((100% / 2) - 50px); } }
      @media (max-width: 767.98px) {
        .team-members-inner .team-member {
          flex: 0 1 100%;
          margin: 0; } }
      .team-members-inner .team-member__headshot {
        width: 100%;
        height: 60vh;
        min-height: 400px; }
        .team-members-inner .team-member__headshot img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center; }
      .team-members-inner .team-member-info {
        width: 90%;
        margin: auto;
        padding-top: 25px; }
        @media (max-width: 575.98px) {
          .team-members-inner .team-member-info {
            width: 100%; } }
        .team-members-inner .team-member-info-header {
          display: flex;
          flex-direction: row;
          justify-content: flex-start;
          align-items: center;
          flex-wrap: wrap;
          padding-bottom: 10px; }
          .team-members-inner .team-member-info-header__linkedin {
            width: 27px; }
            .team-members-inner .team-member-info-header__linkedin img {
              width: 100%; }
          .team-members-inner .team-member-info-header__name {
            font-size: 26px;
            font-size: 2.8vw;
            color: #0080C6;
            font-family: "industry", sans-serif;
            padding-left: 15px; }
            @media (max-width: 857.14286px) {
              .team-members-inner .team-member-info-header__name {
                font-size: 24px; } }
            @media (min-width: 1071.42857px) {
              .team-members-inner .team-member-info-header__name {
                font-size: 30px; } }
        .team-members-inner .team-member-info-job-title {
          color: #0080C6;
          font-size: 16px;
          font-family: "industry", sans-serif;
          padding-left: calc(27px + 15px);
          padding-bottom: 15px; }
        .team-members-inner .team-member-info-biography {
          color: #151313;
          font-size: 12px;
          line-height: 1.6px;
          padding-left: calc(27px + 15px); }

@media (min-width: 1200px) {
  .clients-block {
    padding: 170px; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .clients-block {
    padding: 150px; } }

@media (min-width: 768px) and (max-width: 991.98px) {
  .clients-block {
    padding: 100px; } }

@media (max-width: 767.98px) {
  .clients-block {
    padding: 75px; } }

@media (min-width: 1200px) {
  .clients-block-intro {
    bottom: 130px; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .clients-block-intro {
    bottom: 100px; } }

@media (min-width: 768px) and (max-width: 991.98px) {
  .clients-block-intro {
    bottom: 75px; } }

@media (max-width: 767.98px) {
  .clients-block-intro {
    bottom: 50px; } }

@media (min-width: 1200px) {
  .news-text-page-header {
    padding-bottom: 100px; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .news-text-page-header {
    padding-bottom: 100px; } }

@media (min-width: 768px) and (max-width: 991.98px) {
  .news-text-page-header {
    padding-bottom: 75px; } }

@media (max-width: 767.98px) {
  .news-text-page-header {
    padding-bottom: 50px; } }

.news .text-page-header {
  padding-top: calc(95px + 50px);
  padding-bottom: 0;
  font-size: 70px;
  font-size: 10vw; }
  @media (max-width: 400px) {
    .news .text-page-header {
      font-size: 40px; } }
  @media (min-width: 1200px) {
    .news .text-page-header {
      font-size: 120px; } }

.news-list {
  width: 900px;
  max-width: calc(100% - 50px);
  margin: auto; }
  .news-list .news-item {
    margin-bottom: 80px; }
    .news-list .news-item:nth-child(even) {
      background-color: #252323; }
    .news-list .news-item-inner {
      padding: 60px; }
      @media (max-width: 767.98px) {
        .news-list .news-item-inner {
          padding: 15px; } }
      .news-list .news-item-inner-featured-image {
        width: 100%;
        height: 50vh;
        max-height: 500px;
        min-height: 350px;
        margin-bottom: 35px; }
        .news-list .news-item-inner-featured-image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center; }
      .news-list .news-item-inner__date {
        font-family: "industry", sans-serif;
        font-size: 14px;
        letter-spacing: 8px;
        padding-bottom: 15px; }
      .news-list .news-item-inner__title {
        color: #0080C6;
        padding-bottom: 20px; }
      .news-list .news-item-inner__excerpt {
        padding-bottom: 40px; }

.contact .contact-text-page-header {
  padding-bottom: 100px; }

.contact-content-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: calc(100% - 192px);
  margin: 0 auto 174px; }
  @media (max-width: 1599.5px) {
    .contact-content-wrapper {
      flex-wrap: wrap; } }
  @media (max-width: 991.98px) {
    .contact-content-wrapper {
      width: calc(100% - 64px);
      max-width: 674px;
      margin: 0 auto; } }

.contact-content {
  flex: 1 1 auto;
  margin-right: 10%;
  padding-top: 15px; }
  @media (max-width: 1599.5px) {
    .contact-content {
      flex: 1 1 auto;
      margin-right: 0; } }
  .contact-content > p {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 31px;
    color: #ffffff;
    margin-bottom: 53px; }
  .contact-content-sidebar {
    flex: 0 0 30%;
    margin-right: 10%;
    padding: 114px 64px;
    background-color: #131379;
    box-sizing: border-box; }
    @media (max-width: 1599.5px) {
      .contact-content-sidebar {
        flex: 1 1 auto;
        margin: 0 10% 64px;
        padding: 64px; } }
    @media (max-width: 991.98px) {
      .contact-content-sidebar {
        margin: 0 auto 64px; } }
    .contact-content-sidebar-info-block {
      display: table;
      margin: 0 auto; }
    .contact-content-sidebar-title {
      font-family: "industry", sans-serif;
      font-weight: 700;
      font-size: 14px;
      line-height: 17px;
      color: #ffffff;
      letter-spacing: 8px;
      text-transform: uppercase;
      margin-bottom: 34px; }
    .contact-content-sidebar-phone, .contact-content-sidebar-email, .contact-content-sidebar-company-name, .contact-content-sidebar-city-state-zip, .contact-content-sidebar-address {
      font-family: "Montserrat", sans-serif;
      font-weight: 500;
      font-size: 16px;
      line-height: 23px;
      color: #ffffff; }
    .contact-content-sidebar-company-name {
      font-weight: 700; }
    .contact-content-sidebar-city-state-zip {
      margin-bottom: 24px; }
    .contact-content-sidebar-phone, .contact-content-sidebar-email {
      display: block; }
    .contact-content-sidebar-media-links {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      margin-top: 66px; }
      .contact-content-sidebar-media-links > a {
        margin: 0 18px; }
        .contact-content-sidebar-media-links > a:nth-child(1) {
          margin-left: 0; }
        .contact-content-sidebar-media-links > a:nth-last-child(1) {
          margin-right: 0; }

.single-news-post-title {
  font-size: 70px;
  font-size: 10vw; }
  @media (max-width: 400px) {
    .single-news-post-title {
      font-size: 40px; } }
  @media (min-width: 1200px) {
    .single-news-post-title {
      font-size: 120px; } }
  @media (min-width: 1200px) {
    .single-news-post-title {
      padding-bottom: 80px; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .single-news-post-title {
      padding-bottom: 80px; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .single-news-post-title {
      padding-bottom: 50px; } }
  @media (max-width: 767.98px) {
    .single-news-post-title {
      padding-bottom: 50px; } }

@media (min-width: 1200px) {
  .flexible-news-content {
    margin-bottom: 160px; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .flexible-news-content {
    margin-bottom: 125px; } }

@media (min-width: 768px) and (max-width: 991.98px) {
  .flexible-news-content {
    margin-bottom: 75px; } }

@media (max-width: 767.98px) {
  .flexible-news-content {
    margin-bottom: 50px; } }

.flexible-news-content .post-publish-date {
  font-family: "industry", sans-serif;
  font-size: 14px;
  letter-spacing: 8px;
  padding-bottom: 15px; }

.flexible-news-content-container {
  width: 760px;
  max-width: calc(100% - 50px);
  margin: auto; }

.flexible-news-content .paragraph,
.flexible-news-content .media-item {
  margin-bottom: 50px; }

.flexible-news-content .subheader {
  margin-bottom: 15px;
  color: #0080C6; }

.next-single-news-post {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 760px;
  max-width: calc(100% - 50px);
  margin: 0 auto 200px auto;
  padding: 0 35px;
  min-width: 212px;
  min-height: 66px;
  font-size: 12px;
  letter-spacing: 3px;
  font-family: "industry", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  border: 0;
  cursor: pointer; }
  .next-single-news-post a {
    height: 100%;
    width: calc(100% - 70px);
    display: block;
    text-align: center;
    line-height: 55px; }
  .next-single-news-post.light {
    transition: 0.3s all cubic-bezier(0.87, 0, 0.13, 1);
    background: linear-gradient(270deg, #F0F0F0 50%, #ffffff 0);
    background-size: 200% 100%;
    background-position: 0 0;
    color: #0080C6; }
    .next-single-news-post.light:after {
      content: "";
      background: url("../images/button-arrow-blue.svg");
      background-repeat: no-repeat;
      width: 6px;
      height: 9px;
      display: inline-block;
      transition: 0.3s margin cubic-bezier(0.87, 0, 0.13, 1);
      margin-left: 10px; }
    @media (hover: hover) {
      .next-single-news-post.light:hover {
        background-position: 100% 100%; }
        .next-single-news-post.light:hover:after {
          margin-left: 25px; } }

/* COMMON COMPONENTS */
.page-header-upper {
  height: 70vh;
  width: 100vw;
  max-width: 100%;
  position: relative;
  padding-top: 95px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: -100px; }
  @media (orientation: portrait) {
    .page-header-upper {
      height: 50vh; } }
  .page-header-upper .page-title {
    position: relative;
    z-index: 3;
    margin: 0 3vw;
    padding-bottom: 200px; }
  .page-header-upper .heat-title {
    z-index: 3;
    position: absolute;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 3vw;
    color: #0080C6;
    mix-blend-mode: saturation; }
    @media (max-width: 1199.98px) {
      .page-header-upper .heat-title {
        position: relative;
        top: auto;
        padding-top: 10vh;
        -moz-transform: translateY(0);
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); } }
  .page-header-upper .base-title {
    z-index: 3;
    position: absolute;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 3vw;
    color: #ffffff;
    mix-blend-mode: color-dodge; }
    @media (max-width: 1199.98px) {
      .page-header-upper .base-title {
        display: none;
        position: relative;
        top: auto;
        padding-top: 10vh;
        -moz-transform: translateY(0);
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); } }
  .page-header-upper .home-intro {
    position: absolute;
    bottom: -115px;
    right: 0;
    height: auto;
    width: clamp(200px, 50%, 440px);
    overflow-x: hidden !important;
    z-index: 3; }
    .page-header-upper .home-intro img {
      height: 100%;
      width: calc(min(146%, 781px));
      object-fit: contain; }
  .page-header-upper .hero-image-overlay {
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2; }
  .page-header-upper .hero-image {
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1; }

.page-header-after {
  z-index: 3;
  position: relative;
  overflow: visible;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap; }
  .page-header-after .section-intro {
    background-color: #131379;
    margin-bottom: 66px; }
    @media (max-width: 1199.98px) {
      .page-header-after .section-intro {
        margin-bottom: 0; } }
    .page-header-after .section-intro.no-intro-image-exists {
      width: 60vw; }
      @media (max-width: 1199.98px) {
        .page-header-after .section-intro.no-intro-image-exists {
          width: 1020px;
          max-width: 92vw; } }
    .page-header-after .section-intro.intro-image-exists {
      width: 1020px;
      max-width: 92vw; }
    .page-header-after .section-intro-headline {
      height: 100px;
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      padding-left: 3vw; }
      @media (max-width: 767.98px) {
        .page-header-after .section-intro-headline {
          padding: 0 25px; } }
      .page-header-after .section-intro-headline:after {
        content: "";
        background: url("../images/button-arrow-white.svg");
        background-repeat: no-repeat;
        width: 6px;
        height: 9px;
        display: inline-block;
        -moz-transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        padding-top: 20px; }
    .page-header-after .section-intro__paragraph.no-intro-image-exists {
      max-width: calc(100% - 12vw);
      padding: 50px 6vw 100px 6vw; }
      @media (orientation: portrait) {
        .page-header-after .section-intro__paragraph.no-intro-image-exists {
          padding: 10px 6vw 50px 6vw; } }
    .page-header-after .section-intro__paragraph.intro-image-exists {
      width: 100%;
      max-width: calc(100% - 18vw);
      padding: 50px 0 100px 12vw; }
      @media (max-width: 1199.98px) {
        .page-header-after .section-intro__paragraph.intro-image-exists {
          width: 100%;
          max-width: calc(100% - 12vw);
          padding: 50px 0 100px 6vw; } }
      @media (orientation: portrait) {
        .page-header-after .section-intro__paragraph.intro-image-exists {
          padding: 10px 6vw 50px 6vw; } }
    @media (max-width: 767.98px) {
      .page-header-after .section-intro__paragraph {
        padding: 25px 25px 50px 25px;
        max-width: calc(100% - 50px); } }
    .page-header-after .section-intro__paragraph p {
      line-height: 1.75; }
  @media (min-width: 1200px) {
    .page-header-after .single-project-info-details {
      padding-left: 100px; } }
  @media (min-width: 992px) and (max-width: 1199.98px) {
    .page-header-after .single-project-info-details {
      padding-left: 100px; } }
  @media (min-width: 768px) and (max-width: 991.98px) {
    .page-header-after .single-project-info-details {
      padding-left: 50px; } }
  @media (max-width: 767.98px) {
    .page-header-after .single-project-info-details {
      padding-left: 50px; } }
  .page-header-after .single-project-info-details__client {
    color: #0080C6;
    padding-bottom: 5px; }
  .page-header-after .single-project-info-details__location {
    font-size: 16px;
    font-family: "industry", sans-serif;
    color: #0080C6;
    padding-bottom: 25px; }
  .page-header-after .single-project-info-details-stats {
    padding-left: 35px; }
    .page-header-after .single-project-info-details-stats-label {
      position: relative;
      margin-bottom: 10px; }
      .page-header-after .single-project-info-details-stats-label:before {
        content: "";
        background: url("../images/stats-icon.svg");
        position: absolute;
        top: 50%;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        left: -35px;
        width: 20px;
        height: 20px; }
    .page-header-after .single-project-info-details-stats-list__item {
      font-size: 12px !important;
      margin-left: 0 !important;
      color: #0080C6; }
      .page-header-after .single-project-info-details-stats-list__item:before {
        background-color: #0080C6 !important; }

.text-page-header {
  padding-top: calc(95px + 160px);
  width: 1100px;
  max-width: calc(100% - 50px);
  margin: auto; }

.intro-image-wrapper {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap-reverse;
  height: clamp(250px, 50vw, 400px);
  width: 1370px;
  max-width: calc(100% - 50px);
  margin: -140px auto 0;
  z-index: 3;
  overflow: hidden; }
  @media (max-width: 1199.98px) {
    .intro-image-wrapper {
      margin: 0 auto; } }
  @media (max-width: 991.98px) {
    .intro-image-wrapper {
      height: 40vh;
      min-height: 350px; } }
  .intro-image-wrapper > a {
    align-self: flex-end;
    margin-top: 74px; }
    @media (max-width: 1199.98px) {
      .intro-image-wrapper > a {
        margin-top: 0; } }
  .intro-image-wrapper .intro-image {
    width: 60%;
    max-width: 700px;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; }
    @media (max-width: 1199.98px) {
      .intro-image-wrapper .intro-image {
        width: 750px;
        max-width: 92vw; } }

.flexible-media-item {
  position: relative;
  z-index: 2; }
  @media (hover: hover) {
    .flexible-media-item:hover .flexible-media-item-controls {
      opacity: 1; } }
  .flexible-media-item-controls {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    opacity: 0;
    transition: .2s opacity ease-in-out;
    z-index: 1; }
    .flexible-media-item-controls img {
      width: 35px;
      margin: 0 50px;
      opacity: .5;
      transition: .2s opacity ease-in-out;
      cursor: pointer; }
      @media (hover: hover) {
        .flexible-media-item-controls img:hover {
          opacity: .75; } }
      .flexible-media-item-controls img:first-child {
        -moz-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
  .flexible-media-item .single-image.fullWidth {
    height: 75vh;
    max-height: 850px; }
    .flexible-media-item .single-image.fullWidth img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  .flexible-media-item .single-image.normalWidth {
    width: calc(100% - 50px);
    max-width: 1250px;
    margin: auto; }
    .flexible-media-item .single-image.normalWidth img {
      width: 60%;
      margin-left: 40%; }
  .flexible-media-item .image-gallery {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
    .flexible-media-item .image-gallery.carousel {
      height: 75vh;
      max-height: 850px;
      position: relative; }
      .flexible-media-item .image-gallery.carousel .image-gallery-image {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
        .flexible-media-item .image-gallery.carousel .image-gallery-image:nth-child(n+2) {
          display: none; }
        .flexible-media-item .image-gallery.carousel .image-gallery-image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center; }
      .flexible-media-item .image-gallery.carousel .carousel-indexer {
        position: absolute;
        left: 50%;
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: calc(100% - 100px);
        max-width: 900px;
        bottom: 50px; }
        .flexible-media-item .image-gallery.carousel .carousel-indexer__index {
          height: 10px;
          background-color: #ffffff;
          margin: 0 10px;
          max-width: 150px;
          transition: 0.2s all ease-in-out;
          cursor: pointer; }
          .flexible-media-item .image-gallery.carousel .carousel-indexer__index.active {
            background-color: #0080C6; }
    .flexible-media-item .image-gallery.two-column {
      height: 60vh;
      max-height: 660px; }
      @media (max-width: 991.98px) {
        .flexible-media-item .image-gallery.two-column {
          height: auto;
          max-height: none; } }
      .flexible-media-item .image-gallery.two-column .image-gallery-image {
        width: 50%;
        height: 100%; }
        @media (max-width: 991.98px) {
          .flexible-media-item .image-gallery.two-column .image-gallery-image {
            width: 100%;
            height: 40vh;
            min-height: 400px; } }
        .flexible-media-item .image-gallery.two-column .image-gallery-image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center; }
  .flexible-media-item .video {
    width: calc(100% - 50px);
    max-width: 1250px;
    margin: auto; }
    .flexible-media-item .video iframe {
      height: 75vh;
      width: 100%;
      max-height: 850px; }

.headline-and-text__title {
  color: #0080C6;
  padding-bottom: 25px; }

.headline-and-text__text ul {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-top: 25px; }
  .headline-and-text__text ul li {
    width: calc(50% - 25px); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmNzcyIsInNvdXJjZXMiOlsiYnVuZGxlLnNjc3MiLCJjb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvYmFzZS1jb21wb25lbnRzL19yZXNldC5zY3NzIiwiY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsImNvbXBvbmVudHMvYmFzZS1jb21wb25lbnRzL19iYXNlLnNjc3MiLCJjb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudHMvX3RyYW5zaXRpb24uc2NzcyIsImNvbXBvbmVudHMvYmFzZS1jb21wb25lbnRzL19mb290ZXIuc2NzcyIsInBhZ2VzL19mcm9udC1wYWdlLnNjc3MiLCJjb21wb25lbnRzL3BhZ2UtY29tcG9uZW50cy9mcm9udC1wYWdlL19mZWF0dXJlZC1wcm9qZWN0LnNjc3MiLCJjb21wb25lbnRzL3BhZ2UtY29tcG9uZW50cy9mcm9udC1wYWdlL19jbGllbnQtYmxvY2suc2NzcyIsInBhZ2VzL19zZXJ2aWNlLnNjc3MiLCJwYWdlcy9fY2FyZWVycy5zY3NzIiwicGFnZXMvX3Byb2plY3RzLnNjc3MiLCJwYWdlcy9fc2luZ2xlLXByb2plY3Quc2NzcyIsInBhZ2VzL193aG8td2UtYXJlLnNjc3MiLCJwYWdlcy9fbmV3cy5zY3NzIiwicGFnZXMvX2NvbnRhY3Quc2NzcyIsInBhZ2VzL19zaW5nbGUtbmV3cy1pdGVtLnNjc3MiLCJjb21wb25lbnRzL2NvbW1vbi1jb21wb25lbnRzL19wYWdlLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9jb21tb24tY29tcG9uZW50cy9fdGV4dC1wYWdlLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9jb21tb24tY29tcG9uZW50cy9faW50cm8taW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvY29tbW9uLWNvbXBvbmVudHMvX2ZsZXhpYmxlLW1lZGlhLWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvY29tbW9uLWNvbXBvbmVudHMvX2hlYWRsaW5lLWFuZC10ZXh0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogTk9ERSBQQUNLQUdFUyAqL1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9yb2xseS5qcy9jc3Mvc3R5bGUuY3NzXCI7XG5cbi8qIEJBU0UgQ09NUE9ORU5UUyAqL1xuLy8gdmFyaWFibGVzXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3NcIjtcblxuLy8gbWl4aW5zXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fbWl4aW5zLnNjc3NcIjtcblxuLy8gZm9ybXNcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvYmFzZS1jb21wb25lbnRzL19mb3Jtcy5zY3NzXCI7XG5cbi8vIHJlc2V0XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fcmVzZXQuc2Nzc1wiO1xuXG4vLyB0eXBvZ3JhcGh5XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzXCI7XG5cbi8vIGJhc2VcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvYmFzZS1jb21wb25lbnRzL19iYXNlLnNjc3NcIjtcblxuLy8gbmF2aWdhdGlvblxuQGltcG9ydCBcIi4vY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudHMvX25hdmlnYXRpb24uc2Nzc1wiO1xuXG4vLyB0cmFuc2l0aW9uXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50cy9fdHJhbnNpdGlvbi5zY3NzXCI7XG5cbi8vIGZvb3RlclxuQGltcG9ydCBcIi4vY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzXCI7XG5cbi8qIFBBR0VTICovXG4vLyBmcm9udC1wYWdlXG5AaW1wb3J0IFwiLi9wYWdlcy9fZnJvbnQtcGFnZS5zY3NzXCI7XG5cbi8vIHNlcnZpY2VcbkBpbXBvcnQgXCIuL3BhZ2VzL19zZXJ2aWNlLnNjc3NcIjtcblxuLy8gY2FyZWVyc1xuQGltcG9ydCBcIi4vcGFnZXMvX2NhcmVlcnMuc2Nzc1wiO1xuXG4vLyBwcm9qZWN0c1xuQGltcG9ydCBcIi4vcGFnZXMvX3Byb2plY3RzLnNjc3NcIjtcblxuLy8gc2luZ2xlLXByb2plY3RcbkBpbXBvcnQgXCIuL3BhZ2VzL19zaW5nbGUtcHJvamVjdC5zY3NzXCI7XG5cbi8vIHdoby13ZS1hcmVcbkBpbXBvcnQgXCIuL3BhZ2VzL193aG8td2UtYXJlLnNjc3NcIjtcblxuLy8gbmV3c1xuQGltcG9ydCBcIi4vcGFnZXMvX25ld3Muc2Nzc1wiO1xuXG4vLyBjb250YWN0XG5AaW1wb3J0IFwiLi9wYWdlcy9fY29udGFjdC5zY3NzXCI7XG5cbi8vIHNpbmdsZS1uZXdzLWl0ZW1cbkBpbXBvcnQgXCIuL3BhZ2VzL19zaW5nbGUtbmV3cy1pdGVtLnNjc3NcIjtcblxuLyogQ09NTU9OIENPTVBPTkVOVFMgKi9cbi8vIHBhZ2UtaGVhZGVyXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2NvbW1vbi1jb21wb25lbnRzL19wYWdlLWhlYWRlci5zY3NzXCI7XG5cbi8vIHRleHQtcGFnZS1oZWFkZXJcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvY29tbW9uLWNvbXBvbmVudHMvX3RleHQtcGFnZS1oZWFkZXIuc2Nzc1wiO1xuXG4vLyBpbnRyby1pbWFnZVxuQGltcG9ydCBcIi4vY29tcG9uZW50cy9jb21tb24tY29tcG9uZW50cy9faW50cm8taW1hZ2Uuc2Nzc1wiO1xuXG4vLyBmbGV4aWJsZS1tZWRpYS1pdGVtXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2NvbW1vbi1jb21wb25lbnRzL19mbGV4aWJsZS1tZWRpYS1pdGVtLnNjc3NcIjtcblxuLy8gaGVhZGxpbmUtYW5kLXRleHRcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvY29tbW9uLWNvbXBvbmVudHMvX2hlYWRsaW5lLWFuZC10ZXh0LnNjc3NcIjtcblxuXG4iLCJcbi8vIC0tLS0tLS0tLS0gdHlwb2dyYXBoeSAtLS0tLS0tLS0tIC8vXG4kVEhJTl9XRUlHSFQ6IDEwMDtcbiRFWFRSQV9XRUlHSFQ6IDIwMDtcbiRMSUdIVF9XRUlHSFQ6MzAwO1xuJE5PUk1BTF9XRUlHSFQ6IDQwMDtcbiRCT09LX1dFSUdIVDogNDAwO1xuJE1FRElVTV9XRUlHSFQ6IDUwMDtcbiRTRU1JX0JPTERfV0VJR0hUOiA2MDA7XG4kQk9MRF9XRUlHSFQ6IDcwMDtcbiRIRUFWWV9XRUlHSFQ6IDgwMDtcbiRCTEFDS19XRUlHSFQ6IDkwMDtcbiRDQVBJVEFMSVpFX1RFWFQ6IGNhcGl0YWxpemU7XG4kVVBQRVJDQVNFX1RFWFQ6IHVwcGVyY2FzZTtcbiRMT1dFUkNBU0VfVEVYVDogbG93ZXJjYXNlO1xuJE5PTkVfVEVYVDogbm9uZTtcbiRJTkRVU1RSWV9GT05UOiAnaW5kdXN0cnknLCBzYW5zLXNlcmlmO1xuJE1PTlRTRVJSQVRfRk9OVDogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuXG4vLyAtLS0tLS0tLS0tIGNvbG9ycyAtLS0tLS0tLS0tIC8vXG4kREFSS19CTFVFOiAjMTMxMzc5O1xuJExJR0hUX0JMVUU6ICMwMDgwQzY7XG4kQkxBQ0s6ICMxNTEzMTM7XG4kV0hJVEU6ICNmZmZmZmY7XG4kTElHSFRfR1JBWTogI0YwRjBGMDtcbiRFUlJPUjogI2MwMmIwYTtcbiRHUkVFTjogIzVEQzY3RDtcblxuLy8gLS0tLS0tLS0tLSBtaXNjIC0tLS0tLS0tLS0gLy9cbiRTSVRFX0hFQURFUl9IRUlHSFQ6IDk1cHg7XG4kU0hPUlRfSE9WRVI6IC4ycyBhbGwgZWFzZS1pbi1vdXQ7XG4kTE9OR19IT1ZFUjogLjVzIGFsbCBlYXNlLWluLW91dDtcbiRFQVNFX0lOX09VVF9FWFBPOiBjdWJpYy1iZXppZXIoMC44NywgMCwgMC4xMywgMSk7XG4kQlVUVE9OX1dJRFRIOiAyMTJweDtcbiRCVVRUT05fSEVJR0hUOiA2NnB4O1xuJElOVFJPX0lNQUdFX09GRlNFVDogNTUwcHg7XG5cbi8vIC0tLS0tLS0tLS0gQlJFQUtQT0lOVFMgLS0tLS0tLS0tLSAvL1xuJExFU1NfVEhBTl9TTTogNTc1Ljk4cHg7XG4kU006IDU3NnB4O1xuJE1EOiA3NjhweDtcbiRMRVNTX1RIQU5fTUQ6IDc2Ny45OHB4O1xuJExHOiA5OTJweDtcbiRMRVNTX1RIQU5fTEc6IDk5MS45OHB4O1xuJFhMOiAxMjAwcHg7XG4kTEVTU19USEFOX1hMOiAxMTk5Ljk4cHg7XG4iLCJcbi8qIEhPVkVSICovXG5AbWl4aW4gaG92ZXIge1xuXHRAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8qIEZPTlQgKi9cbkBtaXhpbiBmb250KCRmb250LXNpemUsICRmb250LXdlaWdodCwgJGNvbG9yLCAkdGV4dC10cmFuc2Zvcm06IG5vbmUsICRsZXR0ZXItc3BhY2luZzogMCkge1xuXHRmb250LXNpemU6ICRmb250LXNpemU7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG5cdGNvbG9yOiAkY29sb3I7XG5cdHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG5cdGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLXR5cGUoJHJlc3BvbnNpdmUsICRtaW4sICRtYXg6IGZhbHNlLCAkZmFsbGJhY2s6IGZhbHNlKSB7XG5cdCRyZXNwb25zaXZlLXVuaXRsZXNzOiAkcmVzcG9uc2l2ZSAvICgkcmVzcG9uc2l2ZSAtICRyZXNwb25zaXZlICsgMSk7XG5cdCRkaW1lbnNpb246IGlmKHVuaXQoJHJlc3BvbnNpdmUpID09ICd2aCcsICdoZWlnaHQnLCAnd2lkdGgnKTtcblx0JG1pbi1icmVha3BvaW50OiAkbWluIC8gJHJlc3BvbnNpdmUtdW5pdGxlc3MgKiAxMDA7XG5cblx0QG1lZGlhIChtYXgtI3skZGltZW5zaW9ufTogI3skbWluLWJyZWFrcG9pbnR9KSB7XG5cdFx0Zm9udC1zaXplOiAkbWluO1xuXHR9XG5cblx0QGlmICRtYXgge1xuXHRcdCRtYXgtYnJlYWtwb2ludDogJG1heCAvICRyZXNwb25zaXZlLXVuaXRsZXNzICogMTAwO1xuXG5cdFx0QG1lZGlhIChtaW4tI3skZGltZW5zaW9ufTogI3skbWF4LWJyZWFrcG9pbnR9KSB7XG5cdFx0XHRmb250LXNpemU6ICRtYXg7XG5cdFx0fVxuXHR9XG5cblx0QGlmICRmYWxsYmFjayB7XG5cdFx0Zm9udC1zaXplOiAkZmFsbGJhY2s7XG5cdH1cblxuXHRmb250LXNpemU6ICRyZXNwb25zaXZlO1xufVxuXG4vKiBMQVlPVVQgKi9cbkBtaXhpbiByZXNwb25zaXZlLXNwYWNpbmcoJGRpcmVjdGlvbiwgJHNwYWNlci1raW5kLCAkeGxfdmFsdWUsICRsZ192YWx1ZSwgJG1kX3ZhbHVlLCAkc21fdmFsdWUpIHtcblx0QGlmICRkaXJlY3Rpb24gIT0gJ2FsbCcge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkWEwpIHtcblx0XHRcdCN7JHNwYWNlci1raW5kfS0jeyRkaXJlY3Rpb259OiAkeGxfdmFsdWU7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRMRykgYW5kIChtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcblx0XHRcdCN7JHNwYWNlci1raW5kfS0jeyRkaXJlY3Rpb259OiAkbGdfdmFsdWU7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRNRCkgYW5kIChtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTEcpIHtcblx0XHRcdCN7JHNwYWNlci1raW5kfS0jeyRkaXJlY3Rpb259OiAkbWRfdmFsdWU7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTUQpIHtcblx0XHRcdCN7JHNwYWNlci1raW5kfS0jeyRkaXJlY3Rpb259OiAkc21fdmFsdWU7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFhMKSB7XG5cdFx0XHQjeyRzcGFjZXIta2luZH06ICR4bF92YWx1ZTtcblx0XHR9XG5cblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJExHKSBhbmQgKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuXHRcdFx0I3skc3BhY2VyLWtpbmR9OiAkbGdfdmFsdWU7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRNRCkgYW5kIChtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTEcpIHtcblx0XHRcdCN7JHNwYWNlci1raW5kfTogJG1kX3ZhbHVlO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkTEVTU19USEFOX01EKSB7XG5cdFx0XHQjeyRzcGFjZXIta2luZH06ICRzbV92YWx1ZTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHB1c2gtdG8tdmlld3BvcnQtZWRnZSgkZGlyZWN0aW9uLCAkd2lkdGgpIHtcblx0QGlmICRkaXJlY3Rpb24gPT0gJ2xlZnQnIHtcblx0XHRtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcblx0fVxuXG5cdEBpZiAkZGlyZWN0aW9uID09ICdyaWdodCcge1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcblx0fVxuXHR3aWR0aDogJHdpZHRoO1xufVxuXG5AbWl4aW4gcG9zaXRpb24tY2VudGVyKCRwb3NpdGlvbiwgJGRpcmVjdGlvbikge1xuXHRAaWYgJGRpcmVjdGlvbiA9PSAndmVydGljYWwnIHtcblx0XHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXHRcdHRvcDogNTAlO1xuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblx0fVxuXG5cdEBpZiAkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJyB7XG5cdFx0cG9zaXRpb246ICRwb3NpdGlvbjtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuXHR9XG5cblx0QGlmICRkaXJlY3Rpb24gPT0gJ2JvdGgnIHtcblx0XHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpKTtcblx0fVxufVxuXG5AbWl4aW4gZmxleGJveCgkZmxleF9kaXJlY3Rpb24sICRqdXN0aWZ5X2NvbnRlbnQsICRhbGlnbl9pdGVtcywgJGZsZXgtd3JhcDogd3JhcCkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogJGZsZXhfZGlyZWN0aW9uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5X2NvbnRlbnQ7XG5cdGFsaWduLWl0ZW1zOiAkYWxpZ25faXRlbXM7XG5cdGZsZXgtd3JhcDogJGZsZXgtd3JhcDtcbn1cblxuLyogVFJBTlNGT1JNICovXG5AbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eSkge1xuXHQtbW96LXRyYW5zZm9ybTogJHByb3BlcnR5O1xuXHQtd2Via2l0LXRyYW5zZm9ybTogJHByb3BlcnR5O1xuXHQtbXMtdHJhbnNmb3JtOiAkcHJvcGVydHk7XG5cdHRyYW5zZm9ybTogJHByb3BlcnR5O1xufVxuXG4vKiBBTklNQVRJT04gKi9cbkBtaXhpbiBhbmltYXRpb24oJHByb3BlcnR5KSB7XG5cdC1tb3otYW5pbWF0aW9uOiAkcHJvcGVydHk7XG5cdC13ZWJraXQtYW5pbWF0aW9uOiAkcHJvcGVydHk7XG5cdC1tcy1hbmltYXRpb246ICRwcm9wZXJ0eTtcblx0YW5pbWF0aW9uOiAkcHJvcGVydHk7XG59XG5cbi8qIENMSVAgUEFUSCAqL1xuQG1peGluIGNsaXAtcGF0aCgkcHJvcGVydHkpIHtcblx0Y2xpcC1wYXRoOiAkcHJvcGVydHk7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6ICRwcm9wZXJ0eTtcbn0iLCIuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xuICAgIGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTFweCAxNnB4IDEycHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkR1JFRU4gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAuZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuXG4gICAgfVxufVxuXG4jY29udGVudCB7XG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgLmdmaWVsZCB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRNRCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICYuZ2ZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAuZ2Zvcm1fYWpheF9zcGlubmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRNT05UU0VSUkFUX0ZPTlQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEVSUk9SO1xuICAgIH1cblxuICAgIGRpdi5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTFweCAxNnB4IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkRVJST1IgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICYgPiBoMi5oaWRlX3N1bW1hcnkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdmb3JtX3N1Ym1pc3Npb25fZXJyb3Ige1xuXG4gICAgICAgIH1cblxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zvcm1faGVhZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkRVJST1IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgICAgIC5nZmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAmLmdmaWVsZF9lcnJvciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMCBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdmaWVsZF9sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgJltjbGFzcyo9XCItdHlwZS1zdWJcIl0ge1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZ2Zvcm0tZ3JpZC1jb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmdmb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZ2Zvcm0tZ3JpZC1jb2wsXG4gICAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAqOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICZbY2xhc3MqPVwiLXR5cGUtc3ViXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGUqPVwidGV4dFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlKj1cInBhc3N3b3JkXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGUqPVwiZW1haWxcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZSo9XCJ0ZWxcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZSo9XCJjb2xvclwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlKj1cIm51bWJlclwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlKj1cInNlYXJjaFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlKj1cImRhdGVcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZSo9XCJ0aW1lXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGUqPVwiZGF0ZXRpbWVcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZSo9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlKj1cIndlZWtcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZSo9XCJtb250aFwiXSxcbiAgICAgICAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRNT05UU0VSUkFUX0ZPTlQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMjRweCAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzQ5cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdmaWVsZC0tdHlwZS10ZXh0YXJlYSB7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJEJVVFRPTl9IRUlHSFQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJEJVVFRPTl9XSURUSDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJElORFVTVFJZX0ZPTlQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRCT0xEX1dFSUdIVDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJExJR0hUX0JMVUU7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJFVQUEVSQ0FTRV9URVhUO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExcHggNTFweCAxMHB4IDM1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2J1dHRvbi1hcnJvdy1ibHVlLnN2ZycpLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAkTElHSFRfR1JBWSA1MCUsICRXSElURSAwKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNzFweCBjZW50ZXIsIDAgMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCA5cHgsIDIwMCUgMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgYWxsICRFQVNFX0lOX09VVF9FWFBPO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idXR0b24tYXJyb3ctYmx1ZS5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzIG1hcmdpbiAkRUFTRV9JTl9PVVRfRVhQTztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1OC41cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI3LjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDYzLjVweCBjZW50ZXIsIDEwMCUgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxub2wsIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cbmJsb2NrcXVvdGUsIHEge1xuXHRxdW90ZXM6IG5vbmU7XG59XG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufSIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2Fuczo0MDAsNzAwfERNK1NlcmlmK0Rpc3BsYXkmZGlzcGxheT1zd2FwJyk7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L2t4YTR6ZGcuY3NzXCIpO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAnKTtcblxuaHRtbCxcbmJvZHkge1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGNvbG9yOiAkV0hJVEU7XG5cdGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xufVxuXG5oMSB7XG5cdC8vIDE1MHB4IHRhcmdldFxuXHRmb250LWZhbWlseTogJElORFVTVFJZX0ZPTlQ7XG5cdGZvbnQtd2VpZ2h0OiAkQkxBQ0tfV0VJR0hUO1xuXHRjb2xvcjogJFdISVRFO1xuXHR0ZXh0LXRyYW5zZm9ybTogJFVQUEVSQ0FTRV9URVhUO1xuXHRAaW5jbHVkZSByZXNwb25zaXZlLXR5cGUoMTB2dywgNDBweCwgMTUwcHgsIDcwcHgpO1xufVxuXG5oMiB7XG5cdC8vIDQ1cHggdGFyZ2V0XG5cdGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcblx0Zm9udC13ZWlnaHQ6ICRNRURJVU1fV0VJR0hUO1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRAaW5jbHVkZSByZXNwb25zaXZlLXR5cGUoMy41dncsIDMwcHgsIDQ1cHgsIDM1cHgpO1xufVxuXG5oMyB7XG5cdC8vIDMwcHggdGFyZ2V0XG5cdGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xuXHRmb250LXdlaWdodDogJE5PUk1BTF9XRUlHSFQ7XG5cdEBpbmNsdWRlIHJlc3BvbnNpdmUtdHlwZSgzLjJ2dywgMjRweCwgMzVweCwgMjhweCk7XG59XG5cbmg0IHtcblx0Ly8gMTRweCB0YXJnZXRcblx0Zm9udC1mYW1pbHk6ICRJTkRVU1RSWV9GT05UO1xuXHRmb250LXdlaWdodDogJEJPTERfV0VJR0hUO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRsZXR0ZXItc3BhY2luZzogOHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogJFVQUEVSQ0FTRV9URVhUO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbmg1IHtcblx0Ly8gMTFweCB0YXJnZXRcblx0QGluY2x1ZGUgcmVzcG9uc2l2ZS10eXBlKDF2dywgMTJweCwgMTJweCwgMTJweCk7XG5cdGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xuXHRmb250LXdlaWdodDogJEJMQUNLX1dFSUdIVDtcblx0dGV4dC10cmFuc2Zvcm06ICRVUFBFUkNBU0VfVEVYVDtcblx0bGV0dGVyLXNwYWNpbmc6IDRweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAyNXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxucCB7XG5cdC8vIDIwcHggdGFyZ2V0XG5cdGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xuXHRmb250LXdlaWdodDogJE5PUk1BTF9XRUlHSFQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjk7XG5cdGZvbnQtc2l6ZTogMTZweDtcblxuXHQrcCB7XG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XG5cdH1cbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuXHRmb3JtIHtcblx0XHQuZ2Zvcm1fYm9keSB7XG5cdFx0XHQuZ2ZpZWxkIHtcblx0XHRcdFx0Lmdmb3JtLWZpZWxkLWxhYmVsIHtcblx0XHRcdFx0XHRjb2xvcjogJFdISVRFO1xuXG5cdFx0XHRcdFx0LmdmaWVsZF9yZXF1aXJlZCB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJEVSUk9SO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGUqPVwidGV4dFwiXSxcblx0XHRcdFx0aW5wdXRbdHlwZSo9XCJwYXNzd29yZFwiXSxcblx0XHRcdFx0aW5wdXRbdHlwZSo9XCJlbWFpbFwiXSxcblx0XHRcdFx0aW5wdXRbdHlwZSo9XCJ0ZWxcIl0sXG5cdFx0XHRcdGlucHV0W3R5cGUqPVwiY29sb3JcIl0sXG5cdFx0XHRcdGlucHV0W3R5cGUqPVwibnVtYmVyXCJdLFxuXHRcdFx0XHRpbnB1dFt0eXBlKj1cInNlYXJjaFwiXSxcblx0XHRcdFx0aW5wdXRbdHlwZSo9XCJkYXRlXCJdLFxuXHRcdFx0XHRpbnB1dFt0eXBlKj1cInRpbWVcIl0sXG5cdFx0XHRcdGlucHV0W3R5cGUqPVwiZGF0ZXRpbWVcIl0sXG5cdFx0XHRcdGlucHV0W3R5cGUqPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5cdFx0XHRcdGlucHV0W3R5cGUqPVwid2Vla1wiXSxcblx0XHRcdFx0aW5wdXRbdHlwZSo9XCJtb250aFwiXSxcblx0XHRcdFx0c2VsZWN0LFxuXHRcdFx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRXSElURTtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRXSElURVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lmdmb3JtX2Zvb3RlciB7XG5cdFx0Lmdmb3JtX2J1dHRvbiB7XG5cdFx0XHRjb2xvcjogJExJR0hUX0JMVUU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG5cdFx0fVxuXHR9XG5cblx0QG1peGluIHBsYWNlaG9sZGVyLXN0eWxlcyB7XG5cdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG5cdH1cblxuXHQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG5cdFx0QGluY2x1ZGUgcGxhY2Vob2xkZXItc3R5bGVzO1xuXHR9XG5cdDo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXG5cdFx0QGluY2x1ZGUgcGxhY2Vob2xkZXItc3R5bGVzO1xuXHR9XG5cdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cblx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlci1zdHlsZXM7XG5cdH1cblx0Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuXHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyLXN0eWxlcztcblx0fVxufSIsIiRjb250YWluZXJfd2lkdGg6IDEyNTBweDtcblxuaHRtbCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRCTEFDSztcbn1cblxuLy8gYm9keSB7XG4vLyBcdHdpZHRoOiAxMDB2dztcbi8vIFx0aGVpZ2h0OiAxMDB2aDtcbi8vIFx0b3ZlcmZsb3c6IGF1dG87XG4vLyB9XG5cbi5jb250YWluZXIge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG5cdG1heC13aWR0aDogJGNvbnRhaW5lcl93aWR0aDtcblx0bWFyZ2luOiBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gcmVtb3ZlIGRlZmF1bHQgcGhvbmUgbnVtYmVyIHN0eWxpbmdzIG9uIHBoeXNpY2FsIGRldmljZXNcbmFbaHJlZl49XCJ0ZWxcIl0ge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogaW5oZXJpdDtcblxuXHQmLmFycm93LWxpbmsge1xuXHRcdGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Zm9udC13ZWlnaHQ6ICRCT0xEX1dFSUdIVDtcblx0XHRsZXR0ZXItc3BhY2luZzogM3B4O1xuXHRcdGNvbG9yOiAkTElHSFRfQkxVRTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogJFVQUEVSQ0FTRV9URVhUO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbGluay1hcnJvdy1ibHVlLnN2ZycpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdHdpZHRoOiA2cHg7XG5cdFx0XHRoZWlnaHQ6IDlweDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHRyYW5zaXRpb246IC4zcyBtYXJnaW4gJEVBU0VfSU5fT1VUX0VYUE87XG5cdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGhvdmVyIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5idXR0b24ge1xuXHRwYWRkaW5nOiAxMHB4IDM1cHg7XG5cdG1pbi13aWR0aDogJEJVVFRPTl9XSURUSDtcblx0bWluLWhlaWdodDogJEJVVFRPTl9IRUlHSFQ7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0bGV0dGVyLXNwYWNpbmc6IDNweDtcblx0Zm9udC1mYW1pbHk6ICRJTkRVU1RSWV9GT05UO1xuXHRmb250LXdlaWdodDogJEJPTERfV0VJR0hUO1xuXHR0ZXh0LXRyYW5zZm9ybTogJFVQUEVSQ0FTRV9URVhUO1xuXHRib3JkZXI6IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmLmRhcmsge1xuXHRcdHRyYW5zaXRpb246IC4zcyBhbGwgJEVBU0VfSU5fT1VUX0VYUE87XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgJERBUktfQkxVRSA1MCUsICRMSUdIVF9CTFVFIDApO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcblx0XHRjb2xvcjogJFdISVRFO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnV0dG9uLWFycm93LXdoaXRlLnN2ZycpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdHdpZHRoOiA2cHg7XG5cdFx0XHRoZWlnaHQ6IDlweDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHRyYW5zaXRpb246IC4zcyBtYXJnaW4gJEVBU0VfSU5fT1VUX0VYUE87XG5cdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBob3ZlciB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5saWdodCB7XG5cdFx0dHJhbnNpdGlvbjogLjNzIGFsbCAkRUFTRV9JTl9PVVRfRVhQTztcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAkTElHSFRfR1JBWSA1MCUsICRXSElURSAwKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cdFx0Y29sb3I6ICRMSUdIVF9CTFVFO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnV0dG9uLWFycm93LWJsdWUuc3ZnJyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0d2lkdGg6IDZweDtcblx0XHRcdGhlaWdodDogOXB4O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzIG1hcmdpbiAkRUFTRV9JTl9PVVRfRVhQTztcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGhvdmVyIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuI2NvbnRlbnQge1xuXHR1bCB7XG5cdFx0bGkge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyM3B4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiA1cHg7XG5cdFx0XHRcdGhlaWdodDogNXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnNpdGUtaGVhZGVyIHtcblx0QGluY2x1ZGUgZmxleGJveChyb3csIHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG5cdHBhZGRpbmctcmlnaHQ6IDY1cHg7XG5cdGhlaWdodDogJFNJVEVfSEVBREVSX0hFSUdIVDtcblx0d2lkdGg6IGNhbGMoMTAwdncgLSA2NXB4KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiA5OTg7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDAwMDAgMCUsIHJnYmEoMCwgMCwgMCwgMC4wMCkgNzUlKTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogMTQ0MHB4KSB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwdncgLSAzNXB4KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuXHRcdHRyYW5zaXRpb246IC4ycyBhbGwgZWFzZS1pbi1vdXQ7XG5cdH1cblxuXHQmLWxvZ28ge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRAaW5jbHVkZSBmbGV4Ym94KHJvdywgY2VudGVyLCBjZW50ZXIpO1xuXHRcdHBhZGRpbmc6IDAgNDBweDtcblxuXHRcdEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcblx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDIzMHB4O1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCYtbWVudSB7XG5cdFx0QGluY2x1ZGUgZmxleGJveChyb3csIHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0QG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQubWVudS1tYWluLW1lbnUtY29udGFpbmVyIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0Lm1lbnUge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4Ym94KHJvdywgc3BhY2UtYmV0d2VlbiwgY2VudGVyKTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRcdGxpLFxuXHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIHRvcCBsZXZlbFxuXHRcdFx0XHQ+bGkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgNDFweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdFx0XHRAbWVkaWEgKG1heC13aWR0aDogMTQ0MHB4KSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0PmEge1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiAkTk9ORV9URVhUO1xuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06ICRVUFBFUkNBU0VfVEVYVDtcblx0XHRcdFx0XHRcdGNvbG9yOiAkV0hJVEU7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogJEJPTERfV0VJR0hUO1xuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDJweDtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleGJveChyb3csIGNlbnRlciwgY2VudGVyKTtcblx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIHNlcnZpY2VzIHN1YiBtZW51XG5cdFx0XHRcdFx0Pi5zdWItbWVudSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDB2dyAtIDIwJSk7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA1JSAxMCU7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkREFSS19CTFVFO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiAkU0lURV9IRUFERVJfSEVJR0hUO1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0XHRcdC8vIGluZGl2aWR1YWwgc2VydmljZVxuXHRcdFx0XHRcdFx0PmxpIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCA1JTtcblxuXHRcdFx0XHRcdFx0XHQ+YSB7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiAkTk9ORV9URVhUO1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiAkVVBQRVJDQVNFX1RFWFQ7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRXSElURTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRCT0xEX1dFSUdIVDtcblx0XHRcdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogM3B4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdC8vIGluZGl2ZHVhbCBzZXJ2aWNlIHN1YiBtZW51XG5cdFx0XHRcdFx0XHRcdD4uc3ViLW1lbnUge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA3NXB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cblx0XHRcdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yNTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmlldyBhbGwgbGlua1xuXHRcdFx0XHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRJTkRVU1RSWV9GT05UO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogJEJPTERfV0VJR0hUO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAzcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRXSElURTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogJFVQUEVSQ0FTRV9URVhUO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnV0dG9uLWFycm93LXdoaXRlLnN2ZycpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA2cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDlweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IC4zcyBtYXJnaW4gJEVBU0VfSU5fT1VUX0VYUE87XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMXB4KSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgaG92ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgaG92ZXIge1xuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdD5hIHtcblx0XHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTIwJTtcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICREQVJLX0JMVUU7XG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAtMTAlO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdD4uc3ViLW1lbnUge1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXhib3gocm93LCBzcGFjZS1iZXR3ZWVuLCBmbGV4LXN0YXJ0LCBub3dyYXApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji1zZWNvbmRhcnkge1xuXHRcdFx0QGluY2x1ZGUgZmxleGJveChyb3csIGZsZXgtc3RhcnQsIGNlbnRlcik7XG5cblx0XHRcdEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0LmNvbnRhY3Qge1xuXHRcdFx0XHRtYXJnaW46IDI1cHg7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiAkTk9ORV9URVhUO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiAkVVBQRVJDQVNFX1RFWFQ7XG5cdFx0XHRcdFx0Y29sb3I6ICRXSElURTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRCT0xEX1dFSUdIVDtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMnB4O1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAyMnB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMzVweDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiAuM3MgYWxsICRFQVNFX0lOX09VVF9FWFBPO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICREQVJLX0JMVUUgNTAlLCAkTElHSFRfQkxVRSAwKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBob3ZlciB7XG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc2VhcmNoLWljb24ge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiAuMnMgYWxsICRFQVNFX0lOX09VVF9FWFBPO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdFx0QGluY2x1ZGUgaG92ZXIge1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5zZWFyY2gtbW9kYWwge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdFx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogJERBUktfQkxVRSwgJGFscGhhOiAuOTUpO1xuXG5cdFx0XHRcdC5zZWFyY2gtZm9ybSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24tY2VudGVyKGFic29sdXRlLCBib3RoKTtcblx0XHRcdFx0XHR3aWR0aDogODAwcHg7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNTBweCk7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXQ7XG5cblx0XHRcdFx0XHQuc2VhcmNoLWZpZWxkIHtcblx0XHRcdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5zZWFyY2gtYm9yZGVyIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkREFSS19CTFVFO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi50cmFuc2l0aW9uLWN1cnRhaW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0ei1pbmRleDogOTk5O1xufVxuIiwiLnNpdGUtZm9vdGVyIHtcblx0LmNhbGwtdG8tYWN0aW9uIHtcblx0XHRtaW4taGVpZ2h0OiA2MTBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Ji1pbm5lciB7XG5cdFx0XHR3aWR0aDogODUwcHg7XG5cdFx0XHRtaW4taGVpZ2h0OiBpbmhlcml0O1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdEBpbmNsdWRlIGZsZXhib3goY29sdW1uLCBjZW50ZXIsIGNlbnRlcik7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmX19pbnRybyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0Y29sb3I6ICRMSUdIVF9CTFVFO1xuXHRcdFx0XHRmb250LWZhbWlseTogJElORFVTVFJZX0ZPTlQ7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkQk9MRF9XRUlHSFQ7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiA4cHg7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDIycHg7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2hlYWRsaW5lIHtcblx0XHRcdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS10eXBlKDR2dywgMzBweCwgNDVweCwgNDBweCk7XG5cdFx0XHRcdGNvbG9yOiAkTElHSFRfQkxVRTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRCT0xEX1dFSUdIVDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLWJhY2tncm91bmQtaW1hZ2Uge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24tY2VudGVyKGFic29sdXRlLCBib3RoKTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR3aWR0aDogOTUlO1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY29tcGFueSB7XG5cdFx0bWluLWhlaWdodDogY2FsYygyNjVweCAtIDEwMHB4KTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiA1MHB4IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1xuXHRcdEBpbmNsdWRlIGZsZXhib3goY29sdW1uLCBjZW50ZXIsIGNlbnRlcik7XG5cblx0XHQmLWlubmVyIHtcblx0XHRcdEBpbmNsdWRlIGZsZXhib3gocm93LCBzcGFjZS1iZXR3ZWVuLCBjZW50ZXIpO1xuXHRcdFx0d2lkdGg6IDE0OTBweDtcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyNHB4O1xuXG5cdFx0XHRAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZsZXhib3goY29sdW1uLCBmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLWluZm8ge1xuXHRcdFx0XHRjb2xvcjogJFdISVRFO1xuXHRcdFx0XHRmb250LXdlaWdodDogJFRISU5fV0VJR0hUO1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTVweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4Ym94KHJvdywgY2VudGVyLCBjZW50ZXIpO1xuXG5cdFx0XHRcdEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAyNXB4IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX0xHKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleGJveChjb2x1bW4sIGZsZXgtc3RhcnQsIGNlbnRlcik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmX19uYW1lIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogJFNFTUlfQk9MRF9XRUlHSFQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZGl2aWRlciB7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXG5cdFx0XHRcdFx0QG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9MRykge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1zb2NpYWwge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMzVweDtcblxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnN2ZyB7XG5cdFx0XHRcdFx0XHQqIHtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogLjJzIGFsbCBlYXNlLWluLW91dDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgaG92ZXIge1xuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHQqIHtcblx0XHRcdFx0XHRcdFx0XHRcdGZpbGw6ICRXSElURVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtbGVnYWwge1xuXHRcdFx0Y29sb3I6ICRXSElURTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkTElHSFRfV0VJR0hUO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRXSElURTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCJAaW1wb3J0IFwiLi4vY29tcG9uZW50cy9wYWdlLWNvbXBvbmVudHMvZnJvbnQtcGFnZS9fZmVhdHVyZWQtcHJvamVjdC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9wYWdlLWNvbXBvbmVudHMvZnJvbnQtcGFnZS9fY2xpZW50LWJsb2NrLnNjc3NcIjtcblxuLmxlYXJuLW1vcmUtbGluayB7XG4gICAgXG59XG5cbi5zZXJ2aWNlcy1jdGEge1xuICAgIHdpZHRoOiAxMzcwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgQGluY2x1ZGUgZmxleGJveChyb3csIHNwYWNlLWJldHdlZW4sIGZsZXgtZW5kKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNwYWNpbmcoYWxsLCBwYWRkaW5nLCAxMjBweCAwLCAxMjBweCAwLCAxMDBweCAwLCA3NXB4IDApO1xuXG4gICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KGNvbHVtbiwgZmxleC1zdGFydCwgY2VudGVyKTtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtaWxsdXN0cmF0aW9uIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gOTBweCk7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9TTSkge1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZXMtbGlzdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDkwcHgpO1xuXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1NNKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3ViaGVhZGxpbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS10eXBlKDJ2dywgMTlweCwgMjJweCwgMjBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRNRURJVU1fV0VJR0hUO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRNT05UU0VSUkFUX0ZPTlQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnVsbGV0cyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS10eXBlKDEuNXZ3LCAxNnB4LCAxOHB4LCAxOHB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5mZWF0dXJlZC1wcm9qZWN0IHtcbiAgICAkeGxfZ3V0dGVyX3dpZHRoOiAxMDBweDtcbiAgICAkbWRfZ3V0dGVyX3dpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogOTV2aDtcbiAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWNlbnRlcihhYnNvbHV0ZSwgdmVydGljYWwpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgIG1heC13aWR0aDogNzV2dztcblxuICAgICAgICAmLWRldGFpbHMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUktfQkxVRTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggNDBweDtcblxuICAgICAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWV4Y2VycHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtc3RhdHMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcblxuICAgICAgICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3N0YXRzLWljb24uc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1jZW50ZXIoYWJzb2x1dGUsIHZlcnRpY2FsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0zNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNwYWNpbmcobGVmdCwgbWFyZ2luLCAkeGxfZ3V0dGVyX3dpZHRoLCAkeGxfZ3V0dGVyX3dpZHRoLCAkbWRfZ3V0dGVyX3dpZHRoLCAkbWRfZ3V0dGVyX3dpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1jZW50ZXIoYWJzb2x1dGUsIGJvdGgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKCN7JHhsX2d1dHRlcl93aWR0aH0gKiAyKSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCN7JHhsX2d1dHRlcl93aWR0aH0gKiAyKSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9MRykge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgjeyRtZF9ndXR0ZXJfd2lkdGh9ICogMikpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbWRfZ3V0dGVyX3dpZHRofSAqIDIpKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY2xpZW50cyB7XG4gICAgQGluY2x1ZGUgZmxleGJveChjb2x1bW4sIGNlbnRlciwgY2VudGVyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZyhhbGwsIHBhZGRpbmcsIDI0MHB4LCAyMDBweCwgMTUwcHgsIDc1cHgpO1xuXG4gICAgLmNsaWVudC1zY3JvbGxlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3gocm93LCBzcGFjZS1iZXR3ZWVuLCBjZW50ZXIsIG5vd3JhcCk7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nOiA3MHB4IDA7XG5cbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTE1cHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZsZXhpYmxlLXNlcnZpY2UtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnNlcnZpY2UtbWVudSB7XG4gICAgICAgIG1heC13aWR0aDogMjU1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAvLyBvdmVycmlkZSBzY3JvbGxtYWdpYyBzdHlsZVxuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRJTkRVU1RSWV9GT05UO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRTSE9SVF9IT1ZFUjtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkbGluZS1hbmQtdGV4dCB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MCU7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZyhib3R0b20sIHBhZGRpbmcsIDE4MHB4LCAxNTBweCwgMTAwcHgsIDUwcHgpO1xuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveChyb3csIGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1tZWRpYS1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zcGFjaW5nKGJvdHRvbSwgbWFyZ2luLCAxODBweCwgMTUwcHgsIDEwMHB4LCA1MHB4KTtcbiAgICB9XG59IiwiLmNhcmVlcnMtaW50cm8ge1xuICAgIHdpZHRoOiA4MDBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNwYWNpbmcoYm90dG9tLCBwYWRkaW5nLCAxODBweCwgMTUwcHgsIDEwMHB4LCA1MHB4KTtcbn1cblxuLmF2YWlsYWJsZS1qb2JzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zcGFjaW5nKGFsbCwgcGFkZGluZywgMjAwcHggMCwgMTUwcHggMCwgMTAwcHggMCwgNzVweCAwKTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRMSUdIVF9CTFVFO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZyhib3R0b20sIHBhZGRpbmcsIDc1cHgsIDc1cHgsIDUwcHgsIDM1cHgpO1xuICAgIH1cblxuICAgIC5qb2Ige1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveChyb3csIGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtdHlwZSg3dncsIDQ1cHgsIDc1cHgsIDYwcHgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRVUFBFUkNBU0VfVEVYVDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkQk9MRF9XRUlHSFQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2xpbmstYXJyb3ctYmx1ZS5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1jZW50ZXIoYWJzb2x1dGUsIHZlcnRpY2FsKTtcbiAgICAgICAgICAgICAgICByaWdodDogLTI1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgYWxsICRFQVNFX0lOX09VVF9FWFBPO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uYXZhaWxhYmxlLWpvYi1tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSS19CTFVFO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG5cbiAgICAmLWlubmVyIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxMCUgMDtcblxuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXR5cGUoN3Z3LCA0NXB4LCA3NXB4LCA2MHB4KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkVVBQRVJDQVNFX1RFWFQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRJTkRVU1RSWV9GT05UO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRCT0xEX1dFSUdIVDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2J1dHRvbi1hcnJvdy13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWNlbnRlcihhYnNvbHV0ZSwgdmVydGljYWwpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGFsbCAkRUFTRV9JTl9PVVRfRVhQTztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWluZm8ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveChyb3csIHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQsIG5vd3JhcCk7XG5cbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KGNvbHVtbiwgZmxleC1zdGFydCwgZmxleC1zdGFydCwgbm93cmFwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZGFsLWpvYi1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RhbC1qb2ItcmVxdWlyZW1lbnRzLWFwcGx5IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDUlO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19yZXF1aXJlbWVudHMtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19yZXF1aXJlbWVudHMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnByb2plY3Qge1xuICAgICR4bF9ndXR0ZXJfd2lkdGg6IDEwMHB4O1xuICAgICRtZF9ndXR0ZXJfd2lkdGg6IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogOTV2aDtcbiAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMTAwcHg7XG5cbiAgICAmLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1jZW50ZXIoYWJzb2x1dGUsIHZlcnRpY2FsKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDc1dnc7XG5cbiAgICAgICAgJi1kZXRhaWxzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggNDBweDtcblxuICAgICAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkQkxBQ0s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtZXhjZXJwdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRCTEFDSztcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLXN0YXRzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICAgICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJEJMQUNLO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9zdGF0cy1pY29uLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tY2VudGVyKGFic29sdXRlLCB2ZXJ0aWNhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJExJR0hUX0JMVUU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkTElHSFRfQkxVRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZyhsZWZ0LCBwYWRkaW5nLCAkeGxfZ3V0dGVyX3dpZHRoLCAkeGxfZ3V0dGVyX3dpZHRoLCAkbWRfZ3V0dGVyX3dpZHRoLCAkbWRfZ3V0dGVyX3dpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1jZW50ZXIoYWJzb2x1dGUsIGJvdGgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKCN7JHhsX2d1dHRlcl93aWR0aH0gKiAyKSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCN7JHhsX2d1dHRlcl93aWR0aH0gKiAyKSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9MRykge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgjeyRtZF9ndXR0ZXJfd2lkdGh9ICogMikpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbWRfZ3V0dGVyX3dpZHRofSAqIDIpKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZmxleGlibGUtcHJvamVjdC1jb250ZW50LW1lZGlhLWl0ZW0ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZyhib3R0b20sIHBhZGRpbmcsIDIwMHB4LCAxNTBweCwgMTAwcHgsIDUwcHgpO1xufVxuXG4uc2luZ2xlLXByb2plY3Qge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS10eXBlKDEwdncsIDQwcHgsIDEyMHB4LCA3MHB4KTtcbiAgICB9XG59XG5cbi5mbGV4aWJsZS1wcm9qZWN0LWNvbnRlbnQtdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZmxleGJveChyb3csIHNwYWNlLWJldHdlZW4sIGZsZXgtc3RhcnQsIG5vd3JhcCk7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zcGFjaW5nKGJvdHRvbSwgcGFkZGluZywgMjAwcHgsIDE1MHB4LCAxMDBweCwgNTBweCk7XG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goY29sdW1uLCBmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0LCBub3dyYXApO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNwYWNpbmcocmlnaHQsIHBhZGRpbmcsIDIwMHB4LCAwLCAwLCAwKTtcblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmX19xdW90ZSB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvamVjdC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KHJvdywgc3BhY2UtYmV0d2Vlbiwgc3RyZXRjaCwgbm93cmFwKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNwYWNpbmcoYWxsLCBwYWRkaW5nLCA4MHB4IDAsIDgwcHggMCwgNTBweCAwLCA1MHB4IDApO1xuXG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goY29sdW1uLCBmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0LCBub3dyYXApO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMjBweCAwIDEyMHB4IDglO1xuXG4gICAgICAgIC5oZWFkbGluZS1hbmQtdGV4dF9fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJEJMQUNLO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4IDUwcHggMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgICAgIGhlaWdodDogNjB2aDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmhpc3RvcnktaW50cm8tdGV4dCB7XG4gICAgd2lkdGg6ICRJTlRST19JTUFHRV9PRkZTRVQ7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JEJVVFRPTl9XSURUSH0gLyAyKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMTAwcHgpKTtcblxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNTBweCk7XG4gICAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbn1cblxuLnRlYW0tbWVtYmVycyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZyhhbGwsIHBhZGRpbmcsIDEwMHB4IDAsIDEwMHB4IDAsIDc1cHggMCwgNTBweCAwKTtcblxuICAgICYtaW5uZXIge1xuICAgICAgICB3aWR0aDogMTUwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3gocm93LCBzcGFjZS1iZXR3ZWVuLCBzdHJldGNoLCB3cmFwKTtcblxuICAgICAgICAudGVhbS1tZW1iZXIge1xuICAgICAgICAgICAgZmxleDogMCAxIGNhbGMoKDEwMCUgLyAzKSAtIDUwcHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgY2FsYygoMTAwJSAvIDIpIC0gNTBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTUQpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2hlYWRzaG90IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pbmZvIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fU00pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KHJvdywgZmxleC1zdGFydCwgY2VudGVyKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJl9fbGlua2VkaW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI3cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmX19uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtdHlwZSgyLjh2dywgMjRweCwgMzBweCwgMjZweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJExJR0hUX0JMVUU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJElORFVTVFJZX0ZPTlQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWpvYi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJElORFVTVFJZX0ZPTlQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygyN3B4ICsgMTVweCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtYmlvZ3JhcGh5IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRCTEFDSztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygyN3B4ICsgMTVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2xpZW50cy1ibG9jayB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zcGFjaW5nKGFsbCwgcGFkZGluZywgMTcwcHgsIDE1MHB4LCAxMDBweCwgNzVweCk7XG5cbiAgICAmLWludHJvIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zcGFjaW5nKGFsbCwgYm90dG9tLCAxMzBweCwgMTAwcHgsIDc1cHgsIDUwcHgpO1xuICAgIH1cbn0iLCIubmV3cy10ZXh0LXBhZ2UtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNwYWNpbmcoYm90dG9tLCBwYWRkaW5nLCAxMDBweCwgMTAwcHgsIDc1cHgsIDUwcHgpO1xufVxuXG4ubmV3cyB7XG4gICAgLnRleHQtcGFnZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg5NXB4ICsgNTBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXR5cGUoMTB2dywgNDBweCwgMTIwcHgsIDcwcHgpO1xuICAgIH1cbn1cblxuLm5ld3MtbGlzdCB7XG4gICAgd2lkdGg6IDkwMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgLm5ld3MtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjMyMztcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogNjBweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9NRCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2RhdGUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZXhjZXJwdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNvbnRhY3Qge1xuICAgIC5jb250YWN0LXRleHQtcGFnZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgfVxuXG4gICAgJi1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTkycHgpO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxNzRweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1OTkuNXB4KSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTEcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjc0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTk5LjVweCkge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJE1PTlRTRVJSQVRfRk9OVDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1M3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1zaWRlYmFyIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExNHB4IDY0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSS19CTFVFO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTk5LjVweCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMCUgNjRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTEcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA2NHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWluZm8tYmxvY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJElORFVTVFJZX0ZPTlQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogOHB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1waG9uZSxcbiAgICAgICAgICAgICYtZW1haWwsXG4gICAgICAgICAgICAmLWNvbXBhbnktbmFtZSxcbiAgICAgICAgICAgICYtY2l0eS1zdGF0ZS16aXAsXG4gICAgICAgICAgICAmLWFkZHJlc3Mge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkTU9OVFNFUlJBVF9GT05UO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtY29tcGFueS1uYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWNpdHktc3RhdGUtemlwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLXBob25lLFxuICAgICAgICAgICAgJi1lbWFpbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbWVkaWEtbGlua3Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjZweDtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnNpbmdsZS1uZXdzLXBvc3QtdGl0bGUge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtdHlwZSgxMHZ3LCA0MHB4LCAxMjBweCwgNzBweCk7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zcGFjaW5nKGJvdHRvbSwgcGFkZGluZywgODBweCwgODBweCwgNTBweCwgNTBweCk7XG59XG5cbi5mbGV4aWJsZS1uZXdzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZyhib3R0b20sIG1hcmdpbiwgMTYwcHgsIDEyNXB4LCA3NXB4LCA1MHB4KTtcblxuICAgIC5wb3N0LXB1Ymxpc2gtZGF0ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkSU5EVVNUUllfRk9OVDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5wYXJhZ3JhcGgsXG4gICAgLm1lZGlhLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC5zdWJoZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBjb2xvcjogJExJR0hUX0JMVUU7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogbWFrZSB0aGVzZSB0aGUgZGVmYXVsdCBzdHlsZXMgaW4gdGhlIGZsZXhpYmxlIG1lZGlhIGl0ZW0sIHRoaXMgd2lsbCBicmVhayBlbHNld2hlcmVcbiAgICAvLyAubm9ybWFsV2lkdGgge1xuICAgIC8vICAgICB3aWR0aDogNzYwcHggIWltcG9ydGFudDtcblxuICAgIC8vICAgICBpbWcge1xuICAgIC8vICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG5cbi5uZXh0LXNpbmdsZS1uZXdzLXBvc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KHJvdywgY2VudGVyLCBjZW50ZXIpO1xuICAgIHdpZHRoOiA3NjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwMHB4IGF1dG87XG4gICAgcGFkZGluZzogMCAzNXB4O1xuICAgIG1pbi13aWR0aDogJEJVVFRPTl9XSURUSDtcbiAgICBtaW4taGVpZ2h0OiAkQlVUVE9OX0hFSUdIVDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICBmb250LWZhbWlseTogJElORFVTVFJZX0ZPTlQ7XG4gICAgZm9udC13ZWlnaHQ6ICRCT0xEX1dFSUdIVDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJFVQUEVSQ0FTRV9URVhUO1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBhIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgIH1cblxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcyBhbGwgJEVBU0VfSU5fT1VUX0VYUE87XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICRMSUdIVF9HUkFZIDUwJSwgJFdISVRFIDApO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICBjb2xvcjogJExJR0hUX0JMVUU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYnV0dG9uLWFycm93LWJsdWUuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzIG1hcmdpbiAkRUFTRV9JTl9PVVRfRVhQTztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIiRiYWNrZ3JvdW5kX2ltYWdlX2luZGV4OiAxO1xuJG92ZXJsYXlfaW5kZXg6IDI7XG4kY29udGVudF9pbmRleDogMztcblxuLnBhZ2UtaGVhZGVyIHtcbiAgICAmLXVwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiA3MHZoO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXRvcDogJFNJVEVfSEVBREVSX0hFSUdIVDtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveChjb2x1bW4sIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuXG4gICAgICAgIEBtZWRpYShvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBtYXJnaW46IDAgM3Z3O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYXQtdGl0bGUge1xuICAgICAgICAgICAgei1pbmRleDogJGNvbnRlbnRfaW5kZXg7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1jZW50ZXIoYWJzb2x1dGUsIHZlcnRpY2FsKTtcbiAgICAgICAgICAgIGxlZnQ6IDN2dztcbiAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uO1xuXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTB2aDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmFzZS10aXRsZSB7XG4gICAgICAgICAgICB6LWluZGV4OiAkY29udGVudF9pbmRleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWNlbnRlcihhYnNvbHV0ZSwgdmVydGljYWwpO1xuICAgICAgICAgICAgbGVmdDogM3Z3O1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTB2aDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaG9tZS1pbnRybyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC0xMTVweDsgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogY2xhbXAoMjAwcHgsIDUwJSwgNDQwcHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAkY29udGVudF9pbmRleDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMobWluKDE0NiUsIDc4MXB4KSk7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLWltYWdlLW92ZXJsYXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogLjYpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogJG92ZXJsYXlfaW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby1pbWFnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAkYmFja2dyb3VuZF9pbWFnZV9pbmRleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYWZ0ZXIge1xuICAgICAgICB6LWluZGV4OiAkY29udGVudF9pbmRleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveChyb3csIGZsZXgtc3RhcnQsIGNlbnRlcik7XG5cbiAgICAgICAgLnNlY3Rpb24taW50cm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUktfQkxVRTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDY2cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5vLWludHJvLWltYWdlLWV4aXN0cyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwdnc7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTJ2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW50cm8taW1hZ2UtZXhpc3RzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAyMHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTJ2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KHJvdywgZmxleC1zdGFydCwgY2VudGVyKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDN2dztcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTUQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2J1dHRvbi1hcnJvdy13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3BhcmFncmFwaCB7XG4gICAgICAgICAgICAgICAgJi5uby1pbnRyby1pbWFnZS1leGlzdHMge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDZ2dyAxMDBweCA2dnc7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA2dncgNTBweCA2dnc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmludHJvLWltYWdlLWV4aXN0cyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE4dncpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMTAwcHggMTJ2dztcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX1hMKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMTAwcHggNnZ3O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA2dncgNTBweCA2dnc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX01EKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjVweCA1MHB4IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW5nbGUtcHJvamVjdC1pbmZvLWRldGFpbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zcGFjaW5nKGxlZnQsIHBhZGRpbmcsIDEwMHB4LCAxMDBweCwgNTBweCwgNTBweCk7XG5cbiAgICAgICAgICAgICZfX2NsaWVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRMSUdIVF9CTFVFO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRJTkRVU1RSWV9GT05UO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1zdGF0cyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuXG4gICAgICAgICAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvc3RhdHMtaWNvbi5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWNlbnRlcihhYnNvbHV0ZSwgdmVydGljYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTM1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRMSUdIVF9CTFVFO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJExJR0hUX0JMVUUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi50ZXh0LXBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygjeyRTSVRFX0hFQURFUl9IRUlHSFR9ICsgMTYwcHgpO1xuICAgIHdpZHRoOiAxMTAwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICBtYXJnaW46IGF1dG87XG59IiwiLmludHJvLWltYWdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgIGhlaWdodDogY2xhbXAoMjUwcHgsIDUwdncsIDQwMHB4KTtcbiAgICB3aWR0aDogMTM3MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgbWFyZ2luOiAtMTQwcHggYXV0byAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9MRykge1xuICAgICAgICBoZWlnaHQ6IDQwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICAgIH1cblxuICAgICYgPiBhIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDc0cHg7XG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fWEwpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW50cm8taW1hZ2Uge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJExFU1NfVEhBTl9YTCkge1xuICAgICAgICAgICAgd2lkdGg6IDc1MHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MnZ3O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5mbGV4aWJsZS1tZWRpYS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuZmxleGlibGUtbWVkaWEtaXRlbS1jb250cm9scyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udHJvbHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tY2VudGVyKGFic29sdXRlLCBib3RoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveChyb3csIHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5IGVhc2UtaW4tb3V0O1xuICAgICAgICB6LWluZGV4OiAxO1xuXG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDUwcHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5IGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zaW5nbGUtaW1hZ2Uge1xuICAgICAgICAmLmZ1bGxXaWR0aCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1dmg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4NTBweDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5ub3JtYWxXaWR0aCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXJfd2lkdGg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlLWdhbGxlcnkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KHJvdywgc3BhY2UtYmV0d2VlbiwgY2VudGVyKTtcblxuICAgICAgICAmLmNhcm91c2VsIHtcbiAgICAgICAgICAgIGhlaWdodDogNzV2aDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDg1MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuaW1hZ2UtZ2FsbGVyeS1pbWFnZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcm91c2VsLWluZGV4ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWNlbnRlcihhYnNvbHV0ZSwgaG9yaXpvbnRhbCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveChyb3csIGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xuXG4gICAgICAgICAgICAgICAgJl9faW5kZXgge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRTSE9SVF9IT1ZFUjtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRMSUdIVF9CTFVFO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50d28tY29sdW1uIHtcbiAgICAgICAgICAgIGhlaWdodDogNjB2aDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDY2MHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkTEVTU19USEFOX0xHKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZS1nYWxsZXJ5LWltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRMRVNTX1RIQU5fTEcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDB2aDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lcl93aWR0aDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1dmg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDg1MHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5oZWFkbGluZS1hbmQtdGV4dCB7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkTElHSFRfQkxVRTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3gocm93LCBmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUNuQixPQUFPLENBQVAsOENBQU87QUFFUCxxQkFBcUI7QUVGckIsV0FBVztBQU9YLFVBQVU7QUFpQ1YsWUFBWTtBQTZFWixlQUFlO0FBUWYsZUFBZTtBQVFmLGVBQWU7QUd0SWYsT0FBTyxDQUFDLDRGQUFJO0FBQ1osT0FBTyxDQUFDLDBDQUFJO0FBQ1osT0FBTyxDQUFDLDRGQUFJO0FGRlosQUFBQSwyQkFBMkIsQ0FBQztFQUN4QixXQUFXLEVGZ0JHLFlBQVksRUFBRSxVQUFVO0VFZnRDLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRUZvQkQsT0FBTyxDRXBCRyxVQUFVO0VBQ3hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxlQUFlO0VBQzlCLE9BQU8sRUFBRSx5QkFBeUI7RUFDbEMsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixhQUFhLEVBQUUsWUFBWTtFQUMzQixnQkFBZ0IsRUZpQlosT0FBTyxDRWpCYyxVQUFVO0VBQ25DLFVBQVUsRUFBRSxlQUFlLEdBSzlCOztBQUVELEFBRVEsUUFGQSxDQUNKLGNBQWMsQ0FDVixhQUFhLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhO0VBQzlCLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBY2xCO0VBcEJULEFBUVksUUFSSixDQUNKLGNBQWMsQ0FDVixhQUFhLENBTVQsT0FBTyxDQUFDO0lBQ0osSUFBSSxFQUFFLFFBQVEsR0FVakI7SUFURyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TUFWeEMsQUFRWSxRQVJKLENBQ0osY0FBYyxDQUNWLGFBQWEsQ0FNVCxPQUFPLENBQUM7UUFHQSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0Is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 */
