@charset "UTF-8";
/*** Common SAAS FILES ***/
/*** App color variable ***/
/*** Font weight ***/
/*** Font Family  ***/
/*** Font-size as h1-h6 headings ***/
/*** Background properties  ***/
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-royal-truck:before {
  content: "\e912"; }

.icon-royal-delete:before {
  content: "\e915"; }

.icon-royal-filter:before {
  content: "\e91e"; }

.icon-royal-minus:before {
  content: "\e91c"; }

.icon-royal-plus:before {
  content: "\e91d"; }

.icon-royal-tea-pot:before {
  content: "\e913"; }

.icon-royal-tea-leaves:before {
  content: "\e914"; }

.icon-royal-temperature:before {
  content: "\e916"; }

.icon-royal-western:before {
  content: "\e917"; }

.icon-royal-stopwatch:before {
  content: "\e918"; }

.icon-royal-availability:before {
  content: "\e919"; }

.icon-royal-position:before {
  content: "\e91a"; }

.icon-royal-ingredients:before {
  content: "\e91b"; }

.icon-royal-star:before {
  content: "\e911";
  color: #4b4b4b; }

.icon-royal-harvest:before {
  content: "\e90b"; }

.icon-royal-beans:before {
  content: "\e90c"; }

.icon-royal-plant:before {
  content: "\e90d"; }

.icon-royal-elevation:before {
  content: "\e90e"; }

.icon-royal-producer:before {
  content: "\e90f"; }

.icon-royal-location:before {
  content: "\e910"; }

.icon-royal-lock:before {
  content: "\e90a"; }

.icon-royal-close:before {
  content: "\e908"; }

.icon-royal-menu:before {
  content: "\e909"; }

.icon-royal-sample-box:before {
  content: "\e907"; }

.icon-royal-arrow-dash:before {
  content: "\e906"; }

.icon-royal-Right:before {
  content: "\e905"; }

.icon-royal-Instagram:before {
  content: "\e904"; }

.icon-royal-user:before {
  content: "\e901"; }

.icon-royal-cart:before {
  content: "\e902"; }

.icon-royal-Search:before {
  content: "\e903";
  color: #4b4b4b;
  font-size: 20px; }

.icon-royal-test:before {
  content: "\e900"; }

/*** Common Layout  ***/
/*** Default Style Reset ***/
*,
*::before,
*::after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  color: #0A1D2E;
  font-smooth: auto;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto; }
  @media only screen and (max-width: 1400px) {
    body {
      font-size: 14px;
      line-height: 22px; } }

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block; }

img,
a,
input,
nav,
textarea,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0; }

figure {
  margin: 0;
  display: inherit; }

button {
  border: none;
  background: none;
  cursor: pointer;
  outline: none !important; }

input:focus,
select:focus {
  outline: 0;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

ul,
ol,
li {
  padding: 0;
  margin: 0;
  list-style: none; }

a {
  text-decoration: none;
  outline: none;
  color: #0A1D2E;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease; }

img {
  display: inline-block;
  max-width: 100%;
  width: auto; }

blockquote,
figure,
address {
  margin: 0;
  padding: 0;
  font-style: normal; }

.templates-wrapper {
  overflow: hidden;
  width: 100%; }

main {
  float: left;
  padding: 0px;
  width: 100%;
  min-height: 400px;
  padding-top: 81px;
  background: url(../../images/footer-bg.svg) bottom left repeat-x transparent; }
  @media only screen and (max-width: 1400px) {
    main {
      padding-top: 69px; } }
  @media only screen and (max-width: 999px) {
    main {
      padding-top: 52px; } }

.container {
  max-width: 1540px;
  width: 100%;
  padding: 0 22.5px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column; }
  @media only screen and (max-width: 1400px) {
    .container {
      max-width: 1274px; } }
  @media only screen and (max-width: 999px) {
    .container {
      max-width: 968px; } }
  @media only screen and (max-width: 767px) {
    .container {
      max-width: 720px; } }
  @media only screen and (max-width: 575px) {
    .container {
      max-width: 540px; } }

section,
.section {
  float: left;
  width: 100%;
  padding: 0; }

.divImg {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover; }

p {
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    p {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    p {
      margin-bottom: 15px; } }

/*** Heading ***/
h1,
.h1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 57.6px;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h1,
    .h1 {
      font-size: 40px;
      line-height: 47.6px; } }
  @media only screen and (max-width: 1199px) {
    h1,
    .h1 {
      font-size: 36px;
      line-height: 40.6px; } }
  @media only screen and (max-width: 1400px) {
    h1,
    .h1 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h1,
    .h1 {
      margin-bottom: 15px; } }

h2,
.h2 {
  font-size: 36px;
  line-height: 43.2px;
  font-weight: 700;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h2,
    .h2 {
      font-size: 32px;
      line-height: 36.2px; } }
  @media only screen and (max-width: 1199px) {
    h2,
    .h2 {
      font-size: 28px;
      line-height: 32.2px; } }
  @media only screen and (max-width: 1400px) {
    h2,
    .h2 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h2,
    .h2 {
      margin-bottom: 15px; } }

h3,
.h3 {
  font-size: 24px;
  line-height: 29px;
  font-weight: 700;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h3,
    .h3 {
      font-size: 22px;
      line-height: 26px; } }
  @media only screen and (max-width: 1199px) {
    h3,
    .h3 {
      font-size: 20px;
      line-height: 22px; } }
  @media only screen and (max-width: 1400px) {
    h3,
    .h3 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h3,
    .h3 {
      margin-bottom: 15px; } }

h4,
.h4 {
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h4,
    .h4 {
      font-size: 18px;
      line-height: 24px; } }
  @media only screen and (max-width: 1400px) {
    h4,
    .h4 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h4,
    .h4 {
      margin-bottom: 15px; } }

h5,
.h5 {
  font-size: 18px;
  line-height: 27px; }
  @media only screen and (max-width: 1400px) {
    h5,
    .h5 {
      font-size: 16px;
      line-height: 24px; } }

h6,
.h6 {
  font-size: 14px;
  line-height: 21px;
  font-weight: bold; }

/*** Listing ***/
ul {
  margin: 0px 0px 30px;
  padding: 0; }
  ul li {
    list-style: none;
    font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
    color: #0A1D2E;
    margin: 0px 0px 15px;
    padding: 0px 0px 0px 15px;
    position: relative; }
    @media only screen and (max-width: 1400px) {
      ul li {
        font-size: 14px;
        line-height: 22px; } }
    ul li:before {
      content: "";
      width: 6px;
      height: 6px;
      position: absolute;
      left: 0px;
      top: 8px;
      background: #0A1D2E;
      -webkit-border-radius: 100%;
      -moz-border-radius: 100%;
      -o-border-radius: 100%;
      border-radius: 100%; }

ul.list-unstyled li {
  margin: 0px;
  padding: 0px; }
  ul.list-unstyled li:before {
    content: normal; }

ol {
  margin: 0px 0px 30px;
  padding: 0px;
  list-style: none; }
  ol li {
    counter-increment: av-counter;
    font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
    color: #0A1D2E;
    margin: 0px 0px 20px;
    padding: 0px 0px 0px 20px;
    position: relative; }
    @media only screen and (max-width: 1400px) {
      ol li {
        font-size: 14px;
        line-height: 22px; } }
    ol li:before {
      content: counter(av-counter) ".";
      counter-increment: none;
      color: #0A1D2E;
      position: absolute;
      left: 0px;
      top: 0px; }

.section.section-trader {
  display: none; }

.cust-form {
  display: flex;
  flex-direction: row;
  margin: 4px;
  width: 100%;
  flex-wrap: wrap; }
  .cust-form .cust-form-label {
    font-weight: bold;
    font-size: .88em;
    white-space: nowrap;
    max-width: 130px;
    width: 20%; }
  .cust-form .cust-form-select {
    width: 80%;
    max-width: 1370px;
    min-width: 500px; }
    @media only screen and (max-width: 900px) {
      .cust-form .cust-form-select {
        min-width: 98% !important;
        width: 100% !important; } }
    .cust-form .cust-form-select select {
      width: 99%; }

.browsing-as {
  position: fixed;
  display: block;
  z-index: 1000;
  width: 100%;
  top: -2px; }
  @media only screen and (max-width: 900px) {
    .browsing-as {
      top: 45px !important; } }
  .browsing-as .browsing-as-innner {
    background-color: rgba(255, 199, 58, 0.31);
    border: 1px solid lightyellow;
    margin: auto;
    color: white;
    font-weight: normal;
    font-size: 1.35em !important;
    text-align: center;
    padding: 1px;
    left: 0;
    width: 100%;
    max-width: 700px;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    text-overflow: none;
    overflow: hidden;
    text-wrap: none;
    white-space: nowrap; }
    @media only screen and (max-width: 900px) {
      .browsing-as .browsing-as-innner {
        background-color: #071c2f !important;
        border: 0px none transparent !important;
        margin: auto;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center;
        border-bottom-right-radius: 0px;
        border-bottom-left-radius: 0px;
        font-size: .9em; } }

@media only screen and (max-width: 900px) {
  .d-none-mobile {
    display: none; } }

.am-fs-sb__step-heading {
  color: #ffffff !important; }

.farm-description {
  width: 100%;
  max-height: 635px;
  overflow-x: hidden;
  overflow-y: auto; }

.coupon {
  display: none; }

.woocommerce-form-coupon-toggle {
  display: none; }

.offering-flavor-note {
  float: left !important;
  padding: 4px !important;
  text-align: center !important;
  font-size: 10px !important;
  margin-top: -3px !important;
  line-height: 10px !important; }

.login h1 a {
  background-image: url("/wp-content/themes/royal-ny/img/logos/rny_logo_Parent.svg");
  background-size: 144px;
  background-position: center top;
  background-repeat: no-repeat;
  color: #3c434a;
  height: 110px;
  font-size: 20px;
  font-weight: 400;
  line-height: 0;
  margin: 0 auto 0px;
  padding: 0;
  text-decoration: none;
  width: 110px;
  text-indent: -9999px;
  outline: 0;
  overflow: hidden;
  display: block; }

.sbi-header.sbi-header-type-text {
  display: none; }

.sbi_info_wrapper {
  display: none; }

#sb_instagram {
  overflow: hidden !important; }

.rny-brands .figure-card-wrap figure img {
  min-height: 365px !important; }

section.payment-wrapper {
  margin-top: -48px !important; }

.ina-logout-toast-container {
  width: 550px !important;
  max-width: 95vw !important; }

.reserve-collapsable {
  margin-bottom: 20px !important;
  margin-top: -20px !important;
  transition: none !important; }

.results .collapsed-group, .results .coffee-header-collapse {
  margin-bottom: 20px !important; }

/* Basic common reste style */
.cmn-space {
  padding-top: 150px;
  padding-bottom: 40px; }
  @media only screen and (max-width: 1370px) {
    .cmn-space {
      padding: 20px​; } }

/*** Common Classes ***/
.static-link {
  display: inline-block;
  color: #000;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease; }
  .static-link:hover {
    text-decoration: underline; }

.d-flex {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }

.hide {
  display: none; }

.d-align-center {
  align-items: center; }

.d-align-end {
  align-items: flex-end; }

.d-align-start {
  align-items: flex-start; }

.d-just-center {
  justify-content: center; }

.d-just-end {
  justify-content: flex-end; }

.d-space-between {
  justify-content: space-between; }

.d-flex-row {
  flex-direction: row; }

.d-flex-col {
  flex-direction: column; }

.d-just-start {
  justify-content: flex-start; }

@media only screen and (max-width: 1024px) {
  .t-flex-column {
    flex-direction: column; } }

@media only screen and (max-width: 1024px) {
  .t-txt-center {
    text-align: center; } }

@media only screen and (max-width: 1024px) {
  .t-align-normal {
    align-items: normal; } }

@media only screen and (max-width: 767px) {
  .m-flex-column {
    flex-direction: column; } }

@media only screen and (max-width: 767px) {
  .m-flex-row {
    flex-direction: row; } }

@media only screen and (max-width: 767px) {
  .m-txt-left {
    text-align: left; } }

@media only screen and (max-width: 767px) {
  .m-flex-wrap {
    flex-wrap: wrap; } }

.txt-center {
  text-align: center; }

.just-left {
  justify-content: left; }

.imgElm {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover; }

.desktop {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .desktop {
      display: block; } }

.mobile,
.mobile-menu-bar {
  display: none; }
  @media only screen and (max-width: 1024px) {
    .mobile,
    .mobile-menu-bar {
      display: block; } }

@media only screen and (max-width: 1024px) {
  .t-align-center {
    align-items: center; } }

@media only screen and (max-width: 767px) {
  .m-txt-center h2 {
    margin: 0 auto; } }

.author-name {
  color: #c0c0c0 !important; }

.m-b-0 {
  margin-bottom: 0 !important; }

@media only screen and (max-width: 767px) {
  .m-relative {
    position: relative; } }

.body_fixed {
  overflow: hidden; }

@media only screen and (max-width: 767px) {
  .m-block {
    display: block !important; } }

.disablelink {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none; }

.d-none {
  display: none !important; }

/* Custom Helper classes style */
/*** Common All Buttons ****/
.btn {
  padding: 14px 24px;
  min-width: 105px;
  display: inline-block;
  background: transparent;
  color: #c0c0c0;
  font-size: 18px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  text-transform: capitalize;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  outline: none;
  cursor: pointer;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  -ms-appearance: none;
  appearance: none;
  border: 1px solid transparent;
  color: #304E6C;
  text-decoration: none !important;
  position: relative; }
  @media only screen and (max-width: 1400px) {
    .btn {
      padding: 11px 20px;
      font-size: 16px; } }
  @media only screen and (max-width: 999px) {
    .btn {
      padding: 10px 10px;
      font-size: 14px; } }
  .btn em {
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    margin-top: -6px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #304E6C; }
    .btn em.after {
      margin-left: 12px;
      margin-right: 0; }
  .btn:hover {
    background-color: rgba(48, 78, 108, 0.1); }
  .btn:disabled, .btn.disabled {
    -webkit-opacity: 0.4;
    -moz-opacity: 0.4;
    -o-opacity: 0.4;
    -ms-opacity: 0.4;
    opacity: 0.4;
    pointer-events: none; }
  .btn.btn-small {
    padding: 11px 8px; }
  .btn.btn-secondary {
    background-color: #304E6C;
    color: #fff; }
    .btn.btn-secondary em {
      color: #fff; }
    .btn.btn-secondary:hover {
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #304E6C; }
  .btn.btn-outline {
    border-color: #304E6C; }
    .btn.btn-outline:hover {
      background: rgba(48, 78, 108, 0.1); }
  .btn.btn-gold {
    background-color: #B59038;
    color: #fff; }
    .btn.btn-gold:hover {
      -webkit-opacity: 0.8;
      -moz-opacity: 0.8;
      -o-opacity: 0.8;
      -ms-opacity: 0.8;
      opacity: 0.8; }
  .btn.btn-white {
    background-color: #fff;
    color: #0A1D2E; }
    .btn.btn-white em {
      color: #304E6C; }
    .btn.btn-white:hover {
      background: linear-gradient(0deg, rgba(10, 29, 46, 0.2), rgba(10, 29, 46, 0.2)), #FFFFFF; }
    .btn.btn-white__outline {
      border-color: #fff;
      color: #fff; }
      .btn.btn-white__outline:hover {
        background: rgba(255, 255, 255, 0.1); }
    .btn.btn-white__transparent {
      background-color: transparent;
      color: #fff; }
      .btn.btn-white__transparent:hover {
        background: rgba(255, 255, 255, 0.1); }
  .btn.btn-icon {
    padding: 5px 24px;
    height: 48px;
    line-height: 38px; }
    @media only screen and (max-width: 1400px) {
      .btn.btn-icon {
        padding: 5px 20px;
        height: 44px;
        line-height: 34px; } }
    @media only screen and (max-width: 999px) {
      .btn.btn-icon {
        padding: 5px 10px;
        height: 36px;
        line-height: 26px; } }

.btn[disabled], .btn:disabled {
  -webkit-opacity: 0.4;
  -moz-opacity: 0.4;
  -o-opacity: 0.4;
  -ms-opacity: 0.4;
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
  background-color: transparent;
  color: #4B4B4B;
  border-color: #4B4B4B; }
  .btn[disabled] em, .btn:disabled em {
    right: 16px; }

.btn.btn-secondary[disabled], .btn.btn-secondary:disabled {
  background-color: #4B4B4B;
  color: #fff; }

.hyper-link {
  color: #c0c0c0;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1.25px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  outline: none;
  cursor: pointer;
  display: block;
  width: 100%; }
  .hyper-link:hover {
    color: #ccc; }
    .hyper-link:hover em {
      color: #ccc; }
  .hyper-link em {
    color: #c0c0c0;
    display: inline-block;
    vertical-align: middle;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .hyper-link em.icon-normal-arrow {
      margin: 0px 0px 0 10px;
      float: right; }
    .hyper-link em.left-icon {
      margin: 0px 10px 0 0;
      font-size: 19px;
      float: left; }

/* Theme common button style */
/*** Common Forms Elements ***/
.form-control {
  padding: 11px 20px;
  display: inline-block;
  width: 100%;
  background: #fff;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  color: #0A1D2E;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  outline: none;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  -ms-appearance: none;
  appearance: none;
  border: 1px solid #BEBEBE;
  text-decoration: none !important;
  position: relative; }
  @media only screen and (max-width: 1400px) {
    .form-control {
      font-size: 14px;
      line-height: 22px; } }
  @media only screen and (max-width: 1400px) {
    .form-control {
      padding: 8px 20px; } }
  @media only screen and (max-width: 999px) {
    .form-control {
      padding: 6px 15px; } }
  .form-control:hover {
    -ms-box-shadow: 0 0 0 2px #BEBEBE;
    -o-box-shadow: 0 0 0 2px #BEBEBE;
    -webkit-box-shadow: 0 0 0 2px #BEBEBE;
    -moz-box-shadow: 0 0 0 2px #BEBEBE;
    box-shadow: 0 0 0 2px #BEBEBE; }
  .form-control:focus {
    -ms-box-shadow: 0 0 0 2px #BEBEBE;
    -o-box-shadow: 0 0 0 2px #BEBEBE;
    -webkit-box-shadow: 0 0 0 2px #BEBEBE;
    -moz-box-shadow: 0 0 0 2px #BEBEBE;
    box-shadow: 0 0 0 2px #BEBEBE;
    border-color: #BEBEBE; }

.form-control::-webkit-input-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control::-moz-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control:-ms-input-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control:-moz-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control[disabled], .form-control:disabled {
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  -o-opacity: 0.5;
  -ms-opacity: 0.5;
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; }

textarea {
  height: 180px;
  resize: none; }

/*** Responsive ios input ***/
@media only screen and (max-width: 991px) {
  select,
  textarea,
  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"] {
    font-size: 16px !important; } }

/*** Check Box  ***/
.cmn-checkbox {
  display: inline-block;
  position: relative;
  margin-bottom: 16px; }
  .cmn-checkbox:last-child {
    margin-bottom: 0; }
  .cmn-checkbox input {
    width: 0;
    height: 0;
    position: absolute;
    font-size: 0;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    -o-opacity: 0;
    -ms-opacity: 0;
    opacity: 0; }
    .cmn-checkbox input:checked + label::before {
      content: "";
      color: #fff;
      background: url("../../images/icons/royal-checked.svg") no-repeat center #0A1D2E; }
  .cmn-checkbox label {
    display: inline-block;
    padding-left: 40px;
    position: relative;
    cursor: pointer;
    color: #4B4B4B; }
    @media only screen and (max-width: 999px) {
      .cmn-checkbox label {
        padding-left: 30px; } }
    .cmn-checkbox label::before {
      content: "";
      position: absolute;
      left: 3px;
      top: 3px;
      width: 18px;
      height: 18px;
      border: 2px solid #4B4B4B;
      background-color: #fff;
      font-family: 'icomoon' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      color: #fff;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      text-indent: 3px;
      font-size: 12px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      -o-border-radius: 2px;
      border-radius: 2px; }

.cmn-checkbox input[disabled] + label, .cmn-checkbox input:disabled + label {
  cursor: not-allowed;
  pointer-events: none;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  -o-opacity: 0.5;
  -ms-opacity: 0.5;
  opacity: 0.5; }

/*** Radio Button  ***/
.cmn-radio {
  display: inline-block;
  position: relative;
  margin-right: 15px; }
  .cmn-radio input {
    width: 0;
    height: 0;
    position: absolute;
    font-size: 0;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    -o-opacity: 0;
    -ms-opacity: 0;
    opacity: 0; }
    .cmn-radio input:checked + label::before {
      background: url(../images/icons/royal-checked.svg) no-repeat center #0A1D2E; }
  .cmn-radio label {
    display: inline-block;
    padding-left: 30px;
    position: relative;
    cursor: pointer; }
    .cmn-radio label::before {
      content: "";
      position: absolute;
      left: 0;
      top: 2px;
      width: 18px;
      height: 18px;
      border: 1px solid #4B4B4B;
      background-color: #fff;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -o-border-radius: 50%;
      border-radius: 50%; }

.cmn-radio input[disabled] + label, .cmn-radio input:disabled + label {
  cursor: not-allowed;
  pointer-events: none;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  -o-opacity: 0.5;
  -ms-opacity: 0.5;
  opacity: 0.5; }

.control-col {
  width: 100%;
  padding: 0 16px;
  flex-direction: column; }
  .control-col.col-2 {
    width: 50%; }
    @media only screen and (max-width: 767px) {
      .control-col.col-2 {
        width: 100%; }
        .control-col.col-2:last-child {
          margin-top: 16px; } }

select.form-control {
  background-image: url("../../images/royal-Down.svg");
  background-repeat: no-repeat;
  background-position: calc(100% - 8px) center;
  padding: 7px 37px 7px 8px;
  font-size: 18px;
  line-height: 27px;
  font-weight: bold;
  color: #304E6C;
  min-width: 110px;
  border: none !important;
  box-shadow: none !important; }

/* Theme common Form Controls Style */
.sr-only-focusable {
  display: none; }

#header-nav {
  float: left;
  width: 100%; }

header {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: #0A1D2E;
  color: #fff;
  padding: 0;
  top: 0;
  left: 0;
  right: 0;
  position: fixed;
  z-index: 99; }
  @media only screen and (max-width: 999px) {
    header {
      padding: 10px 0;
      justify-content: center;
      min-height: 57px; } }
  header > .container {
    flex-direction: row;
    align-items: center;
    justify-content: space-between; }
    header > .container .navbar-logo-full {
      width: auto;
      max-width: 98px;
      float: left;
      margin-right: auto; }
      @media only screen and (max-width: 1400px) {
        header > .container .navbar-logo-full {
          max-width: 80px; } }
      @media only screen and (max-width: 999px) {
        header > .container .navbar-logo-full {
          max-width: 50px;
          position: absolute;
          top: 13px;
          left: 0;
          right: 0;
          margin: auto; } }
      header > .container .navbar-logo-full img {
        width: 100%;
        height: 60px; }
        @media only screen and (max-width: 1400px) {
          header > .container .navbar-logo-full img {
            height: 50px; } }
        @media only screen and (max-width: 999px) {
          header > .container .navbar-logo-full img {
            height: 30px; } }
    @media only screen and (max-width: 999px) {
      header > .container .main-menu-nav {
        display: none; } }
    @media only screen and (min-width: 1000px) {
      header > .container .main-menu-nav {
        display: inline-block !important; } }
    header > .container .main-menu-nav nav {
      display: inline-block;
      width: auto;
      flex-direction: column; }
      header > .container .main-menu-nav nav .header-menu-container {
        width: auto; }
        header > .container .main-menu-nav nav .header-menu-container ul {
          margin: 0;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          width: auto;
          flex-direction: row; }
          header > .container .main-menu-nav nav .header-menu-container ul * {
            -webkit-transition: all 0.4s ease;
            -moz-transition: all 0.4s ease;
            -ms-transition: all 0.4s ease;
            -o-transition: all 0.4s ease;
            transition: all 0.4s ease; }
          header > .container .main-menu-nav nav .header-menu-container ul li {
            margin: 0;
            padding: 0; }
            header > .container .main-menu-nav nav .header-menu-container ul li::before {
              display: none; }
            @media only screen and (min-width: 1000px) {
              header > .container .main-menu-nav nav .header-menu-container ul li:hover > ul.dropdown-menu,
              header > .container .main-menu-nav nav .header-menu-container ul li:hover .custom-ul {
                -webkit-opacity: 1;
                -moz-opacity: 1;
                -o-opacity: 1;
                -ms-opacity: 1;
                opacity: 1;
                pointer-events: auto; } }
            header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex; }
              @media only screen and (min-width: 1000px) {
                header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
                  width: 240px;
                  position: absolute;
                  left: 0;
                  flex-direction: column;
                  -webkit-opacity: 0;
                  -moz-opacity: 0;
                  -o-opacity: 0;
                  -ms-opacity: 0;
                  opacity: 0;
                  pointer-events: none;
                  background: #0A1D2E;
                  padding: 20px 0;
                  border-top: 1px solid #636E78; } }
              @media only screen and (max-width: 999px) {
                header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
                  padding-top: 15px;
                  padding-bottom: 0;
                  -webkit-transition: none;
                  -moz-transition: none;
                  -o-transition: none;
                  transition: none; } }
              header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li {
                padding: 10px 30px; }
                @media only screen and (max-width: 999px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li {
                    padding: 0 50px;
                    margin-bottom: 10px; } }
                @media only screen and (max-width: 999px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li a {
                    color: #fff; } }
                @media only screen and (min-width: 1000px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li a {
                    color: #E8EAEB;
                    font-size: 16px;
                    display: inline-block; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li a:hover {
                      color: #B59038; } }
            header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul {
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              width: 100%; }
              @media only screen and (min-width: 1000px) {
                header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul {
                  -webkit-opacity: 0;
                  -moz-opacity: 0;
                  -o-opacity: 0;
                  -ms-opacity: 0;
                  opacity: 0;
                  pointer-events: none;
                  background: #0A1D2E;
                  border-top: 1px solid #636E78;
                  position: absolute;
                  left: 0;
                  right: 0;
                  top: 100%;
                  background-color: #0A1D2E;
                  border-top: 1px solid #636E78;
                  flex-direction: column;
                  max-height: calc(100vh - 107px);
                  overflow-y: auto; } }
              header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level {
                margin: 0 auto;
                flex-direction: row;
                flex-wrap: wrap;
                max-width: 1200px;
                width: 100%;
                padding: 15px 0; }
                @media only screen and (max-width: 1400px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level {
                    padding: 7px 0; } }
                header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
                  width: 37.5%;
                  display: -ms-flexbox;
                  display: -webkit-flex;
                  display: flex;
                  flex-direction: column;
                  padding: 15px 30px; }
                  @media only screen and (max-width: 1400px) {
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
                      padding: 5px 30px; } }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li:nth-child(3n) {
                    width: 25%; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li:nth-child(3n) > ul.dropdown-menu-third-level > li {
                      width: 100%; }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > a {
                    color: #B59038;
                    padding: 0;
                    border: none;
                    text-transform: uppercase;
                    font-weight: bold; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > a:hover {
                      background-color: transparent; }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    padding: 0;
                    margin: 0 -15px;
                    border: none; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li {
                      width: 50%;
                      margin-top: 20px;
                      padding: 0 15px; }
                      @media only screen and (max-width: 1400px) {
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li {
                          margin-top: 10px; } }
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li > a {
                        padding: 0;
                        color: #E8EAEB; }
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li > a:hover {
                          color: #B59038; }
                          @media only screen and (max-width: 999px) {
                            header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li > a:hover {
                              color: #fff; } }
              header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat {
                width: 100%;
                background-color: #0B1724;
                padding: 30px 0; }
                @media only screen and (max-width: 1400px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat {
                    padding: 15px 0; } }
                header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container {
                  max-width: 1246px; }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul {
                    flex-wrap: wrap;
                    margin: 0 -15px; }
                    @media only screen and (max-width: 767px) {
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul {
                        flex-direction: column; } }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li {
                      display: -ms-flexbox;
                      display: -webkit-flex;
                      display: flex;
                      flex-direction: row;
                      width: 33.33%;
                      align-items: center;
                      justify-content: space-between;
                      padding: 0 15px; }
                      @media only screen and (max-width: 767px) {
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li {
                          width: 100%;
                          padding: 5px 15px; } }
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li figure {
                        width: 160px; }
                        @media only screen and (max-width: 1400px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li figure {
                            width: 110px; } }
                        @media only screen and (max-width: 999px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li figure {
                            width: 80px; } }
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content {
                        color: #fff;
                        width: calc(100% - 180px); }
                        @media only screen and (max-width: 1400px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content {
                            width: calc(100% - 130px); } }
                        @media only screen and (max-width: 999px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content {
                            width: calc(100% - 100px); } }
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content a {
                          color: #B59038; }
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content p {
                          margin: 0; }
        header > .container .main-menu-nav nav .header-menu-container > ul > li {
          margin: 0 15px; }
          header > .container .main-menu-nav nav .header-menu-container > ul > li:first-child {
            position: static; }
            header > .container .main-menu-nav nav .header-menu-container > ul > li:first-child > a {
              position: relative; }
          @media only screen and (min-width: 1000px) {
            header > .container .main-menu-nav nav .header-menu-container > ul > li:hover > a::after {
              width: 100%;
              left: 0;
              right: auto; } }
          header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
            color: #fff;
            font-size: 18px;
            line-height: 27px;
            font-weight: bold;
            padding: 40px 15px;
            display: inline-block;
            -webkit-transition: all 0.4s ease;
            -moz-transition: all 0.4s ease;
            -ms-transition: all 0.4s ease;
            -o-transition: all 0.4s ease;
            transition: all 0.4s ease; }
            @media only screen and (max-width: 1400px) {
              header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
                font-size: 16px;
                line-height: 24px; } }
            @media only screen and (max-width: 1400px) {
              header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
                padding: 25px 15px; } }
            @media only screen and (min-width: 1000px) {
              header > .container .main-menu-nav nav .header-menu-container > ul > li > a::after {
                content: "";
                height: 5px;
                background-color: #B59038;
                width: 0;
                position: absolute;
                right: 0;
                bottom: 0;
                margin: 0 auto;
                -webkit-transition: all 0.4s ease;
                -moz-transition: all 0.4s ease;
                -ms-transition: all 0.4s ease;
                -o-transition: all 0.4s ease;
                transition: all 0.4s ease; } }
    header > .container .header-buttons {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-left: auto;
      float: right; }
      header > .container .header-buttons > .header-button {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        margin-left: 40px;
        position: relative; }
        @media only screen and (max-width: 1400px) {
          header > .container .header-buttons > .header-button {
            margin-left: 18px; } }
        @media only screen and (max-width: 359px) {
          header > .container .header-buttons > .header-button {
            margin-left: 12px; } }
        @media only screen and (min-width: 1000px) {
          header > .container .header-buttons > .header-button::after {
            content: "";
            position: absolute;
            left: -12px;
            right: -12px;
            top: -43px;
            bottom: -43px;
            z-index: 0;
            cursor: pointer; } }
        @media only screen and (min-width: 1000px) {
          header > .container .header-buttons > .header-button:hover .header-dropdown {
            -webkit-opacity: 1;
            -moz-opacity: 1;
            -o-opacity: 1;
            -ms-opacity: 1;
            opacity: 1;
            pointer-events: auto;
            display: block !important; } }
        header > .container .header-buttons > .header-button .cart-count {
          font-family: 'Europa', sans-serif;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 50%;
          background-color: #B59038;
          color: #0A1D2E;
          height: 20px;
          width: 20px;
          position: absolute;
          top: -10px;
          right: -10px;
          font-size: 14px;
          font-weight: bold; }
        header > .container .header-buttons > .header-button.sample-box .cart-count {
          top: -14px; }
        header > .container .header-buttons > .header-button > a,
        header > .container .header-buttons > .header-button > span {
          color: #fff;
          font-size: 24px;
          -webkit-transition: all 0.4s ease;
          -moz-transition: all 0.4s ease;
          -ms-transition: all 0.4s ease;
          -o-transition: all 0.4s ease;
          transition: all 0.4s ease;
          position: relative;
          z-index: 1; }
          @media only screen and (max-width: 1400px) {
            header > .container .header-buttons > .header-button > a,
            header > .container .header-buttons > .header-button > span {
              font-size: 20px; } }
          header > .container .header-buttons > .header-button > a.icon-royal-user, header > .container .header-buttons > .header-button > a.icon-royal-sample-box,
          header > .container .header-buttons > .header-button > span.icon-royal-user,
          header > .container .header-buttons > .header-button > span.icon-royal-sample-box {
            font-size: 20px; }
            @media only screen and (max-width: 1400px) {
              header > .container .header-buttons > .header-button > a.icon-royal-user, header > .container .header-buttons > .header-button > a.icon-royal-sample-box,
              header > .container .header-buttons > .header-button > span.icon-royal-user,
              header > .container .header-buttons > .header-button > span.icon-royal-sample-box {
                font-size: 16px; } }
          header > .container .header-buttons > .header-button > a:hover,
          header > .container .header-buttons > .header-button > span:hover {
            color: #B59038; }
        header > .container .header-buttons > .header-button:first-child {
          margin-left: 0; }
        header > .container .header-buttons > .header-button.site-admin {
          cursor: pointer; }

.header-dropdown {
  text-align: right;
  display: none;
  top: 63px;
  width: 200px;
  background: #0A1D2E;
  border-top: 1px solid #636E78;
  position: absolute;
  right: -50px;
  background-color: #0A1D2E;
  border-top: 1px solid #636E78;
  padding: 15px 0; }
  @media only screen and (max-width: 1400px) {
    .header-dropdown {
      top: 45px; } }
  @media only screen and (max-width: 999px) {
    .header-dropdown {
      top: 36px; } }
  @media only screen and (min-width: 1000px) {
    .header-dropdown {
      -webkit-opacity: 0;
      -moz-opacity: 0;
      -o-opacity: 0;
      -ms-opacity: 0;
      opacity: 0;
      pointer-events: none;
      -webkit-transition: all 0.4s ease;
      -moz-transition: all 0.4s ease;
      -ms-transition: all 0.4s ease;
      -o-transition: all 0.4s ease;
      transition: all 0.4s ease; } }
  .header-dropdown ul {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0; }
    .header-dropdown ul li {
      padding: 10px 30px;
      width: 100%; }
      .header-dropdown ul li a {
        color: #fff;
        display: block;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        -ms-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
        transition: all 0.4s ease; }
        .header-dropdown ul li a:hover {
          color: #B59038; }

.mobile-menu {
  display: none; }
  @media only screen and (max-width: 999px) {
    .mobile-menu {
      display: block;
      color: #fff;
      font-size: 0;
      scale: 1.6; }
      .mobile-menu::before {
        font-size: 24px; } }

@media only screen and (max-width: 999px) {
  header > .container .main-menu-nav {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 85px;
    background-color: #0B1724;
    height: calc(100vh - 85px);
    overflow-y: auto; }
    header > .container .main-menu-nav nav {
      display: flex;
      width: 100%;
      flex-direction: column; }
      header > .container .main-menu-nav nav .header-menu-container {
        width: 100%;
        display: flex;
        flex-direction: column; }
        header > .container .main-menu-nav nav .header-menu-container > ul {
          flex-direction: column; }
          header > .container .main-menu-nav nav .header-menu-container > ul > li {
            margin: 0; }
            header > .container .main-menu-nav nav .header-menu-container > ul > li.menu-item-has-children > a::after {
              content: "+";
              position: absolute;
              right: 30px;
              font-size: 30px;
              font-weight: 500;
              top: 10px; }
            header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
              padding: 15px 40px 15px 25px;
              border-top: 1px solid #636E78;
              width: 100%; }
        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul,
        header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
          display: none; }
        header > .container .main-menu-nav nav .header-menu-container ul li.menu-expand > a::after {
          content: "-"; }
        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level {
          border-bottom: 1px solid #636E78; }
          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
            width: 100% !important;
            padding: 5px 50px; }
  header.header-expand .mobile-menu.icon-royal-menu::before {
    content: "\e908"; } }

@media only screen and (max-width: 767px) {
  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
    width: 100% !important;
    padding: 5px 25px; }
  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li {
    padding: 0 25px; }
  header > .container .main-menu-nav nav .header-menu-container > ul > li.menu-item-has-children > a::after {
    right: 15px; } }

.sampleRequestContainer {
  position: absolute;
  z-index: 998;
  top: 105px;
  width: 550px;
  max-width: 97vw;
  display: none; }
  .sampleRequestContainer .sampleRequestBody {
    width: 100%;
    max-height: 515px;
    min-height: 515px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-box-shadow: 4px 4px 5px rgba(35, 35, 35, 0.2);
    box-shadow: 4px 4px 5px rgba(35, 35, 35, 0.2);
    background: #fff;
    margin-top: 8px;
    padding: 15px;
    border: 1px solid #efefef;
    color: #0A1D2E; }
    @media only screen and (max-width: 767px) {
      .sampleRequestContainer .sampleRequestBody {
        padding-top: 50px;
        margin-top: 0; } }
    .sampleRequestContainer .sampleRequestBody table thead tr th {
      padding-bottom: 10px;
      border-bottom: 4px solid #B59038;
      font-size: 24px;
      line-height: 29px;
      font-weight: 700;
      margin-bottom: 30px; }
    .sampleRequestContainer .sampleRequestBody table tbody tr td .emptySampleMessage {
      text-align: center;
      padding-top: 15px; }
    .sampleRequestContainer .sampleRequestBody .windowCloseText {
      font-size: 0; }
      .sampleRequestContainer .sampleRequestBody .windowCloseText .dashicons-no {
        color: #fff !important;
        background-color: #B59038;
        width: 30px;
        height: 30px;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        position: absolute;
        top: 0px;
        right: -10px;
        z-index: 10; }
        @media only screen and (max-width: 767px) {
          .sampleRequestContainer .sampleRequestBody .windowCloseText .dashicons-no {
            top: 20px;
            right: 15px;
            border-radius: 0; } }
    .sampleRequestContainer .sampleRequestBody .sampleRequestOptions-header {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      gap: 20px;
      justify-content: center;
      flex-wrap: wrap; }
      .sampleRequestContainer .sampleRequestBody .sampleRequestOptions-header .btn {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center; }
  .sampleRequestContainer .arrow-up {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 10px solid #fefefe;
    right: 39%;
    position: absolute;
    z-index: 99998;
    margin-bottom: 1px; }
    @media only screen and (max-width: 767px) {
      .sampleRequestContainer .arrow-up {
        display: none; } }

#globalNoticeHeader {
  position: fixed;
  top: 0;
  width: 100%;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #b79220;
  color: #fff;
  overflow: hidden; }

.login_overlay {
  height: 100%;
  width: 100%;
  background-color: #f6f6f6;
  opacity: .9;
  position: fixed;
  z-index: 998; }

#modal-login {
  display: none;
  background-color: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: auto;
  width: 25rem;
  max-width: 100%;
  padding: 3rem 2rem;
  -webkit-box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15);
  box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15); }
  @media only screen and (max-width: 575px) {
    #modal-login {
      max-width: 90%; } }

.modal {
  z-index: 1050;
  overflow: hidden;
  outline: 0;
  margin: 0 auto; }
  .modal .position-relative {
    position: relative; }
    .modal .position-relative .close-modal {
      display: block;
      width: 25px;
      height: 25px;
      background-size: cover;
      background-repeat: no-repeat;
      margin-bottom: 0;
      position: absolute;
      right: 0;
      top: -1.5rem; }
  .modal .lost_password a {
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    color: #304E6C; }
    @media only screen and (max-width: 1400px) {
      .modal .lost_password a {
        font-size: 18px;
        line-height: 24px; } }
    .modal .lost_password a:hover {
      color: #000;
      text-decoration: underline; }
  .modal .form-group {
    position: relative;
    margin-bottom: 30px;
    list-style: none; }
    .modal .form-group label {
      font-size: 17px;
      color: #4B4B4B;
      left: calc(0.5rem + 8px);
      max-width: 100%;
      overflow-x: hidden;
      padding: 0;
      position: absolute;
      right: calc(32px + 0.5rem);
      text-overflow: ellipsis;
      top: 4px;
      white-space: nowrap;
      z-index: 1; }
    .modal .form-group .form-control {
      border: 1px solid #304E6C;
      min-height: 4.1rem;
      height: calc(2.25rem + 2px);
      padding: 2rem 0.5rem 0.5rem 1.1rem;
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5;
      background-clip: padding-box;
      overflow: visible; }
  .modal .form-check {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-bottom: 30px; }
    .modal .form-check input#rememberme {
      width: 18px;
      height: 18px;
      margin-right: 10px;
      vertical-align: text-bottom;
      padding: 0;
      position: absolute;
      border: 0;
      opacity: 0;
      z-index: 99999;
      cursor: pointer; }
      .modal .form-check input#rememberme:checked + label::before {
        content: "";
        color: #fff;
        background: url("../../images/icons/royal-checked.svg") no-repeat center #0A1D2E; }
    .modal .form-check label.inline {
      padding-left: 36px;
      position: relative; }
      .modal .form-check label.inline::before {
        content: "";
        position: absolute;
        left: 3px;
        top: 3px;
        width: 18px;
        height: 18px;
        border: 2px solid #4B4B4B;
        background-color: #fff;
        font-family: 'icomoon' !important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #fff;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        text-indent: 3px;
        font-size: 12px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -o-border-radius: 2px;
        border-radius: 2px; }
  .modal .form-submit-blue {
    background-color: #304E6C;
    color: #fff;
    padding: 8px 20px;
    font-size: 16px;
    line-height: 24px;
    font-weight: bold; }
    .modal .form-submit-blue:hover {
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #304E6C; }

.sidebar-wrap.active-sidebar .sidebar-inner-wrap, .sidebar-wrap.active-shopping-cart .sidebar-inner-wrap {
  -o-transform: translateX(0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  -moz-transform: translateX(0);
  transform: translateX(0); }

.sidebar-wrap.active-sidebar .sidebar-overlay, .sidebar-wrap.active-shopping-cart .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  height: 100vh;
  max-height: 100vh;
  padding: 0px;
  margin: 0px; }

@media only screen and (max-width: 767px) {
  .sidebar-wrap.shopping-cart-sidebar .sidebar-body {
    height: calc(100vh - 213px); } }

.sidebar-wrap.shopping-cart-sidebar .shipping-information {
  background-color: #EFF7FC;
  margin: 24px;
  padding: 16px;
  color: #4B4B4B; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap.shopping-cart-sidebar .shipping-information {
      margin: 16px 20px;
      padding: 10px; } }
  .sidebar-wrap.shopping-cart-sidebar .shipping-information .icon-royal-truck {
    margin-right: 12px; }

.sidebar-wrap.shopping-cart-sidebar .shipping-product-item {
  padding: 20px 24px;
  border-bottom: 1px solid #E8EAEB; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item {
      padding: 16px 20px; } }
  .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top {
    margin-bottom: 16px; }
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-left {
      width: 100%;
      max-width: 80px;
      line-height: 0;
      margin-right: 16px; }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-left img {
        width: 80px;
        height: 80px;
        object-fit: cover; }
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right {
      padding-right: 40px;
      position: relative;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right {
          padding-right: 25px; } }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .shipping-product-title {
        font-weight: bold;
        margin-bottom: 4px;
        color: #304E6C; }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .remove-product {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 18px;
        line-height: 0;
        color: #CF1717;
        width: 24px;
        height: 24px; }
        @media only screen and (max-width: 767px) {
          .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .remove-product {
            width: 20px;
            height: 20px;
            font-size: 16px; } }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .shipping-rny {
        font-weight: 400;
        color: #4B4B4B; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-bottom {
      align-items: flex-start; } }
  .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter {
    max-width: 100px;
    margin-right: 20px; }
  .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter-bar {
    align-items: center;
    margin-right: 15px; }
    @media only screen and (max-width: 767px) {
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter-bar {
        margin-right: 0;
        margin-bottom: 15px; } }
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter-bar .price-bar p span {
      font-weight: normal; }

@media only screen and (max-width: 767px) {
  .sidebar-wrap.shopping-cart-sidebar .sidebar-footer .cart-total-wrap {
    margin-bottom: 15px;
    margin-right: 0; } }

.sidebar-wrap .sidebar-inner-wrap {
  position: fixed;
  top: 0px;
  background-color: #fff;
  z-index: 999999;
  height: 100%;
  right: 0;
  width: 100%;
  max-width: 540px;
  -o-transform: translateX(100%);
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -moz-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.sidebar-wrap .sidebar-overlay {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.4);
  left: 0;
  width: 100%;
  height: 100%;
  right: 0;
  bottom: 0;
  z-index: 99;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden; }

.sidebar-wrap .sidebar-header {
  background-color: #0A1D2E;
  color: #fff;
  padding: 16px 24px; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap .sidebar-header {
      padding: 16px 20px; } }
  .sidebar-wrap .sidebar-header h4 {
    margin-bottom: 0; }
    .sidebar-wrap .sidebar-header h4 .icon-royal-cart {
      margin-right: 15px; }
  .sidebar-wrap .sidebar-header .sidebar-close {
    width: 28px;
    height: 28px;
    margin-left: 15px; }
    .sidebar-wrap .sidebar-header .sidebar-close .icon-royal-close {
      color: #fff;
      font-size: 28px;
      font-weight: bold; }

.sidebar-wrap .sidebar-body {
  height: calc(100vh - 140px);
  overflow-y: auto;
  /* Firefox */
  /* Chrome, Edge, and Safari */ }
  .sidebar-wrap .sidebar-body {
    scrollbar-width: auto;
    scrollbar-color: #0A1D2E #fff; }
  .sidebar-wrap .sidebar-body::-webkit-scrollbar {
    width: 6px; }
  .sidebar-wrap .sidebar-body::-webkit-scrollbar-track {
    background: transparent; }
  .sidebar-wrap .sidebar-body::-webkit-scrollbar-thumb {
    background-color: #AFAFAF;
    border-radius: 10px; }
  @media only screen and (max-width: 1400px) {
    .sidebar-wrap .sidebar-body {
      height: calc(100vh - 179px); } }
  @media only screen and (max-width: 999px) {
    .sidebar-wrap .sidebar-body {
      height: calc(100vh - 175px); } }
  .sidebar-wrap .sidebar-body .counter {
    border: 1px solid #BEBEBE;
    background: #fff;
    padding: 8px 12px;
    max-width: 120px;
    width: 100%;
    margin-right: 24px;
    align-items: center;
    height: 40px; }
    .sidebar-wrap .sidebar-body .counter input[type="text"] {
      width: 100%;
      border: 0;
      text-align: center;
      font-size: 16px;
      line-height: 24px; }
    .sidebar-wrap .sidebar-body .counter span {
      cursor: pointer; }
      .sidebar-wrap .sidebar-body .counter span.down, .sidebar-wrap .sidebar-body .counter span.down_quantity {
        font-size: 1.9px; }
      .sidebar-wrap .sidebar-body .counter span.up, .sidebar-wrap .sidebar-body .counter span.up_quantity {
        font-size: 11.1px; }
  .sidebar-wrap .sidebar-body .counter-bar {
    align-items: center; }
    .sidebar-wrap .sidebar-body .counter-bar .price-bar p {
      margin: 0;
      font-weight: bold; }
      .sidebar-wrap .sidebar-body .counter-bar .price-bar p span {
        color: #4B4B4B; }
  .sidebar-wrap .sidebar-body .line-total-wrap .line-total-title {
    margin-right: 8px; }
  .sidebar-wrap .sidebar-body .line-total-wrap .line-total-price {
    font-weight: 400; }

.sidebar-wrap .sidebar-footer {
  padding: 16px 24px;
  align-items: center;
  border-top: 1px solid #BEBEBE; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap .sidebar-footer {
      padding: 16px 20px; } }
  .sidebar-wrap .sidebar-footer .cart-total-wrap {
    margin-bottom: 0;
    margin-right: 15px; }
    .sidebar-wrap .sidebar-footer .cart-total-wrap .cart-total-label {
      margin-right: 8px; }
    .sidebar-wrap .sidebar-footer .cart-total-wrap .cart-total-price {
      font-weight: 400; }

.frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.frac-pop-up-close:hover {
  background-color: #ff6464; }

.non-us-frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.non-us-frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.non-us-frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.non-us-frac-pop-up-close:hover {
  background-color: #ff6464; }

/* Style For Header */
footer {
  background-color: #0B1724;
  color: #fff;
  position: relative; }
  footer a {
    color: #fff; }
  footer .instagram-feeds {
    float: left;
    width: 100%;
    padding: 10px 0; }
    @media only screen and (max-width: 1400px) {
      footer .instagram-feeds {
        padding: 5px 0; } }
    @media only screen and (max-width: 767px) {
      footer .instagram-feeds {
        padding: 1px 0; } }
  footer .news-letter-source {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px 0; }
    @media only screen and (max-width: 1400px) {
      footer .news-letter-source {
        padding: 10px 0; } }
    @media only screen and (max-width: 767px) {
      footer .news-letter-source {
        padding: 5px 0; } }
    footer .news-letter-source div#newsletterForm {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      width: 100%;
      flex-direction: row;
      justify-content: space-between;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        footer .news-letter-source div#newsletterForm {
          flex-direction: column;
          align-items: flex-start; } }
      footer .news-letter-source div#newsletterForm .newsletterForm_heading {
        width: 100%;
        max-width: 500px;
        float: left; }
        @media only screen and (max-width: 1199px) {
          footer .news-letter-source div#newsletterForm .newsletterForm_heading {
            max-width: 350px; } }
        @media only screen and (max-width: 767px) {
          footer .news-letter-source div#newsletterForm .newsletterForm_heading {
            max-width: 100%;
            margin-bottom: 20px; } }
        footer .news-letter-source div#newsletterForm .newsletterForm_heading h4 {
          margin: 0;
          color: #B59038;
          text-transform: none; }
        footer .news-letter-source div#newsletterForm .newsletterForm_heading p {
          margin: 0;
          width: 100%; }
      footer .news-letter-source div#newsletterForm .newsletterForm_body.newsletterForm-body {
        width: 100%;
        max-width: 480px;
        float: right; }
  footer .ginput_container.ginput_container_email {
    width: 100%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch; }
    footer .ginput_container.ginput_container_email input#newsletterEmail {
      width: calc(100% - 115px); }
  footer .footer-links {
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: space-between; }
    @media only screen and (max-width: 1400px) {
      footer .footer-links {
        padding: 10px 0; } }
    @media only screen and (max-width: 767px) {
      footer .footer-links {
        padding: 5px 0;
        flex-direction: column; } }
    footer .footer-links .royal-info {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: 200px; }
      @media only screen and (max-width: 767px) {
        footer .footer-links .royal-info {
          max-width: 100%; } }
      footer .footer-links .royal-info #footer-colophon {
        max-width: 148px; }
        @media only screen and (max-width: 1400px) {
          footer .footer-links .royal-info #footer-colophon {
            max-width: 100px; } }
      footer .footer-links .royal-info .follow-on {
        float: left;
        width: 100%;
        margin: 23px 0 30px 0;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center; }
        @media only screen and (max-width: 1199px) {
          footer .footer-links .royal-info .follow-on {
            margin: 20px 0 20px 0; } }
        footer .footer-links .royal-info .follow-on address {
          width: 100%;
          display: inline-block; }
        footer .footer-links .royal-info .follow-on em {
          color: #B59038;
          font-size: 22px;
          margin-right: 10px; }
      footer .footer-links .royal-info address {
        color: #E8EAEB; }
    footer .footer-links .footer-link-wrap {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      width: calc(100% - 270px); }
      @media only screen and (max-width: 1599px) {
        footer .footer-links .footer-link-wrap {
          width: calc(100% - 80px); } }
      @media only screen and (max-width: 1199px) {
        footer .footer-links .footer-link-wrap {
          width: calc(100% - 0px); } }
      @media only screen and (max-width: 999px) {
        footer .footer-links .footer-link-wrap {
          width: calc(100% - 0px); } }
      @media only screen and (max-width: 767px) {
        footer .footer-links .footer-link-wrap {
          width: 100%; } }
      footer .footer-links .footer-link-wrap .menu-footer-container {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        width: 100%; }
        footer .footer-links .footer-link-wrap .menu-footer-container ul li {
          padding: 0;
          margin: 0;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          flex-direction: column; }
          footer .footer-links .footer-link-wrap .menu-footer-container ul li::before {
            display: none; }
          footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul {
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            flex-direction: column;
            width: 100%;
            margin: 0;
            padding: 0; }
            footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul > li {
              margin: 12px 0 0;
              padding: 0; }
              @media only screen and (max-width: 767px) {
                footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul > li {
                  margin-top: 5px; } }
              footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul > li a:hover {
                color: #B59038; }
        footer .footer-links .footer-link-wrap .menu-footer-container > ul {
          margin: 0;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          flex-direction: row;
          width: 100%;
          margin: 0;
          padding: 0;
          justify-content: space-between;
          flex-wrap: wrap; }
          @media only screen and (max-width: 767px) {
            footer .footer-links .footer-link-wrap .menu-footer-container > ul > li {
              margin-top: 30px; } }
          @media only screen and (max-width: 575px) {
            footer .footer-links .footer-link-wrap .menu-footer-container > ul > li {
              width: 50%; } }
          footer .footer-links .footer-link-wrap .menu-footer-container > ul > li:first-child {
            padding: 0; }
          footer .footer-links .footer-link-wrap .menu-footer-container > ul > li > a {
            color: #B59038;
            margin-bottom: 8px;
            text-transform: uppercase;
            font-weight: bold; }
  footer .copyright-royal {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0; }
    @media only screen and (max-width: 1400px) {
      footer .copyright-royal {
        padding: 10px 0; } }
    @media only screen and (max-width: 767px) {
      footer .copyright-royal {
        padding: 5px 0; } }
    @media only screen and (max-width: 575px) {
      footer .copyright-royal {
        flex-direction: column; } }
    footer .copyright-royal .menu-footer-bottom-menu-container ul {
      margin: 0;
      padding: 0;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center; }
      footer .copyright-royal .menu-footer-bottom-menu-container ul li {
        padding: 0;
        margin: 0 0 0px 25px; }
        footer .copyright-royal .menu-footer-bottom-menu-container ul li::before {
          display: none; }
        footer .copyright-royal .menu-footer-bottom-menu-container ul li:first-child {
          margin-left: 0; }
        footer .copyright-royal .menu-footer-bottom-menu-container ul li a {
          text-decoration: underline; }
          footer .copyright-royal .menu-footer-bottom-menu-container ul li a:hover {
            text-decoration: none; }
  footer::before {
    content: "";
    background: url(../../images/footer-bg.svg) bottom left repeat-x transparent;
    height: 13px;
    width: 100%;
    position: absolute;
    top: -13px; }
    @media only screen and (max-width: 1199px) {
      footer::before {
        background-position: center bottom;
        top: -12px; } }
  footer .FeedGridLayout__grid {
    column-gap: 45px !important; }
    @media only screen and (max-width: 1199px) {
      footer .FeedGridLayout__grid {
        column-gap: 20px !important; } }
    @media only screen and (max-width: 768px) {
      footer .FeedGridLayout__grid {
        column: 15px !important; } }
  footer .MediaTile__overlay .MediaOverlay__rows .MediaOverlay__bottom-row {
    display: none; }
  footer .MediaTile__type-icon {
    display: none; }

/* Style For Footer */
.frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.frac-pop-up-close:hover {
  background-color: #ff6464; }

.non-us-frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.non-us-frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.non-us-frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.non-us-frac-pop-up-close:hover {
  background-color: #ff6464; }

/*** Common Library ***/
.ui-accordion .ui-accordion-header .ui-icon {
  display: none !important; }

#login, .company-address, #AddToFavoritesWindow, #server-id {
  display: none !important; }

h2.text-capitalize.text-center.form-heading {
  width: 100%;
  height: 125px;
  background-color: #0A1D2E;
  padding: 22px;
  margin: 0px;
  left: 0;
  right: 0; }

.section {
  margin-top: 1px !important; }

ul, ul li {
  margin-bottom: 0px !important; }

ul {
  margin-bottom: 0px !important;
  padding-bottom: 0px; }

.section.account_nav_section {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  .section.account_nav_section .container {
    padding-left: 0;
    padding-right: 0; }
  .section.account_nav_section .account-nav-container {
    overflow: hidden;
    width: 100%; }
    .section.account_nav_section .account-nav-container .account-nav {
      min-width: 100%;
      display: flex;
      flex-flow: row wrap;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      margin-top: 30px;
      justify-content: center; }
      .section.account_nav_section .account-nav-container .account-nav::-webkit-scrollbar {
        display: none; }
      .section.account_nav_section .account-nav-container .account-nav button {
        font-size: .9rem;
        width: 100%; }
      .section.account_nav_section .account-nav-container .account-nav .account-link {
        padding: 0rem;
        flex-grow: 0;
        width: 100%; }
        .section.account_nav_section .account-nav-container .account-nav .account-link:hover, .section.account_nav_section .account-nav-container .account-nav .account-link:active {
          color: #b79220; }
          .section.account_nav_section .account-nav-container .account-nav .account-link:hover > a, .section.account_nav_section .account-nav-container .account-nav .account-link:active > a {
            color: #b79220;
            text-decoration: none; }
        .section.account_nav_section .account-nav-container .account-nav .account-link a {
          font-size: 1.1rem;
          display: block;
          padding: 5px 10px; }
      .section.account_nav_section .account-nav-container .account-nav .is-active {
        color: #b79220;
        border-bottom: 4px solid #b79220; }
        .section.account_nav_section .account-nav-container .account-nav .is-active > a {
          color: #b79220;
          text-decoration: none; }

.section-profile {
  background-color: #eff7fc; }
  .section-profile h1 {
    overflow-wrap: break-word; }
  .section-profile .profile-details,
  .section-profile .profile-address,
  .section-profile .profile-bill-ship {
    padding-top: 2rem;
    padding-bottom: 1rem; }
    .section-profile .profile-details .h4,
    .section-profile .profile-address .h4,
    .section-profile .profile-bill-ship .h4 {
      padding-bottom: 0.5rem;
      border-bottom: 1px solid #90969f; }
  .section-profile .profile-bill-ship .label {
    font-size: 1rem; }

.section-orders {
  background-color: #ffffff; }
  .section-orders .panel {
    border: 1px solid #90969f;
    padding: 2rem;
    margin-bottom: 2rem;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: center; }
    .section-orders .panel ul {
      list-style: none;
      padding-left: 0;
      margin-bottom: 0;
      margin-bottom: 1rem;
      width: 100%; }
      .section-orders .panel ul li {
        display: flex;
        width: 100%;
        justify-content: space-between;
        border-bottom: 1px solid #90969f;
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
        font-size: 1.1rem;
        color: #304f6c;
        font-weight: bold; }
      .section-orders .panel ul p {
        display: block;
        width: 100%;
        color: #304f6c;
        margin-bottom: 0.2rem;
        font-size: 1rem; }
      .section-orders .panel ul a {
        color: #304f6c;
        font-weight: bold;
        display: block; }
        .section-orders .panel ul a:hover {
          text-decoration: none !important; }
    .section-orders .panel .alert {
      width: 25%;
      text-align: center; }
    .section-orders .panel p.text-red-alert {
      color: #a11c18; }
    .section-orders .panel p.text-orange-alert {
      color: #dd6e00; }
    .section-orders .panel .stacked {
      margin-bottom: 2rem; }
      .section-orders .panel .stacked li {
        flex-flow: column nowrap;
        margin-bottom: 0.5rem;
        padding-bottom: 0.5rem; }
      .section-orders .panel .stacked a {
        text-decoration: none; }
      .section-orders .panel .stacked li > p {
        font-weight: normal; }
    .section-orders .panel button {
      padding: 0.875em 2.5rem;
      min-width: 10rem; }
      .section-orders .panel button:hover {
        text-decoration: none !important; }

.section-marketing {
  background-color: #ffffff; }

.panel-pdf {
  border: 1px solid #e8eaeb;
  padding: 2rem 2rem 0 2rem;
  margin-bottom: 2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
  box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15);
  height: 100%;
  min-width: 20%;
  margin-bottom: 2rem; }
  .panel-pdf a {
    margin-bottom: 2rem;
    font-size: 1.3rem;
    line-height: 27px; }

.section-trader {
  background-color: #eff7fc;
  border-image-repeat: stretch;
  border-style: solid;
  border-image-source: url("../img/rough-edge-white.svg");
  -webkit-border-image-source: url("../img/rough-edge-white.svg");
  border-image-source: url("../img/rough-edge-light-blue.svg");
  -webkit-border-image-source: url("../img/rough-edge-light-blue.svg");
  border-image-width: 32px 0 0 0;
  border-image-outset: 19px 0 0 0;
  border-image-slice: 24; }
  @media (min-width: 576px) {
    .section-trader {
      border-image-outset: 23px 0 0 0;
      border-image-slice: 31; } }
  @media (min-width: 1600px) {
    .section-trader {
      border-image-outset: 23px 0 0 0;
      border-image-slice: 50; } }
  .section-trader .trader {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center; }
  .section-trader .trader-info {
    text-align: center; }
    .section-trader .trader-info h2 {
      margin-bottom: 2rem; }
    .section-trader .trader-info a {
      font-size: 1.1rem; }

.section.section-marketing-header,
.section.section-reserves-header,
.section.section-orders-header {
  padding-top: 0;
  padding-bottom: 1rem; }
  .section.section-marketing-header h1,
  .section.section-reserves-header h1,
  .section.section-orders-header h1 {
    margin-bottom: 2rem;
    text-align: center; }

.filtering {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start; }
  .filtering p {
    display: block;
    width: auto;
    margin-bottom: 0.5rem;
    margin-right: 1rem; }
  .filtering .form-control {
    width: 100%;
    min-height: 3rem; }
  .filtering #date,
  .filtering #alphabetical {
    margin-top: 1rem;
    border: none; }
    .filtering #date:hover,
    .filtering #alphabetical:hover {
      box-shadow: none; }

.section-orders-header .filtering {
  flex-flow: column nowrap; }
  .section-orders-header .filtering .form-control {
    max-width: 11rem; }

.section-past-puchases .filtering,
.section-marketing-header .filtering,
.section-reserves-header .filtering {
  justify-content: flex-end; }
  .section-past-puchases .filtering .form-control,
  .section-marketing-header .filtering .form-control,
  .section-reserves-header .filtering .form-control {
    padding-left: 0;
    max-width: 10rem;
    min-width: 2rem; }

.section.section-orders-wishlist,
.section.section-orders-content,
.section.section-marketing-content {
  padding-top: 0; }

.section-past-puchases .offering-item {
  align-items: center; }
  .section-past-puchases .offering-item .grid-header {
    margin-bottom: 1rem; }
  .section-past-puchases .offering-item .grid-footer {
    flex-flow: row nowrap;
    justify-content: center; }

#dashboardTop {
  display: flex !important;
  margin: auto;
  width: 100%;
  padding: 0px; }

#my-account-company-name {
  display: inline-block;
  height: 150px;
  line-height: 150px;
  font-size: 2.2em;
  float: left;
  margin: 2px;
  padding: 3px; }

#customerLogo_dashboard {
  margin-top: -1px; }

#my-account #dashButtons {
  margin: auto;
  text-align: center;
  display: inline-block;
  right: 0;
  transition-duration: .88s;
  margin-right: 9%;
  margin-top: 110px;
  position: absolute;
  z-index: 98; }
  #my-account #dashButtons div:hover {
    background-color: unset !important;
    opacity: .78;
    transition: .75s; }
  @media only screen and (max-width: 999px) {
    #my-account #dashButtons {
      margin-top: 107px !important; } }

#my-account-left-navigation {
  clear: both;
  margin: 0px;
  padding: 0px;
  /*margin-top:-55px;*/ }

#my-account-body {
  clear: both;
  display: block;
  margin-top: -10px; }

.logoutBtn {
  font-size: .87em !important;
  font-weight: bold;
  text-decoration: none !important; }

.nav_container {
  white-space: nowrap; }

#my-account {
  /* Style the tab */
  /* Style the buttons that are used to open the tab content */
  /* Change background color of buttons on hover */
  /* Create an active/current tablink class */
  /* Style the tab content */
  /* Go from zero to full opacity */ }
  #my-account .dash_nav {
    white-space: nowrap; }
  #my-account .dash_nav li, #my-account .dash_nav2 li {
    min-width: 140px;
    max-width: 140px;
    cursor: pointer;
    margin: 0px 1px 0px 1px;
    text-align: center;
    transition-duration: .88s; }
  #my-account .dash_nav li div, #my-account .dash_nav2 li div {
    width: 100%;
    padding-left: 5px;
    padding-right: 5px; }
  #my-account .selectedTab {
    color: #b79220; }
  #my-account .dash_nav2 li div:hover {
    cursor: pointer;
    text-decoration: none;
    transition-duration: .58s;
    color: #b79220; }
  #my-account .selectedTab:hover {
    cursor: pointer;
    text-decoration: none;
    transition-duration: .58s;
    font-weight: bold;
    color: #b79220; }
  #my-account #myAccountCoffee, #my-account #myAccountTea, #my-account #myAccountLab {
    clear: both;
    display: none;
    font-weight: bold !important; }
  #my-account #dashboard_body {
    margin-top: -16px;
    min-height: 450px; }
  #my-account #dashboard_body div.contentTab {
    min-height: 450px; }
  #my-account #Coffee, #my-account #Tea, #my-account #Lab {
    color: #343a40;
    padding: 2px;
    margin: 1px;
    min-width: 190px;
    display: inline-block;
    cursor: pointer;
    transition-duration: .88s;
    border-bottom: 4px solid transparent; }
  #my-account #Coffee:hover, #my-account #Tea:hover, #my-account #Lab:hover {
    border-bottom: 4px solid #071c2f;
    background-color: rgba(239, 247, 252, 0.6);
    transition-duration: .88s; }
  #my-account #Coffee img, #my-account #Tea img, #my-account #Lab img {
    max-height: 105px;
    margin: -15px; }
  @media only screen and (max-width: 999px) {
    #my-account #Coffee img, #my-account #Tea img, #my-account #Lab img {
      max-height: 80px !important;
      margin: -16px !important; } }
  #my-account .selectedDashButton, #my-account .selectedDashButton:hover {
    border-bottom: 4px solid #ffc107 !important; }
  #my-account #myAccountCoffee, #my-account #myAccountTea, #my-account #myAccountLab {
    display: none;
    width: 100%; }
  #my-account #footerTrader {
    position: absolute;
    width: 99.1vw;
    left: 0;
    margin-top: 120px; }
  #my-account #footerTraderAfter {
    height: 430px; }
  #my-account .tab {
    overflow: hidden;
    border: 1px solid #ccc;
    background-color: #f1f1f1;
    width: 100%; }
  #my-account .tab button {
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
    color: #578587; }
  #my-account .tab button:hover {
    background-color: #ddd; }
  #my-account .tab button.active {
    background-color: #ccc; }
  #my-account .tabcontent {
    display: none;
    padding: 6px 12px;
    width: 100%; }
  #my-account .tabcontent {
    animation: fadeEffect 1s;
    /* Fading effect takes 1 second */ }

@keyframes fadeEffect {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  #my-account #accountShippingAddress, #my-account #accountBillingAddress {
    display: inline-block;
    max-width: 48%;
    width: 48%;
    background: #f8f9fa;
    padding: 14px;
    margin-left: 1%;
    margin-bottom: 10px;
    border: 1px solid rgba(100, 100, 100, 0.25);
    box-shadow: 2px 2px 4px rgba(100, 100, 100, 0.15); }
  #my-account #accountShippingAddress div, #my-account #accountBillingAddress div {
    min-height: 170px; }
  #my-account .contentTab {
    margin-top: 10px;
    padding: 3px;
    display: none; }
  #my-account table {
    width: 100%;
    margin: auto; }
  #my-account table .v-align-top {
    vertical-align: top; }
  #my-account #dashDropdown {
    display: none;
    float: right;
    text-align: right; }
  #my-account .truncateText {
    vertical-align: middle;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: .9em; }
  #my-account .sample-feedback-header {
    background: #071c2f;
    padding: 8px;
    width: 100%;
    margin: auto;
    color: #ffffff; }
  #my-account .sampleRequests {
    width: 100%; }
  #my-account .dash_drop {
    display: none; }
  #my-account .dash_nav {
    display: block; }

#my-account-body .title,
#my-account-left-navigation .title {
  display: none; }

.sampleRequestTable th {
  text-align: center; }

.flexTable tr td {
  padding: 3px;
  border-collapse: collapse;
  font-size: .88em; }

.mobile-label {
  display: none; }

#my-account-logo-img {
  padding: 25px;
  height: 150px;
  width: 200px;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  background-position: center center;
  float: left;
  margin: 15px; }

.update_cart_custom {
  padding: 3px !important;
  font-size: 12px !important;
  width: 90px !important;
  margin-left: 4px !important;
  margin-top: 2px !important; }

/*
@media screen and (min-width: $media-width-desktop) {
  .woocommerce {
      // notices
      .woocommerce-notices-wrapper {
          background-color: white;

          .woocommerce-message {
              text-align: center;
          }
      }
      // cart empty page
      p.cart-empty {
          font-family: $headings-font-family;
          font-size: $h2-font-size !important;
      }

      .section-featured-footer {
          background-color: $c-blue-light;
          //@include rough-edge($c-blue-light, top);
      }
      // Cart //
      .cart-section {
          h1 {
              margin-bottom: 1.5rem;
          }

          .royal-account-alert {
              padding: 2rem;
              border: 1px solid $c-red-alert;
          }

          .table.shop_table_responsive {
              border: 0;
              border-radius: 0;
              background-color: none;

              tr {
                  display: table-row;

                  td {
                      padding: 1rem;
                  }
              }

              tr:nth-child(2n) td {
                  background-color: $white;
              }
          }

          .table-striped {
              tbody {
                  tr:nth-of-type(odd) {
                      background-color: $c-gray-light;
                  }

                  tr:last-of-type {
                      // background-color: $white;
                  }

                  .cart_item {
                      max-height: 4rem;
                  }

                  .product-thumbnail {
                      a {
                          display: block;

                          img {
                              height: 4rem;
                              width: auto;
                          }
                      }
                  }

                  .product-quantity {
                      .quantity {
                          height: 3rem;

                          input[type="number"] {
                              min-height: unset;
                              height: 3rem;
                              width: 4rem;
                              padding: 0;
                          }
                      }
                  }

                  .actions {
                      button {
                          border: 3px solid $c-green;
                          color: $c-green;
                          background-color: transparent;
                          opacity: 1;

                          &:disabled {
                              opacity: 0.7;

                              &:hover {
                                  background-color: transparent;
                                  color: $c-green;
                              }
                          }

                          &:hover,
                          &:active {
                              background-color: $c-green;
                              color: white;
                          }
                      }
                  }
              }
          }

          .product-name {
              a {
                  font-size: $h4-font-size;

                  &:hover {
                      text-decoration: none;
                      color: $c-blue;
                  }
              }
          }

          // .cart-total-weight-title {
          // }

          // .cart-total-weight {
          // }

          // .cart-total-bag-title {
          // }

          // .cart-total-bag {
          // }

          a.remove {
              color: $c-red-alert !important;
              height: 1.5rem;
              width: 1.5rem;
              line-height: 0.8;

              &:hover {
                  background-color: $c-red-alert !important;
                  border-radius: 0;
                  color: $white !important;
              }
          }

          .cart-collaterals {
              .cart_totals {
                  .shop_table {
                      border: none;
                      border-radius: 0;
                      border-bottom: 1px solid $c-gray-light;
                  }
              }
          }

          .wc-proceed-to-checkout {
              a {
                  background-color: $c-green;
                  color: $white;
                  border: none;

                  &:active,
                  &:hover {
                      @include btn-hover($c-green);
                  }
              }

              .btn-primary:not(:disabled):not(.disabled):active {
                  @include btn-hover($c-green);
              }
          }
      }
      // checkout / billing details //
      .checkout {
          .woocommerce-checkout-review-order {
              table {
                  border: none;
                  border-collapse: collapse;
              }

              .order-total {
                  background-color: $c-gray-light;
              }
          }

          .woocommerce-checkout-payment,
          #payment {
              border-top: 1px solid $c-green;
              background-color: $white;
              border-radius: 0;
              padding-top: 1.5rem;


              .payment_methods {
                  border-bottom: none;

                  .wc_payment_method {
                      position: relative;
                      margin-bottom: 1rem;

                      label {
                          /*position: absolute;
                          overflow: hidden;
                          color: $c-gray-med;
                          padding-left: calc(32px + .5rem);
                          top: -0.15rem;
                          left: 0;
                          /*height: 4rem;
                          width: 100%;

                          div {
                              a {
                                  float: none;
                                  margin-left: 1rem;
                                  display: none;

                                  @include bp(small) {
                                      display: inline;
                                  }
                              }

                              img {
                                  height: 100%;
                              }
                          }

                          div:first-child {
                              font-size: 1.4rem;
                              font-weight: bold;
                              color: black;
                          }
                      }

                      label::before,
                      label::after {
                          position: absolute;
                      }

                      .is-checked {
                          background-color: $c-blue-dark;
                      }
                      /*
                      label::after {
                          content: "";
                          display: inline-block;
                          height: 25px;
                          width: 25px; 
                          border: 1px solid $c-blue-dark;  
                          background-color: $c-blue-dark;
                          left: 0;
                          top: 13px;
                      }
                  
                      label::before {
                          content: "";
                          display: inline-block;
                          height: 24px;
                          width: 24px;   
                          border: 1px solid $c-blue-dark;  
                          background-color: $white;
                          left: 0;
                          top: 13px; 
                      }
                      // input[checked="checked"] {
                      //     background-color: red;
                      // }
                      input[type="checkbox"] + label::after,
                      input[type="radio"] + label::after {
                          content: none;
                      }

                      input[checked="checked"] + label::after,
                      input[type="checkbox"].is-checked + label::after,
                      input[type="radio"].is-checked + label::after {
                          content: "";
                          background-color: $c-blue-dark;
                      }

                      input[type=text] {
                          border-radius: 0;
                          min-height: 4.1rem;
                          background-color: #fff;
                          border: 1px solid $c-gray-med;
                          padding: 2rem .5rem .5rem 1.1rem;
                      }

                      input[type=checkbox],
                      input[type=radio] {
                          z-index: 9999;
                          width: 100%;
                          height: 1.5rem;

                          &:hover {
                              cursor: pointer;
                              outline: 0;
                              border-color: none;
                              box-shadow: none;
                          }
                      }
                  }
              }

              .payment_box {
                  background-color: $c-gray-light;

                  &::before {
                      display: none;
                      /*
                      border: 1em solid $c-gray-light;
                      border-right-color: transparent;
                      border-left-color: transparent;
                      border-top-color: transparent;
                    
                  }
              }
          }

          .woocommerce-terms-and-conditions-wrapper {
              .woocommerce-privacy-policy-text {
                  min-height: 5rem;
                  height: 6rem;
              }

              .validate-required {
                  label {
                      white-space: normal;
                      // position: absolute;
                      line-height: unset;
                      padding-left: 1.5rem;

                      &::before {
                          background-color: $white;
                          left: -1rem;
                      }
                  }
              }

              .woocommerce-validated {
                  label::before {
                      background-color: $c-blue-dark;
                      left: -1rem;
                  }
              }
          }

          .btn-primary {
              background-color: $c-green;
              color: $white;
              border: none;

              &:active,
              &:hover {
                  @include btn-hover($c-green);
              }
          }
      }
      // thank you // order received (or not...)
      .woocommerce-order {

          .woocommerce-notice {
              margin-bottom: 2rem;

              @include bp(medium) {
                  margin-bottom: 4rem;
              }
          }

          .woocommerce-order-overview {
              padding: 2rem;
              background-color: $c-gray-light;

              li {
                  text-align: left;
                  border: none;

                  @include bp(large) {
                      text-align: center;
                  }
              }

              li.order {

                  @include bp(xlarge) {
                      margin-left: 2rem;
                  }
              }
          }

          .woocommerce-order-details {
              .order_details {
                  border-collapse: collapse;
                  border: none;
                  margin-bottom: 2rem;
              }

              tfoot {
                  tr:last-of-type {
                      // background-color: $c-gray-light;
                  }
              }

              address {
                  border: none;
              }
          }
      }
  }
}

// cart empty page
p.cart-empty {
  font-family: $headings-font-family;
  font-weight:bold !important;
  padding:1em !important;
}

@media screen and (max-width: $media-width-mobile) {

    .header-menu {
        top:57px !important;
    }

  .woocommerce {
      // notices
      .woocommerce-notices-wrapper {
          background-color: white;

          .woocommerce-message {
              text-align: center;
          }
      }
      // cart empty page
      p.cart-empty {
          font-family: $headings-font-family;
          font-size: 1.04em !important;
          font-weight:bold !important;
          padding:1em !important;
      }

      .section-featured-footer {
          background-color: $c-blue-light;
          //@include rough-edge($c-blue-light, top);
      }
      // Cart //
      .cart-section {
          h1 {
              margin-bottom: 1.5rem;
          }

          .royal-account-alert {
              padding: 2rem;
              border: 1px solid $c-red-alert;
          }

          .table.shop_table_responsive {
              border: 0;
              border-radius: 0;
              background-color: none;

              tr {
                  display: table-row;

                  td {
                      padding: 1rem;
                  }
              }

              tr:nth-child(2n) td {
                  background-color: $white;
              }
          }

          .table-striped {
              tbody {
                  tr:nth-of-type(odd) {
                      background-color: $c-gray-light;
                  }

                  tr:last-of-type {
                      // background-color: $white;
                  }

                  .cart_item {
                      max-height: 4rem;
                  }

                  .product-thumbnail {
                      a {
                          display: block;

                          img {
                              height: 4rem;
                              width: auto;
                          }
                      }
                  }

                  .product-quantity {
                      .quantity {
                          height: 3rem;

                          input[type="number"] {
                              min-height: unset;
                              height: 3rem;
                              width: 4rem;
                              padding: 0;
                          }
                      }
                  }

                  .actions {
                      button {
                          border: 3px solid $c-green;
                          color: $c-green;
                          background-color: transparent;
                          opacity: 1;

                          &:disabled {
                              opacity: 0.7;

                              &:hover {
                                  background-color: transparent;
                                  color: $c-green;
                              }
                          }

                          &:hover,
                          &:active {
                              background-color: $c-green;
                              color: white;
                          }
                      }
                  }
              }
          }

          .product-name {
              a {
                  font-size: $font-size-base;

                  &:hover {
                      text-decoration: none;
                      color: $c-blue;
                  }
              }
          }

          // .cart-total-weight-title {
          // }
          // .cart-total-weight {
          // }
          // .cart-total-bag-title {
          // }
          // .cart-total-bag {
          // }

          a.remove {
              color: $c-red-alert !important;
              height: 1.5rem;
              width: 1.5rem;
              line-height: 0.8;

              &:hover {
                  background-color: $c-red-alert !important;
                  border-radius: 0;
                  color: $white !important;
              }
          }

          .cart-collaterals {
              .cart_totals {
                  .shop_table {
                      border: none;
                      border-radius: 0;
                      border-bottom: 1px solid $c-gray-light;
                  }
              }
          }

          .wc-proceed-to-checkout {
              a {
                  background-color: $c-green;
                  color: $white;
                  border: none;

                  &:active,
                  &:hover {
                      @include btn-hover($c-green);
                  }
              }

              .btn-primary:not(:disabled):not(.disabled):active {
                  @include btn-hover($c-green);
              }
          }
      }
      // checkout / billing details //
      .checkout {
          .woocommerce-checkout-review-order {
              table {
                  border: none;
                  border-collapse: collapse;
              }

              .order-total {
                  background-color: $c-gray-light;
              }
          }

          .woocommerce-checkout-payment,
          #payment {
              border-top: 1px solid $c-green;
              background-color: $white;
              border-radius: 0;
              padding-top: 1.5rem;


              .payment_methods {
                  border-bottom: none;

                  .wc_payment_method {
                      position: relative;
                      margin-bottom: 1rem;

                      label {
                          /*position: absolute;
                          overflow: hidden;
                          color: $c-gray-med;
                          padding-left: calc(32px + .5rem);
                          top: -0.15rem;
                          left: 0;
                          /*height: 4rem;
                          width: 100%;

                          div {
                              a {
                                  float: none;
                                  margin-left: 1rem;
                                  display: none;

                                  @include bp(small) {
                                      display: inline;
                                  }
                              }

                              img {
                                  height: 100%;
                              }
                          }

                          div:first-child {
                              font-size: 1.4rem;
                              font-weight: bold;
                              color: black;
                          }
                      }

                      label::before,
                      label::after {
                          position: absolute;
                      }

                      label.d-flex {
                          padding-left: 0px;
                      }

                      .is-checked {
                          background-color: $c-blue-dark;
                      }
                      /*
                      label::after {
                          content: "";
                          display: inline-block;
                          height: 25px;
                          width: 25px; 
                          border: 1px solid $c-blue-dark;  
                          background-color: $c-blue-dark;
                          left: 0;
                          top: 13px;
                      }
                  
                      label::before {
                          content: "";
                          display: inline-block;
                          height: 24px;
                          width: 24px;   
                          border: 1px solid $c-blue-dark;  
                          background-color: $white;
                          left: 0;
                          top: 13px; 
                      }
                      // input[checked="checked"] {
                      //     background-color: red;
                      // }
                      input[type="checkbox"] + label::after,
                      input[type="radio"] + label::after {
                          content: none;
                      }

                      input[checked="checked"] + label::after,
                      input[type="checkbox"].is-checked + label::after,
                      input[type="radio"].is-checked + label::after {
                          content: "";
                          background-color: $c-blue-dark;
                      }

                      input[type=text] {
                          border-radius: 0;
                          min-height: 4.1rem;
                          background-color: #fff;
                          border: 1px solid $c-gray-med;
                          padding: 2rem .5rem .5rem 1.1rem;
                      }

                      input[type=checkbox],
                      input[type=radio] {
                          z-index: 9999;
                          width: 100%;
                          height: 1.5rem;

                          &:hover {
                              cursor: pointer;
                              outline: 0;
                              border-color: none;
                              box-shadow: none;
                          }
                      }
                  }
              }

              .payment_box {
                  background-color: $c-gray-light;

                  &::before {
                      display: none;
                      /*border: 1em solid $c-gray-light;
                      border-right-color: transparent;
                      border-left-color: transparent;
                      border-top-color: transparent;
                  }
              }
          }

          .woocommerce-terms-and-conditions-wrapper {
              .woocommerce-privacy-policy-text {
                  min-height: 5rem;
                  height: 6rem;
              }

              .validate-required {
                  label {
                      white-space: normal;
                      // position: absolute;
                      line-height: unset;
                      padding-left: 1.5rem;

                      &::before {
                          background-color: $white;
                          left: -1rem;
                      }
                  }
              }

              .woocommerce-validated {
                  label::before {
                      background-color: $c-blue-dark;
                      left: -1rem;
                  }
              }
          }

          .btn-primary {
              background-color: $c-green;
              color: $white;
              border: none;

              &:active,
              &:hover {
                  @include btn-hover($c-green);
              }
          }
      }
      // thank you // order received (or not...)
      .woocommerce-order {

          .woocommerce-notice {
              margin-bottom: 2rem;

              @include bp(medium) {
                  margin-bottom: 4rem;
              }
          }

          .woocommerce-order-overview {
              padding: 2rem;
              background-color: $c-gray-light;

              li {
                  text-align: left;
                  border: none;

                  @include bp(large) {
                      text-align: center;
                  }
              }

              li.order {

                  @include bp(xlarge) {
                      margin-left: 2rem;
                  }
              }
          }

          .woocommerce-order-details {
              .order_details {
                  border-collapse: collapse;
                  border: none;
                  margin-bottom: 2rem;
              }

              tfoot {
                  tr:last-of-type {
                      // background-color: $c-gray-light;
                  }
              }

              address {
                  border: none;
              }
          }
      }
  }
}
*/
#clear-offerings-filters {
  text-align: right !important;
  border-bottom: unset !important; }

.error404 .error404-search,
.error404 .error404-section {
  background-color: #eff7fc; }

.error404 .error404-section .img-404 {
  height: auto;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center; }
  @media (min-width: 1000px) {
    .error404 .error404-section .img-404 {
      height: 30rem; } }
  .error404 .error404-section .img-404 img {
    margin: 0 auto; }

.error404 .error404-section a.btn-back {
  width: 100%; }
  .error404 .error404-section a.btn-back button {
    margin-top: 0.5rem;
    padding: 1.1rem 2rem;
    width: 100%; }
    @media (min-width: 1000px) {
      .error404 .error404-section a.btn-back button {
        width: unset; } }

.error404 .error404-section p.text-size-404 {
  font-size: 5rem;
  margin-bottom: 0;
  height: 6rem; }
  @media (min-width: 1000px) {
    .error404 .error404-section p.text-size-404 {
      font-size: 10.625rem;
      height: 15rem;
      margin-bottom: 0 !important; } }

.error404 .error404-section .h1 {
  font-size: 2rem; }
  @media (min-width: 1000px) {
    .error404 .error404-section .h1 {
      font-size: 2.8rem;
      margin-bottom: 2rem; } }

.error404 .error404-section .text-404 {
  height: auto;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start; }
  @media (min-width: 1000px) {
    .error404 .error404-section .text-404 {
      height: 30rem; } }
  @media (min-width: 1000px) {
    .error404 .error404-section .text-404 p {
      margin-bottom: 2rem; } }
  .error404 .error404-section .text-404 .text-yellow:hover {
    text-decoration: none;
    color: #b79220; }

.error404 .error404-search {
  margin-top: 2rem; }
  @media (min-width: 768px) {
    .error404 .error404-search {
      margin-top: 4rem; } }
  .error404 .error404-search form {
    margin-bottom: 2rem; }
  .error404 .error404-search .search-submit {
    width: 100%;
    margin: 0; }

.tribe-tickets__footer .tribe-common-c-btn, .tribe-common-c-btn, .tribe-tickets__item__attendee__fields__footer .tribe-common-c-btn, .type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn {
  color: #fff;
  background-color: #21759b !important;
  border-style: unset;
  width: unset;
  padding: 9px 12px;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1; }
  .tribe-common-c-btn:hover, .type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn:hover {
    background-color: #21759b !important; }

.tooltipNEW {
  position: relative;
  display: inline-block; }

.tooltipNEW[data-title]:hover:after {
  content: attr(data-title);
  text-align: left;
  display: block;
  padding: 4px 8px;
  color: #fff;
  position: absolute;
  left: -100%;
  top: 0;
  border-radius: 5px;
  background: #000;
  z-index: 1000;
  font-size: 12px; }

.btn,
button {
  color: #ffffff;
  border-radius: 0;
  font-family: "Europa", "Open Sans", sans-serif;
  font-weight: bold;
  line-height: 25px;
  letter-spacing: 0.5px;
  padding: 0.8rem 1.5rem;
  font-size: 1.1rem;
  cursor: pointer; }
  .btn:hover,
  button:hover {
    color: #ffffff; }

.btn-print {
  display: flex;
  margin: 0 auto;
  width: fit-content;
  height: fit-content; }

.btn-outline {
  border: 3px solid #304f6c;
  color: #304f6c !important;
  background-color: transparent; }
  .btn-outline:hover, .btn-outline:active {
    background-color: #182837;
    border-color: #182837;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff;
    color: #304f6c !important; }

.btn-bg-dark-green {
  background-color: #1c3533;
  border: 3px solid #1c3533; }
  .btn-bg-dark-green:hover {
    background-color: #304f6c;
    border-color: #304f6c;
    text-decoration: none;
    transition: all, 0.4s; }

.btn-bg-green {
  background-color: #578587;
  border: 1px solid #578587; }
  .btn-bg-green:hover {
    color: #ffffff;
    background-color: #395758;
    border-color: #395758;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.btn-bg-blue {
  background-color: #304f6c;
  border-color: transparent;
  color: #ffffff; }
  .btn-bg-blue:hover {
    text-decoration: none;
    color: #ffffff;
    background-color: #182837;
    border-color: #182837;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.btn-bg-blue-dark, .btn-bg-dark-blue {
  background-color: #071c2f;
  border-color: transparent;
  color: #ffffff; }
  .btn-bg-blue-dark:hover, .btn-bg-dark-blue:hover {
    background-color: #304f6c;
    border-color: #304f6c;
    text-decoration: none;
    transition: all, 0.4s; }

.btn-bg-yellow {
  background-color: #b79220;
  border-color: transparent;
  color: #ffffff;
  text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15); }
  .btn-bg-yellow:hover {
    color: #ffffff;
    background-color: #765e15;
    border-color: #765e15;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.btn-download {
  display: flex;
  flex-flow: row nowrap; }
  .btn-download .icon-download {
    margin-right: 1rem;
    height: 25px;
    width: 25px; }

.btn-share {
  display: block;
  margin-right: 0.5rem;
  border-radius: 25px; }
  .btn-share:hover {
    text-decoration: none; }
  @media (min-width: 576px) {
    .btn-share {
      margin-right: 1rem;
      width: auto; } }

.fb-share,
.linkedin-share,
.twitter-share {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #304f6c;
  color: #ffffff;
  padding: 0.2rem;
  border-radius: 4px;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  width: 100%; }
  .fb-share img,
  .linkedin-share img,
  .twitter-share img {
    height: 25px;
    width: auto;
    margin-right: 0.4rem;
    margin-left: 10px; }

.fb-share .fb-like-count {
  display: none; }
  @media (min-width: 768px) {
    .fb-share .fb-like-count {
      display: block;
      margin-left: 5px; } }

.twitter-share img {
  height: 20px;
  width: auto; }

.linkedin-share {
  background-color: #0077B5; }

.cta,
.next-post-text,
.hero-cta,
.blog-cta,
.testimonial-link-cta,
.cta-inline {
  width: fit-content;
  margin-bottom: 1rem; }
  .cta .cta-link-text,
  .next-post-text .cta-link-text,
  .hero-cta .cta-link-text,
  .blog-cta .cta-link-text,
  .testimonial-link-cta .cta-link-text,
  .cta-inline .cta-link-text {
    color: #304f6c;
    padding-right: 0;
    display: block;
    width: auto; }
    .cta .cta-link-text .cta-icon,
    .next-post-text .cta-link-text .cta-icon,
    .hero-cta .cta-link-text .cta-icon,
    .blog-cta .cta-link-text .cta-icon,
    .testimonial-link-cta .cta-link-text .cta-icon,
    .cta-inline .cta-link-text .cta-icon {
      width: 14px;
      height: 14px;
      margin-left: 0.5rem; }
    .cta .cta-link-text:hover,
    .next-post-text .cta-link-text:hover,
    .hero-cta .cta-link-text:hover,
    .blog-cta .cta-link-text:hover,
    .testimonial-link-cta .cta-link-text:hover,
    .cta-inline .cta-link-text:hover {
      text-decoration: none; }

.blog-cta {
  margin-bottom: 0; }

.next-post-text {
  padding-right: 0; }
  .next-post-text .cta-link-text {
    width: fit-content;
    margin-bottom: 1rem;
    padding-right: 3rem; }
    .next-post-text .cta-link-text .cta-icon {
      height: 25px;
      width: 25px;
      margin-left: 0;
      margin-bottom: 0; }

.btn-promo-cta,
.cta-button {
  position: relative;
  display: inline-block;
  width: auto; }
  .btn-promo-cta:hover,
  .cta-button:hover {
    text-decoration: none; }
  @media (max-width: 768px) {
    .btn-promo-cta,
    .cta-button {
      margin-bottom: 4px; } }
  .btn-promo-cta .cta-link-text,
  .cta-button .cta-link-text {
    color: #ffffff;
    text-shadow: none;
    position: relative;
    display: block;
    width: auto;
    min-width: 8rem;
    font-size: 1.1rem;
    letter-spacing: 0.5px; }
    @media (min-width: 576px) {
      .btn-promo-cta .cta-link-text,
      .cta-button .cta-link-text {
        min-width: 13rem; } }
    @media (min-width: 1000px) {
      .btn-promo-cta .cta-link-text,
      .cta-button .cta-link-text {
        min-width: 0;
        width: 100%; } }
    .btn-promo-cta .cta-link-text .cta-icon,
    .cta-button .cta-link-text .cta-icon {
      width: 14px;
      height: 14px;
      margin-left: 0.5rem;
      margin-bottom: 3px; }

.next-post-arrow .cta-link-text .cta-icon {
  width: 30px;
  height: 30px;
  margin-left: 0;
  margin-bottom: 0;
  margin-top: 8px; }

.icon-arrow {
  height: 20px;
  margin-left: 10px;
  margin-top: 2px; }

button.select {
  padding: 6px 28px 6px 12px !important; }

.filter {
  text-shadow: none;
  border-radius: 15px;
  max-width: fit-content;
  max-height: fit-content;
  margin: 0 auto;
  font-size: 1.3rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-bottom: 2rem;
  margin-right: 0.5rem; }
  .filter:hover {
    cursor: pointer;
    text-decoration: none; }

.filter.btn-outline {
  border: 1px solid #304f6c; }
  .filter.btn-outline:hover {
    background-color: transparent;
    color: #304f6c; }

.btn-mobile {
  font-size: 11px;
  padding: .25rem 1.5rem;
  margin-top: 10px; }

.reserveBubble {
  margin: 0; }

.tribe-common-c-btn tribe-common-c-btn--small, .tribe-tickets__item__registration__submit {
  background-color: #578587 !important; }

.tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input, input[type="radio"].ticket-meta {
  opacity: 100;
  position: initial;
  border: 1px solid #578587;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  vertical-align: middle; }
  .tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input:hover, .tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input:focus, input[type="radio"].ticket-meta:hover, input[type="radio"].ticket-meta:focus {
    border: 1px solid #578587;
    outline: none; }

.tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input:checked, input[type="radio"].ticket-meta:checked {
  background-color: #578587 !important; }

@media only screen and (max-width: 768px) {
  .container-mobile {
    display: block;
    position: relative; }
  .btn-mobile {
    font-size: 11px;
    /*line-height: 12px;*/
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    /*text-align: left;*/
    padding: 5px;
    clear: both !important;
    display: block !important;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 4px; }
  .reserveBubble {
    margin: auto;
    padding: 6px;
    margin-left: 68%; } }

.order-reserve {
  font-size: 11px;
  padding: .75rem .75rem;
  margin-top: 10px; }

@media only screen and (max-width: 1199px) {
  .order-reserve {
    font-size: 11px;
    line-height: 12px;
    width: 100%;
    border: 0;
    padding: 5px; } }

#apply-offerings-filters, #clear-offerings-filters, #apply-courses-filters, #clear-courses-filters {
  padding: 2px;
  font-size: .85em;
  float: left;
  min-width: 125px;
  margin-right: 4px; }

#mobile-login {
  font-size: 18px; }

/* Ticket Button  */
.tribe-tickets__item__attendee__fields__footer .tribe-common-c-btn-link {
  color: #21759b !important;
  font-weight: bold !important;
  text-decoration: none !important; }

.type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn {
  margin: 10px; }
  .type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn:hover {
    border-color: #0ea0d7;
    background-color: #0ea0d7 !important;
    color: #fff !important; }

.type-tribe_events .tribe-events-event-cost.featured-event .tribe-common .tribe-common-c-btn {
  border: 2px solid;
  color: #0ea0d7 !important;
  background: #fff !important;
  font-size: 1.1rem;
  border-radius: 3px;
  line-height: 1;
  margin: 10px;
  padding: 9px 12px;
  font-weight: 700; }
  .type-tribe_events .tribe-events-event-cost.featured-event .tribe-common .tribe-common-c-btn:hover {
    border-color: #0ea0d7;
    background-color: #0ea0d7 !important;
    color: #fff !important; }

/*.tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:hover {
    @extend %tribe-button-shared;
}*/
.tribe-tickets-rsvp .tribe-events-tickets-rsvp td.add-to-cart {
  text-align: right;
  padding: 20px 0 0 0; }

.tribe-tickets-rsvp .tribe-events-tickets-rsvp td.tribe-ticket {
  text-align: right; }

.tribe-tickets-rsvp .tribe-events-tickets-rsvp .tribe-button--rsvp {
  background-color: #21759b !important;
  border-style: unset;
  margin: 0px; }

.res_cart_submit.loading {
  position: relative;
  opacity: 0.25;
  padding-right: 2.618em; }
  .res_cart_submit.loading::after {
    font-family: 'WooCommerce';
    content: '\e01c';
    vertical-align: top;
    font-weight: 400;
    position: absolute;
    top: 0.618em;
    right: 1em;
    animation: spin 2s linear infinite; }

@media (min-width: 1000px) {
  .content_section {
    padding-right: 2rem;
    padding-left: 2rem; } }

.content_section .featured-headline,
.content_section .section-headline {
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .content_section .featured-headline,
    .content_section .section-headline {
      margin-bottom: 4rem; } }

.content_section .two-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .two-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .two-column {
      padding-top: 0; } }

.content_section .three-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .three-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .three-column {
      padding-bottom: 0; } }

.content_section .four-column {
  padding-bottom: 2rem; }

.content_section .four-column,
.content_section .three-column,
.content_section .two-column,
.content_section .full-width {
  position: relative;
  overflow: hidden; }

@media (min-width: 576px) {
  .full-width .content-copy,
  .two-column .content-copy,
  .three-column .content-copy,
  .four-column .content-copy {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 1000px) {
  .full-width .content-copy {
    max-width: 48.2rem;
    margin: 0 auto; } }

.section-employees .employee-img {
  height: 15rem;
  width: 15rem;
  justify-content: center; }
  @media (min-width: 576px) {
    .section-employees .employee-img {
      justify-content: flex-end; } }
  .section-employees .employee-img img {
    height: 100%;
    width: auto; }

.section-employees .employee-info {
  text-align: center; }
  @media (min-width: 576px) {
    .section-employees .employee-info {
      text-align: left; } }

@media (min-width: 1000px) {
  .featured_section {
    padding-right: 2rem;
    padding-left: 2rem; } }

.featured_section .four-column .featured-item {
  margin-bottom: 1rem; }
  @media (min-width: 1000px) {
    .featured_section .four-column .featured-item {
      margin-bottom: 3rem; } }
  .featured_section .four-column .featured-item .featured-content {
    background-color: transparent;
    margin-bottom: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%; }
    .featured_section .four-column .featured-item .featured-content:hover {
      text-decoration: none; }
    @media (min-width: 1000px) {
      .featured_section .four-column .featured-item .featured-content {
        margin-bottom: 0; } }
    .featured_section .four-column .featured-item .featured-content .featured-image {
      margin-bottom: 0.8rem;
      opacity: 1;
      -webkit-filter: brightness(100%);
      width: 100%;
      height: 18.2;
      min-height: 18.2rem;
      box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15); }
      @media (min-width: 576px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 18.7rem; } }
      @media (min-width: 768px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 13rem; } }
      @media (min-width: 1000px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 18rem; } }
      @media (min-width: 1200px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 10rem; } }
      @media (min-width: 1600px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 15rem; } }
      .featured_section .four-column .featured-item .featured-content .featured-image:hover {
        -webkit-filter: brightness(70%);
        -webkit-transition: all 1s ease;
        -moz-transition: all 1s ease;
        -o-transition: all 1s ease;
        -ms-transition: all 1s ease;
        transition: all 1s ease; }
  .featured_section .four-column .featured-item .featured-headline {
    margin-bottom: 0.5rem;
    font-size: 1.3rem; }
    @media (min-width: 1000px) {
      .featured_section .four-column .featured-item .featured-headline {
        margin-bottom: 1.5rem; } }
  .featured_section .four-column .featured-item .featured-details {
    padding-left: 0;
    padding-bottom: 2rem;
    list-style: none;
    font-size: 1.1rem; }
    @media (min-width: 1000px) {
      .featured_section .four-column .featured-item .featured-details {
        padding-bottom: 0; } }
  .featured_section .four-column .featured-item .featured-excerpt {
    font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 400; }

.section-orders .four-column .featured-item,
.section-orders .three-column .featured-item,
.section-orders .two-column .featured-item,
.content_section .four-column .featured-item,
.content_section .three-column .featured-item,
.content_section .two-column .featured-item {
  width: 100%;
  max-width: 100%; }
  @media (min-width: 1000px) {
    .section-orders .four-column .featured-item,
    .section-orders .three-column .featured-item,
    .section-orders .two-column .featured-item,
    .content_section .four-column .featured-item,
    .content_section .three-column .featured-item,
    .content_section .two-column .featured-item {
      padding-left: 0;
      padding-right: 0; } }
  .section-orders .four-column .featured-item .featured-content,
  .section-orders .three-column .featured-item .featured-content,
  .section-orders .two-column .featured-item .featured-content,
  .content_section .four-column .featured-item .featured-content,
  .content_section .three-column .featured-item .featured-content,
  .content_section .two-column .featured-item .featured-content {
    background-color: transparent;
    margin-bottom: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%; }
    .section-orders .four-column .featured-item .featured-content:hover,
    .section-orders .three-column .featured-item .featured-content:hover,
    .section-orders .two-column .featured-item .featured-content:hover,
    .content_section .four-column .featured-item .featured-content:hover,
    .content_section .three-column .featured-item .featured-content:hover,
    .content_section .two-column .featured-item .featured-content:hover {
      text-decoration: none; }
    .section-orders .four-column .featured-item .featured-content .featured-image,
    .section-orders .three-column .featured-item .featured-content .featured-image,
    .section-orders .two-column .featured-item .featured-content .featured-image,
    .content_section .four-column .featured-item .featured-content .featured-image,
    .content_section .three-column .featured-item .featured-content .featured-image,
    .content_section .two-column .featured-item .featured-content .featured-image {
      margin-bottom: 0.8rem;
      opacity: 1;
      -webkit-filter: brightness(100%);
      width: 100%;
      min-height: 18.2rem; }
      @media (min-width: 576px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 20.7rem; } }
      @media (min-width: 768px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 13rem; } }
      @media (min-width: 1000px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 18rem; } }
      @media (min-width: 1200px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 10rem; } }
      @media (min-width: 1600px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 15rem; } }
      .section-orders .four-column .featured-item .featured-content .featured-image:hover,
      .section-orders .three-column .featured-item .featured-content .featured-image:hover,
      .section-orders .two-column .featured-item .featured-content .featured-image:hover,
      .content_section .four-column .featured-item .featured-content .featured-image:hover,
      .content_section .three-column .featured-item .featured-content .featured-image:hover,
      .content_section .two-column .featured-item .featured-content .featured-image:hover {
        -webkit-filter: brightness(70%);
        -webkit-transition: all 1s ease;
        -moz-transition: all 1s ease;
        -o-transition: all 1s ease;
        -ms-transition: all 1s ease;
        transition: all 1s ease; }
  .section-orders .four-column .featured-item .featured-details,
  .section-orders .three-column .featured-item .featured-details,
  .section-orders .two-column .featured-item .featured-details,
  .content_section .four-column .featured-item .featured-details,
  .content_section .three-column .featured-item .featured-details,
  .content_section .two-column .featured-item .featured-details {
    padding-left: 0;
    padding-bottom: 2rem;
    list-style: none;
    font-size: 1.3rem; }
    @media (min-width: 1000px) {
      .section-orders .four-column .featured-item .featured-details,
      .section-orders .three-column .featured-item .featured-details,
      .section-orders .two-column .featured-item .featured-details,
      .content_section .four-column .featured-item .featured-details,
      .content_section .three-column .featured-item .featured-details,
      .content_section .two-column .featured-item .featured-details {
        padding-bottom: 0; } }
  .section-orders .four-column .featured-item .featured-course .featured-headline,
  .section-orders .four-column .featured-item .featured-blog-post .featured-headline,
  .section-orders .three-column .featured-item .featured-course .featured-headline,
  .section-orders .three-column .featured-item .featured-blog-post .featured-headline,
  .section-orders .two-column .featured-item .featured-course .featured-headline,
  .section-orders .two-column .featured-item .featured-blog-post .featured-headline,
  .content_section .four-column .featured-item .featured-course .featured-headline,
  .content_section .four-column .featured-item .featured-blog-post .featured-headline,
  .content_section .three-column .featured-item .featured-course .featured-headline,
  .content_section .three-column .featured-item .featured-blog-post .featured-headline,
  .content_section .two-column .featured-item .featured-course .featured-headline,
  .content_section .two-column .featured-item .featured-blog-post .featured-headline {
    margin-bottom: 1rem; }
    @media (min-width: 1000px) {
      .section-orders .four-column .featured-item .featured-course .featured-headline,
      .section-orders .four-column .featured-item .featured-blog-post .featured-headline,
      .section-orders .three-column .featured-item .featured-course .featured-headline,
      .section-orders .three-column .featured-item .featured-blog-post .featured-headline,
      .section-orders .two-column .featured-item .featured-course .featured-headline,
      .section-orders .two-column .featured-item .featured-blog-post .featured-headline,
      .content_section .four-column .featured-item .featured-course .featured-headline,
      .content_section .four-column .featured-item .featured-blog-post .featured-headline,
      .content_section .three-column .featured-item .featured-course .featured-headline,
      .content_section .three-column .featured-item .featured-blog-post .featured-headline,
      .content_section .two-column .featured-item .featured-course .featured-headline,
      .content_section .two-column .featured-item .featured-blog-post .featured-headline {
        margin-bottom: 1.5rem; } }
  .section-orders .four-column .featured-item .featured-course .featured-course-desc,
  .section-orders .four-column .featured-item .featured-course .featured-blog-text,
  .section-orders .four-column .featured-item .featured-blog-post .featured-course-desc,
  .section-orders .four-column .featured-item .featured-blog-post .featured-blog-text,
  .section-orders .three-column .featured-item .featured-course .featured-course-desc,
  .section-orders .three-column .featured-item .featured-course .featured-blog-text,
  .section-orders .three-column .featured-item .featured-blog-post .featured-course-desc,
  .section-orders .three-column .featured-item .featured-blog-post .featured-blog-text,
  .section-orders .two-column .featured-item .featured-course .featured-course-desc,
  .section-orders .two-column .featured-item .featured-course .featured-blog-text,
  .section-orders .two-column .featured-item .featured-blog-post .featured-course-desc,
  .section-orders .two-column .featured-item .featured-blog-post .featured-blog-text,
  .content_section .four-column .featured-item .featured-course .featured-course-desc,
  .content_section .four-column .featured-item .featured-course .featured-blog-text,
  .content_section .four-column .featured-item .featured-blog-post .featured-course-desc,
  .content_section .four-column .featured-item .featured-blog-post .featured-blog-text,
  .content_section .three-column .featured-item .featured-course .featured-course-desc,
  .content_section .three-column .featured-item .featured-course .featured-blog-text,
  .content_section .three-column .featured-item .featured-blog-post .featured-course-desc,
  .content_section .three-column .featured-item .featured-blog-post .featured-blog-text,
  .content_section .two-column .featured-item .featured-course .featured-course-desc,
  .content_section .two-column .featured-item .featured-course .featured-blog-text,
  .content_section .two-column .featured-item .featured-blog-post .featured-course-desc,
  .content_section .two-column .featured-item .featured-blog-post .featured-blog-text {
    font-style: italic;
    font-size: 1rem;
    color: #90969f; }

.section-orders .three-column .featured-details {
  font-size: 1.1rem !important; }
  @media (min-width: 1000px) {
    .section-orders .three-column .featured-details {
      margin-bottom: 1rem; } }

.section-orders .three-column .featured-headline {
  font-size: 1.5rem !important; }

.container-blog-promo,
.container-promo {
  position: relative;
  overflow: hidden;
  height: 450px; }
  @media (min-width: 576px) {
    .container-blog-promo,
    .container-promo {
      width: 100%;
      height: 400px; } }
  @media (min-width: 1200px) {
    .container-blog-promo,
    .container-promo {
      height: 500px; } }
  .container-blog-promo .promo-img-container,
  .container-promo .promo-img-container {
    margin-bottom: 0;
    height: auto;
    height: 100%;
    width: 100%; }
    .container-blog-promo .promo-img-container .promo-img,
    .container-promo .promo-img-container .promo-img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
      @media (min-width: 1000px) {
        .container-blog-promo .promo-img-container .promo-img,
        .container-promo .promo-img-container .promo-img {
          width: 100%;
          height: 100%; } }
  .container-blog-promo .promo-cta,
  .container-promo .promo-cta {
    position: absolute;
    left: 2rem;
    bottom: 2rem;
    padding: 0; }
    @media (min-width: 576px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        bottom: 1.5rem;
        left: 1.5rem; } }
    @media (min-width: 768px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        padding: 2rem 2rem; } }
    @media (min-width: 1000px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        left: 2rem;
        bottom: 2rem; } }
    @media (min-width: 1200px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        left: 3rem;
        bottom: 3rem;
        padding: 3rem 2rem; } }
    .container-blog-promo .promo-cta .promo-text-white p,
    .container-promo .promo-cta .promo-text-white p {
      color: #ffffff; }
  .container-blog-promo .icon-arrow,
  .container-promo .icon-arrow {
    height: 20px;
    margin-left: 10px;
    margin-top: 2px; }

.full-width .container-promo .promo-cta {
  width: 80%; }
  @media (min-width: 1000px) {
    .full-width .container-promo .promo-cta {
      width: 27rem; } }
  .full-width .container-promo .promo-cta .promo-headline {
    font-family: "Europa", "Open Sans", sans-serif;
    font-size: 1.5rem;
    font-weight: bold; }
  .full-width .container-promo .promo-cta .promo-text {
    display: none; }
    @media (min-width: 1000px) {
      .full-width .container-promo .promo-cta .promo-text {
        display: block; } }

.full-width .container-promo .promo-bg-none {
  background-color: none; }

.full-width .container-promo .promo-bg-white {
  background-color: none; }
  @media (min-width: 1000px) {
    .full-width .container-promo .promo-bg-white {
      background-color: #ffffff; } }

.two-column .container-promo .promo-cta,
.three-column .container-promo .promo-cta,
.four-column .container-promo .promo-cta {
  left: 2rem;
  bottom: 2rem;
  width: 80%; }
  @media (min-width: 1000px) {
    .two-column .container-promo .promo-cta,
    .three-column .container-promo .promo-cta,
    .four-column .container-promo .promo-cta {
      bottom: 1rem;
      left: 1rem; } }
  @media (min-width: 1200px) {
    .two-column .container-promo .promo-cta,
    .three-column .container-promo .promo-cta,
    .four-column .container-promo .promo-cta {
      bottom: 2rem;
      left: 2rem; } }
  @media (min-width: 1000px) {
    .two-column .container-promo .promo-cta .cta-link-text,
    .three-column .container-promo .promo-cta .cta-link-text,
    .four-column .container-promo .promo-cta .cta-link-text {
      min-width: 1rem;
      padding: 1rem; } }
  .two-column .container-promo .promo-cta .promo-headline,
  .three-column .container-promo .promo-cta .promo-headline,
  .four-column .container-promo .promo-cta .promo-headline {
    font-family: "Europa", "Open Sans", sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 4px 1px 4px rgba(0, 0, 0, 0.35); }
  .two-column .container-promo .promo-cta .promo-text,
  .three-column .container-promo .promo-cta .promo-text,
  .four-column .container-promo .promo-cta .promo-text {
    display: none; }

.two-column .container-promo .promo-bg-none,
.three-column .container-promo .promo-bg-none,
.four-column .container-promo .promo-bg-none {
  background-color: none; }

.two-column .container-promo .promo-bg-white,
.three-column .container-promo .promo-bg-white,
.four-column .container-promo .promo-bg-white {
  background-color: none; }
  .two-column .container-promo .promo-bg-white .promo-text-gray-dark,
  .three-column .container-promo .promo-bg-white .promo-text-gray-dark,
  .four-column .container-promo .promo-bg-white .promo-text-gray-dark {
    color: #ffffff; }

@media (min-width: 1000px) {
  .four-column .container-promo .promo-cta {
    padding: 0;
    bottom: 1rem;
    left: 1rem; } }

.four-column .container-promo .promo-cta .cta-link-text {
  min-width: 1rem;
  padding: 1rem; }

@media (min-width: 1000px) {
  .content_section .full-width .content-testimonial {
    max-width: 48.2rem;
    margin: 0 auto; } }

@media (min-width: 1200px) {
  .content_section .full-width .content-testimonial {
    padding-left: 2rem;
    padding-right: 2rem; } }

.content_section .full-width .content-testimonial,
.content_section .two-column .content-testimonial,
.content_section .three-column .content-testimonial,
.content_section .four-column .content-testimonial {
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%; }
  @media (min-width: 576px) {
    .content_section .full-width .content-testimonial,
    .content_section .two-column .content-testimonial,
    .content_section .three-column .content-testimonial,
    .content_section .four-column .content-testimonial {
      padding-right: 0;
      padding-left: 0; } }
  .content_section .full-width .content-testimonial .testimonial-source,
  .content_section .two-column .content-testimonial .testimonial-source,
  .content_section .three-column .content-testimonial .testimonial-source,
  .content_section .four-column .content-testimonial .testimonial-source {
    padding-top: 0.5rem; }

.calendar_section .single-img-container,
.content_section .single-img-container {
  background-color: transparent;
  margin-bottom: 2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 18.2rem; }
  .calendar_section .single-img-container.img-custom-post,
  .content_section .single-img-container.img-custom-post {
    margin-bottom: 1rem; }
  .calendar_section .single-img-container .single-image,
  .content_section .single-img-container .single-image {
    width: 100%;
    min-height: 18.2rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }

@media (min-width: 576px) {
  .calendar_section .single-img-text,
  .content_section .single-img-text {
    padding-right: 0;
    padding-left: 0; } }

.calendar_section .full-width .single-img-container,
.content_section .full-width .single-img-container {
  width: 100%;
  min-height: 15rem; }
  .calendar_section .full-width .single-img-container .single-image,
  .content_section .full-width .single-img-container .single-image {
    width: 100%;
    min-height: 15rem; }
    @media (min-width: 576px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 20.7rem; } }
    @media (min-width: 768px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 13rem; } }
    @media (min-width: 768px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 29rem; } }
    @media (min-width: 1000px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 34rem; } }
    @media (min-width: 1200px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        max-width: 85.25rem;
        height: 48rem;
        margin: 0 auto; } }

.calendar_section .full-width .single-img-text .single-img-headline,
.content_section .full-width .single-img-text .single-img-headline {
  text-align: center; }

.calendar_section .full-width .single-img-text .cta-inline,
.calendar_section .full-width .single-img-text .cta-button,
.content_section .full-width .single-img-text .cta-inline,
.content_section .full-width .single-img-text .cta-button {
  display: block;
  margin: 0 auto;
  width: fit-content; }

@media (min-width: 1200px) {
  .calendar_section .full-width .single-img-text,
  .content_section .full-width .single-img-text {
    max-width: 76.62rem;
    margin: 1rem auto; } }

@media (min-width: 768px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 27rem;
    max-height: fit-content; } }

@media (min-width: 1000px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 18rem;
    max-height: fit-content; } }

@media (min-width: 1200px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 22.5rem; } }

@media (min-width: 1600px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 30rem; } }

@media (min-width: 768px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 27rem; } }

@media (min-width: 1000px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 12rem; } }

@media (min-width: 1200px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 15rem; } }

@media (min-width: 1600px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 19rem; } }

@media (min-width: 576px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 18.7rem; } }

@media (min-width: 768px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 13rem; } }

@media (min-width: 1000px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 18rem; } }

@media (min-width: 1200px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 10rem; } }

@media (min-width: 1600px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 15rem; } }

@media (min-width: 576px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 18.7rem; } }

@media (min-width: 768px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 13rem; } }

@media (min-width: 1000px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 18rem; } }

@media (min-width: 1200px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 10rem; } }

@media (min-width: 1600px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 15rem; } }

.calendar_section .row-image,
.content_section .row-image {
  border-top: 1px solid #90969f; }
  @media (min-width: 1000px) {
    .calendar_section .row-image,
    .content_section .row-image {
      border: none;
      margin-left: unset;
      margin-right: unset; } }
  .calendar_section .row-image:last-of-type,
  .content_section .row-image:last-of-type {
    border-bottom: 1px solid #90969f; }
    @media (min-width: 1000px) {
      .calendar_section .row-image:last-of-type,
      .content_section .row-image:last-of-type {
        border: none; } }
  .calendar_section .row-image .single-img-container,
  .content_section .row-image .single-img-container {
    display: none;
    margin-bottom: 2rem; }
    @media (min-width: 1000px) {
      .calendar_section .row-image .single-img-container,
      .content_section .row-image .single-img-container {
        display: block;
        margin-bottom: 0;
        max-height: 15rem; } }
    @media (min-width: 1200px) {
      .calendar_section .row-image .single-img-container,
      .content_section .row-image .single-img-container {
        display: block;
        margin-bottom: 0;
        max-height: 15rem; } }
    .calendar_section .row-image .single-img-container .single-image,
    .content_section .row-image .single-img-container .single-image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-container .single-image,
        .content_section .row-image .single-img-container .single-image {
          display: block;
          min-height: 15rem; } }
      @media (min-width: 1200px) {
        .calendar_section .row-image .single-img-container .single-image,
        .content_section .row-image .single-img-container .single-image {
          display: block;
          height: 100%; } }
  .calendar_section .row-image .single-img-text,
  .content_section .row-image .single-img-text {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
    @media (min-width: 576px) {
      .calendar_section .row-image .single-img-text,
      .content_section .row-image .single-img-text {
        padding-top: 1rem;
        padding-bottom: 1rem;
        padding-right: 2rem; } }
    @media (min-width: 768px) {
      .calendar_section .row-image .single-img-text,
      .content_section .row-image .single-img-text {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }
    @media (min-width: 1000px) {
      .calendar_section .row-image .single-img-text,
      .content_section .row-image .single-img-text {
        display: block;
        padding-left: 0.5rem; } }
    .calendar_section .row-image .single-img-text p,
    .content_section .row-image .single-img-text p {
      display: none; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-text p,
        .content_section .row-image .single-img-text p {
          display: block; } }
    .calendar_section .row-image .single-img-text .single-img-headline,
    .content_section .row-image .single-img-text .single-img-headline {
      color: #304f6c !important; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-text .single-img-headline,
        .content_section .row-image .single-img-text .single-img-headline {
          color: #071c2f; } }
    .calendar_section .row-image .single-img-text .cta-inline,
    .content_section .row-image .single-img-text .cta-inline {
      margin-bottom: 0;
      position: absolute;
      right: 1rem; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-text .cta-inline,
        .content_section .row-image .single-img-text .cta-inline {
          margin-bottom: 1rem;
          left: 0;
          right: 100%; } }
      .calendar_section .row-image .single-img-text .cta-inline .cta-link-text,
      .content_section .row-image .single-img-text .cta-inline .cta-link-text {
        font-size: 0; }
        @media (min-width: 1000px) {
          .calendar_section .row-image .single-img-text .cta-inline .cta-link-text,
          .content_section .row-image .single-img-text .cta-inline .cta-link-text {
            font-size: 1rem; } }
      .calendar_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon,
      .content_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon {
        width: 30px;
        height: 30px; }
        @media (min-width: 1000px) {
          .calendar_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon,
          .content_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon {
            width: 14px;
            height: 14px; } }

.my-account-nologo {
  margin-top: 25px !important; }

/* Mobile Styles */
@media screen and (max-width: 1024px) {
  #dashButtons {
    margin-top: 0px; } }

/* Mobile Styles */
@media screen and (max-width: 999px) {
  h1 {
    text-align: center; }
  #my-account-company-name {
    float: unset;
    margin-top: unset;
    height: unset;
    line-height: unset;
    font-size: 1.1em; }
  .mobile-label {
    display: flex;
    font-weight: bold; }
  .section-profile select {
    width: 100% !important;
    max-width: 600px !important; }
  #myAccountCoffee, #myAccountTea, #myAccountLab {
    clear: both;
    margin-left: unset; }
  #my-account-left-navigation {
    display: block;
    width: 100%;
    text-align: center;
    clear: both !important; }
  #customerLogo_dashboard {
    display: block;
    width: 100%;
    clear: both;
    left: 0;
    right: 0;
    text-align: center;
    max-width: unset; }
  .flexTable {
    margin-top: 7px; }
  table.flexTable {
    width: 100%;
    margin: auto; }
  table.flexTable thead {
    display: none; }
  table.flexTable tr td {
    display: flex;
    vertical-align: middle;
    max-width: 101%;
    font-size: .85em;
    padding: 2px; }
  table.flexTable td::before {
    content: attr(label);
    font-weight: bold;
    width: 130px;
    min-width: 130px;
    font-weight: bold;
    text-align: center;
    background-color: transparent;
    text-align: left;
    padding-left: 10px;
    height: unset;
    margin: -2px;
    margin-right: 6px; }
  table.flexTable tr td:nth-child(1), table.flexTable tr th:nth-child(1) {
    display: none; }
  table.flexTable tr td:last-child {
    border-bottom: 1px solid rgba(75, 75, 75, 0.1);
    margin-bottom: 10px;
    padding-bottom: 10px;
    width: 100%;
    font-size: 1.3em;
    background-color: transparent; }
  table.flexTable tr td:last-child::before {
    display: none; }
  .sample-feedback-header {
    width: 110%;
    margin: auto; }
  .sampleRequests {
    width: 110%;
    margin: auto; }
  #dashDropdown {
    display: block;
    width: 100%;
    text-align: left !important; }
  #dashButtons {
    max-height: 15px; }
    #dashButtons div {
      max-width: 28vw !important;
      min-width: 25vw !important; }
      #dashButtons div img {
        max-height: 40px; }
  #dashboard_body {
    border-top: none !important;
    margin-left: 90px;
    min-height: unset !important; }
  .logoutBtn {
    display: none; }
  .nav_container {
    position: relative; }
  #my-account-body {
    width: 100% !important;
    margin-top: 5px; }
  .dash_drop, #my-account-left-navigation select {
    width: 100%;
    display: block !important;
    height: 50px;
    font-size: 1.75em;
    padding: 4px;
    background: #304f6c;
    color: #ffffff;
    text-align: center;
    font-weight: bold; }
  #my-account-body .title {
    display: block;
    width: 100%;
    margin: 1px;
    padding: 1px;
    text-align: center;
    padding-top: 10px; }
  #my-account-left-navigation .title {
    display: block;
    width: 100%;
    margin: 1px;
    padding: 1px;
    text-align: left;
    padding-top: 10px; }
  #dashboard_body {
    margin: auto;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 0px;
    clear: both;
    display: block;
    margin-top: 15px !important;
    border-top: 1px solid rgba(7, 28, 47, 0.2) !important;
    width: 110% !important;
    margin-left: -5%;
    margin-right: -5%; }
  #my-account-logo-img {
    padding: 15px;
    height: 120px;
    width: 100%;
    max-width: 768px;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    background-position: center center;
    display: block;
    clear: both;
    float: unset !important;
    margin: auto;
    margin-bottom: 15px; }
  #my-account-left-navigation {
    width: 100%;
    clear: both;
    margin: 0px;
    padding: 0px;
    margin-top: 46px; }
  .my-account-nologo {
    margin-top: 46px !important; } }

.dash_nav::-webkit-scrollbar-track {
  -webkit-box-shadow: unset;
  background-color: #ffffff;
  border-radius: 4px;
  width: 4px;
  height: 4px; }

.dash_nav::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background-color: #ffffff; }

.dash_nav::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: #bfbfbf;
  margin-top: 10px; }

.dash_nav::-webkit-scrollbar-thumb, .dash_nav::-webkit-scrollbar, .dash_nav::-webkit-scrollbar-track {
  visibility: hidden;
  transition: all;
  transition-duration: .5s; }

.dash_nav:hover::-webkit-scrollbar-thumb, .dash_nav:hover::-webkit-scrollbar, .dash_nav:hover::-webkit-scrollbar-track {
  visibility: visible;
  transition: all;
  transition-duration: 1.5s; }

.nologo {
  display: none !important; }

.card-group-header {
  display: block;
  width: 60%;
  float: left; }

.card-selection {
  display: flex;
  text-align: right;
  float: right; }

.card-container {
  display: block;
  padding: 4px;
  width: 100%;
  padding-bottom: 12px;
  padding-top: 8px; }

html li {
  list-style: none !important;
  list-style-type: none !important; }

div.woocommerce {
  margin-top: unset !important; }

.chosen-container, .chosen-container-single {
  max-width: 75% !important; }

.search-scroll-container {
  height: 100% !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  max-height: calc(100vh - 9rem) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  top: 0 !important;
  bottom: 0 !important; }

tr.table-row td, tr.table-alt-row td {
  border-bottom: 1px solid #cfcfcf;
  border-collapse: separate; }

.table-row {
  background: transparent;
  margin-bottom: 1px;
  border-collapse: separate;
  border-bottom: 1px solid transparent; }

.table-alt-row {
  background: rgba(239, 239, 239, 0.75);
  margin-bottom: 1px;
  border-collapse: separate;
  border-bottom: 1px solid transparent; }

@media screen and (max-width: 768px) {
  .table-alt-row {
    background: transparent; }
  tr.table-row td, tr.table-alt-row td {
    border-bottom: unset; }
  tr.table-row td, tr.table-alt-row td {
    border-bottom: 0px solid transparent;
    border-collapse: collapse; }
  .numberCell {
    display: block !important;
    width: 16% !important;
    float: left !important;
    left: 0 !important;
    clear: left !important; }
  .numberCell.tea {
    width: 30% !important; }
    .numberCell.tea .h7 {
      font-size: .9rem; }
  .nameCell {
    display: block !important;
    width: 83% !important;
    float: left !important;
    right: 0 !important;
    clear: right !important;
    text-overflow: '...';
    max-width: 83%; }
    .nameCell .h7 {
      font-size: 1.04em !important; }
  .nameCell.tea {
    padding-left: 17px;
    width: 30%; }
    .nameCell.tea .h7 {
      font-size: .9rem; }
  .imageCell.tea {
    width: 40%;
    vertical-align: top !important; }
  .cuppingCell {
    display: block !important;
    width: 72% !important;
    clear: both !important;
    float: right;
    margin-top: -8px;
    margin-bottom: -5px; }
  .qtyCell, .priceCell, .positionCell, .contractCell {
    float: left !important;
    display: block !important;
    clear: both !important;
    width: 98% !important; }
  .positionCell {
    margin-top: 13px !important; }
  .d-label-sm-none {
    display: none !important; } }

.os-past-due {
  color: red;
  font-weight: bold;
  font-style: italic; }

tr.os-past-due td {
  background-color: rgba(255, 0, 0, 0.15) !important; }

.os-paid {
  color: green;
  font-weight: bold;
  font-style: italic; }

tr.os-paid td {
  background-color: green !important; }

.os-processing {
  color: blue;
  font-weight: bold;
  font-style: italic; }

tr.os-processing td {
  background-color: blue !important; }

.offering-table {
  margin-top: -2px;
  min-height: 125px !important; }

.offering-table td {
  vertical-align: top;
  font-size: 0.9em !important; }

.disabled-sample {
  background-color: transparent !important;
  font-weight: bold;
  color: #393939 !important;
  margin-top: 15px;
  border: none;
  min-width: 168.23px;
  cursor: default;
  margin-top: 10px; }

.qtyCell, .priceCell, .contractCell {
  width: 11%;
  text-align: right; }

.positionCell {
  width: 10%;
  text-align: right; }

.numberCell {
  width: 10%; }

.cuppingCell {
  width: 25%;
  text-align: right; }

.nameCell {
  width: 28%; }

.h7 {
  font-size: .99rem; }

.imageCell {
  width: 7%;
  vertical-align: middle !important; }

.groupPositionCell {
  width: 10%; }

.groupThruCell {
  width: 10%; }

.groupBagsCell {
  width: 15%; }

.groupPriceCell {
  width: 20%; }
  .groupPriceCell p {
    font-size: 0.88rem !important; }

.sku-group-name {
  width: 45%;
  vertical-align: middle;
  padding: 0px;
  margin: 0px; }

.offering-flavor-note {
  float: left;
  padding: 4px;
  text-align: center;
  font-size: 10px;
  margin-top: -3px;
  line-height: 10px; }

.offering-productImage {
  width: 100%;
  border: none;
  margin-left: -7px; }

.skuGrouping {
  text-overflow: '...' !important;
  overflow: hidden !important;
  padding-left: 12px;
  margin-bottom: 0px; }

.toggleGroup {
  cursor: pointer;
  border-top: 2px solid rgba(200, 200, 200, 0.75);
  padding: 0px !important; }

@media screen and (max-width: 767px) {
  .skuGrouping {
    margin-top: -10px;
    min-height: 40px; } }

.skuGrouping:after, skuGrouping::after {
  top: 41% !important; }

.skuGroupReserve::after {
  padding: 0px !important; }

.sku-group-table {
  width: 100%; }

.sku-group-table tr td {
  font-size: .85em; }

.sticky-header {
  position: -webkit-sticky;
  position: sticky;
  top: 35px;
  z-index: 100; }

.header-top-edge-dark-blue {
  width: 100%;
  height: 27px;
  margin-bottom: -17px;
  background-image: url(../img/rough-edge-dark-blue.svg);
  background-repeat: no-repeat;
  background-size: cover; }

.header-top-edge-green {
  width: 100%;
  height: 27px;
  margin-bottom: -17px;
  background-image: url(../img/rough-edge-green.svg);
  background-repeat: no-repeat;
  background-size: cover; }

.header-top-edge-blue {
  width: 100%;
  height: 27px;
  margin-bottom: -17px;
  background-image: url(../img/rough-edge-blue.svg);
  background-repeat: no-repeat;
  background-size: cover; }

.sticky-header-category p em, .sticky-header-category-admin p em {
  font-size: .70em !important;
  font-weight: bold !important;
  text-transform: capitalize !important;
  margin-left: 10px !important; }

.sachetperunit {
  font-weight: bold;
  color: #304f6c;
  white-space: nowrap; }

.offering.tea {
  margin-top: 7px !important;
  margin-bottom: 7px !important;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25) !important;
  background-color: transparent !important; }

.sample-request-button-cell {
  vertical-align: middle !important;
  text-align: center !important;
  display: table-cell !important; }

body {
  overflow-x: hidden; }

.coffee-grouping-name {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px; }

@media screen and (max-width: 950px) {
  .imageCell {
    vertical-align: top !important; }
  .offering-item .skuGrouping {
    font-size: 1.2em; }
  .sku-group-table {
    margin-left: 10px; }
  .sku-group-table .sku-group-name {
    display: block;
    width: 100% !important; }
  .sku-group-table .sku-group-name div {
    padding-left: 10px; }
  .sku-group-table .sku-group-table-header {
    display: block;
    width: 100%; }
  .sku-group-table .sku-group-table-body {
    display: block;
    width: 100%; }
  .sku-group-table-header td {
    display: inline-block;
    text-align: left; }
  .sku-group-table-body td {
    display: inline-block;
    text-align: right; }
  .label {
    margin-bottom: unset; }
  .groupPositionCell {
    width: 20% !important; }
  .groupThruCell {
    width: 20% !important; }
  .groupBagsCell {
    width: 25% !important; }
  .groupPriceCell {
    width: 30% !important; }
  .skuGrouping:after, skuGrouping::after {
    top: 6px !important; }
  .offering-flavor-note {
    float: left;
    padding: 4px;
    text-align: center;
    font-size: 10px;
    margin-top: -5px;
    line-height: 10px; }
  .sample-request-button-cell {
    width: 100% !important;
    display: inline-block !important;
    float: left; }
  .d-none-sm2 {
    display: none; }
  .coffee-grouping-name {
    width: 100% !important; }
  .assessment-label {
    padding: 0px;
    margin: 0px;
    height: 13px;
    line-height: 13px; }
  .assessment-label-container {
    position: relative; } }

.assessment-label-container {
  position: static; }

.assessment-label {
  padding: 0px;
  margin: 0px;
  height: 13px;
  line-height: 13px;
  display: inline-flex;
  margin-right: 4px; }

.tribe-events-event-cost form {
  width: inherit;
  padding: inherit;
  margin: 0; }

.events-list.tribe-bar-is-disabled #tribe-events-content-wrapper {
  max-width: unset; }

.tribe-events-list .tribe-events-loop {
  /*max-width: unset;*/ }
  .tribe-events-list .tribe-events-loop .tribe-button {
    border-style: solid;
    background-color: #0ea0d7 !important;
    border-color: #0ea0d7; }
    .tribe-events-list .tribe-events-loop .tribe-button:hover {
      opacity: 0.8; }
  .tribe-events-list .tribe-events-loop .tribe-event-featured {
    background-color: transparent !important; }
    .tribe-events-list .tribe-events-loop .tribe-event-featured .tribe-button {
      border-style: solid;
      background-color: #fff !important;
      color: #0ea0d7 !important; }
      .tribe-events-list .tribe-events-loop .tribe-event-featured .tribe-button:hover {
        border-color: #0ea0d7;
        background-color: #0ea0d7 !important;
        color: #fff !important; }

.products-panel {
  width: 100%;
  display: flex;
  z-index: 98 !important; }

.sticky-header-category {
  z-index: 102 !important; }

@media screen and (min-width: 767px) {
  .tea.sticky-header {
    top: 128px !important; } }

@media screen and (max-width: 767px) {
  .tea.sticky-header {
    top: 78px !important; } }

.lineup-dec {
  background-color: #e8eaeb;
  font-weight: bold;
  font-size: 18px;
  padding: 8px; }

.cart-location {
  color: #ffffff;
  clear: both;
  position: absolute;
  margin-left: 50px;
  margin-top: -3px;
  font-size: 11px;
  font-weight: bold;
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.65);
  border-radius: 55%;
  background-color: #578587;
  height: 24px;
  width: 24px;
  box-shadow: 3px 3px 5px rgba(1, 1, 1, 0.35);
  padding: 2px;
  padding-top: 4px; }

.navbar-logo-mobile .header-cart-location {
  font-size: .75em;
  margin-top: -12px; }

.cart-location:hover {
  color: #ffffff !important; }

.cart-location:empty {
  display: none; }

.header-cart-location, .header-cart-location:hover {
  color: #ffffff;
  font-weight: normal !important;
  text-decoration: none !important; }

.shopping-cart-location {
  font-weight: bold !important;
  text-align: center !important;
  font-style: oblique;
  margin-top: 4px;
  margin-bottom: 7px;
  font-size: .98em;
  padding-top: 4px;
  padding-bottom: 6px;
  text-shadow: 2px 2px 1px rgba(90, 90, 90, 0.2);
  color: red; }

#product-detail-window {
  box-shadow: 7px 7px 11px rgba(10, 10, 10, 0.2);
  overflow-x: hidden;
  overflow-y: hidden;
  z-index: 1000000;
  position: fixed;
  background-color: #ffffff;
  display: none;
  border-top: #b79220 5px solid; }
  #product-detail-window .sticky-header {
    top: 0px !important; }
  #product-detail-window header {
    display: block;
    height: 40px;
    font-weight: bold;
    background-color: #071c2f;
    color: #ffffff;
    font-size: 1.75em;
    padding-left: 8px; }
  #product-detail-window div.iframe {
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow-y: auto; }
    #product-detail-window div.iframe #footer, #product-detail-window div.iframe .header-full, #product-detail-window div.iframe .header-mobile, #product-detail-window div.iframe .nav-bar-dark, #product-detail-window div.iframe .header, #product-detail-window div.iframe #header-nav, #product-detail-window div.iframe .header-nav {
      display: none !important; }
  #product-detail-window div.info-pop-up-close {
    padding-top: 3px;
    right: 0;
    position: absolute;
    margin-right: 20px;
    margin-top: 7px;
    z-index: 10000; }
  #product-detail-window .offering-table {
    min-height: 125px !important; }

body.no-scroll {
  overflow-y: hidden; }

@media screen and (max-width: 1510px) {
  .header-buttons {
    margin-top: -2px !important; } }

@media screen and (max-width: 767px) {
  li.slide {
    background-size: contain !important; }
    li.slide video {
      max-width: 93vw !important;
      max-height: 35vh !important; }
  div.header-full .header-cart-location {
    display: none !important; }
  .cart-section a.btn-bg-green {
    width: 100%; }
  .d-m-only {
    display: block !important; }
  #header-nav .header-mobile {
    max-width: unset !important; }
  .shim-spacer {
    height: 66px !important;
    display: block;
    width: 100%;
    background: transparent;
    border: 0px;
    padding: 0px;
    margin: 0px;
    left: 0;
    top: 0;
    clear: both; }
  .mobile-admin-header-spacer {
    height: 35px !important; }
  .offerings-content .section_page_header {
    padding-top: 0.80em !important; }
  #server-id {
    opacity: 0.8 !important;
    top: -4px !important;
    left: 0 !important;
    height: 18px !important;
    white-space: nowrap !important;
    width: 100% !important;
    font-size: 8px;
    padding: 0px;
    margin: 0px;
    text-align: left; }
    #server-id br {
      display: none; }
  .skuGrouping.text-blue.h6 {
    font-size: 1.3em !important;
    margin-left: -3px !important;
    max-width: 95vw;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden; }
  .sku-group-name, .rotate-icon, .rotate-icon2, .rotate-icon-white, .rotate-icon-white2 {
    position: relative !important; }
  .skuGrouping {
    padding-left: 30px !important; }
    .skuGrouping :after {
      top: 6px !important; }
  .section_page_content #search-container {
    top: 76px !important;
    padding-bottom: 30px !important; }
    .section_page_content #search-container .close-icon2:after {
      margin-top: 4px !important;
      right: 0 !important;
      top: 1rem !important; }
    .section_page_content #search-container .close-icon2 {
      margin-top: 10px !important; }
    .section_page_content #search-container .eca_section .eca-items {
      margin-top: -60px !important; }
  #filterControlBox .eca_section .eca-items {
    margin-top: -60px !important; }
  #filterControlBox {
    padding-bottom: 110px !important; }
  .imageCell.tea {
    width: 30% !important; }
  .nameCell.tea {
    width: 99% !important;
    padding: 3px !important;
    font-size: .99em !important; }
  .numberCell.tea {
    width: 99% !important; }
  .numberCell.tea span.h7 {
    float: right !important;
    display: block;
    zoom: 1;
    margin-top: -20px;
    text-align: right;
    width: 50%; }
  div.form-group.sticky-button-container {
    margin-bottom: 1rem !important;
    min-height: 65px !important;
    height: unset !important; }
  .offering-item {
    padding-left: 15px;
    padding-right: 0px !important; }
  .info-pop-up {
    padding: 0px;
    background-color: #ffffff;
    box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
    min-width: 100vw !important;
    min-height: unset !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    z-index: 9999999;
    margin-top: 0% !important;
    margin-left: 0px !important;
    position: fixed; }
  .empty_cart {
    margin-top: -40px !important; }
  .cart-group-header {
    display: flex !important; }
    .cart-group-header h3 {
      border-bottom: 1px #dfdfdf solid; }
    .cart-group-header span, .cart-group-header em {
      font-size: .75em; }
  .offering-item {
    padding-left: 4px !important;
    padding-right: 4px !important;
    max-width: 100vw !important; }
  .skuGrouping::after {
    left: 14px !important; }
  .rotate-icon3::after {
    left: 14px !important; }
  .shipment-history {
    float: none !important;
    margin-top: 0px !important;
    font-weight: bold !important;
    font-size: 1em !important;
    text-align: center !important;
    clear: both !important;
    display: block !important;
    margin-bottom: 15px !important; }
  .myaccount-reserve-container {
    display: block;
    margin: 0px;
    padding: 0px;
    margin-left: -32.5px !important;
    margin-right: -36.5px !important; }
  #skuReserve .dashicons {
    color: #ffffff !important; }
  .card-group-header {
    display: inline !important;
    float: none !important;
    width: 100% !important; }
  .card-selection {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 14px !important;
    float: none !important; }
    .card-selection a {
      clear: both;
      width: 100%;
      margin: 5px; }
  .how-to-graphic-container {
    width: 100vw;
    padding: 14px; }
  .tiles-outer-container {
    display: block;
    height: 55vh;
    overflow-y: scroll;
    overflow-x: hidden; }
  .intro-text {
    font-size: .9em;
    text-align: center;
    font-weight: bold; }
  .intro-logo {
    max-width: 75px;
    text-align: center;
    margin: auto;
    clear: both;
    display: block; }
    .intro-logo ::after {
      width: 100%;
      display: block; }
  .section-header {
    color: #071c2f;
    font-size: 1.35em;
    font-weight: bold;
    text-align: center; }
  .tile-container {
    max-width: 139px;
    min-width: 139px;
    display: block;
    min-height: 196px;
    clear: both;
    margin: auto; }
  .section-tile-outer {
    border: 4px solid #071c2f;
    min-height: 146px;
    display: block;
    padding: 3px;
    width: 100%; }
  .section-tile-inner {
    width: 100%;
    height: 100%;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    background-color: #071c2f;
    padding: 6px;
    min-height: 132px; }
    .section-tile-inner em {
      font-size: .55em; }
  .arrow-container-right {
    color: #071c2f;
    margin: 15px !important;
    display: block !important;
    width: 100% !important;
    min-height: 35px !important;
    line-height: 35px !important;
    font-size: 28px !important;
    font-weight: bold !important;
    margin: auto !important;
    clear: both !important;
    transform: rotate(90deg) !important; }
  .check-label {
    margin-top: -28px; }
  #product-detail-window {
    width: 95vw;
    height: 95vh;
    top: 2.5vh;
    left: 2.5vw; }
    #product-detail-window header {
      font-size: 1.5vw;
      padding-top: 4px;
      height: 30px; }
    #product-detail-window main {
      margin-top: -115px; }
  .checkoutQuestion {
    max-width: 95% !important;
    display: inline !important;
    min-width: unset !important;
    margin-bottom: -21px; }
  #bad_shipping_message {
    font-weight: bold;
    color: red;
    float: none !important;
    max-width: 100% !important;
    padding-left: 0px !important;
    text-align: left; }
  #rny_mini_cart {
    position: absolute !important;
    top: 18px !important;
    width: 100vw !important;
    right: 0% !important;
    display: none; }
    #rny_mini_cart .arrow-up {
      margin-top: -1px; }
    #rny_mini_cart .cart-container {
      background: rgba(255, 255, 255, 0.99);
      height: 95vh !important;
      max-height: 95vh !important;
      padding: 6px;
      /* ===== Scrollbar CSS ===== */
      /* Firefox */
      /* Chrome, Edge, and Safari */ }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        max-height: 275px;
        overflow-x: hidden;
        min-height: 275px;
        background: transparent !important;
        overflow-y: visible;
        width: calc(100% + 8px); }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        scrollbar-width: auto;
        scrollbar-color: #dfdfdf #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar {
        width: 11px; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-track {
        background: #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-thumb {
        background-color: #dfdfdf;
        border-radius: 12px;
        border: 2px solid #ffffff; }
      #rny_mini_cart .cart-container div {
        background: transparent none !important; }
      #rny_mini_cart .cart-container table.cart-headers {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-headers td {
          font-size: 1em !important;
          font-weight: bold;
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-headers th {
          font-size: 1.02em !important;
          background-color: #dfdfdf;
          font-weight: 700 !important;
          text-align: center;
          border-bottom: 2px solid #cfcfcf;
          height: 25px;
          color: #0A1C2E !important; }
      #rny_mini_cart .cart-container table.cart-items {
        width: calc( 100% - 23px); }
        #rny_mini_cart .cart-container table.cart-items * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-items td {
          font-size: .99em;
          color: #0A1C2E !important; }
      #rny_mini_cart .cart-container table.cart-totals {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-totals * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-totals td {
          font-size: 1.12em !important;
          font-weight: bold;
          color: #071c2f !important; }
  .OurTeamHeaders {
    width: 100% !important;
    margin: auto !important;
    max-width: 99.99vw !important;
    top: 75px !important; }
  .teamGrid {
    clear: both !important;
    display: block !important;
    margin: auto !important;
    background-color: #ffffff;
    z-index: 8;
    position: sticky; }
  #teamSpacer {
    height: 120px; }
  .employee-thumb {
    position: relative;
    border: 2px solid #071c2f;
    display: block;
    max-width: 61vw;
    margin: auto;
    margin-bottom: 10px; }
    .employee-thumb img {
      height: unset;
      width: unset;
      max-width: 100%;
      max-height: 100%; }
  .employee-position {
    position: absolute;
    font-weight: bold;
    color: #b79220;
    margin-top: 0px;
    padding-left: 10px;
    transition: all 1s;
    background: rgba(255, 255, 255, 0.95);
    opacity: 0;
    width: 100%;
    height: 55px;
    text-transform: uppercase;
    font-size: 15px;
    text-shadow: none !important; }
  .employee-header {
    font-size: 30px;
    text-align: center;
    background: #071c2f;
    color: #ffffff;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 30px;
    padding: 5px;
    max-width: 957px;
    text-transform: uppercase; }
    .employee-header .employee-header-position {
      font-size: 18px; }
  .employee-thumb-name {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase; }
  .employee-image {
    overflow: hidden;
    clip: auto;
    position: relative;
    max-height: 267px; }
  .OurTeamHeaderSpacer {
    display: none !important; }
  .OurTeamMainText {
    font-size: 18px;
    text-align: center;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 30px;
    padding: 0px !important;
    max-width: 957px;
    width: 100% !important;
    top: 75px !important; }
  .OurTeamSubText {
    background-color: #ffffff;
    z-index: 8;
    padding: 4px;
    padding-left: 10px;
    padding-right: 10px;
    top: 127px  !important; } }

@media screen and (min-width: 999px) {
  .OurTeamMainText {
    font-size: 18px;
    text-align: center;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 30px;
    top: 128px !important;
    background-color: #ffffff !important;
    text-align: center;
    margin: 0 auto;
    z-index: 9; }
  .OurTeamSubText {
    margin: 45px auto -20px auto;
    line-height: 20px;
    text-align: justify;
    background-color: #ffffff;
    z-index: 10;
    max-width: 900px; }
  .OurTeamHeaders {
    top: 128px !important; }
  .OurTeamMainText .OurTeamHeaders {
    margin: 0px !important;
    width: 100% !important; } }

.OurTeamHeaders {
  display: block;
  clear: both;
  font-size: 26px;
  text-align: center;
  background: #071c2f;
  color: #fff;
  margin: auto;
  margin-top: 10px;
  padding: 5px;
  z-index: 10;
  height: 50px; }

.employee-position {
  position: absolute;
  font-weight: bold;
  color: #b79220;
  margin-top: 0px;
  padding-left: 10px;
  transition: all 1s;
  background: rgba(255, 255, 255, 0.95);
  opacity: 0;
  width: 100%;
  height: 55px;
  text-transform: uppercase;
  font-size: 15px;
  text-shadow: none !important; }

.employee-header {
  font-size: 30px;
  text-align: center;
  background: #071c2f;
  color: #ffffff;
  margin: auto;
  margin-top: 10px;
  margin-bottom: 30px;
  padding: 5px;
  max-width: 957px;
  text-transform: uppercase; }
  .employee-header .employee-header-position {
    font-size: 18px; }

.employee-thumb {
  position: relative;
  border: 2px solid #071c2f;
  display: block; }

.employee-thumb:hover .employee-position {
  position: absolute;
  font-weight: bold;
  color: #b79220;
  margin-top: -55px;
  padding-left: 10px;
  transition: all 0.75s;
  background: rgba(255, 255, 255, 0.95);
  opacity: 1;
  width: 100%;
  height: 55px;
  text-transform: uppercase;
  font-size: 15px;
  text-shadow: none !important; }

.employee-thumb-name {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase; }

.employee-image {
  overflow: hidden;
  clip: auto;
  position: relative;
  max-height: 267px; }

.teamGrid {
  background-color: #ffffff !important;
  z-index: 8 !important;
  position: sticky; }

#cart_timer {
  position: fixed;
  bottom: 0;
  left: 1.5%;
  width: 135px;
  height: 70px;
  z-index: 100000;
  display: none; }
  #cart_timer #cart_timer_container {
    width: 100%;
    height: 100%;
    border: 1px solid #0A1C2E !important;
    font-size: 20px;
    font-weight: bold;
    color: white;
    padding: 10px !important;
    padding-top: 1px;
    background: #071c2f;
    background: linear-gradient(0deg, #071c2f 2%, #0a2945 30%); }
  #cart_timer #cart_timer_clock {
    margin: auto;
    display: inline;
    text-align: center;
    padding-left: 12px;
    margin-top: 10px; }
  #cart_timer #timer_minutes {
    font-size: 25px;
    font-weight: bold;
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
    width: 36%;
    display: inline-block;
    text-align: right; }
  #cart_timer #timer_colon {
    font-size: 25px;
    font-weight: bold;
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
    width: 8%;
    display: inline-block;
    text-align: center; }
  #cart_timer #timer_seconds {
    font-size: 25px;
    font-weight: bold;
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
    width: 36%;
    text-align: left;
    display: inline-block; }
  #cart_timer #timer_text {
    font-size: 12px;
    font-weight: bold;
    color: white;
    text-align: center;
    line-height: 11px;
    margin-top: 0px; }

@media screen and (min-width: 768px) {
  .section-home-hero {
    height: 23.5rem !important; }
  #shop_banners {
    width: 99%;
    background: transparent !important;
    margin-top: 40px !important;
    height: 290px !important;
    box-shadow: 5px 9px 9px rgba(0, 0, 0, 0.77) !important;
    -webkit-mask-image: url("/wp-content/themes/royal-ny/img/rough-edge-white-full.svg") !important;
    -webkit-mask-position: center !important;
    -webkit-mask-clip: border-box !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-size: cover !important;
    background-color: transparent !important; }
    #shop_banners .slider {
      max-height: 299px !important;
      min-height: 299px !important;
      height: 299px !important;
      background-color: transparent !important; }
      #shop_banners .slider .slides {
        max-height: 299px !important;
        min-height: 299px !important;
        height: 299px !important;
        background-color: transparent !important; }
        #shop_banners .slider .slides .slide {
          background-size: cover !important;
          background-repeat: no-repeat !important;
          background-position: center !important;
          cursor: pointer !important;
          max-height: 300px !important;
          min-height: 300px !important;
          height: 300px !important;
          width: 101%; }
  #cart_timer {
    position: fixed;
    bottom: 0;
    left: 1.5%;
    width: 135px;
    height: 70px;
    z-index: 100000;
    display: none; }
    #cart_timer #cart_timer_container {
      width: 100%;
      height: 100%;
      border: 1px solid #0A1C2E !important;
      font-size: 20px;
      font-weight: bold;
      color: white;
      padding: 10px !important;
      padding-top: 1px;
      background: #071c2f;
      background: linear-gradient(0deg, #071c2f 2%, #0a2945 30%); }
    #cart_timer #cart_timer_clock {
      margin: auto;
      display: inline;
      text-align: center;
      padding-left: 12px;
      margin-top: 10px; }
    #cart_timer #timer_minutes {
      font-size: 25px;
      font-weight: bold;
      color: #ffffff !important;
      text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
      width: 36%;
      display: inline-block;
      text-align: right; }
    #cart_timer #timer_colon {
      font-size: 25px;
      font-weight: bold;
      color: #ffffff !important;
      text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
      width: 8%;
      display: inline-block;
      text-align: center; }
    #cart_timer #timer_seconds {
      font-size: 25px;
      font-weight: bold;
      color: #ffffff !important;
      text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
      width: 36%;
      text-align: left;
      display: inline-block; }
    #cart_timer #timer_text {
      font-size: 12px;
      font-weight: bold;
      color: white;
      text-align: center;
      line-height: 11px;
      margin-top: 0px; }
  #rny_mini_cart {
    position: absolute !important;
    top: 65px !important;
    width: 550px !important;
    right: 0.1% !important;
    display: none; }
    #rny_mini_cart .cart-container-close, #rny_mini_cart .cart-container-close:hover {
      float: left;
      clear: left;
      left: 0;
      display: block;
      max-width: 75px;
      cursor: pointer;
      margin-top: -11px;
      margin-left: 9px;
      position: absolute;
      z-index: 10000000;
      font-weight: bold !important;
      font-size: 13px !important;
      color: black !important; }
      #rny_mini_cart .cart-container-close span, #rny_mini_cart .cart-container-close span:hover, #rny_mini_cart .cart-container-close:hover span, #rny_mini_cart .cart-container-close:hover span:hover {
        color: red !important;
        margin: 0px !important;
        padding: 0px !important;
        vertical-align: middle !important;
        margin-top: -4px !important; }
    #rny_mini_cart .arrow-up {
      margin-top: -8px;
      margin-right: -95px; }
    #rny_mini_cart .cart-container {
      background: rgba(255, 255, 255, 0.99);
      box-shadow: 6px 6px 8px rgba(0, 0, 0, 0.15);
      padding: 18px;
      /* ===== Scrollbar CSS ===== */
      /* Firefox */
      /* Chrome, Edge, and Safari */ }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        max-height: 295px;
        overflow-x: hidden;
        overflow-y: visible;
        min-height: 295px;
        background: transparent !important;
        width: calc(100% + 8px);
        color: #0A1C2E !important; }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        scrollbar-width: auto;
        scrollbar-color: #dfdfdf #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar {
        width: 11px; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-track {
        background: #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-thumb {
        background-color: #dfdfdf;
        border-radius: 12px;
        border: 2px solid #ffffff; }
      #rny_mini_cart .cart-container div {
        background: transparent none !important; }
      #rny_mini_cart .cart-container table.cart-headers {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-headers td {
          font-size: 1em !important;
          font-weight: bold;
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-headers th {
          font-size: 1.02em !important;
          background-color: #dfdfdf;
          font-weight: 700 !important;
          text-align: center;
          border-bottom: 2px solid #cfcfcf;
          height: 25px;
          color: #0A1C2E !important; }
      #rny_mini_cart .cart-container table.cart-items {
        width: calc(100% - 13px) !important;
        max-width: 510px !important;
        left: 0 !important;
        margin-left: 0px !important; }
        #rny_mini_cart .cart-container table.cart-items * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-items td {
          font-size: .99em;
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-items .last-added td {
          background-color: rgba(150, 255, 150, 0.35) !important; }
      #rny_mini_cart .cart-container table.cart-totals {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-totals * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-totals td {
          font-size: 1.12em !important;
          font-weight: bold;
          color: #0A1C2E !important; }
  #bad_shipping_message {
    font-weight: bold;
    color: red;
    float: right;
    max-width: 70%;
    padding-left: 15px;
    text-align: left; }
  .checkoutQuestion {
    min-width: 390px !important;
    display: inline-block !important; }
  #header-nav .header-mobile {
    max-width: unset !important; }
  .shim-spacer {
    display: none !important; }
  .offerings-content .section_page_header {
    padding-top: 1.80em !important; }
  #search-container {
    height: calc( 100vh - 135px) !important;
    min-height: calc( 100vh - 135px) !important;
    max-height: calc( 100vh - 135px) !important; }
  .section_page_content #search-container .eca_section .eca-items {
    margin-top: -50px !important; }
  #filterControlBox .eca_section .eca-items {
    margin-top: -50px !important; }
  #filterControlBox {
    padding-bottom: 20px !important; }
  .nameCell.tea {
    width: 33% !important; }
  .numberCell.tea span.h7 {
    width: 9% !important; }
  .info-pop-up {
    min-width: auto !important;
    min-height: auto !important;
    max-height: none !important;
    margin-left: auto !important; }
    .info-pop-up > div {
      max-height: none !important; }
  .info-pop-up-container .info-pop-up, .info-pop-up-container2 .info-pop-up {
    margin-left: calc( 50% - 350px) !important; }
  #logged-in-as {
    width: 600px;
    color: floralwhite;
    text-align: right;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 100vw;
    margin-right: 13rem;
    margin-top: -130px;
    z-index: 200;
    float: right; }
  .shipment-history {
    float: right;
    margin-top: -30px;
    font-weight: bold;
    font-size: 1.2em; }
  .myaccount-reserve-container {
    display: block;
    margin: 0px;
    padding: 0px; }
  .how-to-graphic-container {
    width: 734px;
    padding: 14px; }
  .tiles-outer-container {
    display: table-row; }
  .intro-text {
    font-size: .9em;
    text-align: center;
    font-weight: bold; }
  .intro-logo {
    max-width: 75px;
    text-align: center;
    margin: auto;
    clear: both;
    display: block; }
    .intro-logo ::after {
      width: 100%;
      display: block; }
  .section-header {
    color: #071c2f;
    font-size: 1.35em;
    font-weight: bold;
    text-align: center; }
  .tile-container {
    max-width: 139px;
    min-width: 139px;
    display: table-cell;
    min-height: 196px; }
  .section-tile-outer {
    border: 4px solid #071c2f;
    min-height: 146px;
    display: block;
    padding: 3px;
    width: 100%; }
  .section-tile-inner {
    width: 100%;
    height: 100%;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    background-color: #071c2f;
    padding: 6px;
    min-height: 132px; }
    .section-tile-inner em {
      font-size: .55em; }
  .arrow-container-right {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    color: #071c2f;
    margin: 15px;
    display: table-cell;
    min-height: 196px;
    line-height: 9 !important;
    font-size: 28px !important;
    font-weight: bold !important; }
  #product-detail-window {
    width: 95vw;
    height: calc( 100vh - 170px);
    top: 123px;
    left: 2.5vw; }
    #product-detail-window header {
      display: block;
      font-size: 1.75em; }
    #product-detail-window main {
      margin-top: -45px; } }

.backLink {
  display: block;
  text-decoration: none;
  padding: 8px;
  cursor: pointer;
  font-weight: bold;
  width: 100%;
  margin-top: -10px;
  margin-bottom: 5px;
  text-align: center; }
  .backLink span.dashicons {
    line-height: 26px !important;
    color: #B79220 !important; }

.backLink:hover {
  text-decoration: none; }

.woocommerce-NoticeGroup-checkout .woocommerce-error .wc-backward {
  display: none !important; }

.checkout.woocommerce-checkout .woocommerce-NoticeGroup {
  z-index: 9 !important;
  top: 250px;
  position: absolute;
  width: 100vw; }

.woocommerce-error li::before {
  display: none; }

.woocommerce-error ul {
  margin-left: 12em; }

li.slide {
  background-size: contain !important; }
  li.slide video {
    max-width: 93vw !important; }

.link-button {
  font-weight: bold;
  cursor: pointer;
  color: #578587; }

.link-button:hover {
  color: #0A1C2E; }

.longText {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  max-width: 97%; }

.mini-cart-subtotal-label {
  border-top: 1px solid #cfcfcf; }

.mini-cart-subtotal {
  text-align: right;
  width: 150px;
  border-top: 1px solid #cfcfcf; }

.mini-cart-header {
  margin-left: -5px; }

.mini-cart-footer {
  padding-top: 9px;
  margin-left: -5px; }

.mini-cart-title-left {
  width: 40px !important;
  font-size: 25px !important;
  font-weight: bold;
  margin-top: -9px;
  margin-bottom: 8px;
  float: left;
  color: #B79220 !important;
  display: block; }

.mini-cart-title-right {
  width: 80%;
  max-width: 80%;
  float: left;
  text-align: left;
  font-size: 23px;
  font-weight: normal;
  margin-top: -12px;
  margin-bottom: 8px;
  color: #0A1C2E !important;
  display: block; }

*:hover .mini-cart-title-right {
  color: #0A1C2E !important; }

.container-home-featured .row .teaser {
  margin: auto !important;
  margin-bottom: 3rem !important; }

.top0 {
  top: unset !important;
  transition: all 1.55s; }

.sticky-header {
  transition: all 1.55s; }

.OurTeamHeaderSpacer {
  height: 26px;
  margin-bottom: -41px;
  top: 127px;
  background-color: #ffffff; }

.thumbnail-slide video {
  cursor: pointer; }

.play-overlay {
  opacity: .65;
  margin-top: 33px;
  margin-left: -88px;
  position: absolute;
  cursor: pointer;
  color: #ffffff;
  z-index: 1000;
  font-size: 45px !important; }

.play-overlay:hover {
  opacity: .95; }

.interestSelection {
  border: 1px solid #efefef; }
  .interestSelection:hover {
    border: 1px solid #cfcfcf;
    box-shadow: 3px 3px 5px rgba(10, 10, 10, 0.22); }

.pp-multiple-authors-layout-boxed {
  margin: 0px !important;
  padding: 0px !important; }
  .pp-multiple-authors-layout-boxed h2 {
    margin-bottom: 3px !important; }
  .pp-multiple-authors-layout-boxed ul {
    border-style: none !important;
    margin: 0px !important;
    padding: 0px !important; }
    .pp-multiple-authors-layout-boxed ul li {
      margin: 5px !important;
      margin-left: 5px !important;
      padding-left: 5px !important;
      border-style: none !important; }
    .pp-multiple-authors-layout-boxed ul li div:first-child {
      display: none; }
    .pp-multiple-authors-layout-boxed ul .multiple-authors-name {
      display: block !important; }
  .pp-multiple-authors-layout-boxed .multiple-authors-links {
    width: 100% !important;
    position: relative !important; }
    .pp-multiple-authors-layout-boxed .multiple-authors-links a {
      background-color: #b79220 !important; }

header {
  z-index: 100 !important; }

.active-result {
  list-style-type: none !important;
  list-style: none !important; }

#dashButtons.d-flex {
  margin-top: unset !important; }

.payment_methods ul li {
  list-style-type: none !important;
  list-style: none !important;
  border: 1px solid rgba(100, 100, 100, 0.5);
  background-color: rgba(200, 200, 200, 0.25); }

#payment .payment_box {
  background: unset !important; }

h3.product_cat_header {
  margin-top: 15px !important;
  margin-bottom: 0px !important;
  font-size: 1.15rem; }

h4.product_cat_header {
  margin-top: 15px !important;
  margin-bottom: -5px !important;
  font-size: 20px;
  font-weight: bold; }

.wc_payment_method li:before {
  display: none !important; }

.hero-img-container {
  display: none;
  position: absolute;
  z-index: -100;
  width: 100%;
  max-height: 135px;
  clip: auto;
  opacity: .25; }

.hero_section {
  padding: 20px 20px 20px 20px;
  margin-bottom: 18px; }
  .hero_section .container .row {
    max-width: 100%;
    text-align: center; }
    .hero_section .container .row .hero-caption {
      font-size: 16px !important;
      text-align: center; }
    .hero_section .container .row .hero-headline {
      color: #B59038;
      font-size: 48px;
      line-height: 57.6px;
      text-align: center;
      margin-bottom: 20px !important; }

.cta-icon.icon-link-internal {
  height: 22px !important;
  width: 22px !important;
  margin-right: -10px !important;
  margin-left: 10px !important;
  float: right; }

.back_link, .previous_link {
  margin-bottom: 10px;
  margin-top: -5px; }
  .back_link .cta-icon.icon-link-internal, .previous_link .cta-icon.icon-link-internal {
    transform: rotate(180deg);
    float: left;
    height: 22px;
    width: 22px;
    margin-right: 10px !important;
    margin-left: -10px !important; }

.cmn-hero-banner {
  font-size: 16px;
  min-height: 170px;
  padding-top: 1em !important;
  z-index: 1; }

.section {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  @media (min-width: 1000px) {
    .section {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  .section.section-custom-post {
    padding-top: 1rem;
    padding-bottom: 1rem; }

.section-headline {
  margin-bottom: 2rem; }

@media screen and (max-width: 767px) {
  #search-container {
    top: 60px !important; }
  .last-purch-label {
    display: none !important; } }

.section_page_content #search-container {
  background-color: #ffffff;
  position: absolute;
  top: 135px !important;
  left: 0;
  padding-bottom: 4rem;
  opacity: 1;
  z-index: 9;
  width: 100%;
  min-height: 100vh;
  display: none; }
  @media (min-width: 1000px) {
    .section_page_content #search-container {
      position: static;
      display: block;
      padding-top: 0;
      padding-bottom: 2rem; } }
  @media (min-width: 1200px) {
    .section_page_content #search-container {
      padding-right: 1rem; } }
  @media (min-width: 1600px) {
    .section_page_content #search-container {
      padding-right: 3rem; } }
  .section_page_content #search-container h3 {
    margin-bottom: 1.5rem; }
  .section_page_content #search-container .form-group {
    margin-bottom: 0rem;
    min-height: unset;
    height: 3rem;
    width: 100%; }
    .section_page_content #search-container .form-group .form-control {
      min-height: unset; }
  .section_page_content #search-container .icon-search {
    left: 13px;
    bottom: 13px; }
  .section_page_content #search-container #offerings-search, .section_page_content #search-container #courses-search {
    min-height: 3.1rem;
    padding-right: 5px; }
  .section_page_content #search-container .form-container {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
    @media (min-width: 1000px) {
      .section_page_content #search-container .form-container {
        padding-top: 0; } }
    .section_page_content #search-container .form-container .form-check {
      margin-bottom: 1rem; }
  .section_page_content #search-container .eca_section .toggle {
    padding-top: .5rem;
    padding-bottom: .6rem;
    background-color: transparent;
    color: #0a1c2c;
    cursor: pointer;
    position: relative;
    padding: .9rem 0;
    padding-right: 1rem;
    margin-bottom: 0;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 1.15em; }
    @media (min-width: 576px) {
      .section_page_content #search-container .eca_section .toggle {
        margin-right: 2rem; } }
  .section_page_content #search-container .eca_section .eca-items .toggle {
    color: #304f6c; }
    .section_page_content #search-container .eca_section .eca-items .toggle::after {
      content: "";
      display: block;
      position: absolute;
      right: 0;
      top: 38%;
      background-image: url("../img/icons/icon-plus.svg");
      background-size: contain;
      width: 16px;
      height: 16px;
      transition: 0.5s; }
      @media (min-width: 576px) {
        .section_page_content #search-container .eca_section .eca-items .toggle::after {
          right: 2rem; } }
  .section_page_content #search-container .search-buttons {
    margin-bottom: 2rem; }
    .section_page_content #search-container .search-buttons .btn-clear-filters,
    .section_page_content #search-container .search-buttons .btn-filter-offerings {
      display: block;
      width: 60%;
      margin: 0 auto 1rem auto; }
      @media (min-width: 576px) {
        .section_page_content #search-container .search-buttons .btn-clear-filters,
        .section_page_content #search-container .search-buttons .btn-filter-offerings {
          padding: 1.2rem 1.8rem; } }
    .section_page_content #search-container .search-buttons .btn-clear-filters {
      font-size: 1rem;
      width: auto;
      padding: .6rem 1rem; }

@media (min-width: 1000px) {
  .content_section {
    padding-right: 2rem;
    padding-left: 2rem; } }

.content_section .featured-headline,
.content_section .section-headline {
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .content_section .featured-headline,
    .content_section .section-headline {
      margin-bottom: 4rem; } }

.content_section .two-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .two-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .two-column {
      padding-top: 0; } }

.content_section .three-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .three-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .three-column {
      padding-bottom: 0; } }

.content_section .four-column {
  padding-bottom: 2rem; }

.content_section .four-column,
.content_section .three-column,
.content_section .two-column,
.content_section .full-width {
  position: relative;
  overflow: hidden; }

.featured_section.bg-light-blue,
.content_section.bg-light-blue,
.eca_section.bg-light-blue {
  background-color: #eff7fc;
  margin-bottom: 1.6rem; }
  .featured_section.bg-light-blue.section-custom-post,
  .content_section.bg-light-blue.section-custom-post,
  .eca_section.bg-light-blue.section-custom-post {
    margin-bottom: 0rem; }

.content_section.bg-white.section-custom-post {
  margin-bottom: 0;
  padding-bottom: 2rem; }

.site-main .section.back_link {
  margin-bottom: 0 !important; }
  .site-main .section.back_link .row {
    max-width: 100vw !important; }
    .site-main .section.back_link .row .back_link {
      width: 100%; }
      @media (max-width: 768px) {
        .site-main .section.back_link .row .back_link .content-copy {
          text-align: center !important; } }
  .site-main .section.back_link:last-child {
    margin-bottom: 2rem !important;
    background-color: #ffffff; }

.site-main .previous_link {
  margin-bottom: 0 !important; }
  .site-main .previous_link .two-column {
    padding-bottom: 0 !important; }

.change-view {
  display: block;
  width: 7rem;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  position: relative;
  padding-left: 1.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  .change-view:hover {
    text-decoration: none; }
  .change-view:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 5px;
    background-image: url("../img/icons/icon-grid-view-blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px; }

.change-view.event-change-view:after {
  background-image: url("../img/icons/icon-list-view-blue.svg");
  width: 17px;
  height: 17px; }

.wc_payment_methods.payment_methods li {
  clear: both;
  border: 1px solid #071c2f;
  background-color: #eff7fc;
  padding: 4px;
  margin-bottom: 0px; }
  .wc_payment_methods.payment_methods li.selected {
    border: 2px solid #304f6c; }

div.payment_box {
  margin: 0px !important; }

div.payment_method_paypal_pro_payflow label {
  left: -30px !important; }

.tribe-events-tooltip .tribe-events-event-body {
  padding: 3px 6px 6px; }

.tribe-country-name {
  display: block; }

@media screen and (min-width: 768px) {
  div.payment_method_paypal_pro_payflow {
    margin-bottom: -30px; } }

@media screen and (max-width: 767px) {
  div.payment_method_paypal_pro_payflow {
    margin-bottom: -30px; } }

.woocommerce-message {
  cursor: pointer !important; }

.wc-block-grid__product-add-to-cart {
  margin: 0;
  word-break: break-word;
  white-space: normal;
  max-height: 30px !important; }
  .wc-block-grid__product-add-to-cart a {
    word-break: break-word;
    white-space: normal;
    margin: 0; }
    .wc-block-grid__product-add-to-cart a.loading {
      opacity: 0.25;
      padding-right: 2.618em;
      max-height: 30px !important; }
      .wc-block-grid__product-add-to-cart a.loading::after {
        font-family: WooCommerce;
        /* stylelint-disable-line */
        content: "\e01c";
        vertical-align: top;
        font-weight: 400;
        position: absolute;
        top: 0.618em;
        right: 1em;
        animation: spin 2s linear infinite;
        max-height: 30px !important; }
    .wc-block-grid__product-add-to-cart a.added::after {
      font-family: WooCommerce;
      /* stylelint-disable-line */
      content: "\e017";
      margin-left: 0.53em;
      vertical-align: bottom;
      max-height: 30px !important; }
  .wc-block-grid__product-add-to-cart .added_to_cart {
    text-align: center;
    max-height: 30px !important; }

.add-order {
  z-index: 300; }

.add-order-header {
  top: 4px;
  padding-left: 6px;
  color: #ffffff;
  position: relative;
  max-width: inherit; }
  @media (max-width: 768px) {
    .add-order-header {
      position: relative;
      max-width: inherit; }
      .add-order-header .h4 {
        max-height: 50px;
        text-overflow: ellipsis;
        overflow: hidden;
        max-width: 95%; } }

.add-order-whse {
  position: absolute;
  top: 4px;
  color: #ffffff;
  right: 3rem;
  padding-right: 5px; }
  .add-order-whse span:first-child {
    font-weight: bold;
    padding-right: 5px; }

.add-order-content {
  margin-top: 0px !important;
  margin-bottom: 0px !important; }
  @media (min-width: 768px) {
    .add-order-content {
      display: block; } }
  @media (min-width: 1200px) {
    .add-order-content {
      display: flex; } }

@media (max-width: 768px) {
  .order-info {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    justify-content: space-between; } }

@media screen and (max-width: 767px) {
  .order-info {
    margin-top: -20px;
    margin-bottom: -20px; }
  .order-submit {
    margin-top: -10px;
    margin-bottom: 15px; }
  .add-order-header {
    position: relative;
    max-width: inherit; }
    .add-order-header .h4 {
      max-height: 50px;
      text-overflow: ellipsis;
      overflow: hidden;
      max-width: 95%; } }

.products-panel {
  position: relative; }

.add-order-overlay {
  background-color: rgba(255, 255, 255, 0.65);
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  z-index: 10 !important;
  display: none; }

.offering .checkout {
  z-index: 20 !important; }

@media screen and (max-width: 767px) {
  .offering .checkout {
    z-index: 136 !important; }
  .wc-credit-card-form-card-number {
    width: 98%;
    max-width: 98%; } }

.offering-filter {
  font-size: .90em !important; }

.wc-credit-card-form-card-number {
  width: 475px;
  max-width: 475px; }

.sticky-button-container {
  background: #ffffff !important;
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0px !important;
  z-index: 99 !important;
  margin-bottom: 14px; }

.sticky-button-container-admin {
  background: #ffffff !important;
  position: sticky !important;
  position: -webkit-sticky !important;
  z-index: 99 !important;
  margin-bottom: 14px; }

.woocommerce-error .wc-forward {
  display: none !important; }

#server-id {
  text-align: center;
  opacity: .95;
  z-index: 9999999;
  padding: 3px;
  font-size: 0.7em;
  border-radius: 2px;
  position: fixed;
  left: 17%;
  top: 2px;
  border: 2px solid darkgoldenrod;
  background-color: lightyellow;
  font-weight: bold;
  box-shadow: 3px 3px 4px rgba(100, 100, 100, 0.35); }

/* Brewing Loader */
.gf-captcha label {
  display: none; }

/* spinning on checkout */
.checkout.woocommerce-checkout .woocommerce-NoticeGroup {
  z-index: 1000 !important; }

.checkout.woocommerce-checkout.processing .woocommerce-NoticeGroup {
  /*
background-image:url('https://royalny-cdn.s3.amazonaws.com/assets/images/143.png') !important;*/
  width: 100vw !important;
  height: 100vh !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center !important; }

.checkout.woocommerce-checkout.processing .woocommerce-NoticeGroup ul {
  display: none !important; }

/* spinning on checkout */
.blockUI.blockOverlay {
  /*
background-image:url('https://royalny-cdn.s3.amazonaws.com/assets/images/143.png') !important;*/
  width: 100vw !important;
  height: 100vh !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center !important; }

.woocommerce .blockUI.blockOverlay {
  opacity: 1 !important;
  background-color: rgba(255, 255, 255, 0.75) !important; }

.short_code {
  padding-top: 0px;
  padding-bottom: 0px; }

.ewd-ufaq-faqs {
  max-width: 1000px;
  margin: auto; }

.ufaq-faq-category-inner {
  margin-bottom: 0; }

.ufaq-faq-category-title h4 {
  color: #fff;
  padding: 0.5rem;
  font-size: 1.4rem;
  background-color: #90969f; }

.ufaq-faq-toggle {
  font-size: 1.2rem;
  border-bottom: 1px solid #e8eaeb;
  color: #fff;
  padding: .5rem;
  background-color: #e8eaeb; }

.ufaq-faq-body {
  background-color: #fff; }

.coffee-origins td {
  border-bottom: 1px solid #DCDCDC;
  padding: 4px; }

.coffee-origins td:first-child {
  width: 30%;
  text-align: right;
  border-right: 1px solid #DCDCDC;
  background-color: #F5F5F5; }

.coffee-origins td:first-child::after {
  content: ':'; }

.coffee-origins tr:last-child td {
  border-bottom: 0px solid #DCDCDC; }

.coffee-origins tfoot td {
  font-weight: bold;
  padding-top: 20px;
  background-color: inherit !important;
  border-right-width: 0px !important; }

.coffee-origins tfoot td::after {
  content: '' !important; }

.coffee-roast-profile-container {
  text-align: center; }

.coffee-roast-profile {
  border: 1px solid #0a1c2c;
  border-collapse: collapse; }

.coffee-roast-profile td {
  border: 1px solid #0a1c2c;
  border-collapse: collapse;
  padding: 8px; }

.coffee-roast-profile td:first-child {
  color: #ffffff;
  background-color: #0a1c2c;
  font-size: 1.2rem;
  width: 20%; }

.coffee-roast-profile tfoot td {
  padding-top: 20px;
  color: inherit !important;
  background-color: inherit !important; }

.coffee-roast-disclaimer {
  margin-top: 1rem;
  padding: 8px;
  border: 1px solid #0a1c2c;
  text-align: center;
  font-size: .8rem; }

#header-nav .header-eca-section .top-level a {
  white-space: nowrap; }

#verifying-inventory, #processing-payment, #send-to-warehouse {
  width: 100%;
  position: absolute;
  top: calc(50% + 69px);
  left: 0;
  font-size: 23px !important;
  font-weight: bold !important;
  z-index: 99999;
  text-align: center;
  color: #304f6c; }

.empty_cart {
  float: right;
  margin-right: 10px; }

@media screen and (max-width: 767px) {
  #verifying-inventory, #processing-payment, #send-to-warehouse {
    width: 100%;
    position: absolute;
    top: calc(50% + 69px);
    left: 0;
    font-size: 23px !important;
    font-weight: bold !important;
    z-index: 99999;
    text-align: center; }
  .empty_cart {
    float: none i !important;
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    margin-right: 0px  !important;
    margin-left: 0px  !important;
    text-align: center;
    width: 100%; } }

#verifying-inventory.hidden-msg, #processing-payment.hidden-msg, #send-to-warehouse.hidden-msg {
  transition: all .5s;
  opacity: 0 !important;
  padding-top: 35px !important; }

#verifying-inventory.show-msg, #processing-payment.show-msg, #send-to-warehouse.show-msg {
  transition: all .9s;
  opacity: 1;
  padding-top: 3px; }

#pallet_message {
  padding: 25px;
  margin: 1px;
  margin-top: 12px;
  border: 1px solid goldenrod;
  background-color: lightyellow;
  font-weight: bold;
  color: maroon;
  font-size: 1.35em;
  text-align: center;
  border-radius: 6px; }
  #pallet_message img {
    height: 65px !important;
    float: left !important; }

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
  content: none !important; }

.woocommerce-message a.wc-forward,
.woocommerce-error a.wc-forward,
.woocommerce-info a.wc-forward {
  display: none !important; }

.wmc-cart-wrapper {
  width: 400px !important;
  overflow-x: hidden !important; }

.wmc-cart {
  width: 400px !important;
  overflow-x: hidden !important; }

.wmc-content {
  width: 400px !important;
  overflow-x: hidden !important; }
  .wmc-content h3 {
    background-color: silver !important;
    border-bottom: 3px solid gray !important;
    color: darkslategray !important;
    font-size: 17px !important;
    padding: 18px !important;
    height: 35px !important; }

.wmc-products {
  width: 400px !important; }

.wmc-details {
  width: 400px !important; }
  .wmc-details p {
    float: right;
    display: inline;
    max-width: 10%; }

.wmc-product-title {
  overflow: hidden !important;
  text-overflow: ellipsis;
  max-width: 90% !important;
  text-align: left;
  font-size: 13px; }

.wmc-price {
  width: 10% im !important;
  float: right;
  text-align: right;
  font-weight: bold;
  font-size: 14px; }

.wmc-subtotal {
  background-color: #071c2f !important;
  color: #ffffff !important; }
  .wmc-subtotal h5 {
    color: #ffffff !important; }

.wmc-bottom-buttons :first-child {
  background-color: #304f6c !important;
  color: #ffffff; }

.wmc-bottom-buttons :first-child:hover {
  background-color: #071c2f !important; }

.wmc-bottom-buttons :last-child {
  background-color: #578587 !important;
  color: #ffffff; }

.wmc-bottom-buttons :last-child:hover {
  background-color: #1c3533 !important; }

.wmc-remove {
  display: none !important; }

.wmc-image {
  display: none; }

.wmc-count {
  font-size: 14px !important;
  font-weight: bold !important; }

figcaption :nth-child(3), .cta-caption-text {
  min-height: 90px;
  display: flex;
  vertical-align: top;
  margin-top: 0px;
  margin-bottom: 25px; }

figcaption p {
  line-height: 1 !important; }

#timer {
  position: fixed;
  left: 2%;
  bottom: 1px;
  height: 85px;
  width: 145px;
  text-align: center;
  font-weight: bold;
  background-color: #071c2f;
  color: #ffffff;
  padding: 12px;
  margin-bottom: 2px;
  display: none; }

#timer_text {
  color: #ffffff;
  font-size: 11px; }

#timer_minutes, #timer_seconds {
  font-size: 25px;
  width: 100%;
  text-align: center;
  display: block; }

.open_new_tab {
  text-decoration: none !important; }

.open_new_tab:hover {
  text-decoration: none !important;
  color: #578587; }

@media screen and (max-width: 767px) {
  .open_new_tab {
    display: none; } }

figcaption :nth-child(3) {
  max-height: unset;
  min-height: unset;
  height: unset; }

.content_section .row {
  display: flex; }

.content_section .col-lg-6 {
  -webkit-box-flex: 0 !important;
  -ms-flex: 0 0 50% !important;
  flex: 0 0 50% !important;
  margin-right: 2% !important;
  max-width: 48% !important; }

@media screen and (min-width: 767px) {
  .content_section .col-lg-6 {
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important; } }

.cta-card .single-img-container {
  margin-bottom: -160px !important;
  max-height: 400px; }

.cta-card .single-img-headline {
  font-size: 30px;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.33);
  margin-top: 20px;
  color: #B59038; }

.cta-card .single-img-text {
  color: white !important;
  padding-left: 12px !important;
  background: rgba(10, 28, 44, 0.53);
  display: inline-block;
  zoom: 1;
  width: 100%; }

a .learn_more {
  position: absolute;
  color: #ffffff;
  font-weight: bold;
  opacity: 0;
  transition: .35s;
  font-size: 19px;
  margin: auto;
  text-align: center;
  margin-top: 190px;
  text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.33);
  width: 100%;
  min-width: 100%; }

a:hover .learn_more {
  opacity: 1;
  color: #B59038;
  transition: .75s;
  margin-top: 200px;
  width: 100%;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.33); }

.chosen-results {
  list-style-type: none !important;
  list-style: none !important; }
  .chosen-results ul {
    list-style-type: none !important;
    list-style: none !important; }
    .chosen-results ul li {
      list-style-type: none !important;
      list-style: none !important; }

.active-result {
  list-style-type: none !important;
  list-style: none !important; }

.shim-1 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 1px;
  line-height: 1px;
  max-height: 1px; }

.shim-5 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 5px;
  line-height: 5px;
  max-height: 5px; }

.shim-10 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 10px;
  line-height: 10px;
  max-height: 10px; }

.shim-15 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 15px;
  line-height: 15px;
  max-height: 15px; }

.quick-filter-inner.d-flex.dash_nav.dash_nav2 {
  font-weight: bold !important; }

.ui-accordion-header-icon.ui-icon.ui-icon-circle-arrow-s {
  display: none !important; }

.ui-accordian-content, .ui-accordion-header, .faq-answer {
  background-color: transparent !important;
  border-left: 0px transparent none !important;
  border-right: 0px transparent none !important; }

h1.main-header {
  font-size: 48px;
  font-weight: 700;
  line-height: 57.6px !important;
  margin-bottom: 20px !important; }

footer a {
  color: #ffffff !important; }

.footer-link-wrap {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: calc(100% - 270px); }
  @media only screen and (max-width: 1599px) {
    .footer-link-wrap {
      width: calc(100% - 80px); } }
  @media only screen and (max-width: 1199px) {
    .footer-link-wrap {
      width: calc(100% - 0px); } }
  @media only screen and (max-width: 999px) {
    .footer-link-wrap {
      width: calc(100% - 0px); } }
  @media only screen and (max-width: 767px) {
    .footer-link-wrap {
      width: 100%; } }
  .footer-link-wrap .menu-footer-container {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    width: 100%; }
    .footer-link-wrap .menu-footer-container ul li {
      padding: 0;
      margin: 0;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column; }
      .footer-link-wrap .menu-footer-container ul li::before {
        display: none; }
      .footer-link-wrap .menu-footer-container ul li > ul {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 0; }
        .footer-link-wrap .menu-footer-container ul li > ul > li {
          margin: 12px 0 0;
          padding: 0; }
          @media only screen and (max-width: 767px) {
            .footer-link-wrap .menu-footer-container ul li > ul > li {
              margin-top: 5px; } }
          .footer-link-wrap .menu-footer-container ul li > ul > li a:hover {
            color: #B59038; }
    .footer-link-wrap .menu-footer-container > ul {
      margin: 0;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      width: 100%;
      margin: 0;
      padding: 0;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media only screen and (max-width: 767px) {
        .footer-link-wrap .menu-footer-container > ul > li {
          margin-top: 30px; } }
      @media only screen and (max-width: 575px) {
        .footer-link-wrap .menu-footer-container > ul > li {
          width: 50%; } }
      .footer-link-wrap .menu-footer-container > ul > li:first-child {
        padding: 0; }
      .footer-link-wrap .menu-footer-container > ul > li > a {
        color: #B59038;
        margin-bottom: 8px;
        text-transform: uppercase;
        font-weight: bold; }

a.nav-link:not([href]), a.nav-link[href='#'] {
  color: #B59038 !important; }

header, footer {
  padding-left: 9vw  !important;
  padding-right: 9vw  !important;
  max-width: 100vw !important; }

@media only screen and (max-width: 1199px) {
  header, footer {
    padding-left: 2em !important;
    padding-right: 2em !important; } }

.btn.btn-white:hover {
  color: #b79220;
  transition: color .77s; }

.menu-item.third-level, .menu-item.second-level, .menu-item.nav-item.list-unstyled {
  font-weight: bolder !important;
  font-size: .95em !important; }

aside::-webkit-scrollbar {
  display: none !important; }

aside {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }

.blog .image a img {
  max-height: 333px !important;
  max-width: 497px !important; }

.offering-item-header {
  top: 107px;
  border-top: 1px solid white;
  z-index: 8;
  position: sticky;
  margin-bottom: 0;
  padding: 8px 24px;
  color: #fff;
  background-color: #0B1724;
  cursor: pointer; }

@media screen and (max-width: 1000px) {
  .offering-item-header {
    top: 56px; } }

.form_section {
  background-color: #eff7fc; }
  .form_section .full-width .gform_wrapper {
    max-width: 48.2rem;
    margin: 0 auto; }
    .form_section .full-width .gform_wrapper div.gform_body ul.gform_fields {
      list-style: none;
      padding-left: 0; }
    .form_section .full-width .gform_wrapper .gfield_required {
      color: #a11c18; }
    .form_section .full-width .gform_wrapper div.ginput_container textarea,
    .form_section .full-width .gform_wrapper div.ginput_container input[type="text"],
    .form_section .full-width .gform_wrapper div.ginput_container input[type="email"],
    .form_section .full-width .gform_wrapper div.ginput_container input[type="tel"] {
      width: 100%;
      border-radius: 0;
      min-height: 4.1rem;
      background-color: #ffffff;
      border: 1px solid #90969f;
      padding: 0;
      padding-left: 1rem;
      padding-top: 1rem; }
      .form_section .full-width .gform_wrapper div.ginput_container textarea:focus,
      .form_section .full-width .gform_wrapper div.ginput_container input[type="text"]:focus,
      .form_section .full-width .gform_wrapper div.ginput_container input[type="email"]:focus,
      .form_section .full-width .gform_wrapper div.ginput_container input[type="tel"]:focus {
        outline: none;
        border-color: #304f6c;
        -webkit-box-shadow: 0px 0px 0px 1px #304f6c;
        -moz-box-shadow: 0px 0px 0px 1px #304f6c;
        box-shadow: 0px 0px 0px 1px #304f6c; }
    .form_section .full-width .gform_wrapper div.ginput_container textarea {
      padding-top: 2rem; }
    .form_section .full-width .gform_wrapper div.ginput_container input > div {
      padding-left: 1rem; }

.three-column {
  max-width: 30% !important;
  margin: 1% !important;
  max-height: 317px !important; }

a:not([href]), a[href='#'] {
  cursor: default !important;
  -webkit-user-select: none !important;
  /* Safari */
  -ms-user-select: none !important;
  /* IE 10 and IE 11 */
  user-select: none !important;
  /* Standard syntax */ }

.btn {
  min-width: 95px !important;
  padding: 12px 23px 12px 23px !important; }

.figure-card-wrap figure {
  background-color: #000; }

.figure-card-wrap:hover img {
  opacity: .75;
  transition: all .75s; }

.figure-card-wrap img {
  opacity: 1;
  transition: all .75s; }

div.card.card-3 a .text-hover {
  z-index: 8;
  cursor: pointer;
  display: inline-block;
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 85%;
  transition: all .75s;
  color: #ffffff;
  font-weight: normal !important;
  font-size: 1.1em;
  z-index: 12;
  padding: 8%;
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 27%;
  text-align: center !important;
  vertical-align: 50%;
  background-color: rgba(0, 0, 0, 0.55); }

div.card.card-3 a:hover .text-hover {
  z-index: 12;
  opacity: 1;
  display: block;
  transition: all .75s;
  text-align: center !important; }

.text-hover:hover {
  z-index: 12;
  opacity: 1;
  display: block;
  transition: all .55s; }

.offering-item-body-right {
  width: 222px !important;
  max-width: 19.50% !important; }
  .offering-item-body-right .add-to-order-products-btn, .offering-item-body-right .btn {
    font-size: .89em !important;
    padding-top: 4px !important;
    max-width: 100% !important;
    width: 100%;
    height: 37px;
    margin: auto; }

.offering-item-body-right-reserve {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 100% !important;
  text-align: right; }
  .offering-item-body-right-reserve .add-to-order-products-btn, .offering-item-body-right-reserve .btn {
    font-size: .89em !important;
    padding-top: 4px !important;
    max-width: 100% !important;
    width: 100%;
    height: 37px;
    margin: auto; }

@media screen and (max-width: 1000px) {
  .offering-item-body-right {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important; }
  .offering-item-body-right-reserve {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important; } }

.frac .offering-item-body {
  padding: 0px !important; }

.frac .offer-detail {
  margin-bottom: .99em !important; }

.offer-detail .offer-item-body-left {
  padding: 15px; }

.offering-item-footer .sl-wrap {
  font-size: .89em !important; }

.prd-groupname {
  padding-left: 23px;
  padding-top: 10px;
  padding-bottom: 8px;
  margin-bottom: 0px; }

.offering-item-header-title .icon-royal-Right, .reserves-items .offering-title .icon-royal-Right {
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 1.65em !important;
  line-height: .8em;
  transition: .77s;
  display: inline-block;
  margin-right: 3px;
  margin-left: -17px !important;
  vertical-align: text-bottom; }

.reserves-items .offering-title .icon-royal-Right {
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 1.15em !important;
  line-height: 1em;
  transition: .77s;
  display: inline-block;
  margin-right: -7px !important;
  margin-left: -50px !important;
  vertical-align: text-bottom; }

.collapsed-group .icon-royal-Right {
  transform: rotate(-90deg) !important;
  transition: .77s; }

.tea-item-title {
  margin-bottom: 3px;
  max-width: 100%;
  white-space: nowrap;
  max-height: 33px !important;
  min-height: 33px !important;
  overflow: hidden; }
  .tea-item-title a {
    text-overflow: ellipsis !important;
    max-width: 98%;
    white-space: nowrap;
    font-size: 1.2rem !important;
    display: block;
    overflow: hidden; }

.offering-item-ingredient {
  text-overflow: ellipsis !important;
  max-width: 99%;
  max-height: 80px;
  min-height: 80px;
  overflow: hidden; }

.search-container {
  max-width: 95vw !important; }

h2 {
  font-weight: bold !important; }

.section.secondary-img-wide {
  min-height: 325px !important; }

img.cta-icon {
  width: 15px !important;
  height: unset !important;
  min-width: unset !important; }

.offering-item-detail {
  text-transform: capitalize; }

.btn-disabled, .btn[disabled=disabled] {
  background-color: dimgray !important;
  border-color: transparent !important;
  color: silver !important;
  cursor: not-allowed !important; }
  .btn-disabled:hover, .btn[disabled=disabled]:hover {
    text-decoration: none !important;
    background-color: dimgray !important;
    color: silver !important;
    border-color: transparent !important; }

.woocommerce-notices-wrapper {
  display: block !important;
  margin: auto !important;
  position: fixed !important;
  max-width: 100% !important;
  width: 100% !important;
  z-index: 99 !important;
  margin: 0px !important;
  padding: 0px !important;
  float: left;
  clear: none;
  top: 0px !important; }
  .woocommerce-notices-wrapper div {
    max-width: 30vw;
    display: block !important;
    background-color: #0A1C2E !important;
    color: #ffffff !important;
    padding: 3em !important;
    min-height: unset !important;
    margin: auto !important;
    text-align: center !important;
    border: none !important;
    box-shadow: 4px 4px 7px rgba(0, 0, 0, 0.25) !important;
    cursor: pointer;
    position: absolute;
    top: 35vh !important;
    left: calc(50% - 15vw) !important;
    z-index: 100; }
    .woocommerce-notices-wrapper div::after {
      height: 25px;
      width: 25px;
      content: 'x';
      font-weight: bold;
      display: block;
      background-color: red;
      color: white;
      margin-top: 0px;
      padding: 0px;
      position: absolute;
      z-index: 101;
      top: 0;
      right: 0;
      cursor: pointer; }

::placeholder {
  color: #888888 !important;
  font-style: italic; }

.gfield_label {
  display: block;
  width: 100%;
  font-weight: bold;
  margin-top: 10px !important;
  margin-bottom: 1px !important;
  margin-left: -3px !important;
  font-size: 1.15em; }

.select-hide {
  display: none; }

*[role="button"] {
  cursor: pointer; }

.order_details {
  list-style-type: none !important; }
  .order_details li {
    list-style-type: none !important; }

.payment_box p {
  margin-bottom: unset !important; }

.wc_payment_methods {
  list-style-type: none !important; }
  .wc_payment_methods .wc_payment_method {
    list-style-type: none !important;
    border: 0px !important;
    padding: 5px !important;
    margin-bottom: 0px !important;
    background-color: rgba(255, 255, 255, 0) !important; }
    .wc_payment_methods .wc_payment_method label div:first-child {
      font-weight: bold;
      font-size: 1.25em; }
    .wc_payment_methods .wc_payment_method::before {
      display: none !important; }

.woocommerce-checkout #payment ul.payment_methods::after, .woocommerce-checkout #payment ul.payment_methods::before {
  display: none !important; }

.wc_payment_method input {
  display: unset !important; }

.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
  min-height: 5rem;
  height: 6rem; }

.woocommerce-terms-and-conditions-wrapper .validate-required label {
  white-space: normal;
  line-height: unset;
  padding-left: 1.5rem; }
  .woocommerce-terms-and-conditions-wrapper .validate-required label::before {
    background-color: #ffffff;
    left: -1rem; }

.woocommerce-terms-and-conditions-wrapper .woocommerce-validated label::before {
  background-color: #071c2f;
  left: -1rem; }

.btn-primary {
  background-color: #578587;
  color: #ffffff;
  border: none; }
  .btn-primary:active, .btn-primary:hover {
    background-color: #395758;
    border-color: #395758;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.woocommerce-order {
  max-width: unset !important;
  margin: unset !important; }
  .woocommerce-order .woocommerce-notice {
    margin-bottom: 2rem; }
    @media (min-width: 768px) {
      .woocommerce-order .woocommerce-notice {
        margin-bottom: 4rem; } }
  .woocommerce-order .woocommerce-order-overview {
    padding: 2rem;
    background-color: #e8eaeb; }
    .woocommerce-order .woocommerce-order-overview li {
      text-align: left;
      border: none; }
      @media (min-width: 1000px) {
        .woocommerce-order .woocommerce-order-overview li {
          text-align: center; } }
    @media (min-width: 1200px) {
      .woocommerce-order .woocommerce-order-overview li.order {
        margin-left: 2rem; } }
  .woocommerce-order .woocommerce-order-details .order_details {
    border-collapse: collapse;
    border: none;
    margin-bottom: 2rem; }
  .woocommerce-order .woocommerce-order-details tfoot tr:last-of-type {
    background-color: #e8eaeb; }
  .woocommerce-order .woocommerce-order-details address {
    border: none; }

.shipping h5, .paymentMethod h5, .payment_methods h5 {
  font-size: 16px;
  margin: 40px 0 24px; }

.shipping .invalid-feedback, .paymentMethod .invalid-feedback, .payment_methods .invalid-feedback {
  color: red;
  margin-bottom: 0; }

.shipping .form-check label::before,
.shipping .form-check label::after, .paymentMethod .form-check label::before,
.paymentMethod .form-check label::after, .payment_methods .form-check label::before,
.payment_methods .form-check label::after {
  border-radius: 50% !important; }

.shipping .form-check input[type=radio].is-checked + label::after, .paymentMethod .form-check input[type=radio].is-checked + label::after, .payment_methods .form-check input[type=radio].is-checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important; }

.shipMethod fieldset {
  border: 1px solid #0077B505;
  padding: 8px; }

.is-checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important; }

.form-check label div:nth-child(1) {
  margin-top: -8px !important; }

.form-check label .sv-wc-payment-gateway-card-icons {
  margin-top: 0px !important; }
  .form-check label .sv-wc-payment-gateway-card-icons img {
    margin-top: 15px !important;
    border: 2px solid silver;
    border-radius: 3px; }

div.payment_box p::before, div.payment_box::before {
  display: none !important; }

.payment_box .input-text, .payment_box .woocommerce-select {
  font-size: 14px !important;
  border: 1px solid #777777 !important;
  font-family: 'Europa' !important; }

.tribe-checkout-backlinks {
  display: none; }

.card-images {
  display: none;
  float: right;
  margin-top: -10px; }

.payment_method_paypal .about_paypal {
  line-height: 52px;
  font-size: 0.83em; }

.payment_method_paypal img {
  max-height: 52px;
  vertical-align: middle;
  display: none; }

.payment_method_paypal .card-images {
  background-image: url("/wp-content/themes/royal-ny/img/icons/paypal-credit-cards.png") !important;
  background-repeat: none !important;
  background-position: 0px 0px !important;
  width: 198px !important;
  height: 64px !important;
  display: block !important;
  clear: both !important; }

.payment_method_paypal_pro_payflow img {
  max-height: 52px;
  vertical-align: middle;
  display: none; }

.payment_method_paypal_pro_payflow .card-images {
  background-image: url("/wp-content/themes/royal-ny/img/icons/credit-cards.png") !important;
  background-repeat: none;
  background-position: 0px 0px;
  width: 198px !important;
  height: 64px !important;
  display: block !important;
  clear: both; }

.woocommerce-checkout-review-order-table {
  border: none !important; }
  .woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table tr, .woocommerce-checkout-review-order-table thead, .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot {
    border: none !important; }

@media screen and (max-width: 1160px) {
  .woocommerce-checkout-review-order-table {
    margin-bottom: 10px !important;
    min-width: 100% !important;
    clear: both !important;
    border: none !important; }
    .woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table tr, .woocommerce-checkout-review-order-table thead, .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot {
      border: none !important; }
  .woocommerce-checkout-payment {
    min-width: 99% !important;
    max-width: 99% !important;
    margin-top: 0px !important;
    clear: both !important; }
  .payment-wrapper {
    background: transparent !important; } }

.form-check input:checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important;
  transition: all .55s; }

.form-check-input:checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important;
  transition: all .55s; }

.woocommerce .blockUI.blockOverlay::before {
  display: inline-block;
  width: 48px;
  height: 48px;
  vertical-align: text-bottom;
  border: 4.5px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite;
  background: none !important;
  content: ""; }

@keyframes spinner-border {
  to {
    transform: rotate(360deg); } }

.woocommerce-order-details {
  margin-top: -30px; }

.woocommerce-order-overview {
  margin-top: -30px !important;
  padding-bottom: 5px !important;
  margin-bottom: 20px !important;
  margin-top: 5px !important;
  border-bottom: 2px solid #99999965 !important;
  background-color: #99999920 !important;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: center;
  align-items: center; }
  .woocommerce-order-overview li {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: stretch;
    justify-content: space-evenly;
    align-items: center;
    text-align: center !important; }
  .woocommerce-order-overview li::before {
    display: none !important; }
  .woocommerce-order-overview li p.label {
    font-weight: bold !important;
    font-size: 2.15em !important;
    text-align: center !important; }
  .woocommerce-order-overview li p.text-bold {
    font-size: 1.65em !important;
    font-weight: bold !important;
    text-align: center !important; }

flex-root {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

#payment {
  background-color: transparent !important; }

.payment-methods {
  min-width: 47%;
  max-width: 100%; }

.col-left, .col-right {
  top: 290px !important;
  position: sticky !important; }

.tab-content {
  padding: 40px 0 !important; }

.product_cat_header_wrapper th {
  border-bottom: 1px solid #afafaf !important; }

#customer_details {
  max-width: 100%;
  min-width: 47%;
  float: left;
  top: 120px;
  position: sticky;
  padding-top: 24px; }
  #customer_details div {
    max-width: 100%; }

#order_review {
  max-width: 48%;
  min-width: 48%;
  float: right;
  top: 120px;
  position: sticky;
  padding-top: 24px; }

@media screen and (max-width: 1060px) {
  #order_review {
    max-width: 100%;
    min-width: 100%;
    float: none;
    top: unset;
    position: relative; } }

#order_review > .btn {
  width: 100%; }

section.payment-wrapper {
  background: linear-gradient(to right, white 50%, #EFF7FC 50%);
  /*margin-top:-48px; */
  /*padding-top:40px;*/
  margin-bottom: -20px;
  clear: both;
  padding-bottom: 100px; }

tr.order-total td, tr.cart-subtotal td, td.product-total {
  text-align: right !important; }

.shipping th {
  padding-left: 25px !important; }

th.product-total {
  text-align: right; }

.order-total th, .cart-subtotal th {
  font-size: 1.15rem;
  font-family: 'Europa-Regular';
  font-weight: bold !important;
  padding-top: 8px !important; }

.order-total td, .cart-subtotal td {
  font-size: 1rem;
  font-family: 'Europa-Regular';
  padding-top: 8px !important; }

tfoot.shipping-methods tr {
  border-collapse: collapse; }
  tfoot.shipping-methods tr td {
    font-size: .88em; }
  tfoot.shipping-methods tr th {
    vertical-align: top;
    font-weight: bold !important; }
    tfoot.shipping-methods tr th em {
      font-size: .75em !important;
      font-weight: normal !important;
      color: #444444 !important;
      margin-left: 4px; }
  tfoot.shipping-methods tr th, tfoot.shipping-methods tr td {
    border-collapse: collapse;
    padding: 2px;
    margin: -1px; }

select.form-control {
  border: 1px solid #BEBEBE !important;
  font-size: 16px;
  line-height: 24px;
  padding: 11px 20px;
  color: #0A1D2E;
  font-weight: normal;
  font-style: normal; }

.longText {
  text-overflow: ellipsis;
  overflow: hidden; }

.product-name.longText {
  max-width: 275px !important; }

.checkout.woocommerce-checkout .woocommerce-NoticeGroup {
  z-index: 1 !important;
  top: 107px !important;
  position: sticky !important;
  width: 100vw !important;
  margin-top: -30px !important; }

h2.woocommerce-order-details__title {
  margin-top: 30px !important; }

p.woocommerce-thankyou-order-received {
  font-size: 38px;
  text-align: center;
  margin-bottom: 8px;
  margin-top: 20px;
  font-weight: bold; }

.woocommerce-order-details {
  max-width: 1360px; }

table.order_details {
  margin: auto !important;
  max-width: 100%; }
  table.order_details th {
    max-width: 480px;
    width: 25%;
    min-width: 25%; }
  table.order_details td {
    max-width: 780px;
    width: 75%;
    min-width: 75%; }
  table.order_details tfoot tr :nth-child(2) {
    text-align: right !important;
    max-width: 480px;
    width: 25%;
    min-width: 25%; }

@media screen and (min-width: 1060.5px) {
  .woocommerce-order {
    margin: auto !important;
    max-width: 1360px; }
    .woocommerce-order table.order_details th {
      max-width: 200px;
      width: 20%; }
    .woocommerce-order table.order_details td {
      max-width: 800px;
      width: 80%; } }

@media screen and (max-width: 1060px) {
  .sidebar-footer {
    max-width: 99.5vw !important;
    padding: 1em !important; }
  .sidebar-product-deatils {
    max-width: 99.5vw; }
  .sidebar-inner-wrap {
    position: fixed;
    top: 0px;
    background-color: #fff;
    z-index: 999999;
    height: 100%;
    right: 35px;
    width: 100%;
    max-width: 98vw;
    -o-transform: translateX(100%);
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .shop_table.woocommerce-checkout-review-order-table {
    max-width: 100vw;
    min-width: 90vw; }
  #customer_details {
    max-width: 100%;
    min-width: 100%;
    float: none;
    top: unset;
    position: relative; }
    #customer_details div {
      max-width: 100%;
      min-width: 100%; }
  ul.woocommerce-thankyou-order-details {
    border: none !important;
    margin: auto !important;
    max-width: 99%;
    margin-bottom: 20px !important;
    padding: .95em !important; }
    ul.woocommerce-thankyou-order-details li {
      display: block !important;
      clear: both !important;
      float: none !important;
      border: none !important;
      max-width: 100% !important;
      min-width: 100% !important;
      margin-right: 0px !important;
      padding-right: 0px !important; }
      ul.woocommerce-thankyou-order-details li p:nth-child(1) {
        float: left;
        text-align: left;
        max-width: 48%;
        min-width: 48%;
        display: inline; }
      ul.woocommerce-thankyou-order-details li p:nth-child(2) {
        float: right;
        text-align: right;
        font-weight: normal !important;
        max-width: 52%;
        min-width: 52%;
        display: inline; }
      ul.woocommerce-thankyou-order-details li .label {
        font-weight: bold;
        text-align: left !important;
        max-width: 48% !important;
        min-width: 48% !important; }
      ul.woocommerce-thankyou-order-details li .text-bold {
        text-align: right !important;
        max-width: 52% !important;
        min-width: 52% !important; } }

.woocommerce-checkout-review-order-table tfoot {
  display: table-row-group; }

#angelleye_order_review_payment_method {
  display: none !important; }

.woocommerce table.shop_table td, .woocommerce table.shop_table th {
  padding: 3px !important; }

.sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top {
  max-width: 100vw !important; }

.cat {
  max-width: 99vw; }

.shipMethod label {
  font-weight: bold !important;
  font-family: 'Europa Regular' !important; }

#Shipping_same_as_field {
  display: none; }

.available-ingredient {
  font-weight: bold;
  color: #578587;
  text-decoration: underline; }
  .available-ingredient:hover {
    text-decoration: none;
    color: #071c2f; }

#sort-by {
  min-width: 120px !important; }

#search-container {
  scrollbar-color: unset !important;
  scrollbar-width: unset !important; }

#blog_paging, .navigation.pagination {
  max-width: 99vw;
  min-width: 45vw;
  margin: 18px 0px 12px 0px;
  text-align: center;
  font-weight: bold; }
  #blog_paging .nav-links, .navigation.pagination .nav-links {
    text-align: center;
    width: 99%;
    font-size: 16px; }
    #blog_paging .nav-links .current, .navigation.pagination .nav-links .current {
      font-weight: bold;
      color: #b79220;
      padding: 8px;
      margin: 0px 5px 0px 5px;
      border: 1px solid #efefef;
      border-radius: 3px;
      transition-duration: .55s;
      display: inline-block;
      min-width: 40px;
      max-width: 125px;
      text-decoration: none !important;
      color: #b79220;
      background-color: #efefef;
      transition-duration: .55s;
      box-shadow: 3px 2px 5px rgba(100, 100, 100, 0.25); }
    #blog_paging .nav-links a, .navigation.pagination .nav-links a {
      font-weight: bold;
      color: #071c2f;
      padding: 8px;
      margin: 0px 5px 0px 5px;
      border: 1px solid #efefef;
      border-radius: 3px;
      transition-duration: .55s;
      display: inline-block;
      min-width: 40px;
      max-width: 125px;
      text-decoration: none !important; }
      #blog_paging .nav-links a:hover, .navigation.pagination .nav-links a:hover {
        color: #b79220;
        background-color: #efefef;
        transition-duration: .55s;
        box-shadow: 3px 2px 5px rgba(100, 100, 100, 0.25); }
    #blog_paging .nav-links .prev, #blog_paging .nav-links .next, .navigation.pagination .nav-links .prev, .navigation.pagination .nav-links .next {
      font-weight: bold;
      text-decoration: none !important; }

#checkout_paypal_message {
  display: none !important; }

@media screen and (max-width: 999px) {
  header, footer {
    padding: unset !important;
    padding-left: unset !important;
    padding-right: unset !important;
    margin: unset !important; }
  [id^="addonify"] {
    max-width: 100vw !important;
    max-height: 100vh !important; }
  footer > div {
    margin-left: 3vw !important;
    margin-right: 3vw !important; }
  .hidden-md {
    display: none !important; } }

@media screen and (min-width: 1000px) {
  .hidden-lg {
    display: none; } }

footer::before {
  width: 100vw;
  margin: 0px;
  left: 0; }

@media only screen and (min-width: 1000px) {
  .desktop-hide {
    display: none; }
  .myaccount-menu {
    display: none; }
  #Coffee img, #Tea img, #Lab img {
    max-height: 105px;
    margin: -15px; } }

@media only screen and (max-width: 999px) {
  header > .container .navbar-logo-full {
    max-width: 60px !important;
    min-width: 30px;
    line-height: 0;
    top: 15px !important; }
  .tablet-hide {
    display: none; }
  #Coffee img, #Tea img, #Lab img {
    max-height: 80px !important;
    margin: auto;
    margin-bottom: -15px !important; } }

.modal_back {
  background-color: rgba(0, 0, 0, 0.4);
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 9999990;
  top: 0px;
  left: 0px; }

@media only screen and (min-width: 999px) {
  header {
    max-height: 107px !important; }
  #header-menu {
    max-height: 107px !important; } }

@media only screen and (max-width: 999px) {
  header {
    max-height: 85px !important; }
  #header-menu {
    max-height: unset !important; }
  .sampleRequestBody {
    position: absolute;
    left: -155px; }
  .h3 {
    line-height: unset !important; } }

.active-shopping-cart .sidebar-inner-wrap {
  box-shadow: -10px 0px 20px rgba(0, 0, 0, 0.25);
  transition: 'box-shadow' .88s; }

.banner-slider .slider-item-wrapper {
  display: flex !important;
  width: 100% !important;
  flex-direction: row !important;
  column-gap: 0px;
  max-height: 480px; }
  @media only screen and (max-width: 1225px) {
    .banner-slider .slider-item-wrapper {
      max-height: 430px; } }
  @media only screen and (max-width: 1125px) {
    .banner-slider .slider-item-wrapper {
      max-height: 380px; } }
  @media only screen and (max-width: 1025px) {
    .banner-slider .slider-item-wrapper {
      max-height: 330px; } }
  @media only screen and (max-width: 700px) {
    .banner-slider .slider-item-wrapper {
      max-height: 500px !important;
      min-height: unset !important;
      flex-direction: column !important;
      height: auto; } }
  .banner-slider .slider-item-wrapper .banner-content {
    padding: 2.5em;
    padding-top: 8%;
    background-color: white;
    width: 50%;
    order: 1; }
    .banner-slider .slider-item-wrapper .banner-content h4 {
      font-weight: normal !important; }
    .banner-slider .slider-item-wrapper .banner-content h2 {
      font-size: 2em; }
    @media only screen and (max-width: 700px) {
      .banner-slider .slider-item-wrapper .banner-content {
        min-height: 200px;
        padding-top: unset;
        padding: .75em;
        width: 100% !important;
        order: 2;
        /*
                position:absolute;
                bottom:0px;
                background-color: rgba(255,255,255,.55);
                text-shadow: 4px 4px 7px rgba(100,100,100,.15);
                */ }
        .banner-slider .slider-item-wrapper .banner-content h2 {
          font-size: 1.65em !important; } }
  .banner-slider .slider-item-wrapper .banner-image {
    width: 50%;
    order: 2; }
    @media only screen and (max-width: 700px) {
      .banner-slider .slider-item-wrapper .banner-image {
        width: 100% !important;
        order: 1; } }
    .banner-slider .slider-item-wrapper .banner-image img {
      width: 100%;
      height: auto;
      object-fit: cover !important;
      max-height: 100%; }
      @media only screen and (min-width: 1201px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 100%;
          min-height: 100%; } }
      @media only screen and (max-width: 1200px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 480px;
          min-height: 480px; } }
      @media only screen and (max-width: 1000px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 350px;
          min-height: 350px; } }
      @media only screen and (max-width: 700px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 300px;
          min-height: 300px; } }
      @media only screen and (max-width: 575px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 250px;
          min-height: 250px;
          object-fit: cover !important; } }

.banner-slider ul.slick-dots {
  bottom: -30px !important; }

ul.slick-dots {
  bottom: -30px !important; }
  @media only screen and (max-width: 900px) {
    ul.slick-dots {
      bottom: 0px !important; } }

.print-offering-container-outer {
  width: 195px;
  max-width: 195px;
  display: flex !important; }
  @media only screen and (max-width: 900px) {
    .print-offering-container-outer {
      width: 100% !important;
      max-width: 100% !important;
      display: flex !important; }
      .print-offering-container-outer .sort-by-select-wrap {
        margin-top: 0px !important; } }
  .print-offering-container-outer .print-offering-container {
    min-width: 165px !important;
    max-width: 195px !important;
    margin-right: 10px; }
    @media only screen and (max-width: 900px) {
      .print-offering-container-outer .print-offering-container {
        width: 85px;
        max-width: 85px; } }
    .print-offering-container-outer .print-offering-container button {
      max-height: 48px;
      padding-left: 8px;
      padding-right: 8px; }
      .print-offering-container-outer .print-offering-container button div {
        margin: 0px;
        padding: 0px; }
      .print-offering-container-outer .print-offering-container button span {
        float: right;
        margin-left: 1px;
        font-size: 14px; }

.print_button {
  font-size: 13px !important;
  height: 48px !important; }
  .print_button .dashicons {
    font-size: 19px !important; }
  @media only screen and (max-width: 900px) {
    .print_button {
      display: none !important; } }

@media only screen and (max-width: 900px) {
  .rnyl-header {
    margin-top: -30px !important; } }

.offering-item-body-left .offering-item-details ul.d-flex li.d-flex {
  max-width: 28% !important; }
  @media only screen and (max-width: 999px) {
    .offering-item-body-left .offering-item-details ul.d-flex li.d-flex {
      max-width: 40% !important; } }

.ui-datepicker * {
  font-family: 'Europa-Regular' !important; }

.ui-datepicker-calendar tr th {
  background-color: #071c2f !important; }

.ui-datepicker-header {
  background-color: #304E6C !important; }

.ui-datepicker-title {
  font-weight: bold !important;
  font-family: 'Europa-Regular' !important; }

.ui-datepicker tr:first-child {
  border: 1px solid silver !important; }

.ui-datepicker-current-day {
  background-color: #ffffff !important; }
  .ui-datepicker-current-day a {
    background-color: #b79220 !important;
    box-shadow: none !important; }

.ui-datepicker-other-month {
  border: unset !important; }

.noselect {
  user-select: none;
  /* Standard syntax */
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */ }

.d-row {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 -24px;
  justify-content: center; }
  @media only screen and (max-width: 1599px) {
    .d-row {
      margin: 0 -20px; } }
  @media only screen and (max-width: 999px) {
    .d-row {
      margin: 0 -15px; } }
  .d-row .card {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    padding: 0 24px;
    width: 100%; }
    @media only screen and (max-width: 1599px) {
      .d-row .card {
        padding: 0 20px; } }
    @media only screen and (max-width: 999px) {
      .d-row .card {
        padding: 0 15px; } }
    .d-row .card.card-2 {
      width: 50%; }
      @media only screen and (max-width: 767px) {
        .d-row .card.card-2 {
          width: 100%; } }
    .d-row .card.card-3 {
      width: 33.33%; }
      @media only screen and (max-width: 767px) {
        .d-row .card.card-3 {
          width: 100%; } }
    .d-row .card.card-4 {
      width: 25%; }
      @media only screen and (max-width: 1024px) {
        .d-row .card.card-4 {
          width: 33.33%; } }
      @media only screen and (max-width: 767px) {
        .d-row .card.card-4 {
          width: 50%; } }
      @media only screen and (max-width: 540px) {
        .d-row .card.card-4 {
          width: 100%; } }

.ui-accordion {
  width: 100% !important; }
  .ui-accordion .ui-accordion-header {
    border-top: 1px solid #E8EAEB;
    border-bottom: 1px solid #E8EAEB;
    padding: 24px 40px 24px 0;
    margin: 0;
    font-size: 20px;
    line-height: 30px;
    font-weight: 700; }
    @media only screen and (max-width: 1400px) {
      .ui-accordion .ui-accordion-header {
        font-size: 18px;
        line-height: 24px; } }
    @media only screen and (max-width: 1400px) {
      .ui-accordion .ui-accordion-header {
        padding: 17px 40px 17px 0; } }
    @media only screen and (max-width: 1199px) {
      .ui-accordion .ui-accordion-header {
        font-size: 16px;
        line-height: 20px;
        padding: 13px 40px 13px 0; } }
    .ui-accordion .ui-accordion-header::after {
      font-family: 'icomoon' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      content: "\e905";
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      right: 0;
      -o-transform: rotate(90deg);
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      -moz-transform: rotate(90deg);
      transform: rotate(90deg);
      -webkit-transition: all 0.4s ease;
      -moz-transition: all 0.4s ease;
      -ms-transition: all 0.4s ease;
      -o-transition: all 0.4s ease;
      transition: all 0.4s ease;
      top: 30px;
      font-size: 24px; }
      @media only screen and (max-width: 1400px) {
        .ui-accordion .ui-accordion-header::after {
          top: 21px; } }
      @media only screen and (max-width: 1199px) {
        .ui-accordion .ui-accordion-header::after {
          top: 15px; } }
    .ui-accordion .ui-accordion-header.ui-accordion-header-active::after {
      -o-transform: rotate(-90deg);
      -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      -moz-transform: rotate(-90deg);
      transform: rotate(-90deg); }
  .ui-accordion .ui-accordion-content {
    padding: 24px 0;
    color: #4B4B4B; }
    .ui-accordion .ui-accordion-content p,
    .ui-accordion .ui-accordion-content h1,
    .ui-accordion .ui-accordion-content h2,
    .ui-accordion .ui-accordion-content h3,
    .ui-accordion .ui-accordion-content h4,
    .ui-accordion .ui-accordion-content h5,
    .ui-accordion .ui-accordion-content h6 {
      margin-bottom: 20px; }
    .ui-accordion .ui-accordion-content p {
      line-height: 24px; }
    .ui-accordion .ui-accordion-content ul {
      margin: 0;
      padding: 0; }
      .ui-accordion .ui-accordion-content ul li {
        color: #4B4B4B;
        padding: 0px; }
        .ui-accordion .ui-accordion-content ul li:last-child {
          margin-bottom: 0; }
        .ui-accordion .ui-accordion-content ul li:before {
          content: normal; }

.order-flow {
  padding: 80px 0; }
  @media only screen and (max-width: 1400px) {
    .order-flow {
      padding: 50px 0; } }
  @media only screen and (max-width: 1199px) {
    .order-flow {
      padding: 40px 0; } }
  .order-flow .oderflow-content-wrap {
    max-width: 470px;
    padding-left: 60px; }
    @media only screen and (max-width: 767px) {
      .order-flow .oderflow-content-wrap {
        max-width: 100%; } }
    .order-flow .oderflow-content-wrap h4 {
      margin-bottom: 12px; }
  .order-flow .d-row {
    margin-top: 50px; }
    @media (max-width: 1199px) {
      .order-flow .d-row {
        margin-top: 30px; } }
  .order-flow figure {
    width: 720px;
    height: 720px; }
    @media (max-width: 1400px) {
      .order-flow figure {
        width: 520px;
        height: 520px; } }
    @media (max-width: 999px) {
      .order-flow figure {
        width: 320px;
        height: 320px; } }
    @media (max-width: 767px) {
      .order-flow figure {
        margin: 0 auto 30px; } }
    .order-flow figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  @media (max-width: 767px) {
    .order-flow .d-row:nth-child(even) {
      flex-direction: column-reverse; } }

.section-heading .heading-h2 {
  padding-bottom: 15px;
  border-bottom: 4px solid #B59038; }

.section-heading .cmn-paragraphs {
  font-size: 20px;
  line-height: 30px; }
  @media only screen and (max-width: 1400px) {
    .section-heading .cmn-paragraphs {
      font-size: 16px;
      line-height: 22px; } }

.order-flow .section-heading .heading-h2 {
  margin-bottom: 0; }
  @media only screen and (max-width: 767px) {
    .order-flow .section-heading .heading-h2 {
      margin-bottom: 20px; } }

.card.card-8 {
  width: 66.66%; }
  @media only screen and (max-width: 999px) {
    .card.card-8 {
      width: 100%; } }

.warehouse-order-sec,
.section-home-featured {
  padding: 100px 0;
  background-color: #EFF7FC; }
  @media only screen and (max-width: 1400px) {
    .warehouse-order-sec,
    .section-home-featured {
      padding: 50px 0; } }
  @media only screen and (max-width: 1199px) {
    .warehouse-order-sec,
    .section-home-featured {
      padding: 40px 0; } }

.warehouse-order-sec .btn {
  width: 100%; }

.warehouse-order-sec .d-row {
  justify-content: space-between; }

.btn .icon-royal-Right {
  font-size: 20px;
  display: inline-block;
  top: 3px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .btn .icon-royal-Right {
      font-size: 16px;
      top: 1px; } }

.faq-sec {
  padding: 100px 0; }
  @media only screen and (max-width: 1400px) {
    .faq-sec {
      padding: 50px 0; } }
  @media only screen and (max-width: 1199px) {
    .faq-sec {
      padding: 40px 0; } }
  .faq-sec .ui-accordion {
    margin-bottom: 50px;
    margin-top: 50px; }

.counter-heading {
  display: flex;
  align-items: center;
  margin-bottom: 24px; }
  @media (max-width: 999px) {
    .counter-heading {
      margin-bottom: 15px; } }
  .counter-heading span {
    height: 40px;
    width: 40px;
    background-color: #B59038;
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    margin-right: 20px;
    margin-left: -60px; }

.section-home-featured .d-row {
  margin-top: 50px; }
  @media only screen and (max-width: 999px) {
    .section-home-featured .d-row {
      margin-top: 30px; } }
  @media only screen and (max-width: 767px) {
    .section-home-featured .d-row .card {
      padding-bottom: 30px; } }
  @media only screen and (max-width: 767px) {
    .section-home-featured .d-row .card:last-child {
      padding-bottom: 0; } }

.section-home-featured .single-img-container {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between; }
  .section-home-featured .single-img-container h3 {
    margin: 0; }
  .section-home-featured .single-img-container address {
    margin: 15px 0;
    font-size: 20px;
    line-height: 30px; }
    @media only screen and (max-width: 1400px) {
      .section-home-featured .single-img-container address {
        font-size: 16px;
        line-height: 20px; } }
  .section-home-featured .single-img-container p {
    color: #4B4B4B;
    max-width: 335px;
    margin-bottom: 8px; }
    @media only screen and (max-width: 1400px) {
      .section-home-featured .single-img-container p {
        max-width: 285px; } }
    @media only screen and (max-width: 767px) {
      .section-home-featured .single-img-container p {
        max-width: 100%; } }
  .section-home-featured .single-img-container .single-img-text {
    margin-bottom: 25px; }
    @media only screen and (max-width: 767px) {
      .section-home-featured .single-img-container .single-img-text {
        margin-bottom: 15px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMvb3JkZXJpbmcuY3NzIiwic291cmNlcyI6WyJwYWdlcy9vcmRlcmluZy5zY3NzIiwiYXBwLnNjc3MiLCJjb21tb24vX3ZhcmlhYmxlLnNjc3MiLCJjb21tb24vX2Z1bmN0aW9uLnNjc3MiLCJjb21tb24vX21peGluLnNjc3MiLCJjb21tb24vX2ZvbnRzLnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwibGF5b3V0L19iYXNlLnNjc3MiLCJsYXlvdXQvX2hlbHBlckNsYXNzLnNjc3MiLCJsYXlvdXQvX2J1dHRvbi5zY3NzIiwibGF5b3V0L19mb3JtQ29udHJvbC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX2dyaWQuc2NzcyIsImxpYi9fYWNjb3JkaWFuLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uL2FwcFwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9ncmlkXCI7XG5AaW1wb3J0IFwiLi4vbGliL2FjY29yZGlhblwiO1xuLm9yZGVyLWZsb3cge1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICB9XG4gICAgLm9kZXJmbG93LWNvbnRlbnQtd3JhcCB7XG4gICAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgICAgd2lkdGg6IDcyMHB4O1xuICAgICAgICBoZWlnaHQ6IDcyMHB4O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiRTbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZC1yb3cge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAuaGVhZGluZy1oMiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI0I1OTAzODtcbiAgICB9XG4gICAgLmNtbi1wYXJhZ3JhcGhzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3JkZXItZmxvdyB7XG4gICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIC5oZWFkaW5nLWgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJkLmNhcmQtOCB7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ud2FyZWhvdXNlLW9yZGVyLXNlYyxcbi5zZWN0aW9uLWhvbWUtZmVhdHVyZWQge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VGRjdGQztcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICB9XG59XG5cbi53YXJlaG91c2Utb3JkZXItc2VjIHtcbiAgICAuYnRuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5kLXJvdyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG5cbi5idG4ge1xuICAgIC5pY29uLXJveWFsLVJpZ2h0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZhcS1zZWMge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgfVxuICAgIC51aS1hY2NvcmRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbn1cblxuLmNvdW50ZXItaGVhZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNTkwMzg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1ob21lLWZlYXR1cmVkIHtcbiAgICAuZC1yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgYWRkcmVzcyB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzM1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjg1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2luZ2xlLWltZy10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqKiBDb21tb24gU0FBUyBGSUxFUyAqKiovXG5cbkBpbXBvcnQgXCJjb21tb24vdmFyaWFibGVcIjtcbkBpbXBvcnQgXCJjb21tb24vZnVuY3Rpb25cIjtcbkBpbXBvcnQgXCJjb21tb24vbWl4aW5cIjtcbkBpbXBvcnQgXCJjb21tb24vZm9udHNcIjsgIFxuXG4vKioqIENvbW1vbiBMYXlvdXQgICoqKi9cbiBcbkBpbXBvcnQgXCJsYXlvdXQvbGF5b3V0XCI7ICBcbi8vQGltcG9ydCBcImxheW91dC9vbGQtcG9wdXBcIjsgICAgICBcblxuLyoqKiBDb21tb24gTGlicmFyeSAqKiovICAgXG4udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59ICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICBcbiNsb2dpbiwuY29tcGFueS1hZGRyZXNzLCNBZGRUb0Zhdm9yaXRlc1dpbmRvdywjc2VydmVyLWlkeyBcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7ICAgICBcbn0gICAgICBcbiAgICAgICAgXG5cbiAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiRXVyb3BhXCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICRoZWFkaW5ncy1mb250LWZhbWlseTogXCJFdXJvcGFcIiwgXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgJGZvbnQtZmFtaWx5LWljb25zOiBcImZvbnQtYXdlc29tZVwiO1xuICBcbiAgJGJsb2NrLXF1b3RlLWZvbnQtZmFtaWx5OiBcIkV1cm9wYVwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcImxpbm90eXBlLXNhYm9uXCIsIFwiTG9yYVwiIHNlcmlmO1xuICBcbiAgJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiAgJGgxLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi44O1xuICAkaDItZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAyLjI7XG4gICRoMy1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuNTtcbiAgJGg0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS4zO1xuICAkaDUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjE7XG4gICRwLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAkYmxvY2txdW90ZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuNTtcbiAgJHNtYWxsLWZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbiAgJHhzLWZvbnQtc2l6ZTogMC44cmVtO1xuICAkZm9vdGVyLW1lbnUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjI7XG4gIFxuICAkaDEtbGluZS1oZWlnaHQ6IDU0cHg7XG4gICRoMi1saW5lLWhlaWdodDogNDZweDtcbiAgXG4gICR0ZXh0LXNoYWRvdzogNHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgJGJveC1zaGFkb3c6IDJweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICR0ZXh0LXNoYWRvdy1saWdodDogJGJveC1zaGFkb3c7XG4gICR0b29sdGlwLWJveC1zaGFkb3c6IDRweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gXG5cbiBcbiAgICBcblxuXG5cbiBcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gXG5cblxuXG5cblxuXG5cblxuIFxuXG5cblxuXG4gIFxuLy8gUm95YWwgTlkgQWRkZWQgb3ZlcnJpZGVzIHRvIGZpeCBQZXJwZXR1YWwgSGVhZGVyIC8gRm9vdGVyIG1lcmdlIHdpdGggb2xkIHBhZ2VzXG5cbmgyLnRleHQtY2FwaXRhbGl6ZS50ZXh0LWNlbnRlci5mb3JtLWhlYWRpbmcge1xuICB3aWR0aDoxMDAlOyBcbiAgaGVpZ2h0OjEyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LW5hdnktYmx1ZTtcbiAgcGFkZGluZzoyMnB4O1xuICBtYXJnaW46MHB4O1xuICBsZWZ0OjA7XG4gIHJpZ2h0OjA7XG59XG5cbi8vIC53b29jb21tZXJjZS1lcnJvciBsaSAud2MtZm9yd2FyZCB7XG4vLyAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xuLy8gfVxuXG4vLyAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIHtcdFx0XG4vLyAgIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XG4vLyB9XG5cbi5zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDoxcHggIWltcG9ydGFudDtcbn1cblxudWwsIHVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTowcHggIWltcG9ydGFudDtcbn1cblxudWwge1xuICBtYXJnaW4tYm90dG9tOjBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTowcHg7XG59XG5cblxuLy8gRGFzaGJvYXJkLyBNeS1hY2NvdW50IGxhbmRpbmcgcGFnZSAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5zZWN0aW9uLmFjY291bnRfbmF2X3NlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIFxuICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xuICAvLyAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gIC8vICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAvLyB9XG5cbiAgLy8gaG9yaXpvbnRhbCBzY3JvbGwgdXAgdG8gbGFyZ2UgYnAuXG4gIC5jb250YWluZXJ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIC8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAvLyB9XG5cbiAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgLy8gICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgICAvLyB9IFxuXG4gICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgLy8gICAgIG1heC13aWR0aDogMTI3NHB4O1xuICAgICAgLy8gfVxuXG4gICAgICAvLyBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcbiAgICAgIC8vICAgICBtYXgtd2lkdGg6IDE1NDBweDtcbiAgICAgIC8vIH0gXG4gIH1cbiAgXG4gIC8vIGFjY291bnQgbmF2aWdhdGlvbiBsaW5rcyAvL1xuICAuYWNjb3VudC1uYXYtY29udGFpbmVyIHtcbiAgICAgIC8vIGhlaWdodDogNXJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIC8vICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAvLyAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIC8vIH1cblxuICAgICAgLmFjY291bnQtbmF2IHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIC8vICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICAgIC8vICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAvLyAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIFxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgLy8gICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAoeGxhcmdlKSB7XG4gICAgICAgICAgLy8gICAgIG1heC13aWR0aDogMTI3NHB4O1xuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNTQwcHg7XG4gICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICAgIC8vICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5hY2NvdW50LWxpbmsge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG5cbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgIC8vICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgJjpob3ZlciwgXG4gICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG5cbiAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgYSB7IFxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGMteWVsbG93O1xuXG4gICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxufVxuXG4uc2VjdGlvbi1wcm9maWxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcbiAgXG4gIGgxIHtcbiAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cbiAgXG4gIC5wcm9maWxlLWRldGFpbHMsXG4gIC5wcm9maWxlLWFkZHJlc3MsXG4gIC5wcm9maWxlLWJpbGwtc2hpcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgXG4gICAgIC5oNCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XG4gICAgICB9XG4gIH1cblxuICAucHJvZmlsZS1iaWxsLXNoaXBcblxuXG5cbiAgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXG4gIH1cbn1cblxuLnNlY3Rpb24tb3JkZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gIGgzIHtcbiAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgLy8gfVxuICB9XG5cbiAgLnBhbmVsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXG4gICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6IDI3cmVtO1xuICAgICAgLy8gfVxuXG4gICAgICB1bCB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbGVydCB7XG4gICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIH1cblxuICAgICAgcC50ZXh0LXJlZC1hbGVydCB7XG4gICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgIH1cblxuICAgICAgcC50ZXh0LW9yYW5nZS1hbGVydCB7XG4gICAgICAgICAgY29sb3I6ICRjLW9yYW5nZS1hbGVydDtcbiAgICAgIH1cbiAgICAgICAgIFxuICAgICAgLnN0YWNrZWQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgIFxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgYSB7XG4gICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgfVxuXG4gICAgICAgICBsaSA+IHAge1xuICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjg3NWVtIDIuNXJlbTtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwcmVtO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgfVxuICAgICAgfVxuICB9IFxufVxuXG4uc2VjdGlvbi1tYXJrZXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbi5wYW5lbC1wZGYge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYy1ncmF5LWxpZ2h0O1xuICBwYWRkaW5nOiAycmVtIDJyZW0gMCAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIH1cbn1cblxuLnNlY3Rpb24tdHJhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcbiAgQGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0LCB0b3ApO1xuXG4gLnRyYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAvLyAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgICAgLy8gfVxuICAgICAgLnJvdW5kZWQtY2lyY2xlIHtcblxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgLy8gICAgIG1heC1oZWlnaHQ6IDEwcmVtO1xuICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDEwcmVtO1xuICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEwcmVtO1xuICAgICAgICAgIC8vICAgICB3aWR0aDogMTByZW07XG4gICAgICAgICAgLy8gfVxuICAgICAgXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgLy8gICAgIG1heC1oZWlnaHQ6IDEycmVtO1xuICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDEycmVtO1xuICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEycmVtO1xuICAgICAgICAgIC8vICAgICB3aWR0aDogMTJyZW07XG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgICAgICAvLyB9XG4gICAgICBcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgIC8vICAgICBtYXgtaGVpZ2h0OiAxNHJlbTtcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNHJlbTtcbiAgICAgICAgICAvLyAgICAgaGVpZ2h0OiAxNHJlbTtcbiAgICAgICAgICAvLyAgICAgd2lkdGg6IDE0cmVtO1xuICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIC8vIH1cbiAgICAgIFxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcbiAgICAgICAgICAvLyAgICAgbWF4LWhlaWdodDogMTZyZW07XG4gICAgICAgICAgLy8gICAgIG1heC13aWR0aDogMTZyZW07XG4gICAgICAgICAgLy8gICAgIGhlaWdodDogMTZyZW07XG4gICAgICAgICAgLy8gICAgIHdpZHRoOiAxNnJlbTtcbiAgICAgICAgICAvLyB9XHRcdFx0XG4gICAgICB9XG5cbiAgfVxuXG4gIC50cmFkZXItaW5mbyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcblxuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgIC8vICAgICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG4gICAgICAgICAgLy8gfVxuICAgICAgfVxuXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAvLyB9XG5cbiAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgfVxufVxuXG4vLyBoZWFkZXIgc2VjdGlvbnMgLy9cbi5zZWN0aW9uLnNlY3Rpb24tbWFya2V0aW5nLWhlYWRlcixcbi5zZWN0aW9uLnNlY3Rpb24tcmVzZXJ2ZXMtaGVhZGVyLFxuLnNlY3Rpb24uc2VjdGlvbi1vcmRlcnMtaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBcbiAgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIC8vICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgLy8gfVxuICB9XG59XG5cbi5maWx0ZXJpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIFxuICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAvLyAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAvLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLy8gfVxuXG4gIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAvLyAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAvLyB9XG5cbiAgcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAvLyB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogM3JlbTtcblxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIC8vICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgIC8vIH1cbiAgICAgIFxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAvLyAgICAgd2lkdGg6IDExcmVtO1xuICAgICAgLy8gfVxuICB9XG5cbiAgI2RhdGUsXG4gICNhbHBoYWJldGljYWwge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAvLyAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIC8vICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIC8vIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICB9XG59XG5cbi5zZWN0aW9uLW9yZGVycy1oZWFkZXIge1xuICAuZmlsdGVyaW5nIHtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgIC8vICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIC8vIH1cbiAgICAgIFxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAvLyAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIC8vIH1cbiAgICAgIC8vIHAge1xuICAgICAgLy8gICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgXG5cbiAgICAgIC8vICAgICB9XG4gICAgICAvLyB9XG5cbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIG1heC13aWR0aDogMTFyZW07XG5cbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNXJlbTtcbiAgICAgICAgICAvLyB9XG4gICAgICB9XG5cblxuICB9XG59XG5cbi5zZWN0aW9uLXBhc3QtcHVjaGFzZXMsXG4uc2VjdGlvbi1tYXJrZXRpbmctaGVhZGVyLFxuLnNlY3Rpb24tcmVzZXJ2ZXMtaGVhZGVyIHtcbiAgLmZpbHRlcmluZyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgLy8gICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAvLyB9XG5cbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwcmVtO1xuICAgICAgICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICAgIH1cbiAgfVxufSBcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBjb250ZW50IHNlY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uc2VjdGlvbi5zZWN0aW9uLW9yZGVycy13aXNobGlzdCxcbi5zZWN0aW9uLnNlY3Rpb24tb3JkZXJzLWNvbnRlbnQsXG4uc2VjdGlvbi5zZWN0aW9uLW1hcmtldGluZy1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG5cbiAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gIC8vICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgLy8gfVxuIFxuICAvLyBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcbiAgLy8gICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAvLyB9XG5cbiAgLy8gaDMge1xuICAvLyAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgLy8gICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgLy8gICAgIH1cbiAgLy8gfVxufVxuXG5cblxuLnNlY3Rpb24tcGFzdC1wdWNoYXNlcyB7XG5cbiAgLm9mZmVyaW5nLWl0ZW0ge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgLmdyaWQtaGVhZGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1mb290ZXIge1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgLy8gICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgLy8gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAvLyAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgLy8gLnBhZ2luYXRpb24tYm90dG9tIHtcblxuICAvLyB9XG59XG5cbiNkYXNoYm9hcmRUb3Age1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjphdXRvO1xuICB3aWR0aDoxMDAlO1xuICBwYWRkaW5nOjBweDtcbn1cblxuI215LWFjY291bnQtY29tcGFueS1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDE1MHB4IDtcbiAgbGluZS1oZWlnaHQ6MTUwcHg7XG4gIGZvbnQtc2l6ZToyLjJlbTtcbiAgZmxvYXQ6bGVmdDtcbiAgbWFyZ2luOjJweDtcbiAgcGFkZGluZzozcHg7XG59XG5cbiNjdXN0b21lckxvZ29fZGFzaGJvYXJkIHtcbiAgbWFyZ2luLXRvcDotMXB4O1xufVxuXG4jbXktYWNjb3VudCB7XG5cbiNkYXNoQnV0dG9ucyB7XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xuICBtYXJnaW4tcmlnaHQ6IDklO1xuICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHotaW5kZXg6OTg7XG5cbiAgZGl2OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6Ljc4O1xuICAgIHRyYW5zaXRpb246IC43NXM7XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xuICAgIG1hcmdpbi10b3A6IDEwN3B4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxufVxuXG4jbXktYWNjb3VudC1sZWZ0LW5hdmlnYXRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOjBweDtcbiAgcGFkZGluZzowcHg7XG4gIC8qbWFyZ2luLXRvcDotNTVweDsqL1xufVxuXG4jbXktYWNjb3VudC1ib2R5IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIG1hcmdpbi10b3A6LTEwcHg7XG59XG5cbi5sb2dvdXRCdG4ge1xuICBmb250LXNpemU6IC44N2VtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5hdl9jb250YWluZXIge1xuICB3aGl0ZS1zcGFjZTpub3dyYXA7XG59XG5cbiNteS1hY2NvdW50IHtcbiAgICAuZGFzaF9uYXYge1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICB9XG5cbiAgICAuZGFzaF9uYXYgbGksICAuZGFzaF9uYXYyIGxpIHtcbiAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgIC8vIGZvbnQtc2l6ZTogLjgzZW07XG4gICAgLy8gZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLy9oZWlnaHQ6IDM1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMHB4IDFweCAwcHggMXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xuICAgIH1cblxuICAgIC5kYXNoX25hdiBsaSBkaXYsIC5kYXNoX25hdjIgbGkgZGl2IHtcbiAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvL2hlaWdodDogMzVweDtcbiAgICAvLyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDo1cHg7XG4gICAgLy8gcGFkZGluZy10b3A6IDZweDtcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLy8gZm9udC1zaXplOiAuOTVlbTtcbiAgICAvLyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZGZkZjtcbiAgICAvLyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xuICAgIH1cblxuICAgIC8vIHVsLmRhc2hfbmF2IGxpOmhvdmVyLCAuZGFzaF9uYXYgbGkgZGl2OmhvdmVyIHtcbiAgICAvLyAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNiNzkyMjA7XG4gICAgLy8gICAvLyBjb2xvcjojZmZmZmZmO1xuICAgIC8vIH1cblxuICAgIC5zZWxlY3RlZFRhYiB7XG4gICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgLy8gaGVpZ2h0OiAzOHB4O1xuICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIC8vIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8vIGZvbnQtc2l6ZTogLjk1ZW07XG4gICAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZmRmZGYgIWltcG9ydGFudDtcbiAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZmRmZGYgIWltcG9ydGFudDtcbiAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGZkZmRmICFpbXBvcnRhbnQ7XG4gICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICAvLyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xuICAgIGNvbG9yOiNiNzkyMjA7XG4gICAgfVxuXG4gICAgLmRhc2hfbmF2MiBsaSBkaXY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU4cztcbiAgICBjb2xvcjogI2I3OTIyMDtcbiAgICB9XG5cbiAgICAuc2VsZWN0ZWRUYWI6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU4cztcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIGNvbG9yOiAjYjc5MjIwO1xuICAgIH1cblxuICAgICNteUFjY291bnRDb2ZmZWUsICNteUFjY291bnRUZWEsICNteUFjY291bnRMYWIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjZGFzaGJvYXJkX2JvZHkge1xuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgIH1cblxuICAgICNkYXNoYm9hcmRfYm9keSBkaXYuY29udGVudFRhYiB7XG4gICAgbWluLWhlaWdodDogNDUwcHg7XG4gICAgfVxuXG4gICAgI0NvZmZlZSwgI1RlYSwgI0xhYiB7XG4gICAgY29sb3I6ICMzNDNhNDA7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIG1hcmdpbjogMXB4O1xuICAgIG1pbi13aWR0aDogMTkwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAjQ29mZmVlOmhvdmVyLCAjVGVhOmhvdmVyLCAjTGFiOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzA3MWMyZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOSwgMjQ3LCAyNTIsIDAuNjApO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246Ljg4cztcbiAgICB9XG5cbiAgICAjQ29mZmVlIGltZywgI1RlYSBpbWcsICNMYWIgaW1nIHsgICAgICAgICAgICBcbiAgICAgICAgbWF4LWhlaWdodDogMTA1cHg7XG4gICAgICAgIG1hcmdpbjotMTVweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xuICAgICAgICAjQ29mZmVlIGltZywgI1RlYSBpbWcsICNMYWIgaW1nIHsgICAgICAgICAgICBcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjotMTZweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdGVkRGFzaEJ1dHRvbiwgLnNlbGVjdGVkRGFzaEJ1dHRvbjpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmMxMDcgIWltcG9ydGFudDtcbiAgICAvLyBiYWNrZ3JvdW5kOiByZ2IoMjM5LDI0NywyNTIpO1xuICAgIC8vIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzksMjQ3LDI1MiwwKSAwJSwgcmdiYSgyMzksMjQ3LDI1MiwxKSA2MCUpO1xuICAgIC8vIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzksMjQ3LDI1MiwwKSAwJSwgcmdiYSgyMzksMjQ3LDI1MiwxKSA2MCUpO1xuICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LDI0NywyNTIsMCkgMCUsIHJnYmEoMjM5LDI0NywyNTIsMSkgNjAlKTtcbiAgICAvLyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPVwiI2VmZjdmY1wiLGVuZENvbG9yc3RyPVwiI2VmZjdmY1wiLEdyYWRpZW50VHlwZT0xKTtcbiAgICAvLyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNjhzO1xuICAgIH1cblxuICAgICNteUFjY291bnRDb2ZmZWUsICNteUFjY291bnRUZWEsICNteUFjY291bnRMYWIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2Zvb3RlclRyYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5OS4xdnc7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgICB9XG5cbiAgICAjZm9vdGVyVHJhZGVyQWZ0ZXIge1xuICAgIGhlaWdodDogNDMwcHg7XG4gICAgfVxuXG4gICAgLyogU3R5bGUgdGhlIHRhYiAqL1xuICAgIC50YWIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8qIFN0eWxlIHRoZSBidXR0b25zIHRoYXQgYXJlIHVzZWQgdG8gb3BlbiB0aGUgdGFiIGNvbnRlbnQgKi9cbiAgICAudGFiIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgY29sb3I6ICM1Nzg1ODc7XG4gICAgfVxuXG4gICAgLyogQ2hhbmdlIGJhY2tncm91bmQgY29sb3Igb2YgYnV0dG9ucyBvbiBob3ZlciAqL1xuICAgIC50YWIgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIH1cblxuICAgIC8qIENyZWF0ZSBhbiBhY3RpdmUvY3VycmVudCB0YWJsaW5rIGNsYXNzICovXG4gICAgLnRhYiBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIH1cblxuICAgIC8qIFN0eWxlIHRoZSB0YWIgY29udGVudCAqL1xuICAgIC50YWJjb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC50YWJjb250ZW50IHtcbiAgICBhbmltYXRpb246IGZhZGVFZmZlY3QgMXM7IC8qIEZhZGluZyBlZmZlY3QgdGFrZXMgMSBzZWNvbmQgKi9cbiAgICB9XG5cbiAgICAvKiBHbyBmcm9tIHplcm8gdG8gZnVsbCBvcGFjaXR5ICovXG4gICAgQGtleWZyYW1lcyBmYWRlRWZmZWN0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIH1cblxuICAgICNhY2NvdW50U2hpcHBpbmdBZGRyZXNzLCAjYWNjb3VudEJpbGxpbmdBZGRyZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA0OCU7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMDAsMTAwLDEwMCwuMjUpO1xuICAgIGJveC1zaGFkb3c6MnB4IDJweCA0cHggcmdiYSgxMDAsMTAwLDEwMCwuMTUpO1xuICAgIH1cblxuICAgICNhY2NvdW50U2hpcHBpbmdBZGRyZXNzIGRpdiwgI2FjY291bnRCaWxsaW5nQWRkcmVzcyBkaXYge1xuICAgIG1pbi1oZWlnaHQ6IDE3MHB4O1xuICAgIH1cblxuICAgIC5jb250ZW50VGFiIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICB0YWJsZSAudi1hbGlnbi10b3Age1xuICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgICB9XG5cbiAgICAjZGFzaERyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgfVxuXG4gICAgLnRydW5jYXRlVGV4dCB7ICAgIFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6LjllbTtcbiAgICB9XG4gICAgLnNhbXBsZS1mZWVkYmFjay1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICMwNzFjMmY7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG5cbiAgICAuc2FtcGxlUmVxdWVzdHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5kYXNoX2Ryb3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmRhc2hfbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cblxuI215LWFjY291bnQtYm9keVxuLnRpdGxlLFxuI215LWFjY291bnQtbGVmdC1uYXZpZ2F0aW9uIFxuLnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNhbXBsZVJlcXVlc3RUYWJsZSB0aCB7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xufVxuXG4uZmxleFRhYmxlIHRyIHRkIHtcbiAgcGFkZGluZzozcHg7XG4gIGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcbiAgZm9udC1zaXplOi44OGVtO1xufVxuXG4ubW9iaWxlLWxhYmVsIHtcbiAgZGlzcGxheTpub25lO1xufVxuXG4jbXktYWNjb3VudC1sb2dvLWltZyB7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIHdpZHRoOiAyMDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjoxNXB4O1xufVxuXG5cbi8vIENBUlQgU1RZTEVTXG5cblxuLnVwZGF0ZV9jYXJ0X2N1c3RvbSB7XG4gIHBhZGRpbmc6IDNweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDkwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDtcbn1cblxuLypcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1kZXNrdG9wKSB7XG4gIC53b29jb21tZXJjZSB7XG4gICAgICAvLyBub3RpY2VzXG4gICAgICAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGNhcnQgZW1wdHkgcGFnZVxuICAgICAgcC5jYXJ0LWVtcHR5IHtcbiAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuc2VjdGlvbi1mZWF0dXJlZC1mb290ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XG4gICAgICAgICAgLy9AaW5jbHVkZSByb3VnaC1lZGdlKCRjLWJsdWUtbGlnaHQsIHRvcCk7XG4gICAgICB9XG4gICAgICAvLyBDYXJ0IC8vXG4gICAgICAuY2FydC1zZWN0aW9uIHtcbiAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucm95YWwtYWNjb3VudC1hbGVydCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLXJlZC1hbGVydDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXG4gICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcblxuICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0cjpudGgtY2hpbGQoMm4pIHRkIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC50YWJsZS1zdHJpcGVkIHtcbiAgICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgICAgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdHI6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5jYXJ0X2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgICAgICAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGMtZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyAuY2FydC10b3RhbC13ZWlnaHQtdGl0bGUge1xuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIC8vIC5jYXJ0LXRvdGFsLXdlaWdodCB7XG4gICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgLy8gLmNhcnQtdG90YWwtYmFnLXRpdGxlIHtcbiAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAvLyAuY2FydC10b3RhbC1iYWcge1xuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIGEucmVtb3ZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjLXJlZC1hbGVydCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXJlZC1hbGVydCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgICAgICAgICAgICAgLmNhcnRfdG90YWxzIHtcbiAgICAgICAgICAgICAgICAgIC5zaG9wX3RhYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGNoZWNrb3V0IC8gYmlsbGluZyBkZXRhaWxzIC8vXG4gICAgICAuY2hlY2tvdXQge1xuICAgICAgICAgIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIge1xuICAgICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCxcbiAgICAgICAgICAjcGF5bWVudCB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuXG5cbiAgICAgICAgICAgICAgLnBheW1lbnRfbWV0aG9kcyB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAud2NfcGF5bWVudF9tZXRob2Qge1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyYXktbWVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMzJweCArIC41cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMC4xNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLypoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIC5pcy1jaGVja2VkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjVweDsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsdWUtZGFyazsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlLWRhcms7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7IFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAvLyBpbnB1dFtjaGVja2VkPVwiY2hlY2tlZFwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6OmFmdGVyLFxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbY2hlY2tlZD1cImNoZWNrZWRcIl0gKyBsYWJlbDo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmlzLWNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLmlzLWNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gLjVyZW0gLjVyZW0gMS4xcmVtO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAucGF5bWVudF9ib3gge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcblxuICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxZW0gc29saWQgJGMtZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciB7XG4gICAgICAgICAgICAgIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAudmFsaWRhdGUtcmVxdWlyZWQge1xuICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLndvb2NvbW1lcmNlLXZhbGlkYXRlZCB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFyZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcigkYy1ncmVlbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyB0aGFuayB5b3UgLy8gb3JkZXIgcmVjZWl2ZWQgKG9yIG5vdC4uLilcbiAgICAgIC53b29jb21tZXJjZS1vcmRlciB7XG5cbiAgICAgICAgICAud29vY29tbWVyY2Utbm90aWNlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xuXG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGkub3JkZXIge1xuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgLm9yZGVyX2RldGFpbHMge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICAgICAgICB0cjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBhZGRyZXNzIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG4vLyBjYXJ0IGVtcHR5IHBhZ2VcbnAuY2FydC1lbXB0eSB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbiAgcGFkZGluZzoxZW0gIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xuXG4gICAgLmhlYWRlci1tZW51IHtcbiAgICAgICAgdG9wOjU3cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgLndvb2NvbW1lcmNlIHtcbiAgICAgIC8vIG5vdGljZXNcbiAgICAgIC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gY2FydCBlbXB0eSBwYWdlXG4gICAgICBwLmNhcnQtZW1wdHkge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjA0ZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzoxZW0gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24tZmVhdHVyZWQtZm9vdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xuICAgICAgICAgIC8vQGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0LCB0b3ApO1xuICAgICAgfVxuICAgICAgLy8gQ2FydCAvL1xuICAgICAgLmNhcnQtc2VjdGlvbiB7XG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnJveWFsLWFjY291bnQtYWxlcnQge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1yZWQtYWxlcnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblxuICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdHI6bnRoLWNoaWxkKDJuKSB0ZCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGFibGUtc3RyaXBlZCB7XG4gICAgICAgICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgICAgICAgIHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHRyOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAuY2FydF9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAucHJvZHVjdC10aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRjLWdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyAuY2FydC10b3RhbC13ZWlnaHQtdGl0bGUge1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgICAvLyAuY2FydC10b3RhbC13ZWlnaHQge1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgICAvLyAuY2FydC10b3RhbC1iYWctdGl0bGUge1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgICAvLyAuY2FydC10b3RhbC1iYWcge1xuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgIGEucmVtb3ZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjLXJlZC1hbGVydCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXJlZC1hbGVydCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgICAgICAgICAgICAgLmNhcnRfdG90YWxzIHtcbiAgICAgICAgICAgICAgICAgIC5zaG9wX3RhYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGNoZWNrb3V0IC8gYmlsbGluZyBkZXRhaWxzIC8vXG4gICAgICAuY2hlY2tvdXQge1xuICAgICAgICAgIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIge1xuICAgICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCxcbiAgICAgICAgICAjcGF5bWVudCB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1ncmVlbjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuXG5cbiAgICAgICAgICAgICAgLnBheW1lbnRfbWV0aG9kcyB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAud2NfcGF5bWVudF9tZXRob2Qge1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyYXktbWVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMzJweCArIC41cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMC4xNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLypoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsLmQtZmxleCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIC5pcy1jaGVja2VkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjVweDsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsdWUtZGFyazsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlLWRhcms7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7IFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAvLyBpbnB1dFtjaGVja2VkPVwiY2hlY2tlZFwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6OmFmdGVyLFxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbY2hlY2tlZD1cImNoZWNrZWRcIl0gKyBsYWJlbDo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmlzLWNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLmlzLWNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gLjVyZW0gLjVyZW0gMS4xcmVtO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAucGF5bWVudF9ib3gge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcblxuICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgIC8qYm9yZGVyOiAxZW0gc29saWQgJGMtZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQge1xuICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC52YWxpZGF0ZS1yZXF1aXJlZCB7XG4gICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAud29vY29tbWVyY2UtdmFsaWRhdGVkIHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idG4tcHJpbWFyeSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIHRoYW5rIHlvdSAvLyBvcmRlciByZWNlaXZlZCAob3Igbm90Li4uKVxuICAgICAgLndvb2NvbW1lcmNlLW9yZGVyIHtcblxuICAgICAgICAgIC53b29jb21tZXJjZS1ub3RpY2Uge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XG5cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBsaS5vcmRlciB7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xuICAgICAgICAgICAgICAub3JkZXJfZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRmb290IHtcbiAgICAgICAgICAgICAgICAgIHRyOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4qL1xuLy8gQ0FSVCBTVFlMRVNcblxuI2NsZWFyLW9mZmVyaW5ncy1maWx0ZXJzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206dW5zZXQgIWltcG9ydGFudDtcbn1cblxuLy8gNDA0IFNUWUxFU1xuXG4vLyA0MDQgLyBwYWdlIG5vdCBmb3VuZCBcbi5lcnJvcjQwNCB7XG4gIC5lcnJvcjQwNC1zZWFyY2gsXG4gIC5lcnJvcjQwNC1zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XG5cbiAgfVxuICAuZXJyb3I0MDQtc2VjdGlvbiB7XG5cbiAgICAgIC5pbWctNDA0IHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgYS5idG4tYmFjayB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEuMXJlbSAycmVtO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgcC50ZXh0LXNpemUtNDA0IHtcbiAgICAgICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBoZWlnaHQ6IDZyZW07XG5cbiAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEwLjYyNXJlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNXJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDEtZm9udC1zaXplO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAudGV4dC00MDQge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07ICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgLnRleHQteWVsbG93IHtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgLmVycm9yNDA0LXNlYXJjaCB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgfVxuXG4gICAgICBmb3JtIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICB9XG59XG5cbi8vIDQwNCBTVFlMRVNcblxuLy8gQlVUVE9OU1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAjZmZmO1xuJGJ1dHRvbi1iZy1jb2xvcjogIzIxNzU5YjtcbiRsaW5rLWNvbG9yOiAkYnV0dG9uLWJnLWNvbG9yO1xuXG4ldHJpYmUtYnV0dG9uLXNoYXJlZCB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiB1bnNldDtcbiAgICB3aWR0aDogdW5zZXQ7XG4gICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4udG9vbHRpcE5FVyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRvb2x0aXBORVdbZGF0YS10aXRsZV06aG92ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aXRsZSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbi5idG4sXG5idXR0b24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5idG4tcHJpbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgIH1cbn1cblxuLmJ0bi1vdXRsaW5lIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkYy1ibHVlO1xuICAgIGNvbG9yOiAkYy1ibHVlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWJsdWUpO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlO1xuICAgICAgICBjb2xvcjogJGMtYmx1ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmJ0bi1iZy1kYXJrLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbi1kYXJrO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjLWdyZWVuLWRhcms7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyLWxpZ2h0KCRjLWdyZWVuLWRhcmspO1xuICAgIH1cbn1cblxuLmJ0bi1iZy1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JlZW47XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcbiAgICB9XG59XG5cbi5idG4tYmctYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtYmx1ZSk7XG4gICAgfVxufVxuXG4uYnRuLWJnLWJsdWUtZGFyaywgLmJ0bi1iZy1kYXJrLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyLWxpZ2h0KCRjLWJsdWUtZGFyayk7XG4gICAgfVxufVxuXG4uYnRuLWJnLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMteWVsbG93O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93LWxpZ2h0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcigkYy15ZWxsb3cpO1xuICAgIH1cbn1cblxuLmJ0bi1kb3dubG9hZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAuaWNvbi1kb3dubG9hZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICB9XG59XG5cbi8vIHNvY2lhbCBzaGFyaW5nLCBibG9nIHBvc3RzIC8vXG5cbi5idG4tc2hhcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIC8vIHdpZHRoOiAzMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICB9XG59XG5cbi5mYi1zaGFyZSxcbi5saW5rZWRpbi1zaGFyZSxcbi50d2l0dGVyLXNoYXJlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAwLjJyZW07XG4gICAgLy8gcGFkZGluZy1sZWZ0OiAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG59XG5cbi5mYi1zaGFyZSB7XG5cbiAgICAuZmItbGlrZS1jb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICAvLyBwYWRkaW5nOiAzcHg7XG4gICAgfVxufVxuXG4udHdpdHRlci1zaGFyZSB7XG4gICAgLy8gcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogMC4ycmVtO1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmxpbmtlZGluLXNoYXJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0I1O1xuXG4gICAgaW1nIHtcbiAgICAgICAgLy8gcGFkZGluZzogMXB4O1xuICAgIH1cbn1cblxuLy8gQ1RBIExJTksgU1RZTEVTIC8vXG5cbi8vIGlubGluZS1zdHlsZSAvL1xuLmN0YSxcbi5uZXh0LXBvc3QtdGV4dCxcbi5oZXJvLWN0YSxcbi5ibG9nLWN0YSxcbi50ZXN0aW1vbmlhbC1saW5rLWN0YSxcbi5jdGEtaW5saW5lIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC5jdGEtbGluay10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAuY3RhLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9nLWN0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gYmxvZyBkZXRhaWwgcGFnZSBuZXh0IHBvc3QgYXJyb3cgLy9cbi5uZXh0LXBvc3QtdGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgIC5jdGEtbGluay10ZXh0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuXG4gICAgICAgIC5jdGEtaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gYnV0dG9uIHN0eWxlIC8vXG5cbi5idG4tcHJvbW8tY3RhLFxuLmN0YS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bS1tYXgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuICAgIC5jdGEtbGluay10ZXh0IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDhyZW07XG4gICAgICAgIC8vIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmV4dC1wb3N0LWFycm93IHtcbiAgICAuY3RhLWxpbmstdGV4dCB7XG4gICAgICAgIC5jdGEtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmljb24tYXJyb3cge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG59XG5cbmJ1dHRvbi5zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDZweCAyOHB4IDZweCAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vIGZpbHRlciBidXR0b25zLCBwaWxsIHN0eWxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5maWx0ZXIge1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6ICRoNC1mb250LXNpemU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uZmlsdGVyLmJ0bi1vdXRsaW5lIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICB9XG59XG5cbi5idG4tbW9iaWxlIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogLjI1cmVtIDEuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucmVzZXJ2ZUJ1YmJsZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vLyBvdmVycmlkZSB0cmliZSBidXR0b24gY29sb3Jcbi50cmliZS1jb21tb24tYy1idG4gdHJpYmUtY29tbW9uLWMtYnRuLS1zbWFsbCwgLnRyaWJlLXRpY2tldHNfX2l0ZW1fX3JlZ2lzdHJhdGlvbl9fc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbiAhaW1wb3J0YW50O1xufVxuXG4udHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXJhZGlvX19pbnB1dC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXJhZGlvX19pbnB1dCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdLnRpY2tldC1tZXRhIHtcbiAgICBvcGFjaXR5OiAxMDA7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JlZW47XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JlZW47XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBvdmVycmlkZSB0cmliZSByYWRpbyBidXR0b24gY29sb3Jcbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtcmFkaW9fX2lucHV0LnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQsIGlucHV0W3R5cGU9XCJyYWRpb1wiXS50aWNrZXQtbWV0YTpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbiAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhaW5lci1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmJ0bi1tb2JpbGUge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIC8qbGluZS1oZWlnaHQ6IDEycHg7Ki9cbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vYm9yZGVyOiAwO1xuICAgICAgICAvKnRleHQtYWxpZ246IGxlZnQ7Ki9cbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjRweDtcbiAgICB9XG5cbiAgICAucmVzZXJ2ZUJ1YmJsZSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNjglO1xuICAgIH1cbn1cblxuLm9yZGVyLXJlc2VydmUge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nOiAuNzVyZW0gLjc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm9yZGVyLXJlc2VydmUge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxufVxuXG4jYXBwbHktb2ZmZXJpbmdzLWZpbHRlcnMsICNjbGVhci1vZmZlcmluZ3MtZmlsdGVycywgI2FwcGx5LWNvdXJzZXMtZmlsdGVycywgI2NsZWFyLWNvdXJzZXMtZmlsdGVycyB7XG4gICAgcGFkZGluZzoycHg7IFxuICAgIGZvbnQtc2l6ZTouODVlbTsgXG4gICAgZmxvYXQ6bGVmdDsgXG4gICAgbWluLXdpZHRoOjEyNXB4O1xuICAgIG1hcmdpbi1yaWdodDo0cHg7XG59XG5cbiNtb2JpbGUtbG9naW4ge1xuICAgIGZvbnQtc2l6ZToxOHB4O1xufVxuXG4vKiBUaWNrZXQgQnV0dG9uICAqL1xuLnRyaWJlLXRpY2tldHNfX2Zvb3RlciB7XG4gICAgLnRyaWJlLWNvbW1vbi1jLWJ0biB7XG4gICAgICAgIEBleHRlbmQgJXRyaWJlLWJ1dHRvbi1zaGFyZWQ7XG4gICAgfVxuXG4gICAgXG59XG5cbi50cmliZS1jb21tb24tYy1idG4ge1xuICAgIEBleHRlbmQgJXRyaWJlLWJ1dHRvbi1zaGFyZWQ7XG59XG5cbi50cmliZS10aWNrZXRzX19pdGVtX19hdHRlbmRlZV9fZmllbGRzX19mb290ZXIge1xuICAgIC50cmliZS1jb21tb24tYy1idG4ge1xuICAgICAgICBAZXh0ZW5kICV0cmliZS1idXR0b24tc2hhcmVkO1xuICAgIH1cblxuICAgIC50cmliZS1jb21tb24tYy1idG4tbGluayB7XG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWJnLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4udHlwZS10cmliZV9ldmVudHMge1xuICAgIC50cmliZS1ldmVudHMtZXZlbnQtY29zdCB7XG4gICAgICAgIC50cmliZS1jb21tb24ge1xuICAgICAgICAgICAgLnRyaWJlLWNvbW1vbi1jLWJ0biB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAldHJpYmUtYnV0dG9uLXNoYXJlZDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGVhMGQ3O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhMGQ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyaWJlLWV2ZW50cy1ldmVudC1jb3N0LmZlYXR1cmVkLWV2ZW50IHtcbiAgICAgICAgLnRyaWJlLWNvbW1vbiB7XG4gICAgICAgICAgICAudHJpYmUtY29tbW9uLWMtYnRuIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGVhMGQ3O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhMGQ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qLnRyaWJlLXRpY2tldHNfX2F0dGVuZGVlX19maWVsZHNfX2Zvb3Rlcl9jaGVja291dC1idXR0b24udHJpYmUtY29tbW9uLWMtYnRuOmhvdmVyIHtcbiAgICBAZXh0ZW5kICV0cmliZS1idXR0b24tc2hhcmVkO1xufSovXG4udHJpYmUtdGlja2V0cy1yc3ZwIHtcbiAgICAudHJpYmUtZXZlbnRzLXRpY2tldHMtcnN2cCB7XG4gICAgICAgIHRkLmFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLnRyaWJlLXRpY2tldCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50cmliZS1idXR0b24tLXJzdnAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogdW5zZXQ7XG4gICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlc19jYXJ0X3N1Ym1pdCB7XG5cbiAgICAmLmxvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNjE4ZW07XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdXb29Db21tZXJjZSc7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxlMDFjJztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwLjYxOGVtO1xuICAgICAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gQlVUVE9OU1xuXG4vLyBDQUxFTkRBUlxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGNvbnRlbnQgY29sdW1uIGxheW91dHMtIGdlbmVyYWwgc3R5bGVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5jb250ZW50X3NlY3Rpb24ge1xuXG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG5cbiAgLmZlYXR1cmVkLWhlYWRsaW5lLFxuICAuc2VjdGlvbi1oZWFkbGluZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgfVxuICB9XG5cbiAgLmZ1bGwtd2lkdGgge1xuICB9XG5cbiAgLnR3by1jb2x1bW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gIH1cblxuICAudGhyZWUtY29sdW1uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICB9XG5cbiAgLmZvdXItY29sdW1uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICB9XG5cbiAgLmZvdXItY29sdW1uLFxuICAudGhyZWUtY29sdW1uLFxuICAudHdvLWNvbHVtbixcbiAgLmZ1bGwtd2lkdGgge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyBjb3B5IG1vZHVsZSAvL1xuXG4uZnVsbC13aWR0aCxcbi50d28tY29sdW1uLFxuLnRocmVlLWNvbHVtbixcbi5mb3VyLWNvbHVtbiB7XG5cblx0LmNvbnRlbnQtY29weSB7XG5cdFx0Ly8gcGFkZGluZy1sZWZ0OiAycmVtO1xuXHRcdC8vIHBhZGRpbmctcmlnaHQ6IDJyZW07XG5cblx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cdH1cbn1cblxuXG4uZnVsbC13aWR0aCB7XG5cblx0LmNvbnRlbnQtY29weSB7XG5cblx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0bWF4LXdpZHRoOiA0OC4ycmVtO1xuICAgIFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cdH1cbn1cblxuLy8gcGFnZSAvIGVtcGxveWVlcyBcblxuLnNlY3Rpb24tZW1wbG95ZWVzIHtcblx0XG5cdC5lbXBsb3llZS1pbWcge1xuXHRcdGhlaWdodDogMTVyZW07XG5cdFx0d2lkdGg6IDE1cmVtO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFxuXHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdFx0fVxuXHRcdFxuXHRcdGltZyB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHQgfVxuXHR9XG5cblx0LmVtcGxveWVlLWluZm8ge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGZlYXR1cmVkIGNvbnRlbnQgU2VjdGlvbiAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uZmVhdHVyZWRfc2VjdGlvbiB7XG5cdFxuXHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHQgICAgcGFkZGluZy1yaWdodDogMnJlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XG5cdH1cblxuXHQuZm91ci1jb2x1bW4ge1xuXG5cdFx0LmZlYXR1cmVkLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcblx0XHRcdH1cblx0XHQgXG5cdFx0XHQuZmVhdHVyZWQtY29udGVudCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdFx0LmZlYXR1cmVkLWltYWdlIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjhyZW07XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHQtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDE4LjI7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTguMnJlbTtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblx0XHRcblx0XHRcdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTguN3JlbTtcblx0XHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxM3JlbTtcdFxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgaW1nLWhvdmVyKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5mZWF0dXJlZC1oZWFkbGluZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHRcdFx0Zm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5mZWF0dXJlZC1kZXRhaWxzIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0Zm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmZlYXR1cmVkLWV4Y2VycHQge1xuXHRcdFx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGZlYXR1cmVkIGl0ZW1zIGluIGNvbnRlbnQgc2VjdGlvbiAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uc2VjdGlvbi1vcmRlcnMsXG4uY29udGVudF9zZWN0aW9uIHtcblxuICAgIC5mb3VyLWNvbHVtbixcblx0LnRocmVlLWNvbHVtbixcblx0LnR3by1jb2x1bW4ge1xuXG5cdFx0LmZlYXR1cmVkLWl0ZW0ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cdFxuXHRcdFx0XHQgXG5cdFx0XHQuZmVhdHVyZWQtY29udGVudCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdFx0LmZlYXR1cmVkLWltYWdlIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjhyZW07XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHQtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHQvLyBoZWlnaHQ6IDE4LjJyZW07XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTguMnJlbTtcblx0XHRcblx0XHRcdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMjAuN3JlbTtcblx0XHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxM3JlbTtcdFxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgaW1nLWhvdmVyKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvLyAuZmVhdHVyZWQtaGVhZGxpbmUge1xuXHRcdFx0Ly8gXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0XHQvLyBcdGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcblxuXHRcdFx0Ly8gXHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0Ly8gXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0XHRcdC8vIFx0fVxuXG5cdFx0XHQvLyB9XG5cblx0XHRcdC5mZWF0dXJlZC1kZXRhaWxzIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0Zm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmZlYXR1cmVkLWNvdXJzZSxcblx0XHRcdC5mZWF0dXJlZC1ibG9nLXBvc3Qge1xuXG5cdFx0XHRcdC5mZWF0dXJlZC1oZWFkbGluZSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTpcdDFyZW07XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5mZWF0dXJlZC1jb3Vyc2UtZGVzYyxcblx0XHRcdFx0LmZlYXR1cmVkLWJsb2ctdGV4dCB7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdFx0XHRcdGNvbG9yOiAkYy1ncmF5LW1lZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG4vLyBteS1hY2NvdW50IGRhc2hib2FyZFxuLnNlY3Rpb24tb3JkZXJzIHtcblxuXHQudGhyZWUtY29sdW1uIHtcblx0XHQuZmVhdHVyZWQtZGV0YWlscyB7XG5cdFx0XHRmb250LXNpemU6ICRoNS1mb250LXNpemUgIWltcG9ydGFudDtcblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXHRcdC5mZWF0dXJlZC1oZWFkbGluZSB7XG5cdFx0XHRmb250LXNpemU6ICRoMy1mb250LXNpemUgIWltcG9ydGFudDtcblxuXHRcdH1cblx0XHQuZmVhdHVyZWQtaW1hZ2Uge1xuXG5cdFx0fVxuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vXG4vLyBQUk9NTyAvL1xuLy8vLy8vLy8vL1xuLmNvbnRhaW5lci1ibG9nLXByb21vLFxuLmNvbnRhaW5lci1wcm9tbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0aGVpZ2h0OiA0NTBweDtcblxuXHRAaW5jbHVkZSBicChzbWFsbCkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNDAwcHg7IFxuXHR9XG5cblx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XG5cdFx0aGVpZ2h0OiA1MDBweDtcblx0fVxuXG5cdC5wcm9tby1pbWctY29udGFpbmVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQucHJvbW8taW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHQgICAgd2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucHJvbW8tY3RhIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMnJlbTtcblx0XHRib3R0b206IDJyZW07XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHRcblx0XHRcdGJvdHRvbTogMS41cmVtO1xuXHRcdFx0bGVmdDogMS41cmVtO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZzogMnJlbSAycmVtO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRsZWZ0OiAycmVtO1xuXHRcdFx0Ym90dG9tOiAycmVtO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuXHRcdFx0bGVmdDogM3JlbTtcblx0XHRcdGJvdHRvbTogM3JlbTtcblx0XHRcdHBhZGRpbmc6IDNyZW0gMnJlbTtcblx0XHR9XG5cblx0XHQucHJvbW8tdGV4dC13aGl0ZSB7XG5cdFx0XHRwIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblxuXHRcdH1cblx0fVxuXG5cdC5pY29uLWFycm93IHtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0bWFyZ2luLXRvcDogMnB4O1xuXHR9XG59XG5cbi8vUFJPTU8gSU4gQ09MVU1OIENPTlRFTlQgLy9cbi5mdWxsLXdpZHRoIHtcblxuXHQuY29udGFpbmVyLXByb21vIHtcblxuXHRcdC5wcm9tby1jdGEge1xuXHRcdFx0d2lkdGg6IDgwJTtcblxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0d2lkdGg6IDI3cmVtO1x0XG5cdFx0XHR9XG5cblx0XHRcdC5wcm9tby1oZWFkbGluZSB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG5cblx0XHRcdC5wcm9tby10ZXh0IHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnByb21vLWJnLW5vbmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XHR9XG5cdFxuXHRcdC5wcm9tby1iZy13aGl0ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXHR9XG59XG5cbi50d28tY29sdW1uLFxuLnRocmVlLWNvbHVtbixcbi5mb3VyLWNvbHVtbiAge1xuXHQuY29udGFpbmVyLXByb21vIHtcblx0XHQucHJvbW8tY3RhIHsgXG5cdFx0ICAgIGxlZnQ6IDJyZW07XG4gICAgXHRcdGJvdHRvbTogMnJlbTtcbiAgICBcdFx0d2lkdGg6IDgwJTtcbiAgICBcdFxuICAgIFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuICAgIFx0XHRcdGJvdHRvbTogMXJlbTtcbiAgICBcdFx0XHRsZWZ0OiAxcmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XG5cdFx0XHRcdGJvdHRvbTogMnJlbTtcblx0XHRcdFx0bGVmdDogMnJlbTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmN0YS1saW5rLXRleHQge1xuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMXJlbTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cbiAgICBcdFx0LnByb21vLWhlYWRsaW5lIHtcbiAgICBcdFx0XHRmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRmb250LXNpemU6ICRoMy1mb250LXNpemU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93O1xuXHRcdFx0fVxuXG5cdFx0XHQucHJvbW8tdGV4dCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnByb21vLWJnLW5vbmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XHR9XG5cdFxuXHRcdC5wcm9tby1iZy13aGl0ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXG5cdFx0XHQucHJvbW8tdGV4dC1ncmF5LWRhcmsge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZm91ci1jb2x1bW4ge1xuXHQuY29udGFpbmVyLXByb21vIHtcblx0XHQucHJvbW8tY3RhIHsgXG4gICAgXHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgXHRcdFx0cGFkZGluZzogMDtcbiAgICBcdFx0XHRib3R0b206IDFyZW07XG4gICAgXHRcdFx0bGVmdDogMXJlbTtcblx0XHRcdH1cblx0XHRcdC5jdGEtbGluay10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAxcmVtO1xuXHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXHR9XG59XG5cbi8vIHRlc3RpbW9uaWFsIG1vZHVsZSAvL1xuXG4uY29udGVudF9zZWN0aW9uIHtcblx0LmZ1bGwtd2lkdGgge1xuXHRcdC5jb250ZW50LXRlc3RpbW9uaWFsIHtcblxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA0OC4ycmVtO1xuICAgIFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAycmVtO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZnVsbC13aWR0aCxcblx0LnR3by1jb2x1bW4sXG5cdC50aHJlZS1jb2x1bW4sXG5cdC5mb3VyLWNvbHVtbiB7XG5cdFx0Ly8gZGlzcGxheTogZmxleDtcblx0XHQvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHQvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0LmNvbnRlbnQtdGVzdGltb25pYWwge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAycmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMnJlbTsgXG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0Ly8gXHRtYXgtaGVpZ2h0OiA2OCU7XG5cdFx0XHQvLyB9XG5cblx0XHRcdC50ZXN0aW1vbmlhbC1zb3VyY2Uge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMC41cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cbi5jYWxlbmRhcl9zZWN0aW9uLCBcbi5jb250ZW50X3NlY3Rpb24ge1xuXG4gIFx0LnNpbmdsZS1pbWctY29udGFpbmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogMTguMnJlbTtcblx0XHRcblx0XHQmLmltZy1jdXN0b20tcG9zdCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdH1cblxuXHRcdC5zaW5nbGUtaW1hZ2Uge1xuXHRcdFx0d2lkdGg6IDEwMCU7XHRcblx0XHRcdG1pbi1oZWlnaHQ6IDE4LjJyZW07XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHR9XG4gIFx0fVxuXG5cdC5zaW5nbGUtaW1nLXRleHQge1xuXG5cdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuICBcdH1cblxuICBcdC5mdWxsLXdpZHRoIHtcblx0XHQuc2luZ2xlLWltZy1jb250YWluZXIge1x0XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xuXG5cdFx0XHQuc2luZ2xlLWltYWdlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMjAuN3JlbTtcblx0XHRcdFx0fVxuXHRcblx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTNyZW07XG5cdFx0XHRcdH1cblx0XG5cdFx0XHRcdEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDI5cmVtO1xuXHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMzRyZW07XG5cdFx0XHRcdH1cblx0XHRcblx0XHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA4NS4yNXJlbTtcblx0XHRcdFx0XHRoZWlnaHQ6IDQ4cmVtO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG4gICAgXHR9XG5cblx0XHQuc2luZ2xlLWltZy10ZXh0IHtcblx0XHRcdC5zaW5nbGUtaW1nLWhlYWRsaW5lIHtcblx0XHRcdFx0IHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0LmN0YS1pbmxpbmUsXG5cdFx0XHQuY3RhLWJ1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA3Ni42MnJlbTtcblx0XHRcdFx0bWFyZ2luOiAxcmVtIGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuICBcdH1cblxuXHQudHdvLWNvbHVtbiB7XG5cdFx0LnNpbmdsZS1pbWctY29udGFpbmVyIHtcblxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMjdyZW07XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDIyLjVyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicCh4eGxhcmdlKSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMzByZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGhyZWUtY29sdW1uIHtcblx0XHQuc2luZ2xlLWltZy1jb250YWluZXIge1xuXG5cdFx0XHQuc2luZ2xlLWltYWdlIHtcblxuXHRcdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcblx0XHRcdFx0bWluLWhlaWdodDogMjdyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxMnJlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcblx0XHRcdFx0bWluLWhlaWdodDogMTlyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAgZm91ciBvciBtb3JlIGNvbHVtbiBwb3NzaWJsZVxuXHQuZm91ci1jb2x1bW4ge1xuXHRcdC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XG5cdFx0XHQvLyBtaW4taGVpZ2h0OiAxOC4ycmVtO1xuXG5cdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxOC43cmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDEzcmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnAoeHhsYXJnZSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcblx0XHRcdH1cblxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XG5cdFx0XHRcdC8vIG1pbi1oZWlnaHQ6IDE4LjJyZW07XG5cdFx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTguN3JlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDEzcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMThyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxMHJlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIGltYWdlIHN0eWxlIHJvd1xuXG5cdC5yb3ctaW1hZ2Uge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1ncmF5LW1lZDtcblx0XHRcblx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHVuc2V0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB1bnNldDtcblx0XHR9XG5cdFx0XG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xuXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7ICBcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2luZ2xlLWltZy1jb250YWluZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxNXJlbTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxNXJlbTtcblx0XHRcdH1cblxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNpbmdsZS1pbWctdGV4dCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMC43NXJlbTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMnJlbTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxLjVyZW07XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc2luZ2xlLWltZy1oZWFkbGluZSB7XG5cdFx0XHRcdGNvbG9yOiAkYy1ibHVlICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XHRjb2xvcjogJGMtYmx1ZS1kYXJrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0LmN0YS1pbmxpbmUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAxcmVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuICAgIFx0XHRcdFx0cmlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3RhLWxpbmstdGV4dCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAwO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuaWNvbi1saW5rLWludGVybmFsLmN0YS1pY29uIHtcblx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxNHB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIENBTEVOREFSXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8gTU9CSUxFIFNUWUxFU1xuXG5cblxuLm15LWFjY291bnQtbm9sb2dvIHtcbiAgbWFyZ2luLXRvcDogMjVweCAhaW1wb3J0YW50O1xufVxuLyogTW9iaWxlIFN0eWxlcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICNkYXNoQnV0dG9ucyB7XG4gICAgICBtYXJnaW4tdG9wOjBweDtcbiAgfVxufVxuXG5cbiAgLyogTW9iaWxlIFN0eWxlcyAqL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcblxuICAgICAgaDEge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgI215LWFjY291bnQtY29tcGFueS1uYW1lIHtcbiAgICAgICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgIH1cblxuICAgICAgLm1vYmlsZS1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24tcHJvZmlsZSBzZWxlY3Qge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAjbXlBY2NvdW50Q29mZmVlLCAjbXlBY2NvdW50VGVhLCAjbXlBY2NvdW50TGFiIHtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgICB9XG5cbiAgICAgICNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICNjdXN0b21lckxvZ29fZGFzaGJvYXJkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgfVxuXG4gICAgICAuZmxleFRhYmxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICB9XG5cbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICB0YWJsZS5mbGV4VGFibGUgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0ciB0ZCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAxJTtcbiAgICAgICAgICBmb250LXNpemU6IC44NWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIH1cblxuICAgICAgdGFibGUuZmxleFRhYmxlIHRkOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIobGFiZWwpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgIG1hcmdpbjogLTJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIH1cblxuICAgICAgdGFibGUuZmxleFRhYmxlIHRyIHRkOm50aC1jaGlsZCgxKSwgdGFibGUuZmxleFRhYmxlIHRyIHRoOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgdGFibGUuZmxleFRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDc1LDc1LDc1LC4xKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0ciB0ZDpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5zYW1wbGUtZmVlZGJhY2staGVhZGVyIHtcbiAgICAgICAgICB3aWR0aDogMTEwJTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5zYW1wbGVSZXF1ZXN0cyB7XG4gICAgICAgICAgd2lkdGg6IDExMCU7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAjZGFzaERyb3Bkb3duIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICNkYXNoQnV0dG9ucyB7XG4gICAgICAgICAgLy9kaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDoxNXB4O1xuXG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIG1heC13aWR0aDoyOHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6MjV2dyAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6NDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAjZGFzaGJvYXJkX2JvZHkge1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAubG9nb3V0QnRuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAubmF2X2NvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAjbXktYWNjb3VudC1ib2R5IHtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cblxuICAgICAgLy8jbXktYWNjb3VudC1ib2R5IHNlbGVjdCwgI215LWFjY291bnQtbGVmdC1uYXZpZ2F0aW9uIHNlbGVjdCBcbiAgICAgIC5kYXNoX2Ryb3AsICNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiBzZWxlY3QgIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzMwNGY2YztcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG5cbiAgICAgICNteS1hY2NvdW50LWJvZHkgLnRpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAjbXktYWNjb3VudC1sZWZ0LW5hdmlnYXRpb24gLnRpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIH1cblxuICAgIC8vICAgLmRhc2hfZHJvcCB7XG4gICAgLy8gICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAvLyAgIH1cblxuICAgIC8vICAgLmRhc2hfbmF2IHtcbiAgICAvLyAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLy8gICB9XG5cbiAgICAgICNkYXNoYm9hcmRfYm9keSB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg3LCAyOCwgNDcsIDAuMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDExMCUgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTUlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTUlO1xuICAgICAgfVxuXG4gICAgICAjbXktYWNjb3VudC1sb2dvLWltZyB7XG4gICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgZmxvYXQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG5cbiAgICAgICNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAgICB9XG5cbiAgICAgIC5teS1hY2NvdW50LW5vbG9nbyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9XG5cblxuICAuZGFzaF9uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogdW5zZXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICB9XG5cbiAgLmRhc2hfbmF2Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB9XG5cbiAgLmRhc2hfbmF2Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiZmJmO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXIsIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogYWxsO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xuICB9XG5cbiAgLmRhc2hfbmF2OmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmRhc2hfbmF2OmhvdmVyOjotd2Via2l0LXNjcm9sbGJhciwgLmRhc2hfbmF2OmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMS41cztcbiAgfVxuXG4gIC5ub2xvZ28ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbi5jYXJkLWdyb3VwLWhlYWRlciB7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIHdpZHRoOjYwJTtcbiAgZmxvYXQ6bGVmdDtcbn1cblxuLmNhcmQtc2VsZWN0aW9uIHtcbiAgZGlzcGxheTpmbGV4OyBcbiAgdGV4dC1hbGlnbjpyaWdodDtcbiAgZmxvYXQ6cmlnaHQ7XG59XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6YmxvY2s7IFxuICBwYWRkaW5nOjRweDsgXG4gIHdpZHRoOjEwMCU7XG4gIHBhZGRpbmctYm90dG9tOjEycHg7XG4gIHBhZGRpbmctdG9wOjhweDtcbn1cblxuaHRtbCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmRpdi53b29jb21tZXJjZSB7XG4gIG1hcmdpbi10b3A6dW5zZXQgIWltcG9ydGFudDtcbn1cblxuLmNob3Nlbi1jb250YWluZXIsIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gIG1heC13aWR0aDo3NSUgIWltcG9ydGFudDtcbn1cblxuLy8gTGlzdHNcblxuLnNlYXJjaC1zY3JvbGwtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5cmVtKSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbnRyLnRhYmxlLXJvdyB0ZCwgdHIudGFibGUtYWx0LXJvdyB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2ZjZmNmO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuXG4udGFibGUtcm93IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4udGFibGUtYWx0LXJvdyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCAyMzksIDIzOSwgMC43NSk7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gIC50YWJsZS1hbHQtcm93IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgdHIudGFibGUtcm93IHRkLCB0ci50YWJsZS1hbHQtcm93IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICB9XG5cbiAgdHIudGFibGUtcm93IHRkLCB0ci50YWJsZS1hbHQtcm93IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICAubnVtYmVyQ2VsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDE2JSAhaW1wb3J0YW50O1xuICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGNsZWFyOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubnVtYmVyQ2VsbC50ZWEge1xuICAgICAgLmg3IHtcbiAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xuICAgICAgfVxuXG4gICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmFtZUNlbGwge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiA4MyUgIWltcG9ydGFudDtcbiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgY2xlYXI6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LW92ZXJmbG93OicuLi4nO1xuICAgICAgbWF4LXdpZHRoOjgzJTtcblxuICAgICAgLmg3IHtcbiAgICAgICAgICBmb250LXNpemU6MS4wNGVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gIH1cblxuICAubmFtZUNlbGwudGVhe1xuICAgICAgcGFkZGluZy1sZWZ0OjE3cHg7XG4gICAgICAuaDcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgICB9XG4gICAgICB3aWR0aDozMCU7XG4gIH0gICAgXG4gIFxuICAuaW1hZ2VDZWxsLnRlYSB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmN1cHBpbmdDZWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogNzIlICFpbXBvcnRhbnQ7XG4gICAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gIH1cblxuICAucXR5Q2VsbCwgLnByaWNlQ2VsbCwgLnBvc2l0aW9uQ2VsbCwgLmNvbnRyYWN0Q2VsbCB7XG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogOTglICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucG9zaXRpb25DZWxsIHtcbiAgICAgIG1hcmdpbi10b3A6MTNweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGFiZWwtc20tbm9uZSB7XG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ub3MtcGFzdC1kdWUge1xuICBjb2xvcjogcmVkO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG50ci5vcy1wYXN0LWR1ZSB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xufVxuXG4ub3MtcGFpZCB7XG4gIGNvbG9yOiBncmVlbjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxudHIub3MtcGFpZCB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuICFpbXBvcnRhbnQ7XG59XG5cbi5vcy1wcm9jZXNzaW5nIHtcbiAgY29sb3I6IGJsdWU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnRyLm9zLXByb2Nlc3NpbmcgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlICFpbXBvcnRhbnQ7XG59XG5cbi5vZmZlcmluZy10YWJsZSB7XG4gIG1hcmdpbi10b3A6LTJweDtcbiAgbWluLWhlaWdodDoxMjVweCAhaW1wb3J0YW50O1xufVxuXG4ub2ZmZXJpbmctdGFibGUgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gIGZvbnQtc2l6ZTowLjllbSAhaW1wb3J0YW50O1xufVxuXG4uZGlzYWJsZWQtc2FtcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDpib2xkO1xuICBjb2xvcjojMzkzOTM5ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6MTVweDtcbiAgYm9yZGVyOm5vbmU7XG4gIG1pbi13aWR0aDoxNjguMjNweDtcbiAgY3Vyc29yOmRlZmF1bHQ7XG4gIG1hcmdpbi10b3A6MTBweDtcbn1cblxuLnF0eUNlbGwsIC5wcmljZUNlbGwsIC5jb250cmFjdENlbGwge1xuICB3aWR0aDogMTElO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnBvc2l0aW9uQ2VsbCB7XG4gIHdpZHRoOiAxMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubnVtYmVyQ2VsbCB7XG4gIHdpZHRoOjEwJTtcbn1cblxuLmN1cHBpbmdDZWxsIHtcbiAgd2lkdGg6MjUlO1xuICB0ZXh0LWFsaWduOnJpZ2h0O1xufVxuXG4ubmFtZUNlbGwge1xuICB3aWR0aDogMjglO1xufVxuXG4uaDcge1xuICBmb250LXNpemU6Ljk5cmVtO1xufVxuXG4uaW1hZ2VDZWxsIHtcbiAgd2lkdGg6IDclO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi5ncm91cFBvc2l0aW9uQ2VsbCB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi5ncm91cFRocnVDZWxsIHtcbiAgd2lkdGg6IDEwJTtcbn1cblxuLmdyb3VwQmFnc0NlbGwge1xuICB3aWR0aDogMTUlO1xufVxuXG4uZ3JvdXBQcmljZUNlbGwge1xuICB3aWR0aDogMjAlO1xuXG4gIHAge1xuICAgICAgZm9udC1zaXplOjAuODhyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2t1LWdyb3VwLW5hbWUge1xuICB3aWR0aDogNDUlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbjogMHB4O1xufVxuXG4ub2ZmZXJpbmctZmxhdm9yLW5vdGUge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbGluZS1oZWlnaHQ6IDEwcHg7XG59XG5cbi5vZmZlcmluZy1wcm9kdWN0SW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tbGVmdDogLTdweDtcbn1cblxuLnNrdUdyb3VwaW5nIHtcbiAgdGV4dC1vdmVyZmxvdzogJy4uLicgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cbn1cblxuLnRvZ2dsZUdyb3VwIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgyMDAsMjAwLDIwMCwuNzUpO1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSBcbntcbiAgLnNrdUdyb3VwaW5nIHtcblxuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICBcbiAgfVxufVxuXG4uc2t1R3JvdXBpbmc6YWZ0ZXIsIHNrdUdyb3VwaW5nOjphZnRlciB7XG4gIHRvcDogNDElICFpbXBvcnRhbnQ7XG59XG5cbi5za3VHcm91cFJlc2VydmU6OmFmdGVyIHtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5za3UtZ3JvdXAtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNrdS1ncm91cC10YWJsZSB0ciB0ZCB7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG59XG5cbi5zdGlja3ktaGVhZGVyIHtcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDM1cHg7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLy8gLnRvZ2dsZUdyb3VwUmVzZXJ2ZSB7XG4vLyAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKC4uL2ltZy9yb3VnaC1lZGdlLWRhcmstYmx1ZS5zdmcpO1xuLy8gICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHN0cmV0Y2g7XG4vLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2Utd2hpdGUuc3ZnKTtcbi8vICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcpO1xuLy8gICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnKTtcbi8vICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnKTtcbi8vICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDM1cHggMCA2MHB4IDA7XG4vLyAgICAgYm9yZGVyLWltYWdlLW91dHNldDogLTIwcHggMCAwcHggMDtcbi8vICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDQyO1xuLy8gfVxuXG4uaGVhZGVyLXRvcC1lZGdlLWRhcmstYmx1ZSB7XG4gIHdpZHRoOjEwMCU7XG4gIGhlaWdodDoyN3B4O1xuICBtYXJnaW4tYm90dG9tOi0xN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5oZWFkZXItdG9wLWVkZ2UtZ3JlZW4ge1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6MjdweDtcbiAgbWFyZ2luLWJvdHRvbTotMTdweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yb3VnaC1lZGdlLWdyZWVuLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5oZWFkZXItdG9wLWVkZ2UtYmx1ZSB7XG4gIHdpZHRoOjEwMCU7XG4gIGhlaWdodDoyN3B4O1xuICBtYXJnaW4tYm90dG9tOi0xN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2UtYmx1ZS5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uc3RpY2t5LWhlYWRlci1jYXRlZ29yeSBwIGVtLCAuc3RpY2t5LWhlYWRlci1jYXRlZ29yeS1hZG1pbiBwIGVtIHtcbiAgZm9udC1zaXplOi43MGVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDoxMHB4ICFpbXBvcnRhbnQ7ICAgICAgICBcbn1cblxuLm9mZmVyaW5nLWl0ZW0ge1xuICAvL21pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbi5yZXNlcnZlIHtcbiAgLm9mZmVyaW5nLWl0ZW0ge1xuICAgICAgLy9taW4taGVpZ2h0OiAxMzBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zYWNoZXRwZXJ1bml0IHtcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgY29sb3I6IzMwNGY2YztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4ub2ZmZXJpbmcudGVhIHtcbiAgXG4gIG1hcmdpbi10b3A6N3B4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206N3B4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6MnB4IDJweCA0cHggcmdiYSgwLDAsMCwwLjI1KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG59XG5cbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcbi8vICAgLm9mZmVyaW5nLWl0ZW0ge1xuLy8gICAgICAgLy9taW4taGVpZ2h0OiAxMjVweCAhaW1wb3J0YW50O1xuLy8gICB9XG5cbi8vICAgLy8gLm9mZmVyaW5nIHtcbi8vICAgLy8gICAgICY6bnRoLWNoaWxkKG9kZCkge1xuLy8gICAvLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4vLyAgIC8vICAgICB9XG4gIFxuLy8gICAvLyAgICAgJjpudGgtY2hpbGQob2RkKSA+IGFydGljbGUge1xuLy8gICAvLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4vLyAgIC8vICAgICB9XG4vLyAgIC8vIH1cblxuLy8gfVxuXG4gIC5zYW1wbGUtcmVxdWVzdC1idXR0b24tY2VsbCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIGJvZHkge1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG5cbiAgLmNvZmZlZS1ncm91cGluZy1uYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTUwcHgpIHtcbiAgICAgIC5pbWFnZUNlbGwge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLm9mZmVyaW5nLWl0ZW0gLnNrdUdyb3VwaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgfVxuXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNrdS1ncm91cC10YWJsZSAuc2t1LWdyb3VwLW5hbWUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5za3UtZ3JvdXAtdGFibGUgLnNrdS1ncm91cC1uYW1lIGRpdiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlIC5za3UtZ3JvdXAtdGFibGUtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnNrdS1ncm91cC10YWJsZSAuc2t1LWdyb3VwLXRhYmxlLWJvZHkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlLWhlYWRlciB0ZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIC5za3UtZ3JvdXAtdGFibGUtYm9keSB0ZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAubGFiZWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgfVxuXG4gICAgICAuZ3JvdXBQb3NpdGlvbkNlbGwge1xuICAgICAgICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwVGhydUNlbGwge1xuICAgICAgICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwQmFnc0NlbGwge1xuICAgICAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwUHJpY2VDZWxsIHtcbiAgICAgICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5za3VHcm91cGluZzphZnRlciwgc2t1R3JvdXBpbmc6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAub2ZmZXJpbmctZmxhdm9yLW5vdGUge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5zYW1wbGUtcmVxdWVzdC1idXR0b24tY2VsbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLmQtbm9uZS1zbTIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5jb2ZmZWUtZ3JvdXBpbmctbmFtZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmFzc2Vzc21lbnQtbGFiZWwge1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICB9XG5cbiAgICAgIC5hc3Nlc3NtZW50LWxhYmVsLWNvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICB9XG5cbiAgLmFzc2Vzc21lbnQtbGFiZWwtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cblxuICAuYXNzZXNzbWVudC1sYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIGhlaWdodDogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgfVxuXG4gIC50cmliZS1ldmVudHMtZXZlbnQtY29zdCB7XG4gICAgICBmb3JtIHtcbiAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgfVxuXG4gIC5ldmVudHMtbGlzdC50cmliZS1iYXItaXMtZGlzYWJsZWQge1xuICAgICAgI3RyaWJlLWV2ZW50cy1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICB9XG4gIH1cblxuICAudHJpYmUtZXZlbnRzLWxpc3Qge1xuICAgICAgLnRyaWJlLWV2ZW50cy1sb29wIHtcbiAgICAgICAgICAudHJpYmUtYnV0dG9uIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwZWEwZDc7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLyptYXgtd2lkdGg6IHVuc2V0OyovXG4gICAgICAgICAgLnRyaWJlLWV2ZW50LWZlYXR1cmVkIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAudHJpYmUtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwZWEwZDc7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAucHJvZHVjdHMtcGFuZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgei1pbmRleDo5OCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnN0aWNreS1oZWFkZXItY2F0ZWdvcnkge1xuICAgICAgei1pbmRleDoxMDIgIWltcG9ydGFudDtcbiAgfVxuXG4vLyAgIC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xuLy8gICAgICAgei1pbmRleDoxNTUgIWltcG9ydGFudDtcbi8vICAgfVxuXG4gIC8vIFRlYSBvZmZlcmluZyBzdGlja3kgaGVhZGVyc1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XG4gICAgICAudGVhLnN0aWNreS1oZWFkZXIge1xuICAgICAgICAgIHRvcDoxMjhweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9XG4gIFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XG4gICAgICAvLyBUZWEgb2ZmZXJpbmcgc3RpY2t5IGhlYWRlcnNcbiAgICAgIC50ZWEuc3RpY2t5LWhlYWRlciB7XG4gICAgICAgICAgdG9wOjc4cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxuXG4gIC5saW5ldXAtZGVjIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XG4gICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgZm9udC1zaXplOjE4cHg7XG4gICAgICBwYWRkaW5nOjhweDtcbiAgfVxuLy8gTGlzdHNcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIE1PQklMRSBPVkVSUklERVNcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN0eWxlIG92ZXJyaWRlcyBmb3IgbW9iaWxlIFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIERFRkFVTFRcbi5jYXJ0LWxvY2F0aW9uIHsgICAgXG4gIGNvbG9yOiNmZmZmZmY7XG4gIGNsZWFyOiBib3RoO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLDAsMCwuNjUpO1xuICBib3JkZXItcmFkaXVzOjU1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjokYy1ncmVlbjtcbiAgaGVpZ2h0OjI0cHg7XG4gIHdpZHRoOjI0cHg7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4IHJnYmEoMSwxLDEsLjM1KTtcbiAgcGFkZGluZzoycHg7XG4gIHBhZGRpbmctdG9wOjRweDtcbn1cblxuLm5hdmJhci1sb2dvLW1vYmlsZSB7XG4gIC5oZWFkZXItY2FydC1sb2NhdGlvbiB7XG4gICAgICBmb250LXNpemU6Ljc1ZW07XG4gICAgICBtYXJnaW4tdG9wOi0xMnB4O1xuICB9XG59XG5cbi5jYXJ0LWxvY2F0aW9uOmhvdmVyIHtcbiAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4uY2FydC1sb2NhdGlvbjplbXB0eSB7XG4gIGRpc3BsYXk6bm9uZTtcbn1cblxuLmhlYWRlci1jYXJ0LWxvY2F0aW9uLCAuaGVhZGVyLWNhcnQtbG9jYXRpb246aG92ZXIge1xuICBjb2xvcjojZmZmZmZmO1xuICBmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIC5oZWFkZXItY2FydC1sb2NhdGlvbjplbXB0eSB7XG4vLyAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4vLyB9XG5cbi5zaG9wcGluZy1jYXJ0LWxvY2F0aW9uIHtcbiAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogb2JsaXF1ZTtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gLy9iYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0eWVsbG93O1xuICBmb250LXNpemU6Ljk4ZW07XG4gIHBhZGRpbmctdG9wOjRweDtcbiAgcGFkZGluZy1ib3R0b206NnB4O1xuICAvL2JvcmRlci1ib3R0b206M3B4IHNvbGlkIGdvbGRlbnJvZDtcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggMXB4IHJnYmEoOTAsOTAsOTAsMC4yMCk7XG4gIGNvbG9yOnJlZDtcbn1cblxuI3Byb2R1Y3QtZGV0YWlsLXdpbmRvdyB7XG4gIGJveC1zaGFkb3c6IDdweCA3cHggMTFweCByZ2JhKDEwLDEwLDEwLC4yKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHotaW5kZXg6MTAwMDAwMDtcbiAgcG9zaXRpb246Zml4ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtcbiAgZGlzcGxheTpub25lO1xuICBib3JkZXItdG9wOiRjLXllbGxvdyA1cHggc29saWQ7XG5cbiAgLnN0aWNreS1oZWFkZXIge1xuICAgICAgdG9wOjBweCAhaW1wb3J0YW50O1xuICB9XG5cbi8vICAgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XG4vLyAgICAgICB0b3A6MnB4ICFpbXBvcnRhbnQ7XG4vLyAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbi8vICAgICAgIHdpZHRoOmNhbGMoIDEwMCUgLSAxN3B4ICkgIWltcG9ydGFudDtcbi8vICAgfVxuXG4gIGhlYWRlciB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgaGVpZ2h0OjQwcHg7XG4gICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokYy1ibHVlLWRhcms7XG4gICAgICBjb2xvcjojZmZmZmZmO1xuICAgICAgZm9udC1zaXplOjEuNzVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDo4cHg7XG4gIH1cblxuICBkaXYuaWZyYW1lIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6MTAwJTtcbiAgICAgIG92ZXJmbG93LXk6YXV0bztcblxuICAgICAgI2Zvb3RlciwgLmhlYWRlci1mdWxsLCAuaGVhZGVyLW1vYmlsZSwgLm5hdi1iYXItZGFyaywgLmhlYWRlciwgI2hlYWRlci1uYXYsIC5oZWFkZXItbmF2IHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxuXG4gIGRpdi5pbmZvLXBvcC11cC1jbG9zZSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICB6LWluZGV4OiAxMDAwMDtcbiAgfVxuXG4gIC5vZmZlcmluZy10YWJsZSB7XG4gICAgICBtaW4taGVpZ2h0OjEyNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keS5uby1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi8vIE1vYmlsZSBzdHlsZXNcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MTBweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgICAgbWFyZ2luLXRvcDotMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xuXG4gIGxpLnNsaWRlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluICFpbXBvcnRhbnQ7XG4gIFxuICAgICAgdmlkZW8ge1xuICAgICAgICAgIG1heC13aWR0aDo5M3Z3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDozNXZoICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gIH1cblxuICBkaXYuaGVhZGVyLWZ1bGwge1xuICAgICAgLmhlYWRlci1jYXJ0LWxvY2F0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxuICAucmVzZXJ2ZSB7XG4gICAgICAub2ZmZXJpbmctaXRlbSB7XG4gICAgICAgICAgLy9taW4taGVpZ2h0OiAyMjBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9XG4gIFxuICAuY2FydC1zZWN0aW9uIHtcbiAgICAgIGEuYnRuLWJnLWdyZWVuIHtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgfVxuICB9XG5cbiAgLmQtbS1vbmx5IHtcbiAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gICNoZWFkZXItbmF2IC5oZWFkZXItbW9iaWxlIHtcbiAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEdlbmVyYWwgZml4ZXNcbiAgLnNoaW0tc3BhY2VyIHtcbiAgICAgIGhlaWdodDo2NnB4ICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6MHB4O1xuICAgICAgcGFkZGluZzowcHg7XG4gICAgICBtYXJnaW46MHB4O1xuICAgICAgbGVmdDowO1xuICAgICAgdG9wOjA7XG4gICAgICBjbGVhcjpib3RoO1xuICB9XG5cbiAgLm1vYmlsZS1hZG1pbi1oZWFkZXItc3BhY2VyIHtcbiAgICAgIGhlaWdodDozNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAub2ZmZXJpbmdzLWNvbnRlbnQgLnNlY3Rpb25fcGFnZV9oZWFkZXIge1xuICAgICAgcGFkZGluZy10b3A6MC44MGVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjc2VydmVyLWlkIHtcbiAgICAgIG9wYWNpdHk6MC44ICFpbXBvcnRhbnQ7XG4gICAgICB0b3A6LTRweCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDowICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6MThweCAhaW1wb3J0YW50O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOjhweDtcbiAgICAgIHBhZGRpbmc6MHB4O1xuICAgICAgbWFyZ2luOjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGJyIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gIH1cblxuICAvLyBDb2ZmZWUgT2ZmZXJpbmcgXG4gIC5za3VHcm91cGluZy50ZXh0LWJsdWUuaDYge1xuICAgICAgZm9udC1zaXplOjEuM2VtICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDotM3B4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6OTV2dztcbiAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG4gICAgICBvdmVyZmxvdzpoaWRkZW47XG4gIH0gICAgXG5cbiAgLnNrdS1ncm91cC1uYW1lLCAucm90YXRlLWljb24sIC5yb3RhdGUtaWNvbjIsIC5yb3RhdGUtaWNvbi13aGl0ZSwgLnJvdGF0ZS1pY29uLXdoaXRlMiB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNrdUdyb3VwaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDozMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgIDphZnRlciB7XG4gICAgICAgICAgdG9wOjZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9XG5cbiAgLnNlY3Rpb25fcGFnZV9jb250ZW50ICNzZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIHRvcDo3NnB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTozMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5jbG9zZS1pY29uMjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDo0cHggIWltcG9ydGFudDtcbiAgICAgICAgICByaWdodDowICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdG9wOjFyZW0gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlLWljb24yIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOjEwcHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmVjYV9zZWN0aW9uIHtcbiAgICAgICAgICAuZWNhLWl0ZW1zIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDotNjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gICNmaWx0ZXJDb250cm9sQm94IC5lY2Ffc2VjdGlvbiAuZWNhLWl0ZW1zIHsgICAgICAgIFxuICAgICAgbWFyZ2luLXRvcDotNjBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgI2ZpbHRlckNvbnRyb2xCb3gge1xuICAgICAgcGFkZGluZy1ib3R0b206MTEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFRlYSBPZmZlcmluZ3MgZml4ZXNcbiAgLmltYWdlQ2VsbC50ZWEge1xuICAgICAgd2lkdGg6MzAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmFtZUNlbGwudGVhIHtcbiAgICAgIHdpZHRoOjk5JSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzozcHggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTouOTllbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm51bWJlckNlbGwudGVhIHtcbiAgICAgIHdpZHRoOjk5JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm51bWJlckNlbGwudGVhIHNwYW4uaDcge1xuICAgICAgZmxvYXQ6cmlnaHQgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB6b29tOjE7XG4gICAgICBtYXJnaW4tdG9wOi0yMHB4O1xuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgIHdpZHRoOjUwJTtcbiAgfVxuXG4gIGRpdi5mb3JtLWdyb3VwLnN0aWNreS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MXJlbSAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDo2NXB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcbiAgfVxuICAgICAgXG4gIC5vZmZlcmluZy1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxuXG4gIC5pbmZvLXBvcC11cCB7XG4gICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsNTAsNTAsMC4zMCk7XG4gICAgICBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgbWF4LWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICBtYXJnaW4tdG9wOiAwJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgLmVtcHR5X2NhcnQge1xuICAgICAgbWFyZ2luLXRvcDotNDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmNhcnQtZ3JvdXAtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6ZmxleCAhaW1wb3J0YW50O1xuXG4gICAgICBoMyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkZmRmZGYgc29saWQ7XG4gICAgICB9XG5cbiAgICAgIHNwYW4sIGVtIHtcbiAgICAgICAgICBmb250LXNpemU6Ljc1ZW07XG4gICAgICB9XG4gIH1cblxuLy8gICAjbG9nZ2VkLWluLWFzIHtcbi8vICAgICAgIHdpZHRoOiA2MDBweDsgXG4vLyAgICAgICBjb2xvcjogZmxvcmFsd2hpdGU7IFxuLy8gICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IFxuLy8gICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8gICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICAgICAgIG1heC13aWR0aDoxMDB2dztcbi8vICAgICAgIG1hcmdpbi1yaWdodDoxOHJlbTtcbi8vICAgICAgIG1hcmdpbi10b3A6LTEzMHB4O1xuLy8gICAgICAgei1pbmRleDogMjAwO1xuXG4vLyAgICAgICBkaXNwbGF5Om5vbmU7XG4vLyAgIH1cblxuXG5cbiAgLm9mZmVyaW5nLWl0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OjRweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDo0cHggIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5za3VHcm91cGluZzo6YWZ0ZXIge1xuICAgICAgbGVmdDoxNHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucm90YXRlLWljb24zOjphZnRlciB7XG4gICAgICBsZWZ0OjE0cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zaGlwbWVudC1oaXN0b3J5IHtcbiAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6MHB4ICFpbXBvcnRhbnQ7IFxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50OyBcbiAgICAgIGZvbnQtc2l6ZToxZW0gIWltcG9ydGFudDsgXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50OyBcbiAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDsgXG4gICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7IFxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50OyBcbiAgfVxuXG4gIC5teWFjY291bnQtcmVzZXJ2ZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTpibG9jazsgXG4gICAgICBtYXJnaW46MHB4OyBcbiAgICAgIHBhZGRpbmc6MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMi41cHggIWltcG9ydGFudDsgXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zNi41cHggIWltcG9ydGFudDtcbiAgfVxuXG4gICNza3VSZXNlcnZlIHtcbiAgICAgIC5kYXNoaWNvbnMge1xuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxuXG4gIC5jYXJkLWdyb3VwLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O1xuICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBcbiAgfVxuICBcbiAgLmNhcmQtc2VsZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDsgXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IFxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206MTRweCAhaW1wb3J0YW50O1xuICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBhIHtcbiAgICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgbWFyZ2luOjVweDtcbiAgICAgIH1cbiAgfVxuXG4gIFxuICBcbiAgLmhvdy10by1ncmFwaGljLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDoxMDB2dztcbiAgICAgIHBhZGRpbmc6MTRweDtcbiAgfVxuXG4gIC50aWxlcy1vdXRlci1jb250YWluZXIge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIGhlaWdodDo1NXZoO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG5cbiAgLmludHJvLXRleHQge1xuICAgICAgZm9udC1zaXplOi45ZW07XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIH1cblxuICAuaW50cm8tbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6NzVweDtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgbWFyZ2luOmF1dG87XG4gICAgICBjbGVhcjpib3RoO1xuICAgICAgZGlzcGxheTpibG9jaztcblxuICAgICAgOjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgfVxuICB9XG5cbiAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGNvbG9yOiRjLWJsdWUtZGFyaztcbiAgICAgIGZvbnQtc2l6ZToxLjM1ZW07XG4gICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cblxuICAudGlsZS1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOjEzOXB4O1xuICAgICAgbWluLXdpZHRoOjEzOXB4O1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIG1pbi1oZWlnaHQ6MTk2cHg7XG4gICAgICBjbGVhcjpib3RoO1xuICAgICAgbWFyZ2luOmF1dG87XG4gIH1cblxuICAuc2VjdGlvbi10aWxlLW91dGVyIHtcbiAgICAgIGJvcmRlcjo0cHggc29saWQgJGMtYmx1ZS1kYXJrO1xuICAgICAgbWluLWhlaWdodDoxNDZweDtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBwYWRkaW5nOjNweDtcbiAgICAgIHdpZHRoOjEwMCU7XG4gIH1cblxuICAuc2VjdGlvbi10aWxlLWlubmVyIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcbiAgICAgIHBhZGRpbmc6NnB4O1xuICAgICAgbWluLWhlaWdodDoxMzJweDtcblxuICAgICAgZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTouNTVlbTtcbiAgICAgIH1cbiAgfVxuXG4gIC5hcnJvdy1jb250YWluZXItcmlnaHQge1xuICAgICAgY29sb3I6ICRjLWJsdWUtZGFyaztcbiAgICAgIG1hcmdpbjoxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OjM1cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6MjhweCAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcbiAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY2hlY2stbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDotMjhweDtcbiAgfVxuXG4gICNwcm9kdWN0LWRldGFpbC13aW5kb3cge1xuICAgICAgd2lkdGg6OTV2dztcbiAgICAgIGhlaWdodDo5NXZoO1xuICAgICAgdG9wOjIuNXZoO1xuICAgICAgbGVmdDoyLjV2dztcblxuICAgICAgaGVhZGVyIHtcbiAgICAgICAgICBmb250LXNpemU6MS41dnc7XG4gICAgICAgICAgcGFkZGluZy10b3A6NHB4O1xuICAgICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgfVxuXG4gICAgICBtYWluIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOi0xMTVweDtcbiAgICAgIH1cbiAgfVxuICBcbiAgLmNoZWNrb3V0UXVlc3Rpb24ge1xuICAgICAgbWF4LXdpZHRoOjk1JSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDp1bnNldCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTotMjFweDtcbiAgfVxuXG4gICAgICBcbiAgI2JhZF9zaGlwcGluZ19tZXNzYWdlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IFxuICAgICAgY29sb3I6cmVkOyBcbiAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1sZWZ0OjBweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgICAgICAgIFxuICB9XG5cbiAgI3JueV9taW5pX2NhcnQge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIHRvcDoxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDoxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6MCUgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6bm9uZTtcblxuICAgICAgLmFycm93LXVwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOi0xcHg7XG4gICAgICB9XG5cbiAgICAgIC5jYXJ0LWNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTkpO1xuICAgICAgICAgIGhlaWdodDo5NXZoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDo5NXZoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzo2cHg7XG5cbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93IHtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDoyNzVweDsgXG4gICAgICAgICAgICAgIG92ZXJmbG93LXg6aGlkZGVuOyBcbiAgICAgICAgICAgICAgbWluLWhlaWdodDoyNzVweDsgXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgd2lkdGg6Y2FsYygxMDAlICsgOHB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvKiA9PT09PSBTY3JvbGxiYXIgQ1NTID09PT09ICovXG4gICAgICAgICAgLyogRmlyZWZveCAqL1xuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3cge1xuICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogI2RmZGZkZiAjZmZmZmZmO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3c6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3c6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgdGFibGUuY2FydC1oZWFkZXJzIHtcbiAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcblxuICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6MWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjAyZW0haW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjZmNmY2Y7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWJsZS5jYXJ0LWl0ZW1zIHtcbiAgICAgICAgICAgICAgd2lkdGg6Y2FsYyggMTAwJSAtIDIzcHggKTtcblxuICAgICAgICAgICAgICAqIHsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOi45OWVtO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGFibGUuY2FydC10b3RhbHMge1xuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuXG4gICAgICAgICAgICAgICogeyAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6MS4xMmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9ICAgICAgICBcbiAgfVxuXG4gIC5PdXJUZWFtSGVhZGVycyB7XG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46YXV0byAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOjk5Ljk5dncgIWltcG9ydGFudDtcbiAgICAgIHRvcDo3NXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGVhbUdyaWQge1xuICAgICAgY2xlYXI6Ym90aCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgei1pbmRleDo4O1xuICAgICAgcG9zaXRpb246c3RpY2t5O1xuICB9XG5cbiAgI3RlYW1TcGFjZXIge1xuICAgICAgaGVpZ2h0OjEyMHB4O1xuICB9XG5cbiAgLmVtcGxveWVlLXRodW1iIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgICRjLWJsdWUtZGFyaztcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBtYXgtd2lkdGg6NjF2dztcbiAgICAgIG1hcmdpbjphdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICBcbiAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OnVuc2V0O1xuICAgICAgICAgIHdpZHRoOnVuc2V0O1xuICAgICAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6MTAwJTtcbiAgICAgIH1cbiAgfVxuXG4gICAgICBcbiAgLmVtcGxveWVlLXBvc2l0aW9uIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gICAgICBjb2xvcjokYy15ZWxsb3c7IFxuICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6MTBweDsgXG4gICAgICB0cmFuc2l0aW9uOmFsbCAxcztcbiAgICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjk1KTtcbiAgICAgIG9wYWNpdHk6MDtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBoZWlnaHQ6NTVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6MTVweDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZW1wbG95ZWUtaGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxuICAgICAgYmFja2dyb3VuZDogICRjLWJsdWUtZGFyazsgXG4gICAgICBjb2xvcjogI2ZmZmZmZjsgXG4gICAgICBtYXJnaW46YXV0bzsgXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyBcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IFxuICAgICAgcGFkZGluZzogNXB4OyBcbiAgICAgIG1heC13aWR0aDo5NTdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgIC5lbXBsb3llZS1oZWFkZXItcG9zaXRpb24ge1xuICAgICAgICAgIGZvbnQtc2l6ZToxOHB4OyAgICBcbiAgICAgIH1cbiAgfVxuXG4gIC5lbXBsb3llZS10aHVtYi1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgXG4gICAgICBmb250LXdlaWdodDogYm9sZDsgXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5lbXBsb3llZS1pbWFnZSB7XG4gICAgICBvdmVyZmxvdzpoaWRkZW47IFxuICAgICAgY2xpcDphdXRvOyBcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBcbiAgICAgIG1heC1oZWlnaHQ6MjY3cHg7XG4gIH1cblxuICAuT3VyVGVhbUhlYWRlclNwYWNlciB7XG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5PdXJUZWFtTWFpblRleHQge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyBcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXG4gICAgICBtYXJnaW46YXV0bzsgXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyBcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IFxuICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7IFxuICAgICAgbWF4LXdpZHRoOjk1N3B4OyBcbiAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgIHRvcDo3NXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5PdXJUZWFtU3ViVGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgei1pbmRleDo4O1xuICAgICAgcGFkZGluZzo0cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6MTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6MTBweDtcbiAgICAgIHRvcDoxMjdweCAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xuXG4gIC5PdXJUZWFtTWFpblRleHQge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyBcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXG4gICAgICBtYXJnaW46YXV0bzsgXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyBcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IFxuXG4gICAgICB0b3A6MTI4cHggIWltcG9ydGFudDsgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDsgXG5cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHotaW5kZXg6OTtcbiAgfVxuXG4gIC5PdXJUZWFtU3ViVGV4dCB7XG4gICAgICBtYXJnaW46IDQ1cHggYXV0byAtMjBweCBhdXRvOyBcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyBcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgei1pbmRleDoxMDtcbiAgICAgIG1heC13aWR0aDo5MDBweDtcbiAgfVxuXG4gIC5PdXJUZWFtSGVhZGVycyB7XG4gICAgICB0b3A6MTI4cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5PdXJUZWFtTWFpblRleHQge1xuICAgICAgLk91clRlYW1IZWFkZXJzIHtcbiAgICAgICAgICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9XG59XG5cbi5PdXJUZWFtSGVhZGVycyB7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGNsZWFyOmJvdGg7XG4gIGZvbnQtc2l6ZTogMjZweDsgXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgXG4gIGJhY2tncm91bmQ6ICRjLWJsdWUtZGFyazsgXG4gIGNvbG9yOiAjZmZmOyBcbiAgbWFyZ2luOmF1dG87IFxuICBtYXJnaW4tdG9wOiAxMHB4OyBcbiAgcGFkZGluZzogNXB4OyAgICAgXG4gIHotaW5kZXg6MTA7XG4gIGhlaWdodDo1MHB4O1xufVxuXG4uZW1wbG95ZWUtcG9zaXRpb24ge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gIGNvbG9yOiRjLXllbGxvdzsgXG4gIG1hcmdpbi10b3A6MHB4O1xuICBwYWRkaW5nLWxlZnQ6MTBweDsgXG4gIHRyYW5zaXRpb246YWxsIDFzO1xuICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XG4gIG9wYWNpdHk6MDtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjU1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZToxNXB4O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZW1wbG95ZWUtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAzMHB4OyBcbiAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgYmFja2dyb3VuZDogICRjLWJsdWUtZGFyazsgXG4gIGNvbG9yOiAjZmZmZmZmOyBcbiAgbWFyZ2luOmF1dG87IFxuICBtYXJnaW4tdG9wOiAxMHB4OyBcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgXG4gIHBhZGRpbmc6IDVweDsgXG4gIG1heC13aWR0aDo5NTdweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAuZW1wbG95ZWUtaGVhZGVyLXBvc2l0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZToxOHB4OyAgICBcbiAgfVxufVxuXG4uZW1wbG95ZWUtdGh1bWIge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgYm9yZGVyOiAycHggc29saWQgICRjLWJsdWUtZGFyaztcbiAgZGlzcGxheTpibG9jaztcbn1cblxuLmVtcGxveWVlLXRodW1iOmhvdmVyIHtcbiAgLmVtcGxveWVlLXBvc2l0aW9uIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gICAgICBjb2xvcjokYy15ZWxsb3c7IFxuICAgICAgbWFyZ2luLXRvcDotNTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDoxMHB4OyBcbiAgICAgIHRyYW5zaXRpb246YWxsIDAuNzVzO1xuICAgICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOTUpO1xuICAgICAgb3BhY2l0eToxO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDo1NXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZW1wbG95ZWUtdGh1bWItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMjBweDsgXG4gIGZvbnQtd2VpZ2h0OiBib2xkOyBcbiAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmVtcGxveWVlLWltYWdlIHtcbiAgb3ZlcmZsb3c6aGlkZGVuOyBcbiAgY2xpcDphdXRvOyBcbiAgcG9zaXRpb246cmVsYXRpdmU7IFxuICBtYXgtaGVpZ2h0OjI2N3B4O1xufVxuXG5cbi50ZWFtR3JpZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgei1pbmRleDo4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOnN0aWNreTtcbn1cblxuXG4jY2FydF90aW1lciB7XG4gICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgYm90dG9tOjA7XG4gICAgbGVmdDoxLjUlO1xuICAgIHdpZHRoOjEzNXB4O1xuICAgIGhlaWdodDo3MHB4O1xuICAgIHotaW5kZXg6MTAwMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG5cbiAgICAgICNjYXJ0X3RpbWVyX2NvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICMwQTFDMkUgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6MjBweDtcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICAgIHBhZGRpbmc6MTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctdG9wOjFweDtcbiAgICAgICAgICBcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1kYXJrZW4oJGMtYmx1ZS1kYXJrKTsgICAgICAgICAgICBcbiAgICAgIH1cblxuICAgICAgI2NhcnRfdGltZXJfY2xvY2sge1xuICAgICAgICAgIG1hcmdpbjphdXRvO1xuICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDoxMnB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgIH1cblxuICAgICAgI3RpbWVyX21pbnV0ZXMge1xuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XG4gICAgICAgICAgd2lkdGg6MzYlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgfVxuICAgICAgI3RpbWVyX2NvbG9uIHsgICAgICAgICAgICBcbiAgICAgICAgICBmb250LXNpemU6MjVweDtcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLDAsMCwuNDUpO1xuICAgICAgICAgIHdpZHRoOjglO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIH1cbiAgICAgICN0aW1lcl9zZWNvbmRzIHtcbiAgICAgICAgICBmb250LXNpemU6MjVweDtcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLDAsMCwuNDUpO1xuICAgICAgICAgIHdpZHRoOjM2JTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgICN0aW1lcl90ZXh0e1xuICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6MTFweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgIH1cbn1cblxuLy8gRGVza3RvcCBTdHlsZSBvdmVycmlkZXNcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1kZXNrdG9wKSB7XG5cbiAgLnNlY3Rpb24taG9tZS1oZXJvIHtcbiAgICAgIGhlaWdodDoyMy41cmVtICFpbXBvcnRhbnQ7ICAgXG4gIH1cblxuICAjc2hvcF9iYW5uZXJzIHtcbiAgICAgIHdpZHRoOjk5JTtcbiAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6NDBweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OjI5MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiA1cHggOXB4IDlweCByZ2JhKDAsMCwwLC43NykhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9yb3lhbC1ueS9pbWcvcm91Z2gtZWRnZS13aGl0ZS1mdWxsLnN2ZycpICFpbXBvcnRhbnQ7XG4gICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC1tYXNrLWNsaXA6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5zbGlkZXIge1xuICAgICAgICAgIG1heC1oZWlnaHQ6Mjk5cHggIWltcG9ydGFudDtcbiAgICAgICAgICBtaW4taGVpZ2h0OjI5OXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OjI5OXB4ICFpbXBvcnRhbnQ7ICAgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIC5zbGlkZXMge1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjI5OXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6Mjk5cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgaGVpZ2h0OjI5OXB4ICFpbXBvcnRhbnQ7ICBcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7ICAgICBcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50OyAgXG4gICAgICAgICAgICAgICAgICBjdXJzb3I6cG9pbnRlciAhaW1wb3J0YW50OyAgICAgIFxuICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDozMDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDozMDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OjMwMHB4ICFpbXBvcnRhbnQ7ICBcbiAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMSU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAjY2FydF90aW1lciB7XG4gICAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICAgIGJvdHRvbTowO1xuICAgICAgbGVmdDoxLjUlO1xuICAgICAgd2lkdGg6MTM1cHg7XG4gICAgICBoZWlnaHQ6NzBweDtcbiAgICAgIHotaW5kZXg6MTAwMDAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgI2NhcnRfdGltZXJfY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgIzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgICAgcGFkZGluZzoxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZy10b3A6MXB4O1xuICAgICAgICAgIFxuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWRhcmtlbigkYy1ibHVlLWRhcmspOyAgICAgICAgICAgIFxuICAgICAgfVxuXG4gICAgICAjY2FydF90aW1lcl9jbG9jayB7XG4gICAgICAgICAgbWFyZ2luOmF1dG87XG4gICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjEycHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgICAgfVxuXG4gICAgICAjdGltZXJfbWludXRlcyB7XG4gICAgICAgICAgZm9udC1zaXplOjI1cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwwLDAsLjQ1KTtcbiAgICAgICAgICB3aWR0aDozNiU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICB9XG4gICAgICAjdGltZXJfY29sb24geyAgICAgICAgICAgIFxuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XG4gICAgICAgICAgd2lkdGg6OCU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgfVxuICAgICAgI3RpbWVyX3NlY29uZHMge1xuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XG4gICAgICAgICAgd2lkdGg6MzYlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgI3RpbWVyX3RleHR7XG4gICAgICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDoxMXB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6MHB4O1xuICAgICAgfVxuICB9ICAgIFxuXG4gICNybnlfbWluaV9jYXJ0IHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICB0b3A6NjVweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6NTUwcHggIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OjAuMSUgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6bm9uZTtcblxuICAgICAgLmNhcnQtY29udGFpbmVyLWNsb3NlLCAuY2FydC1jb250YWluZXItY2xvc2U6aG92ZXIge1xuICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgY2xlYXI6bGVmdDtcbiAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBtYXgtd2lkdGg6NzVweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXRvcDotMTFweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDo5cHg7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDoxMDAwMDAwMDtcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOjEzcHggIWltcG9ydGFudDtcblxuICAgICAgICAgIGNvbG9yOmJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBzcGFuLCBzcGFuOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6cmVkICFpbXBvcnRhbnQ7IFxuICAgICAgICAgICAgICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7IFxuICAgICAgICAgICAgICBwYWRkaW5nOjBweCAhaW1wb3J0YW50OyBcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlICFpbXBvcnRhbnQ7IFxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOi00cHggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnJvdy11cCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDotOHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDotOTVweDtcbiAgICAgIH1cblxuICAgICAgLmNhcnQtY29udGFpbmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45OSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogNnB4IDZweCA4cHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgICAgICAgICBwYWRkaW5nOjE4cHg7XG5cbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93IHtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDoyOTVweDtcbiAgICAgICAgICAgICAgb3ZlcmZsb3cteDpoaWRkZW47IFxuICAgICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OjI5NXB4OyBcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO1xuICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLyogPT09PT0gU2Nyb2xsYmFyIENTUyA9PT09PSAqL1xuICAgICAgICAgIC8qIEZpcmVmb3ggKi9cbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93IHtcbiAgICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6ICNkZmRmZGYgI2ZmZmZmZjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvKiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3c6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIHRhYmxlLmNhcnQtaGVhZGVycyB7XG4gICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG5cbiAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjFlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wMmVtIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjY2ZjZmNmO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWJsZS5jYXJ0LWl0ZW1zIHtcbiAgICAgICAgICAgICAgd2lkdGg6Y2FsYygxMDAlIC0gMTNweCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOjUxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGxlZnQ6MCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDowcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAqIHsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOi45OWVtO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmxhc3QtYWRkZWQgdGQge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE1MCwyNTUsMTUwLC4zNSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYmxlLmNhcnQtdG90YWxzIHsgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuXG4gICAgICAgICAgICAgICogeyAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6MS4xMmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG4gICAgICBcbiAgI2JhZF9zaGlwcGluZ19tZXNzYWdlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IFxuICAgICAgY29sb3I6cmVkOyBcbiAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6MTVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuY2hlY2tvdXRRdWVzdGlvbiB7XG4gICAgICBtaW4td2lkdGg6MzkwcHggIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjaGVhZGVyLW5hdiAuaGVhZGVyLW1vYmlsZSB7XG4gICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBHZW5lcmFsIGZpeGVzXG4gIC5zaGltLXNwYWNlciB7XG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5vZmZlcmluZ3MtY29udGVudCAuc2VjdGlvbl9wYWdlX2hlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDoxLjgwZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gICNzZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogY2FsYyggMTAwdmggLSAxMzVweCApICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCAxMDB2aCAtIDEzNXB4ICkgIWltcG9ydGFudDtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMTM1cHggKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNlY3Rpb25fcGFnZV9jb250ZW50ICNzZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIC5lY2Ffc2VjdGlvbiB7ICAgICAgICAgICAgXG4gICAgICAgICAgLmVjYS1pdGVtcyB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6LTUwcHggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICAjZmlsdGVyQ29udHJvbEJveCAuZWNhX3NlY3Rpb24gLmVjYS1pdGVtcyB7ICAgICAgICBcbiAgICAgIG1hcmdpbi10b3A6LTUwcHggIWltcG9ydGFudDtcbiAgfSBcblxuICAjZmlsdGVyQ29udHJvbEJveCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIC8vIFRlYSBPZmZlcmluZ3MgZml4ZXNcbiAgLm5hbWVDZWxsLnRlYSB7XG4gICAgICB3aWR0aDozMyUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5udW1iZXJDZWxsLnRlYSBzcGFuLmg3IHsgICAgICAgIFxuICAgICAgd2lkdGg6OSUgIWltcG9ydGFudDtcbiAgfSAgICBcblxuICAuaW5mby1wb3AtdXAge1xuICAgICAgbWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgPiBkaXYge1xuICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9XG5cbiAgLmluZm8tcG9wLXVwLWNvbnRhaW5lciAuaW5mby1wb3AtdXAsIC5pbmZvLXBvcC11cC1jb250YWluZXIyIC5pbmZvLXBvcC11cCB7XG4gICAgICBtYXJnaW4tbGVmdDpjYWxjKCA1MCUgLSAzNTBweCApICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjbG9nZ2VkLWluLWFzIHtcbiAgICAgIHdpZHRoOiA2MDBweDsgXG4gICAgICBjb2xvcjogZmxvcmFsd2hpdGU7IFxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1heC13aWR0aDoxMDB2dztcbiAgICAgIG1hcmdpbi1yaWdodDoxM3JlbTtcbiAgICAgIG1hcmdpbi10b3A6LTEzMHB4O1xuICAgICAgei1pbmRleDogMjAwO1xuICAgICAgZmxvYXQ6cmlnaHQ7XG4gIH1cblxuICAuc2hpcG1lbnQtaGlzdG9yeSB7XG4gICAgICBmbG9hdDpyaWdodDtcbiAgICAgIG1hcmdpbi10b3A6LTMwcHg7IFxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gICAgICBmb250LXNpemU6MS4yZW07XG4gIH1cbiAgXG4gIC5teWFjY291bnQtcmVzZXJ2ZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTpibG9jazsgXG4gICAgICBtYXJnaW46MHB4OyBcbiAgICAgIHBhZGRpbmc6MHB4O1xuICB9XG5cblxuICBcbiAgLmhvdy10by1ncmFwaGljLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDo3MzRweDtcbiAgICAgIHBhZGRpbmc6MTRweDtcbiAgfVxuXG4gIC50aWxlcy1vdXRlci1jb250YWluZXIge1xuICAgICAgZGlzcGxheTp0YWJsZS1yb3c7XG4gIH1cblxuICAuaW50cm8tdGV4dCB7XG4gICAgICBmb250LXNpemU6LjllbTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgfVxuXG4gIC5pbnRyby1sb2dvIHtcbiAgICAgIG1heC13aWR0aDo3NXB4O1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBtYXJnaW46YXV0bztcbiAgICAgIGNsZWFyOmJvdGg7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuXG4gICAgICA6OmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gIH1cblxuICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrO1xuICAgICAgZm9udC1zaXplOjEuMzVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgfVxuXG4gIC50aWxlLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6MTM5cHg7XG4gICAgICBtaW4td2lkdGg6MTM5cHg7XG4gICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICBtaW4taGVpZ2h0OjE5NnB4O1xuICB9XG5cbiAgLnNlY3Rpb24tdGlsZS1vdXRlciB7XG4gICAgICBib3JkZXI6NHB4IHNvbGlkICRjLWJsdWUtZGFyaztcbiAgICAgIG1pbi1oZWlnaHQ6MTQ2cHg7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcGFkZGluZzozcHg7XG4gICAgICB3aWR0aDoxMDAlO1xuICB9XG5cbiAgLnNlY3Rpb24tdGlsZS1pbm5lciB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XG4gICAgICBwYWRkaW5nOjZweDtcbiAgICAgIG1pbi1oZWlnaHQ6MTMycHg7XG5cbiAgICAgIGVtIHtcbiAgICAgICAgICBmb250LXNpemU6LjU1ZW07XG4gICAgICB9XG4gIH1cblxuICAuYXJyb3ctY29udGFpbmVyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOjIwcHg7XG4gICAgICBoZWlnaHQ6MjBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBjb2xvcjogJGMtYmx1ZS1kYXJrO1xuICAgICAgbWFyZ2luOjE1cHg7XG4gICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICBtaW4taGVpZ2h0OjE5NnB4O1xuICAgICAgbGluZS1oZWlnaHQ6OSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOjI4cHggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgI3Byb2R1Y3QtZGV0YWlsLXdpbmRvdyB7XG4gICAgICB3aWR0aDo5NXZ3O1xuICAgICAgaGVpZ2h0OmNhbGMoIDEwMHZoIC0gMTcwcHggKTtcbiAgICAgIHRvcDoxMjNweDtcbiAgICAgIGxlZnQ6Mi41dnc7XG5cbiAgICAgIGhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBmb250LXNpemU6MS43NWVtO1xuICAgICAgfVxuXG4gICAgICBtYWluIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOi00NXB4O1xuICAgICAgfVxuICB9XG59XG5cbi5iYWNrTGluayB7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjpub25lOyBcbiAgcGFkZGluZzo4cHg7IFxuICBjdXJzb3I6cG9pbnRlcjsgXG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIHdpZHRoOjEwMCU7IFxuICBtYXJnaW4tdG9wOi0xMHB4OyBtYXJnaW4tYm90dG9tOjVweDsgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgc3Bhbi5kYXNoaWNvbnMge1xuICAgICAgbGluZS1oZWlnaHQ6MjZweCAhaW1wb3J0YW50OyBcbiAgICAgIGNvbG9yOiNCNzkyMjAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYmFja0xpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbn1cblxuLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwLWNoZWNrb3V0IC53b29jb21tZXJjZS1lcnJvciAud2MtYmFja3dhcmQge1xuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNoZWNrb3V0Lndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgICAgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwIHtcbiAgICAgICAgei1pbmRleDogOSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDI1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1lcnJvciB7XG4gICAgbGkgIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MTJlbTtcbiAgICB9XG59XG5cbmxpLnNsaWRlIHtcbiAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW4gIWltcG9ydGFudDtcblxuICB2aWRlbyB7XG4gICAgICBtYXgtd2lkdGg6OTN2dyAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5saW5rLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIGN1cnNvcjpwb2ludGVyO1xuICBjb2xvcjojNTc4NTg3O1xufVxuXG4ubGluay1idXR0b246aG92ZXIge1xuICBjb2xvcjojMEExQzJFO1xufVxuXG5cbi5sb25nVGV4dCB7XG4gIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7IFxuICBvdmVyZmxvdzpoaWRkZW47IFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXgtd2lkdGg6OTclO1xufVxuXG4ubWluaS1jYXJ0LXN1YnRvdGFsLWxhYmVsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZmNmY2Y7XG59XG5cbi5taW5pLWNhcnQtc3VidG90YWwge1xuICB0ZXh0LWFsaWduOnJpZ2h0OyBcbiAgd2lkdGg6MTUwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2ZjZmNmO1xufVxuXG4ubWluaS1jYXJ0LWhlYWRlciB7XG4gIG1hcmdpbi1sZWZ0Oi01cHg7XG59XG5cbi5taW5pLWNhcnQtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6OXB4O1xuICBtYXJnaW4tbGVmdDotNXB4O1xufVxuXG4ubWluaS1jYXJ0LXRpdGxlLWxlZnQge1xuICB3aWR0aDo0MHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZToyNXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIG1hcmdpbi10b3A6LTlweDtcbiAgbWFyZ2luLWJvdHRvbTo4cHg7XG4gIGZsb2F0OmxlZnQ7XG4gIGNvbG9yOiNCNzkyMjAgIWltcG9ydGFudDtcbiAgZGlzcGxheTpibG9jaztcbn1cblxuLm1pbmktY2FydC10aXRsZS1yaWdodCB7XG4gIHdpZHRoOjgwJTtcbiAgbWF4LXdpZHRoOjgwJTtcbiAgZmxvYXQ6bGVmdDtcbiAgdGV4dC1hbGlnbjpsZWZ0O1xuICBmb250LXNpemU6MjNweDtcbiAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICBtYXJnaW4tdG9wOi0xMnB4O1xuICBtYXJnaW4tYm90dG9tOjhweDtcbiAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OmJsb2NrO1xufVxuXG4qOmhvdmVyIC5taW5pLWNhcnQtdGl0bGUtcmlnaHQge1xuICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XG59XG5cbi5jb250YWluZXItaG9tZS1mZWF0dXJlZCB7XG4gIC5yb3cge1xuICAgICAgLnRlYXNlciB7XG4gICAgICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjNyZW0gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxufVxuXG4udG9wMCB7XG4gIHRvcDp1bnNldCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMS41NXM7XG59XG5cbi5zdGlja3ktaGVhZGVyIHsgICBcbiAgdHJhbnNpdGlvbjogYWxsIDEuNTVzO1xufVxuXG4uT3VyVGVhbUhlYWRlclNwYWNlciB7XG4gIGhlaWdodDogMjZweDtcbiAgbWFyZ2luLWJvdHRvbTotNDFweDtcbiAgdG9wOjEyN3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7XG59XG5cbi50aHVtYm5haWwtc2xpZGUgdmlkZW8ge1xuICBjdXJzb3I6cG9pbnRlcjtcbn1cblxuLnBsYXktb3ZlcmxheSB7XG4gIG9wYWNpdHk6LjY1OyBcbiAgbWFyZ2luLXRvcDozM3B4O1xuICBtYXJnaW4tbGVmdDotODhweDtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGN1cnNvcjpwb2ludGVyO1xuICBjb2xvcjojZmZmZmZmO1xuICB6LWluZGV4OjEwMDA7XG4gIGZvbnQtc2l6ZTo0NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wbGF5LW92ZXJsYXk6aG92ZXIge1xuICBvcGFjaXR5Oi45NTsgXG59XG5cbi5pbnRlcmVzdFNlbGVjdGlvbiB7XG4gIGJvcmRlcjoxcHggc29saWQgI2VmZWZlZjtcblxuICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlcjoxcHggc29saWQgI2NmY2ZjZjtcbiAgICAgIGJveC1zaGFkb3c6M3B4IDNweCA1cHggcmdiYSgxMCwxMCwxMCwuMjIpO1xuICB9XG59XG5cbi5wcC1tdWx0aXBsZS1hdXRob3JzLWxheW91dC1ib3hlZCB7XG4gIG1hcmdpbjowcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzowcHggIWltcG9ydGFudDtcblxuICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIHVsIHtcbiAgICAgIGJvcmRlci1zdHlsZTpub25lICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOjBweCAhaW1wb3J0YW50O1xuXG4gICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luOjVweCAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OjVweCAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDo1cHggIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6bm9uZSAhaW1wb3J0YW50OyAgICAgICAgICAgIFxuICAgICAgfVxuXG4gICAgICBsaSBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5tdWx0aXBsZS1hdXRob3JzLW5hbWUge1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxuXG4gIC5tdWx0aXBsZS1hdXRob3JzLWxpbmtzIHtcbiAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdyAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9XG59XG5cbmhlYWRlciB7XG4gIHotaW5kZXg6MTAwICFpbXBvcnRhbnQ7XG59XG5cblxuLmFjdGl2ZS1yZXN1bHQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBNT0JJTEUgT1ZFUlJJREVTXG5cblxuI2Rhc2hCdXR0b25zLmQtZmxleCB7XG4gIG1hcmdpbi10b3A6dW5zZXQgIWltcG9ydGFudDtcbn1cblxuXG4ucGF5bWVudF9tZXRob2RzIHVsIGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDEwMCwxMDAsMTAwLC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsMjAwLDIwMCwuMjUpO1xufVxuXG4jcGF5bWVudCAucGF5bWVudF9ib3gge1xuICBiYWNrZ3JvdW5kOnVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi8vIC5wYXltZW50X21ldGhvZHMgbGFiZWw6YmVmb3JlIHtcbi8vICAgcG9zaXRpb246dW5zZXQgIWltcG9ydGFudDtcbi8vIH1cblxuaDMucHJvZHVjdF9jYXRfaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDoxNXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZToxLjE1cmVtO1xufVxuXG5oNC5wcm9kdWN0X2NhdF9oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6MTVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206LTVweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIH1cblxuLndjX3BheW1lbnRfbWV0aG9kIHtcbiAgbGk6YmVmb3JlIHtcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cblxuLmhlcm8taW1nLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6bm9uZTtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHotaW5kZXg6LTEwMDtcbiAgd2lkdGg6MTAwJTtcbiAgbWF4LWhlaWdodDoxMzVweDtcbiAgY2xpcDogYXV0bztcbiAgb3BhY2l0eTouMjU7XG59XG5cblxuLmhlcm9fc2VjdGlvbiB7XG4gIHBhZGRpbmc6MjBweCAyMHB4IDIwcHggMjBweDtcblxuICBtYXJnaW4tYm90dG9tOjE4cHg7XG4gIC5jb250YWluZXIge1xuICBcbiAgICAucm93IHtcbiAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgICAgIC5oZXJvLWNhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6MTZweCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmhlcm8taGVhZGxpbmUge1xuICAgICAgICBjb2xvcjojQjU5MDM4O1xuICAgICAgICBmb250LXNpemU6NDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6NTcuNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jdGEtaWNvbi5pY29uLWxpbmstaW50ZXJuYWwge1xuICBoZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDIycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICBmbG9hdDpyaWdodDtcbn1cblxuXG5cbi5iYWNrX2xpbmssIC5wcmV2aW91c19saW5rIHtcbiAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICBtYXJnaW4tdG9wOi01cHg7XG5cbiAgLmN0YS1pY29uLmljb24tbGluay1pbnRlcm5hbCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNtbi1oZXJvLWJhbm5lciB7XG4gIGZvbnQtc2l6ZToxNnB4O1xuICBtaW4taGVpZ2h0OjE3MHB4O1xuICBwYWRkaW5nLXRvcDoxZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDoxO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gZ2VuZXJhbCBzZWN0aW9uIHN0eWxlcyAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcblxuICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gICYuc2VjdGlvbi1jdXN0b20tcG9zdCB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5zZWN0aW9uLWhlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTEVGVCBTSURFQkFSIFNFQVJDSCBBTkQgRklMVEVSSU5HIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XG4gIFxuICAjc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICB0b3A6NjBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxhc3QtcHVyY2gtbGFiZWwge1xuICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNlY3Rpb25fcGFnZV9jb250ZW50IHtcblxuICAjc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogOTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbi1zZWFyY2gge1xuICAgICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgICAgYm90dG9tOiAxM3B4O1xuICAgICAgfVxuXG4gICAgICAjb2ZmZXJpbmdzLXNlYXJjaCwgI2NvdXJzZXMtc2VhcmNoIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzLjFyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDo1cHg7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWNvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZvcm0tY2hlY2sge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmVjYV9zZWN0aW9uIHtcblxuICAgICAgICAgIC50b2dnbGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogLjVyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuNnJlbTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5LWRhcms7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAuOXJlbSAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAvLyB0cmFuc2l0aW9uOiAwLjVzO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmVjYS1pdGVtcyB7XG4gICAgICAgICAgICAgIC50b2dnbGUge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG5cbiAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6IDM4JTtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pY29uLXBsdXMuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gLmVjYS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2VhcmNoLWJ1dHRvbnMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAuYnRuLWNsZWFyLWZpbHRlcnMsXG4gICAgICAgICAgLmJ0bi1maWx0ZXItb2ZmZXJpbmdzIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW0gYXV0bztcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDEuOHJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ0bi1jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogLjZyZW0gMXJlbTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGNvbnRlbnQgY29sdW1uIGxheW91dHMtIGdlbmVyYWwgc3R5bGVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5jb250ZW50X3NlY3Rpb24ge1xuXG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG5cbiAgLmZlYXR1cmVkLWhlYWRsaW5lLFxuICAuc2VjdGlvbi1oZWFkbGluZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgfVxuICB9XG5cbiAgLmZ1bGwtd2lkdGgge1xuICB9XG5cbiAgLnR3by1jb2x1bW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gIH1cblxuICAudGhyZWUtY29sdW1uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICB9XG5cbiAgLmZvdXItY29sdW1uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICB9XG5cbiAgLmZvdXItY29sdW1uLFxuICAudGhyZWUtY29sdW1uLFxuICAudHdvLWNvbHVtbixcbiAgLmZ1bGwtd2lkdGgge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyAuc2VjdGlvbi1wcm9maWxlLFxuLy8gLmNvbnRlbnRfc2VjdGlvbi5iZy1saWdodC1ibHVlLFxuLy8gLmdhbGxlcnlfc2VjdGlvbi5iZy1saWdodC1ibHVlLFxuLy8gLmZlYXR1cmVkX3NlY3Rpb24uYmctbGlnaHQtYmx1ZSxcblxuLy8gcm91Z2ggZWRnZSBzdHlsZSBydWxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uZmVhdHVyZWRfc2VjdGlvbi5iZy1saWdodC1ibHVlLFxuLmNvbnRlbnRfc2VjdGlvbi5iZy1saWdodC1ibHVlLFxuLmVjYV9zZWN0aW9uLmJnLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xuICAvL0BpbmNsdWRlIHJvdWdoLWVkZ2UoJGMtYmx1ZS1saWdodCwgYm90aCk7XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcblxuICAmLnNlY3Rpb24tY3VzdG9tLXBvc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG4uY29udGVudF9zZWN0aW9uLmJnLXdoaXRlIHtcbiAgJi5zZWN0aW9uLWN1c3RvbS1wb3N0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuXG5cblxuLnNpdGUtbWFpbiB7XG4gIC5zZWN0aW9uLmJhY2tfbGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIFxuICAgICAgLnJvdyB7XG4gICAgICAgICAgLmJhY2tfbGluayB7XG4gICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG5cbiAgICAgICAgICAgICAgLmNvbnRlbnQtY29weSB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0tbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH0gICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtYXgtd2lkdGg6MTAwdncgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICB9ICBcbiAgLnByZXZpb3VzX2xpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTowICFpbXBvcnRhbnQ7XG4gICAgICAudHdvLWNvbHVtbiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206MCAhaW1wb3J0YW50O1xuICAgICAgfVxuICB9ICBcbn1cblxuLy8gaWYgZmlyc3Qgc2VjdGlvbiBkaXJlY3RseSBhYm92ZSB0aGUgZm90dGVyXG4uc2VjdGlvbi1uZXh0LXBvc3QgKyAuZmVhdHVyZWRfc2VjdGlvbi5iZy1saWdodC1ibHVlIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcbiAgLy8gQGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0KTtcbiAgLy8gbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gaWYgbGFzdCBzZWN0aW9uIGRpcmVjdGx5IGFib3ZlIGZvb3RlclxuXG5cblxuXG4uY29udGVudF9zZWN0aW9uLmJnLWxpZ2h0LWJsdWU6bm90KDpmaXJzdC1vZi10eXBlKSxcbi5jb250ZW50X3NlY3Rpb24uYmctbGlnaHQtYmx1ZTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xuICAvLyBAaW5jbHVkZSByb3VnaC1lZGdlKCRjLWJsdWUtbGlnaHQsIGJvdGgpO1xuICAvLyBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG59XG5cbi8vIC5jb250ZW50X3NlY3Rpb24uYmctbGlnaHQtYmx1ZTpsYXN0LW9mLXR5cGUge1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xuLy8gXHRAaW5jbHVkZSByb3VnaC1lZGdlKCRjLWJsdWUtbGlnaHQsIHRvcCk7XG4vLyBcdG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbi8vIH1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdSSUQgVklFVyAvIExJU1QgVklFVyB0b2dnbGUgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5jaGFuZ2UtdmlldyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogN3JlbTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2ljb24tZ3JpZC12aWV3LWJsdWUuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLmNoYW5nZS12aWV3LmV2ZW50LWNoYW5nZS12aWV3IHtcbiAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWxpc3Qtdmlldy1ibHVlLnN2ZycpO1xuICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICBoZWlnaHQ6IDE3cHg7XG4gIH1cbn1cblxuLndjX3BheW1lbnRfbWV0aG9kcy5wYXltZW50X21ldGhvZHMgbGkge1xuICBjbGVhcjogYm90aDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZS1kYXJrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xuICBwYWRkaW5nOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcblxuICAmLnNlbGVjdGVkIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjLWJsdWU7XG4gIH1cbn1cblxuZGl2LnBheW1lbnRfYm94IHtcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbn1cblxuZGl2LnBheW1lbnRfbWV0aG9kX3BheXBhbF9wcm9fcGF5ZmxvdyBsYWJlbCB7XG4gIGxlZnQ6IC0zMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50cmliZS1ldmVudHMtdG9vbHRpcCAudHJpYmUtZXZlbnRzLWV2ZW50LWJvZHkge1xuICBwYWRkaW5nOiAzcHggNnB4IDZweDtcbn1cblxuLnRyaWJlLWNvdW50cnktbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtZGVza3RvcCkge1xuICBkaXYucGF5bWVudF9tZXRob2RfcGF5cGFsX3Byb19wYXlmbG93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuICB9XG5cbiAgZGl2LnBheW1lbnRfbWV0aG9kX3BheXBhbCB7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xuICBkaXYucGF5bWVudF9tZXRob2RfcGF5cGFsX3Byb19wYXlmbG93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuICB9XG59XG5cblxuLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLndjLWJsb2NrLWdyaWRfX3Byb2R1Y3QtYWRkLXRvLWNhcnQge1xuICBtYXJnaW46IDA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcblxuICBhIHtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmLmxvYWRpbmcge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi42MThlbTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBXb29Db21tZXJjZTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTAxY1wiO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMC42MThlbTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5hZGRlZDo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBXb29Db21tZXJjZTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMDE3XCI7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNTNlbTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgfVxuXG4gIC5hZGRlZF90b19jYXJ0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWRkLW9yZGVyIHtcbiAgei1pbmRleDozMDA7XG59XG5cbi5hZGQtb3JkZXItaGVhZGVyIHtcbiAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAvLyBtYXgtd2lkdGg6IDg1JTtcbiAgdG9wOiA0cHg7XG4gIHBhZGRpbmctbGVmdDo2cHg7XG4gIGNvbG9yOiNmZmZmZmY7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtLW1heCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuXG4gICAgICAuaDQge1xuICAgICAgICAgIG1heC1oZWlnaHQ6NTBweDtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xuICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICBtYXgtd2lkdGg6OTUlO1xuICAgICAgfVxuICB9XG59XG5cbi5hZGQtb3JkZXItd2hzZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICByaWdodDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDo1cHg7XG5cbiAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgcGFkZGluZy1yaWdodDo1cHg7XG4gIH1cbn1cblxuLmFkZC1vcmRlci1jb250ZW50IHtcbiAgLy8gbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAvLyBtYXJnaW4tYm90dG9tOiAtMjBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICB9XG4gIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICB9XG59XG5cblxuLm9yZGVyLWluZm8ge1xuICBAaW5jbHVkZSBicChtZWRpdW0tbWF4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcbiAgLm9yZGVyLWluZm8ge1xuICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbiAgfVxuXG4gIC5vcmRlci1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDotMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcbiAgfVxuXG4gIC5hZGQtb3JkZXItaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcblxuICAgICAgLmg0IHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OjUwcHg7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcbiAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgbWF4LXdpZHRoOjk1JTtcbiAgICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdHMtcGFuZWwge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbn1cblxuLmFkZC1vcmRlci1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjY1KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTAgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9mZmVyaW5nIC5jaGVja291dCB7XG4gIHotaW5kZXg6MjAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xuICAub2ZmZXJpbmcgLmNoZWNrb3V0IHtcbiAgICAgIHotaW5kZXg6IDEzNiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIge1xuICAgICAgd2lkdGg6OTglO1xuICAgICAgbWF4LXdpZHRoOjk4JTtcbiAgfVxufVxuXG4ub2ZmZXJpbmctZmlsdGVyIHtcbiAgZm9udC1zaXplOi45MGVtICFpbXBvcnRhbnQ7XG59XG5cbi53Yy1jcmVkaXQtY2FyZC1mb3JtLWNhcmQtbnVtYmVyIHtcbiAgd2lkdGg6NDc1cHg7XG4gIG1heC13aWR0aDo0NzVweDtcbn1cblxuLnN0aWNreS1idXR0b24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOnN0aWNreSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjotd2Via2l0LXN0aWNreSAhaW1wb3J0YW50O1xuICB0b3A6MHB4ICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6OTkgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbToxNHB4O1xufVxuXG4uc3RpY2t5LWJ1dHRvbi1jb250YWluZXItYWRtaW4ge1xuICBiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDtcbiAgcG9zaXRpb246c3RpY2t5ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6OTkgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbToxNHB4O1xufVxuXG4ud29vY29tbWVyY2UtZXJyb3IgLndjLWZvcndhcmQge1xuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbn1cblxuI3NlcnZlci1pZCB7XG4gIHRleHQtYWxpZ246Y2VudGVyOyBcbiAgb3BhY2l0eTouOTU7IFxuICB6LWluZGV4Ojk5OTk5OTk7IFxuICBwYWRkaW5nOjNweDsgXG4gIGZvbnQtc2l6ZTowLjdlbTsgXG4gIGJvcmRlci1yYWRpdXM6MnB4OyBcbiAgcG9zaXRpb246Zml4ZWQ7IFxuICBsZWZ0OjE3JTsgXG4gIHRvcDoycHg7IFxuICBib3JkZXI6MnB4IHNvbGlkIGRhcmtnb2xkZW5yb2Q7IFxuICBiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0eWVsbG93OyBcbiAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gIGJveC1zaGFkb3c6M3B4IDNweCA0cHggcmdiYSgxMDAsMTAwLDEwMCwuMzUpO1xufVxuXG5cbi8qIEJyZXdpbmcgTG9hZGVyICovXG4uZ2YtY2FwdGNoYSBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogc3Bpbm5pbmcgb24gY2hlY2tvdXQgKi9cbi5jaGVja291dC53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtTm90aWNlR3JvdXAge1xuei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xufVxuLmNoZWNrb3V0Lndvb2NvbW1lcmNlLWNoZWNrb3V0LnByb2Nlc3NpbmcgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwIHtcbi8qXG5iYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly9yb3lhbG55LWNkbi5zMy5hbWF6b25hd3MuY29tL2Fzc2V0cy9pbWFnZXMvMTQzLnBuZycpICFpbXBvcnRhbnQ7Ki9cbndpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbnBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xudG9wOiAwICFpbXBvcnRhbnQ7XG5sZWZ0OiAwICFpbXBvcnRhbnQ7XG5iYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQgIWltcG9ydGFudDtcbmJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyICFpbXBvcnRhbnQ7XG59XG4uY2hlY2tvdXQud29vY29tbWVyY2UtY2hlY2tvdXQucHJvY2Vzc2luZyAud29vY29tbWVyY2UtTm90aWNlR3JvdXAgdWwge1xuZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogc3Bpbm5pbmcgb24gY2hlY2tvdXQgKi9cblxuLmJsb2NrVUkuYmxvY2tPdmVybGF5IHtcbi8qXG5iYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly9yb3lhbG55LWNkbi5zMy5hbWF6b25hd3MuY29tL2Fzc2V0cy9pbWFnZXMvMTQzLnBuZycpICFpbXBvcnRhbnQ7Ki9cbiAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG5oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG5kaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xucG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG50b3A6IDAgIWltcG9ydGFudDtcbmxlZnQ6IDAgIWltcG9ydGFudDtcbmJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCAhaW1wb3J0YW50O1xuYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuXG4ud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5IHtcbiAgb3BhY2l0eToxICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjc1KSAhaW1wb3J0YW50O1xufVxuXG4vLyAud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5OmJlZm9yZSxcbi8vIC53b29jb21tZXJjZSAubG9hZGVyOmJlZm9yZSB7XG4vLyAgIGhlaWdodDogMjIwcHggIWltcG9ydGFudDtcbi8vICAgd2lkdGg6IDI0MHB4ICFpbXBvcnRhbnQ7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgdG9wOmNhbGMoNTAlIC0gMTEwcHgpOyAgICAgICAgXG4vLyAgIGxlZnQ6Y2FsYyg1MCUgLSAxMjBweCk7XG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICBjb250ZW50OiBcIkJyZXdpbmcsIFBsZWFzZSBXYWl0Li4uXCI7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuLy8gICAtbW96LWFuaW1hdGlvbjogbm9uZTtcbi8vICAgYW5pbWF0aW9uOiBub25lO1xuLy8gICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3JveWFsLW55L2ltZy9ybnlfNDA0cGdfY29mZmVlLmdpZicpICFpbXBvcnRhbnQ7XG4vLyAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4vLyAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xuLy8gICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4vLyAgIGxpbmUtaGVpZ2h0OiAxO1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuLy8gICBmb250LXdlaWdodDpib2xkO1xuLy8gICBvcGFjaXR5OjEgIWltcG9ydGFudDtcbi8vICAgY29sb3I6IzM0NGU2Yjtcbi8vICAgdGV4dC1zaGFkb3c6cmdiYSgwLDAsMCwuMjUpO1xuLy8gfVxuXG5cbi5zaG9ydF9jb2Rle1xucGFkZGluZy10b3A6MHB4O1xucGFkZGluZy1ib3R0b206MHB4O1xufVxuXG4uZXdkLXVmYXEtZmFxcyB7XG5tYXgtd2lkdGg6MTAwMHB4O1xubWFyZ2luOmF1dG87XG59XG4udWZhcS1mYXEtY2F0ZWdvcnktaW5uZXJ7XG5tYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udWZhcS1mYXEtY2F0ZWdvcnktdGl0bGUgaDQge1xuY29sb3I6ICNmZmY7XG5wYWRkaW5nOjAuNXJlbTtcbmZvbnQtc2l6ZToxLjRyZW07XG5iYWNrZ3JvdW5kLWNvbG9yOiAjOTA5NjlmO1xufVxuXG4udWZhcS1mYXEtdG9nZ2xlIHtcbmZvbnQtc2l6ZTogMS4ycmVtO1xuYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVhZWI7XG5jb2xvcjogI2ZmZjtcbnBhZGRpbmc6LjVyZW07XG5iYWNrZ3JvdW5kLWNvbG9yOiAjZThlYWViO1xufVxuLnVmYXEtZmFxLWJvZHkge1xuYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmNvZmZlZS1vcmlnaW5zIHRkIHtcbmJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRENEQ0RDO1xucGFkZGluZzo0cHg7XG59XG4uY29mZmVlLW9yaWdpbnMgdGQ6Zmlyc3QtY2hpbGQge1xud2lkdGg6MzAlO1xudGV4dC1hbGlnbjpyaWdodDtcbmJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEQ0RDREM7XG5iYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xufVxuLmNvZmZlZS1vcmlnaW5zIHRkOmZpcnN0LWNoaWxkOjphZnRlciB7XG5jb250ZW50IDogJzonO1xufVxuXG4uY29mZmVlLW9yaWdpbnMgdHI6bGFzdC1jaGlsZCB0ZCB7XG5ib3JkZXItYm90dG9tOiAwcHggc29saWQgI0RDRENEQztcbn1cblxuLmNvZmZlZS1vcmlnaW5zIHRmb290IHRkIHtcbmZvbnQtd2VpZ2h0OmJvbGQ7XG5wYWRkaW5nLXRvcDoyMHB4O1xuYmFja2dyb3VuZC1jb2xvcjppbmhlcml0ICFpbXBvcnRhbnQ7XG5ib3JkZXItcmlnaHQtd2lkdGg6IDBweCAhaW1wb3J0YW50O1xufVxuLmNvZmZlZS1vcmlnaW5zIHRmb290IHRkOjphZnRlciB7XG5jb250ZW50OiAnJyAhaW1wb3J0YW50O1xufVxuXG4uY29mZmVlLXJvYXN0LXByb2ZpbGUtY29udGFpbmVyIHtcbnRleHQtYWxpZ246Y2VudGVyO1xufVxuXG4uY29mZmVlLXJvYXN0LXByb2ZpbGUge1xuYm9yZGVyOiAxcHggc29saWQgIzBhMWMyYztcbmJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcbn1cblxuLmNvZmZlZS1yb2FzdC1wcm9maWxlIHRkIHtcbmJvcmRlcjogMXB4IHNvbGlkICMwYTFjMmM7XG5ib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XG5wYWRkaW5nOjhweDtcbn1cblxuLmNvZmZlZS1yb2FzdC1wcm9maWxlIHRkOmZpcnN0LWNoaWxkIHtcbmNvbG9yOiNmZmZmZmY7XG5iYWNrZ3JvdW5kLWNvbG9yOiAjMGExYzJjO1xuZm9udC1zaXplOjEuMnJlbTtcbndpZHRoOjIwJTtcbn1cbi5jb2ZmZWUtcm9hc3QtcHJvZmlsZSB0Zm9vdCB0ZCB7XG5wYWRkaW5nLXRvcDoyMHB4O1xuY29sb3I6aW5oZXJpdCAhaW1wb3J0YW50O1xuYmFja2dyb3VuZC1jb2xvcjppbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb2ZmZWUtcm9hc3QtZGlzY2xhaW1lciB7XG5tYXJnaW4tdG9wOjFyZW07XG5wYWRkaW5nOjhweDtcbmJvcmRlcjogMXB4IHNvbGlkICMwYTFjMmM7XG50ZXh0LWFsaWduOmNlbnRlcjtcbmZvbnQtc2l6ZTogLjhyZW07XG59XG5cbiNoZWFkZXItbmF2IC5oZWFkZXItZWNhLXNlY3Rpb24gLnRvcC1sZXZlbCBhIHtcbiAgd2hpdGUtc3BhY2U6bm93cmFwO1xufVxuXG4jdmVyaWZ5aW5nLWludmVudG9yeSwgI3Byb2Nlc3NpbmctcGF5bWVudCwgI3NlbmQtdG8td2FyZWhvdXNlIHtcbiAgd2lkdGg6MTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6Y2FsYyg1MCUgKyA2OXB4KTsgICAgICAgIFxuICBsZWZ0OjA7XG4gIGZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDs7XG4gIHotaW5kZXg6OTk5OTk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6JGMtYmx1ZTtcbn1cblxuLmVtcHR5X2NhcnQge1xuICBmbG9hdDogcmlnaHQ7IFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcbiAgI3ZlcmlmeWluZy1pbnZlbnRvcnksICNwcm9jZXNzaW5nLXBheW1lbnQsICNzZW5kLXRvLXdhcmVob3VzZSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOmNhbGMoNTAlICsgNjlweCk7ICAgICAgICBcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7O1xuICAgICAgei1pbmRleDo5OTk5OTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5lbXB0eV9jYXJ0IHtcbiAgICAgIGZsb2F0OiBub25lIGkgIWltcG9ydGFudDsgXG4gICAgICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDsgXG4gICAgICBtYXJnaW4tYm90dG9tOjJweCAhaW1wb3J0YW50OyBcbiAgICAgIG1hcmdpbi1yaWdodDogMHB4ICAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweCAgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOjEwMCU7XG4gIH1cbn1cblxuI3ZlcmlmeWluZy1pbnZlbnRvcnkuaGlkZGVuLW1zZywgI3Byb2Nlc3NpbmctcGF5bWVudC5oaWRkZW4tbXNnLCAjc2VuZC10by13YXJlaG91c2UuaGlkZGVuLW1zZyB7XG4gIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gIG9wYWNpdHk6MCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDozNXB4ICFpbXBvcnRhbnQ7XG59XG5cbiN2ZXJpZnlpbmctaW52ZW50b3J5LnNob3ctbXNnLCAjcHJvY2Vzc2luZy1wYXltZW50LnNob3ctbXNnLCAjc2VuZC10by13YXJlaG91c2Uuc2hvdy1tc2cge1xuICB0cmFuc2l0aW9uOiBhbGwgLjlzO1xuICBvcGFjaXR5OjE7XG4gIHBhZGRpbmctdG9wOjNweDtcbn1cblxuI3BhbGxldF9tZXNzYWdlIHtcbiAgcGFkZGluZzoyNXB4OyBcbiAgbWFyZ2luOjFweDsgXG4gIG1hcmdpbi10b3A6MTJweDsgXG4gIGJvcmRlcjogMXB4IHNvbGlkIGdvbGRlbnJvZDsgXG4gIGJhY2tncm91bmQtY29sb3I6bGlnaHR5ZWxsb3c7IFxuICBmb250LXdlaWdodDpib2xkOyBcbiAgY29sb3I6bWFyb29uOyBcbiAgZm9udC1zaXplOjEuMzVlbTsgXG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgaW1nIHtcbiAgICAgIGhlaWdodDo2NXB4ICFpbXBvcnRhbnQ7XG4gICAgICBmbG9hdDpsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLWVycm9yOjpiZWZvcmUsIC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUsIC53b29jb21tZXJjZS1tZXNzYWdlOjpiZWZvcmUge1xuICBjb250ZW50Om5vbmUgIWltcG9ydGFudDtcbn1cblxuLndvb2NvbW1lcmNlLW1lc3NhZ2UgYS53Yy1mb3J3YXJkLFxuLndvb2NvbW1lcmNlLWVycm9yIGEud2MtZm9yd2FyZCxcbi53b29jb21tZXJjZS1pbmZvIGEud2MtZm9yd2FyZCB7XG4gIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud21jLWNhcnQtd3JhcHBlciB7XG4gIHdpZHRoOjQwMHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ud21jLWNhcnQge1xuICB3aWR0aDo0MDBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLndtYy1jb250ZW50IHtcbiAgd2lkdGg6NDAwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG5cbiAgaDMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpzaWx2ZXIgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206M3B4IHNvbGlkIGdyYXkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOmRhcmtzbGF0ZWdyYXkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZToxN3B4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOjE4cHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDozNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLndtYy1wcm9kdWN0cyB7XG4gIHdpZHRoOjQwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53bWMtZGV0YWlscyB7XG4gIHdpZHRoOjQwMHB4ICFpbXBvcnRhbnQ7XG4gIFxuICBwIHtcbiAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICBtYXgtd2lkdGg6MTAlO1xuICB9XG59XG5cbi53bWMtcHJvZHVjdC10aXRsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG1heC13aWR0aDo5MCUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOjEzcHg7XG59XG5cbi53bWMtcHJpY2Uge1xuICB3aWR0aDoxMCUgaW0gIWltcG9ydGFudDtcbiAgZmxvYXQ6cmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXdlaWdodDpib2xkO1xuICBmb250LXNpemU6MTRweDtcbn1cblxuLndtYy1zdWJ0b3RhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6JGMtYmx1ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcblxuICBoNSB7XG4gICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLndtYy1ib3R0b20tYnV0dG9ucyB7XG5cbiAgOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6I2ZmZmZmZjtcblxuICAgICAgXG4gIH1cbiAgOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtYmx1ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICA6bGFzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjLWdyZWVuICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjojZmZmZmZmOyAgICAgICAgXG4gIH0gICAgXG4gIDpsYXN0LWNoaWxkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtZ3JlZW4tZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuLndtYy1yZW1vdmUge1xuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbn1cblxuLndtYy1pbWFnZSB7XG4gIGRpc3BsYXk6bm9uZTtcbn1cblxuLndtYy1jb3VudCB7XG4gIGZvbnQtc2l6ZToxNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbn1cblxuZmlnY2FwdGlvbiA6bnRoLWNoaWxkKDMpLCAuY3RhLWNhcHRpb24tdGV4dCB7XG4gIG1pbi1oZWlnaHQ6OTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbmZpZ2NhcHRpb24gcCB7XG4gIGxpbmUtaGVpZ2h0OjEgIWltcG9ydGFudDtcbn1cblxuXG4jdGltZXIge1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgbGVmdDoyJTtcbiAgYm90dG9tOjFweDtcbiAgaGVpZ2h0Ojg1cHg7XG4gIHdpZHRoOjE0NXB4O1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrOyAgICBcbiAgY29sb3I6I2ZmZmZmZjtcbiAgcGFkZGluZzoxMnB4O1xuICBtYXJnaW4tYm90dG9tOjJweDtcbiAgZGlzcGxheTpub25lO1xufVxuXG4jdGltZXJfdGV4dCB7XG4gIGNvbG9yOiNmZmZmZmY7XG4gIGZvbnQtc2l6ZToxMXB4O1xufVxuXG4jdGltZXJfbWludXRlcywgI3RpbWVyX3NlY29uZHMge1xuICBmb250LXNpemU6MjVweDtcbiAgd2lkdGg6MTAwJTtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIGRpc3BsYXk6YmxvY2s7XG59XG5cbi5vcGVuX25ld190YWIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm9wZW5fbmV3X3RhYjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjokYy1ncmVlbjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xuICAub3Blbl9uZXdfdGFiIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxufVxuXG5maWdjYXB0aW9uIDpudGgtY2hpbGQoMykge1xuICBtYXgtaGVpZ2h0OnVuc2V0O1xuICBtaW4taGVpZ2h0OnVuc2V0O1xuICBoZWlnaHQ6dW5zZXQ7IFxufVxuXG4uY29udGVudF9zZWN0aW9uIHtcbiAgLnJvdyB7XG4gICAgZGlzcGxheTpmbGV4O1xuICB9XG5cbiAgLmNvbC1sZy02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDAgMCA1MCUgIWltcG9ydGFudDtcbiAgICBmbGV4OiAwIDAgNTAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OjIlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOjQ4JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xuICAgIC5jb2wtbGctNiB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwICFpbXBvcnRhbnQ7XG4gICAgICAtbXMtZmxleDogMCAwIDUwJSAhaW1wb3J0YW50O1xuICAgICAgZmxleDogMCAwIDUwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uY3RhLWNhcmQge1xuICAuc2luZ2xlLWltZy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206LTE2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDo0MDBweDtcbiAgfVxuXG4gIC5zaW5nbGUtaW1nLWhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6MzBweDtcbiAgICB0ZXh0LXNoYWRvdzogM3B4IDNweCA2cHggcmdiYSgwLDAsMCwuMzMpO1xuICAgIG1hcmdpbi10b3A6MjBweDtcbiAgICBjb2xvcjojQjU5MDM4O1xuICB9XG5cbiAgLnNpbmdsZS1pbWctdGV4dCB7XG4gICAgY29sb3I6d2hpdGUgIWltcG9ydGFudDsgXG4gICAgcGFkZGluZy1sZWZ0OjEycHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMTAsMjgsNDQsLjUzKTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB6b29tOjE7XG4gICAgd2lkdGg6MTAwJTtcbiAgfVxufVxuXG5hIHtcbiAgLmxlYXJuX21vcmUge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGNvbG9yOiNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICBvcGFjaXR5OjA7XG4gICAgdHJhbnNpdGlvbjogLjM1cztcbiAgICBmb250LXNpemU6MTlweDtcbiAgICBtYXJnaW46YXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDoxOTBweDtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxcHggcmdiYSgwLDAsMCwuMzMpO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgbWluLXdpZHRoOjEwMCU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAubGVhcm5fbW9yZSB7XG4gICAgICBvcGFjaXR5OjE7XG4gICAgICBjb2xvcjojQjU5MDM4O1xuICAgICAgdHJhbnNpdGlvbjogLjc1cztcbiAgICAgIG1hcmdpbi10b3A6MjAwcHg7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgdGV4dC1zaGFkb3c6IDNweCAzcHggNnB4IHJnYmEoMCwwLDAsLjMzKTtcbiAgICB9XG4gIH1cbn1cblxuLmNob3Nlbi1yZXN1bHRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDtcblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY3RpdmUtcmVzdWx0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNoaW0tMSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwYWRkaW5nOjBweDtcbiAgICBtYXJnaW46MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgY2xlYXI6Ym90aDtcbiAgICBoZWlnaHQ6MXB4O1xuICAgIGxpbmUtaGVpZ2h0OjFweDtcbiAgICBtYXgtaGVpZ2h0OjFweDtcbn1cblxuLnNoaW0tNSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwYWRkaW5nOjBweDtcbiAgICBtYXJnaW46MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgY2xlYXI6Ym90aDtcbiAgICBoZWlnaHQ6NXB4O1xuICAgIGxpbmUtaGVpZ2h0OjVweDtcbiAgICBtYXgtaGVpZ2h0OjVweDtcbn1cblxuLnNoaW0tMTAge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgcGFkZGluZzowcHg7XG4gICAgbWFyZ2luOjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGNsZWFyOmJvdGg7XG4gICAgaGVpZ2h0OjEwcHg7XG4gICAgbGluZS1oZWlnaHQ6MTBweDtcbiAgICBtYXgtaGVpZ2h0OjEwcHg7XG59XG5cbi5zaGltLTE1IHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIHBhZGRpbmc6MHB4O1xuICAgIG1hcmdpbjowcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBjbGVhcjpib3RoO1xuICAgIGhlaWdodDoxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OjE1cHg7XG4gICAgbWF4LWhlaWdodDoxNXB4O1xufVxuXG4ucXVpY2stZmlsdGVyLWlubmVyLmQtZmxleC5kYXNoX25hdi5kYXNoX25hdjIge1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbn1cblxuLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbi51aS1pY29uLnVpLWljb24tY2lyY2xlLWFycm93LXMge1xuICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWktYWNjb3JkaWFuLWNvbnRlbnQsIC51aS1hY2NvcmRpb24taGVhZGVyLCAuZmFxLWFuc3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OjBweCB0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OjBweCB0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XG59XG5cbmgxLm1haW4taGVhZGVyIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogNTcuNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG5mb290ZXIgYSB7XG4gICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyLWxpbmstd3JhcCB7IFxuICAgIEBpbmNsdWRlIGZsZXhib3g7IFxuICAgIHdpZHRoOmNhbGMoMTAwJSAtIDI3MHB4KTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGV4TGFyZ2UpIHtcbiAgICAgd2lkdGg6Y2FsYygxMDAlIC0gODBweCk7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XG4gICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwcHgpOyBcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwcHgpO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm1lbnUtZm9vdGVyLWNvbnRhaW5lciB7IFxuICAgICAgQGluY2x1ZGUgZmxleGJveDsgIFxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdWx7IFxuICAgICAgICBsaXtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYWNlLW5vbmU7XG4gICAgICAgICAgJiA+ICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgIFxuICAgICAgICAgICAgYTpob3ZlcnsgXG4gICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgIH1cbiAgICAgICAgICB9IFxuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmID4gdWwgeyBcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyBcbiAgICAgICAgcGFkZGluZzogMDsgIFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7ICBcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhTbWFsbCkge1xuICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmID4gYXtcbiAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYS5uYXYtbGluazpub3QoW2hyZWZdKSwgYS5uYXYtbGlua1tocmVmPScjJ10ge1xuICAgIGNvbG9yOiAkcm55LWdvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIGhlYWRlciwgZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDl2dyAgIWltcG9ydGFudDsgXG4gICAgcGFkZGluZy1yaWdodDogOXZ3ICAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDoxMDB2dyAhaW1wb3J0YW50O1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHsgXG4gICAgaGVhZGVyLCBmb290ZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbSAhaW1wb3J0YW50OyBcbiAgICAgICAgcGFkZGluZy1yaWdodDogMmVtICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4gIC5idG4uYnRuLXdoaXRlOmhvdmVyIHtcbiAgICBjb2xvcjogJGMteWVsbG93O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC43N3M7XG4gIH1cblxuICAubWVudS1pdGVtLnRoaXJkLWxldmVsLCAubWVudS1pdGVtLnNlY29uZC1sZXZlbCwgLm1lbnUtaXRlbS5uYXYtaXRlbS5saXN0LXVuc3R5bGVkIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOi45NWVtICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIGFzaWRlOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYXNpZGUge1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgLyogRmlyZWZveCAqL1xufVxuXG4uYmxvZyAuaW1hZ2UgYSBpbWcge1xuICAgIG1heC1oZWlnaHQ6MzMzcHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6NDk3cHggIWltcG9ydGFudDtcbn1cblxuLm9mZmVyaW5nLWl0ZW0taGVhZGVyICB7XG4gICAgdG9wOjEwN3B4O1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkIHdoaXRlO1xuICAgIHotaW5kZXg6ODtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogOHB4IDI0cHg7XG4gICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LWJsdWUtZm9vdGVyO1xuICAgIGN1cnNvcjpwb2ludGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAgIDEwMDBweCkge1xuICAgIC5vZmZlcmluZy1pdGVtLWhlYWRlciAge1xuICAgICAgICB0b3A6NTZweDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb3JtLWZvY3VzLWxpZ2h0KCRjb2xvcjogJGMtYmx1ZSkge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkYy1ibHVlO1xuICBcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDQ4LDc5LDEwOCwxKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDQ4LDc5LDEwOCwxKTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSg0OCw3OSwxMDgsMSk7XG4gIFxuICB9XG4gIFxuICBAbWl4aW4gZm9ybS1mb2N1cy1kYXJrKCRjb2xvcjogJHdoaXRlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDBweCA1cHggcmdiYSg4LDI4LDQ2LDEpO1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDVweCByZ2JhKDgsMjgsNDYsMSk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDVweCByZ2JhKDgsMjgsNDYsMSk7XG4gIFxuICB9XG5cbi5mb3JtX3NlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XG5cbiAgICAuZnVsbC13aWR0aCB7XG5cbiAgICAgICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0OC4ycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgIGRpdi5nZm9ybV9ib2R5IHtcbiAgICAgICAgICAgICAgICB1bC5nZm9ybV9maWVsZHMge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLy8gaW5wdXQsXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNC4xcmVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9ybS1mb2N1cy1saWdodCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dCA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnRocmVlLWNvbHVtbiB7XG4gICAgbWF4LXdpZHRoOiAzMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDElICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMzE3cHggIWltcG9ydGFudDtcbn1cblxuYTpub3QoW2hyZWZdKSwgYVtocmVmPScjJ10ge1xuICAgIGN1cnNvcjpkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50OyAvKiBTYWZhcmkgKi9cbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsgLyogSUUgMTAgYW5kIElFIDExICovXG4gICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsgLyogU3RhbmRhcmQgc3ludGF4ICovXG59XG5cbi5idG4ge1xuICAgIG1pbi13aWR0aDo5NXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzoxMnB4IDIzcHggMTJweCAyM3B4ICFpbXBvcnRhbnQ7XG59XG5cbi5maWd1cmUtY2FyZC13cmFwIHtcbiAgICBcbiAgICBmaWd1cmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTouNzU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjc1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC43NXM7XG4gICAgfSAgICBcbn1cblxuZGl2LmNhcmQuY2FyZC0zIGEgeyAgICBcbiAgICAudGV4dC1ob3ZlciB7XG4gICAgICAgIHotaW5kZXg6ODtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogODUlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjc1cztcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgei1pbmRleDogMTI7XG4gICAgICAgIHBhZGRpbmc6IDglO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MTAlOyBcbiAgICAgICAgcGFkZGluZy1yaWdodDoxMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNyU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjU1KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLnRleHQtaG92ZXIge1xuICAgICAgICAgICAgei1pbmRleDoxMjtcbiAgICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjc1cztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGV4dC1ob3Zlcjpob3ZlciB7XG4gICAgei1pbmRleDoxMjtcbiAgICBvcGFjaXR5OjE7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjU1cztcbn1cblxuLm9mZmVyaW5nLWl0ZW0tYm9keS1yaWdodCB7XG4gICAgd2lkdGg6MjIycHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6MTkuNTAlICFpbXBvcnRhbnQ7XG5cbiAgICAuYWRkLXRvLW9yZGVyLXByb2R1Y3RzLWJ0biwgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTouODllbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDo0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OjM3cHg7XG4gICAgICAgIG1hcmdpbjphdXRvO1xuICAgIH1cbn1cblxuLm9mZmVyaW5nLWl0ZW0tYm9keS1yaWdodC1yZXNlcnZlIHtcbiAgICB3aWR0aDoyNjBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDoyNjBweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcblxuICAgIC5hZGQtdG8tb3JkZXItcHJvZHVjdHMtYnRuLCAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOi44OWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOjRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBoZWlnaHQ6MzdweDtcbiAgICAgICAgbWFyZ2luOmF1dG87XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6ICAxMDAwcHgpIHtcbiAgICAub2ZmZXJpbmctaXRlbS1ib2R5LXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5vZmZlcmluZy1pdGVtLWJvZHktcmlnaHQtcmVzZXJ2ZSB7XG4gICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5mcmFjIHtcbiAgICAub2ZmZXJpbmctaXRlbS1ib2R5IHtcbiAgICAgICAgcGFkZGluZzowcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAub2ZmZXItZGV0YWlsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTouOTllbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm9mZmVyLWRldGFpbCB7XG4gICAgLm9mZmVyLWl0ZW0tYm9keS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZzoxNXB4O1xuICAgIH1cbn1cblxuLm9mZmVyaW5nLWl0ZW0tZm9vdGVyIHtcbiAgICAuc2wtd3JhcCB7XG4gICAgICAgIGZvbnQtc2l6ZTouODllbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnByZC1ncm91cG5hbWUge1xuICAgIHBhZGRpbmctbGVmdDogMjNweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLm9mZmVyaW5nLWl0ZW0taGVhZGVyLXRpdGxlLCAucmVzZXJ2ZXMtaXRlbXMgLm9mZmVyaW5nLXRpdGxlIHtcbiAgICAuaWNvbi1yb3lhbC1SaWdodCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgZm9udC1zaXplOjEuNjVlbSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDouOGVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAuNzdzO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjNweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6LTE3cHggIWltcG9ydGFudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIH1cbn1cblxuLnJlc2VydmVzLWl0ZW1zIC5vZmZlcmluZy10aXRsZSB7XG4gICAgLmljb24tcm95YWwtUmlnaHQge1xuICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIGZvbnQtc2l6ZToxLjE1ZW0gIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAuNzdzO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0Oi03cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6LTUwcHggIWltcG9ydGFudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIH1cbn1cblxuLmNvbGxhcHNlZC1ncm91cCB7XG4gICAgLmljb24tcm95YWwtUmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IC43N3M7XG4gICAgfSBcbn1cblxuLnRlYS1pdGVtLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWF4LWhlaWdodDogMzNweCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDMzcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgYSB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogOTglO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6MS4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4ub2ZmZXJpbmctaXRlbS1pbmdyZWRpZW50IHtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogOTklO1xuICAgIG1heC1oZWlnaHQ6IDgwcHg7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgXG4gICAgLy9tYXJnaW4tYm90dG9tOjlweCAhaW1wb3J0YW50O1xufVxuXG4uc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOjk1dncgIWltcG9ydGFudDtcbn1cblxuaDIge1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbn1cblxuLnNlY3Rpb24uc2Vjb25kYXJ5LWltZy13aWRlIHtcbiAgICBtaW4taGVpZ2h0OjMyNXB4ICFpbXBvcnRhbnQ7XG59XG5cbmltZy5jdGEtaWNvbiB7XG4gICAgd2lkdGg6MTVweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDp1bnNldCAhaW1wb3J0YW50O1xufVxuXG4ub2ZmZXJpbmctaXRlbS1kZXRhaWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG5cbi5idG4tZGlzYWJsZWQsIC5idG5bZGlzYWJsZWQ9ZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaW1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBzaWx2ZXIgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGltZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogc2lsdmVyIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG5cbi53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW46YXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogOTkgIWltcG9ydGFudDtcbiAgICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzowcHggIWltcG9ydGFudDtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGNsZWFyOm5vbmU7XG4gICAgdG9wOjBweCAhaW1wb3J0YW50O1xuXG4gICAgZGl2IHtcbiAgICAgICAgbWF4LXdpZHRoOjMwdnc7XG4gICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBBMUMyRSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6M2VtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6NHB4IDRweCA3cHggcmdiYSgwLCAwLCAwLCAwLjI1KSAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MzV2aCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OmNhbGMoNTAlIC0gMTV2dykgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDoxMDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OjI1cHg7XG4gICAgICAgICAgICB3aWR0aDoyNXB4O1xuICAgICAgICAgICAgY29udGVudDoneCc7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICAgICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgICAgICAgICBwYWRkaW5nOjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTAxO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiM4ODg4ODggIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5nZmllbGRfbGFiZWwge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIG1hcmdpbi10b3A6MTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206MXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6LTNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZToxLjE1ZW07XG59XG5cbi5zZWxlY3QtaGlkZSB7XG4gICAgZGlzcGxheTpub25lO1xufVxuXG4qW3JvbGU9XCJidXR0b25cIl0ge1xuICAgIGN1cnNvcjpwb2ludGVyO1xufVxuXG4vLyAucmVzZXJ2ZS1xdHktd3JhcCB7XG4vLyAgICAgcG9zaXRpb246YWJzb2x1dGUgIWltcG9ydGFudDsgIFxuLy8gICAgIG1hcmdpbi1sZWZ0Oi0xMjVweCAhaW1wb3J0YW50OyBcbi8vICAgICBtYXJnaW4tdG9wOjk4cHggIWltcG9ydGFudDsgXG4vLyAgICAgbWF4LXdpZHRoOjEyMHB4ICFpbXBvcnRhbnQ7XG4vLyB9XG5cbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHtcbi8vICAgICAucmVzZXJ2ZS1xdHktd3JhcCB7XG4vLyAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7ICBcbi8vICAgICAgICAgbWFyZ2luLWxlZnQ6dW5zZXQgIWltcG9ydGFudDsgXG4vLyAgICAgICAgIG1hcmdpbi10b3A6dW5zZXQgIWltcG9ydGFudDsgXG4vLyAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuLy8gICAgICAgICBoZWlnaHQ6NTVweCAhaW1wb3J0YW50O1xuLy8gICAgIH0gICAgXG4vLyB9XG5cblxuLy8gQ0hFQ0tPVVQgU1RZTEVTIC0gUEFZTUVOVCBUWVBFU1xuXG5cbi5vcmRlcl9kZXRhaWxzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ucGF5bWVudF9ib3gge1xuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ud2NfcGF5bWVudF9tZXRob2RzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIC53Y19wYXltZW50X21ldGhvZCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbToycHggc29saWQgcmdiYSg4LCAyOCwgNDYsIDAuMTUzKSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOjVweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjBweCAhaW1wb3J0YW50O1xuICAgICAgICAvL3BhZGRpbmctYm90dG9tOjEwcHggIWltcG9ydGFudDtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOjE1cHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wKSAhaW1wb3J0YW50O1xuICAgICAgICAvL2JvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgLy9ib3JkZXI6MnB4IHNvbGlkICNjZmNmY2Y3YyAhaW1wb3J0YW50O1xuXG4gICAgICAgIGxhYmVsIGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHM6OmFmdGVyLCAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndjX3BheW1lbnRfbWV0aG9kIHtcbiAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cblxuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIge1xuICAgIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHtcbiAgICAgICAgbWluLWhlaWdodDogNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgIH1cblxuICAgIC52YWxpZGF0ZS1yZXF1aXJlZCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtdmFsaWRhdGVkIHtcbiAgICAgICAgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XG4gICAgICAgICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtZ3JlZW4pO1xuICAgIH1cbn1cblxuXG4vLyB0aGFuayB5b3UgLy8gb3JkZXIgcmVjZWl2ZWQgKG9yIG5vdC4uLilcbi53b29jb21tZXJjZS1vcmRlciB7XG4gICAgbWF4LXdpZHRoOnVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOnVuc2V0ICFpbXBvcnRhbnQ7XG5cbiAgICAud29vY29tbWVyY2Utbm90aWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkub3JkZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcbiAgICAgICAgLm9yZGVyX2RldGFpbHMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICB0cjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhZGRyZXNzIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNoaXBwaW5nLCAucGF5bWVudE1ldGhvZCwgLnBheW1lbnRfbWV0aG9kcyB7XG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDI0cHg7XG4gICAgfVxuICAgIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2sgbGFiZWw6OmJlZm9yZSxcbiAgICAuZm9ybS1jaGVjayBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2sgaW5wdXRbdHlwZT1yYWRpb10uaXMtY2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL3JveWFsLWNoZWNrZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyICMwQTFEMkUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5zaGlwTWV0aG9kIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6MXB4IHNvbGlkICMwMDc3QjUwNTtcbiAgICBwYWRkaW5nOjhweDtcbn1cblxuLmlzLWNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL3JveWFsLWNoZWNrZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyICMwQTFEMkUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY2hlY2sge1xuICAgIGxhYmVsIHtcbiAgICAgICAgZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOi04cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdi13Yy1wYXltZW50LWdhdGV3YXktY2FyZC1pY29ucyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBzaWx2ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czozcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmRpdi5wYXltZW50X2JveCBwOjpiZWZvcmUsIGRpdi5wYXltZW50X2JveDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBheW1lbnRfYm94IHtcbiAgICAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlLXNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZToxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3NzcgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdFdXJvcGEnICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4udHJpYmUtY2hlY2tvdXQtYmFja2xpbmtzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FyZC1pbWFnZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgbWFyZ2luLXRvcDotMTBweDtcbn1cblxuLnBheW1lbnRfbWV0aG9kX3BheXBhbCB7XG4gICAgLmFib3V0X3BheXBhbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgICAgICBmb250LXNpemU6IDAuODNlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cbiAgICAuY2FyZC1pbWFnZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9yb3lhbC1ueS9pbWcvaWNvbnMvcGF5cGFsLWNyZWRpdC1jYXJkcy5wbmcnKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOjE5OHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDo2NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5wYXltZW50X21ldGhvZF9wYXlwYWxfcHJvX3BheWZsb3cge1xuICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUycHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmNhcmQtaW1hZ2VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvd3AtY29udGVudC90aGVtZXMvcm95YWwtbnkvaW1nL2ljb25zL2NyZWRpdC1jYXJkcy5wbmcnKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgICAgICAgd2lkdGg6MTk4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OjY0cHggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUge1xuICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XG5cbiAgICB0ZCwgdGgsIHRyLCB0aGVhZCwgdGJvZHksIHRmb290IHtcbiAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjEwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgY2xlYXI6Ym90aCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRkLCB0aCwgdHIsIHRoZWFkLCB0Ym9keSwgdGZvb3Qge1xuICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHtcbiAgICAgICAgbWluLXdpZHRoOjk5JSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6OTklICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGF5bWVudC13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmZvcm0tY2hlY2sgaW5wdXQ6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvaWNvbnMvcm95YWwtY2hlY2tlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgIzBBMUQyRSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNTVzO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkK2xhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAjMEExRDJFICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41NXM7XG59XG5cbi8vIC53b29jb21tZXJjZSAuYmxvY2tVSS5ibG9ja092ZXJsYXk6OmJlZm9yZSB7XG4vLyAgICAgaGVpZ2h0OiAxZW07XG4vLyAgICAgd2lkdGg6IDFlbTtcbi8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgdG9wOiA1MCU7XG4vLyAgICAgbGVmdDogNTAlO1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAtLjVlbTtcbi8vICAgICBtYXJnaW4tdG9wOiAtLjVlbTtcbi8vICAgICBjb250ZW50OiBcIlwiO1xuLy8gICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbi8vICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xvYWRlci5zdmcpIGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbi8vICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuLy8gICAgIGxpbmUtaGVpZ2h0OiAxO1xuLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgICBmb250LXNpemU6IDJlbTtcbi8vICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNzUpO1xuLy8gfVxuXG4ud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIGJvcmRlcjogNC41cHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG4gICBcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29udGVudDogXCJcIjtcbn1cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gIH1cblxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xuICAgIG1hcmdpbi10b3A6LTMwcHg7XG59XG5cbi53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XG4gICAgbWFyZ2luLXRvcDogLTMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICBtYXJnaW4tYm90dG9tOjIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOjVweCFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgIzk5OTk5OTY1ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTIwICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgbGk6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpIHAubGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZToyLjE1ZW0gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgbGkgcC50ZXh0LWJvbGQge1xuICAgICAgICBmb250LXNpemU6MS42NWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5mbGV4LXJvb3Qge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuI3BheW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5wYXltZW50LW1ldGhvZHMge1xuICAgIG1pbi13aWR0aDogNDclO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbC1sZWZ0LCAuY29sLXJpZ2h0IHtcbiAgICB0b3A6MjkwcHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG59XG5cbi50YWItY29udGVudCB7XG4gICAgcGFkZGluZzo0MHB4IDAgIWltcG9ydGFudDtcbn1cblxuLnByb2R1Y3RfY2F0X2hlYWRlcl93cmFwcGVyIHtcbiAgICB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNhZmFmYWYgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiNjdXN0b21lcl9kZXRhaWxzIHtcbiAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICBtaW4td2lkdGg6NDclO1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgdG9wOjEyMHB4O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgcGFkZGluZy10b3A6MjRweDtcblxuICAgIGRpdiB7XG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgIH1cbn1cblxuI29yZGVyX3JldmlldyB7XG4gICAgbWF4LXdpZHRoOjQ4JTtcbiAgICBtaW4td2lkdGg6NDglO1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIHRvcDoxMjBweDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHBhZGRpbmctdG9wOjI0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjBweCkgeyBcbiAgICAjb3JkZXJfcmV2aWV3IHtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICAgIG1pbi13aWR0aDoxMDAlO1xuICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICB0b3A6dW5zZXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbiNvcmRlcl9yZXZpZXc+LmJ0biB7XG4gICAgd2lkdGg6MTAwJTtcbn1cblxuc2VjdGlvbi5wYXltZW50LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSA1MCUsICNFRkY3RkMgNTAlKTsgXG4gICAgLyptYXJnaW4tdG9wOi00OHB4OyAqL1xuICAgIC8qcGFkZGluZy10b3A6NDBweDsqL1xuICAgIG1hcmdpbi1ib3R0b206LTIwcHg7XG4gICAgY2xlYXI6Ym90aDtcbiAgICBwYWRkaW5nLWJvdHRvbToxMDBweDtcbn1cblxudHIub3JkZXItdG90YWwgdGQsIHRyLmNhcnQtc3VidG90YWwgdGQsIHRkLnByb2R1Y3QtdG90YWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi8vIHRkLnByb2R1Y3QtbmFtZSB7XG4vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcbi8vICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4vLyAgICAgbWF4LXdpZHRoOjYyJSAhaW1wb3J0YW50O1xuLy8gICAgIG1pbi13aWR0aDo2MiUgIWltcG9ydGFudDtcbi8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8gfVxuXG4vLyB0aC5wcm9kdWN0LW5hbWUge1xuLy8gICAgIG1heC13aWR0aDo2MiUgIWltcG9ydGFudDtcbi8vICAgICBtaW4td2lkdGg6NjIlICFpbXBvcnRhbnQ7XG4vLyB9XG5cbi5zaGlwcGluZyB0aCB7XG4gICAgcGFkZGluZy1sZWZ0OjI1cHggIWltcG9ydGFudDtcbn1cblxudGgucHJvZHVjdC10b3RhbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5vcmRlci10b3RhbCwgLmNhcnQtc3VidG90YWwge1xuICAgIHRoIHtcbiAgICAgICAgZm9udC1zaXplOjEuMTVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhLVJlZ3VsYXInO1xuICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOjhweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LWZhbWlseTogJ0V1cm9wYS1SZWd1bGFyJztcbiAgICAgICAgcGFkZGluZy10b3A6OHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG50Zm9vdC5zaGlwcGluZy1tZXRob2RzIHtcblxuICAgIC8vIC5mb3JtLWNoZWNrIHtcbiAgICAvLyAgICAgbGFiZWwge1xuICAgIC8vICAgICAgICAgZm9udC1zaXplOi44OGVtO1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG4gICAgdHIge1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBmb250LXNpemU6Ljg4ZW07XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBlbSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOi43NWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiM0NDQ0NDQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGgsIHRkIHsgICAgXG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgcGFkZGluZzoycHg7XG4gICAgICAgICAgICBtYXJnaW46LTFweDtcbiAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbToycHggc29saWQgI2Q4ZTNlOTk1ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCRUJFQkUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgcGFkZGluZzogMTFweCAyMHB4O1xuICAgIGNvbG9yOiAjMEExRDJFO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4ubG9uZ1RleHQge1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0LW5hbWUubG9uZ1RleHQge1xuICAgIG1heC13aWR0aDoyNzVweCAhaW1wb3J0YW50O1xufVxuXG4uY2hlY2tvdXQud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwIHtcbiAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxMDdweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAtMzBweCAhaW1wb3J0YW50O1xufVxuXG5oMi53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDozMHB4ICFpbXBvcnRhbnQ7XG59XG5cbnAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItcmVjZWl2ZWQge1xuICAgIGZvbnQtc2l6ZTozOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOjhweDtcbiAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbn1cblxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xuICAgIG1heC13aWR0aDoxMzYwcHg7XG59XG5cbnRhYmxlLm9yZGVyX2RldGFpbHMge1xuICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOjEwMCU7XG5cblxuICAgIHRoIHtcbiAgICAgICAgbWF4LXdpZHRoOjQ4MHB4O1xuICAgICAgICB3aWR0aDoyNSU7XG4gICAgICAgIG1pbi13aWR0aDoyNSU7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgICBtYXgtd2lkdGg6NzgwcHg7XG4gICAgICAgIHdpZHRoOjc1JTtcbiAgICAgICAgbWluLXdpZHRoOjc1JTtcbiAgICB9XG5cbiAgICB0Zm9vdCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjQ4MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOjI1JTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6MjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwNjAuNXB4KSB7XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyIHtcbiAgICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOjEzNjBweDtcblxuICAgICAgICB0YWJsZS5vcmRlcl9kZXRhaWxzIHtcbiAgICAgICAgICAgIC8vbWF4LXdpZHRoOjEwNjBweDtcbiAgICAgICAgICAgIC8vbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDoyMDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDoyMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ODAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6ODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDYwcHgpIHtcblxuICAgIC5zaWRlYmFyLWZvb3RlciB7XG4gICAgICAgIG1heC13aWR0aDo5OS41dncgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzoxZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbi5zaWRlYmFyLXByb2R1Y3QtZGVhdGlscyB7XG4gICAgbWF4LXdpZHRoOjk5LjV2dztcbn1cblxuICAgIC5zaWRlYmFyLWlubmVyLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogMzVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogOTh2dztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNXMpO1xuICAgIH1cblxuICAgIC5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB7XG4gICAgICAgIG1heC13aWR0aDoxMDB2dztcbiAgICAgICAgbWluLXdpZHRoOjkwdnc7XG4gICAgfVxuXG4gICAgI2N1c3RvbWVyX2RldGFpbHMge1xuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgbWluLXdpZHRoOjEwMCU7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIHRvcDp1bnNldDtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOjEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1kZXRhaWxzIHtcbiAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOjk5JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6Ljk1ZW0gIWltcG9ydGFudDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmbG9hdDpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDowcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJiBwOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjQ4JTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6NDglO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiBwOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjUyJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6NTIlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6NDglICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOjQ4JSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dC1ib2xkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjUyJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDo1MiUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xufVxuXG4jYW5nZWxsZXllX29yZGVyX3Jldmlld19wYXltZW50X21ldGhvZCB7XG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG59XG5cbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHsgXG4gICAgdGQsIHRoIHtcbiAgICAgICAgcGFkZGluZzozcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5zaWRlYmFyLXdyYXAuc2hvcHBpbmctY2FydC1zaWRlYmFyIC5zaGlwcGluZy1wcm9kdWN0LWl0ZW0gLnNoaXBwaW5nLXByb2R1Y3QtdG9wIHtcbiAgICBtYXgtd2lkdGg6MTAwdncgIWltcG9ydGFudDtcbn1cblxuLmNhdCB7XG4gICAgbWF4LXdpZHRoOjk5dnc7XG59XG5cbi5zaGlwTWV0aG9kIHtcblxuICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogJ0V1cm9wYSBSZWd1bGFyJyAhaW1wb3J0YW50O1xuICAgIH1cblxufVxuXG4jU2hpcHBpbmdfc2FtZV9hc19maWVsZCB7XG4gICAgZGlzcGxheTpub25lO1xufVxuXG4uYXZhaWxhYmxlLWluZ3JlZGllbnQge1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgY29sb3I6JGMtZ3JlZW47XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjokYy1ibHVlLWRhcms7XG4gICAgfVxufVxuXG4jc29ydC1ieSB7XG4gICAgbWluLXdpZHRoOjEyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNzZWFyY2gtY29udGFpbmVyIHtcbiAgICBzY3JvbGxiYXItY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xufVxuXG4jYmxvZ19wYWdpbmcsIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24ge1xuICAgIG1heC13aWR0aDo5OXZ3O1xuICAgIG1pbi13aWR0aDo0NXZ3O1xuICAgIG1hcmdpbjogMThweCAwcHggMTJweCAwcHg7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcblxuICAgIC5uYXYtbGlua3Mge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOjk5JTtcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XG5cbiAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgICAgIGNvbG9yOiRjLXllbGxvdztcbiAgICAgICAgICAgIHBhZGRpbmc6OHB4O1xuICAgICAgICAgICAgbWFyZ2luOjBweCA1cHggMHB4IDVweDtcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI2VmZWZlZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41NXM7XG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1pbi13aWR0aDo0MHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOjEyNXB4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjokYy15ZWxsb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU1cztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6M3B4IDJweCA1cHggcmdiYSgxMDAsMTAwLDEwMCwuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrO1xuICAgICAgICAgICAgcGFkZGluZzo4cHg7XG4gICAgICAgICAgICBtYXJnaW46MHB4IDVweCAwcHggNXB4O1xuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZWZlZmVmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU1cztcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWluLXdpZHRoOjQwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6MTI1cHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6JGMteWVsbG93O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU1cztcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OjNweCAycHggNXB4IHJnYmEoMTAwLDEwMCwxMDAsLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmV2LCAubmV4dCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjaGVja291dF9wYXlwYWxfbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcbiAgICBoZWFkZXIsIGZvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6dW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnVuc2V0ICFpbXBvcnRhbnQ7ICAgICAgICBcbiAgICAgICAgcGFkZGluZy1yaWdodDp1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46dW5zZXQgIWltcG9ydGFudDsgICBcbiAgICB9XG5cbiAgICBbaWRePVwiYWRkb25pZnlcIl0ge1xuICAgICAgICBtYXgtd2lkdGg6MTAwdncgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDoxMDB2aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICAgICY+ZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjN2dyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjN2dyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGRlbi1tZCB7XG4gICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtZGVza3RvcCkge1xuICAgIC5oaWRkZW4tbGcge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuXG5cbmZvb3Rlcjo6YmVmb3JlIHtcbiAgICB3aWR0aDoxMDB2dztcbiAgICBtYXJnaW46MHB4O1xuICAgIGxlZnQ6MDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1kZXNrdG9wKSB7XG4gICAgLmRlc2t0b3AtaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm15YWNjb3VudC1tZW51IHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cblxuICAgICNDb2ZmZWUgaW1nLCAjVGVhIGltZywgI0xhYiBpbWcgeyAgICAgICAgICAgIFxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDVweDtcbiAgICAgICAgbWFyZ2luOi0xNXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcbiAgICBoZWFkZXI+LmNvbnRhaW5lciAubmF2YmFyLWxvZ28tZnVsbCB7XG4gICAgICAgIG1heC13aWR0aDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB0b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGFibGV0LWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNDb2ZmZWUgaW1nLCAjVGVhIGltZywgI0xhYiBpbWcgeyAgICAgICAgICAgIFxuICAgICAgICBtYXgtaGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjphdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOi0xNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubW9kYWxfYmFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNDApO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTk5MDtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgbWF4LWhlaWdodDoxMDdweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNoZWFkZXItbWVudSB7XG4gICAgICAgIG1heC1oZWlnaHQ6MTA3cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgbWF4LWhlaWdodDo4NXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2hlYWRlci1tZW51IHtcbiAgICAgICAgbWF4LWhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zYW1wbGVSZXF1ZXN0Qm9keSB7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBsZWZ0Oi0xNTVweDtcbiAgICB9XG5cbiAgICAuaDMge1xuICAgICAgICBsaW5lLWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5hY3RpdmUtc2hvcHBpbmctY2FydCB7XG4gICAgLnNpZGViYXItaW5uZXItd3JhcCB7XG4gICAgICAgIGJveC1zaGFkb3c6IC0xMHB4IDBweCAyMHB4IHJnYmEoMCwwLDAsLjI1KTtcbiAgICAgICAgdHJhbnNpdGlvbjogJ2JveC1zaGFkb3cnIC44OHM7XG4gICAgfVxufVxuXG4uYmFubmVyLXNsaWRlciB7XG4gICAgLnNsaWRlci1pdGVtLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OmZsZXggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbHVtbi1nYXA6IDBweDtcblxuICAgICAgICBtYXgtaGVpZ2h0OjQ4MHB4O1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIyNXB4KSB7IFxuICAgICAgICAgICAgbWF4LWhlaWdodDo0MzBweDsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyNXB4KSB7IFxuICAgICAgICAgICAgbWF4LWhlaWdodDozODBweDsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7IFxuICAgICAgICAgICAgbWF4LWhlaWdodDozMzBweDsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHsgICAgICAgICAgICBcbiAgICAgICAgLy8gICAgIG1heC1oZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgLy8gICAgIGhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAvLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHsgICAgICAgICBcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6NTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhbm5lci1jb250ZW50IHtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWRkaW5nOjIuNWVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6OCU7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgICBvcmRlcjoxO1xuXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG5cbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjIwMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOnVuc2V0O1xuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MS42NWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFkZGluZzouNzVlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3JkZXI6MjtcblxuICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSk7XG4gICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDRweCA0cHggN3B4IHJnYmEoMTAwLDEwMCwxMDAsLjE1KTtcbiAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJhbm5lci1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgICBvcmRlcjoyO1xuXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9yZGVyOjE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7ICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ4MHB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0ODBweDsgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1MHB4OyAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4OyAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4OyAgIFxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50OyAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICBcbiAgICB1bC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiAtMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxudWwuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtMzBweCAhaW1wb3J0YW50O1xuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHsgICBcbiAgICAgICAgYm90dG9tOjBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnByaW50LW9mZmVyaW5nLWNvbnRhaW5lci1vdXRlciB7XG4gICAgd2lkdGg6MTk1cHg7XG4gICAgbWF4LXdpZHRoOjE5NXB4O1xuICAgIGRpc3BsYXk6ZmxleCAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICAgICAgICBcbiAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OmZsZXggIWltcG9ydGFudDtcblxuICAgICAgICAuc29ydC1ieS1zZWxlY3Qtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaW50LW9mZmVyaW5nLWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi13aWR0aDoxNjVweCAhaW1wb3J0YW50OyBcbiAgICAgICAgbWF4LXdpZHRoOjE5NXB4ICFpbXBvcnRhbnQ7IFxuICAgICAgICBtYXJnaW4tcmlnaHQ6MTBweDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgICAgICAgIFxuICAgICAgICAgICAgd2lkdGg6ODVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDo4NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6OHB4OyBcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6OHB4O1xuXG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjowcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDsgXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcmludF9idXR0b24geyBcbiAgICBmb250LXNpemU6MTNweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDo0OHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAuZGFzaGljb25zIHtcbiAgICAgICAgZm9udC1zaXplOjE5cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICAgXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5ybnlsLWhlYWRlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICAgXG4gICAgICAgIG1hcmdpbi10b3A6LTMwcHghaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm9mZmVyaW5nLWl0ZW0tYm9keS1sZWZ0IHtcbiAgICAub2ZmZXJpbmctaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgdWwuZC1mbGV4IHtcbiAgICAgICAgICAgIGxpLmQtZmxleCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjI4JSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6NDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBwLmg1IGJ1dHRvbiwgcC5oNSBkaXYgYnV0dG9uLCAucHJpbnRfYnV0dG9uIHtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4vLyAgICAgYm9yZGVyOjBweCBub25lICFpbXBvcnRhbnQ7XG4vLyAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xuLy8gICAgIG1hcmdpbi1yaWdodDotMTVweDtcbi8vICAgICBtYXJnaW4tdG9wOi0yNXB4O1xuXG4vLyAgICAgLmRhc2hpY29ucyB7XG4vLyAgICAgICAgIGZvbnQtc2l6ZToyOHB4O1xuLy8gICAgIH1cbi8vIH1cblxuXG4udWktZGF0ZXBpY2tlciB7XG4gICAgKiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhLVJlZ3VsYXInICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG4gICAgdHIge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcmsgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlICFpbXBvcnRhbnQ7XG59XG5cbi8vIC51aS1kYXRlcGlja2VyLXByZXYge1xuXG4vLyB9XG5cbi8vIC51aS1kYXRlcGlja2VyLW5leHQge1xuXG4vLyB9XG5cbiAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OidFdXJvcGEtUmVndWxhcicgIWltcG9ydGFudDtcbiB9XG5cbi8vIC51aS1kYXRlcGlja2VyLW1vbnRoIHtcblxuLy8gfVxuXG4vLyAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG5cbi8vIH1cblxuLy8gLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xuXG4vLyB9XG5cbi51aS1kYXRlcGlja2VyIHRyOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHNpbHZlciAhaW1wb3J0YW50O1xufVxuXG4udWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyAgICBcblxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3cgIWltcG9ydGFudDsgIFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4udWktZGF0ZXBpY2tlci1vdGhlci1tb250aCB7XG4gICAgYm9yZGVyOnVuc2V0ICFpbXBvcnRhbnRcbn1cblxuLm5vc2VsZWN0IHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAgICAgICAgICAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgICAgIC8qIFNhZmFyaSAqL1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAgICAgICAgLyogRmlyZWZveCAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAgICAgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xufVxuIiwiLyoqKiBBcHAgY29sb3IgdmFyaWFibGUgKioqL1xuXG4kcHJpbWFyeS1jb2xvcjojRkY2MTVDO1xuJHNlY29uZGFyeS1jb2xvcjojNDkzNEE2O1xuJHdoaXRlLWNvbG9yOiAjZmZmO1xuJGJsYWNrLWNvbG9yOiAjMDAwO1xuJGxpZ2h0LXN0b25lOiNjMGMwYzA7XG4kcm55LW5hdnktYmx1ZTojMEExRDJFO1xuJHJueS1nb2xkOiNCNTkwMzg7XG4kcm55LWxpZ2h0LWJsdWU6I0VGRjdGQztcbiRkYXJrLWdyYXk6IzRCNEI0QjtcbiRncmF5OiNCRUJFQkU7XG4kbGlnaHQtZ3JheTojRThFQUVCO1xuJHN0b25lLWNvbG9yOiNjY2M7XG4kbGlnaHRlci1zdG9uZTokYmxhY2stY29sb3I7XG4kcm55LXNlY29uZGFyeS1ibHVlOiMzMDRFNkM7XG4kcm55LWJsdWUtZm9vdGVyOiMwQjE3MjQ7XG4kcm55LWJvcmRlci1jb2xvcjojNjM2RTc4O1xuXG4vKioqIEZvbnQgd2VpZ2h0ICoqKi9cblxuJGV4U21hbGw6IDU3NXB4O1xuJFNtYWxsOiA3NjdweDtcbiRtZWRpdW06IDk5OXB4O1xuJGV4TWVkaXVtOjExOTlweDtcbiRsYXJnZToxNDAwcHg7XG4kZXhMYXJnZToxNTk5cHg7XG4vLyAkY29udGFpbmVyOjE1OTk7XG5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJSQU5EIFBSSU1BUlkgQ09MT1JTIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRjLWdyZWVuOiAjNTc4NTg3OyAvL2hzbGEoMTgzLCAyMiUsIDQ0JSwgMSk7XG4kYy1ncmVlbi1kYXJrOiAjMWMzNTMzO1xuJGMtYmx1ZTogIzMwNGY2YzsgLy9oc2xhKDIxMCwgMzglLCAzMSUsIDEpO1xuJGMtYmx1ZS1saWdodDogI2VmZjdmYztcbiRjLWJsdWUtZGFyazogIzA3MWMyZjsgLy8wODFDMkVcbiRjLXllbGxvdzogI2I3OTIyMDsgLy9oc2xhKDQyLCA1MyUsIDQ2JSwgMSk7XG4kYy1wdXJwbGU6ICM2ZjRlN2M7XG4kYy1ncmF5LWRhcms6ICMwYTFjMmM7IC8vaHNsYSgyMDgsIDYzJSwgMTElLCAxKTtcbiRjLWdyYXktbWVkaXVtLWRhcms6ICM3ODgwOGM7XG4kYy1ncmF5LW1lZDogIzkwOTY5ZjsgLy9oc2xhKDIxNiwgNyUsIDU5JSwgMSk7XG4kYy1ncmF5LWxpZ2h0OiAjZThlYWViOyAvL2hzbGEoMjAwLCA3JSwgOTIlLCAxKTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRjLWJsYWNrOiAjMTkxOTE5O1xuXG4kYy1yZWQ6ICNhMTFjMTg7XG4kYy1ncmVlbi1hbGVydDogIzE3OWE0NDtcbiRjLXJlZC1hbGVydDogI2U2NjA0YjtcbiRjLW9yYW5nZS1hbGVydDogI2RkNmUwMDtcblxuLy9BZ3Ryb24gU2NhbGUgY29sb3JzXG4kYy1hZ3Ryb24tNDU6ICMzMjIxMTc7XG4kYy1hZ3Ryb24tNTU6ICMzZjIyMTA7XG4kYy1hZ3Ryb24tNjU6ICM1ZDM4MWQ7XG4kYy1hZ3Ryb24tNzU6ICM0YzJhMTE7XG4kYy1hZ3Ryb24tODU6ICM1NDJjMDg7XG4kYy1hZ3Ryb24tOTU6ICM2ZjNjMTE7XG5cbi8vIFRleHQgY29sb3JcbiRib2R5LWNvbG9yOiAkYy1ncmF5LWRhcms7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRjYxNUMgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUWVBPR1JBUEhZICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy9AaW1wb3J0IHVybChcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L3VvdzFyd3cuY3NzXCIpO1xuLy9AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Mb3JhOjQwMCw0MDBpJTdDT3BlbitTYW5zOjQwMCw0MDBpLDcwMFwiKTtcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiRXVyb3BhXCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6IFwiRXVyb3BhXCIsIFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktaWNvbnM6IFwiZm9udC1hd2Vzb21lXCI7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICgzIDQpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBGb250c1xuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC44NzUpICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vLy8vLy8vLy8vL1xuLy8gTGlua3MgL1xuLy8vLy8vLy8vL1xuXG4kbGluay1jb2xvcjogJGMtYmx1ZTtcbiRsaW5rLWhvdmVyLWNvbG9yOiBkYXJrZW4oJGxpbmstY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTGF5b3V0LSAob3ZlcnJpZGVzKVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiAxMDAwcHgsXG4gIC8vbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE2MDBweCxcbikgIWRlZmF1bHQ7XG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgLy9sZzogOTYwcHgsXG4gIGxnOiA5NjhweCxcbiAgeGw6IDEyNzRweCxcbiAgeHhsOiAxNTQwcHgsXG4pICFkZWZhdWx0O1xuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDQ1cHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1lZGlhICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vL1xuJG1lZGlhLXdpZHRoLWRlc2t0b3A6IDc2OHB4O1xuJG1lZGlhLXdpZHRoLW1vYmlsZTogNzY3cHg7XG5cbiRtZWRpYS13aWR0aC1tZW51LWRlc2t0b3A6IDEwMDBweDtcbiRtZWRpYS13aWR0aC1tZW51LW1vYmlsZTogOTk5cHg7IiwiLy8vIENvbnZlcnQgYSBkaXJlY3Rpb24gdG8gbGVnYWN5IHN5bnRheFxuLy8vIEBwYXJhbSB7S2V5d29yZCB8IEFuZ2xlfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0XG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1kaXJlY3Rpb25cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnZlcnQtYW5nbGVcbi8vLyBAdGhyb3cgQ2Fubm90IGNvbnZlcnQgYCN7JHZhbHVlfWAgdG8gbGVnYWN5IHN5bnRheCBiZWNhdXNlIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGRpcmVjdGlvbi47XG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpIHtcbiAgQGlmIGlzLWRpcmVjdGlvbigkdmFsdWUpID09IGZhbHNlIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLlwiO1xuICB9XG5cbiAgJGNvbnZlcnNpb24tbWFwOiAoXG4gICAgdG8gdG9wOiBib3R0b20sXG4gICAgdG8gdG9wIHJpZ2h0OiBib3R0b20gbGVmdCxcbiAgICB0byByaWdodCB0b3A6IGxlZnQgYm90dG9tLFxuICAgIHRvIHJpZ2h0OiBsZWZ0LFxuICAgIHRvIGJvdHRvbSByaWdodDogdG9wIGxlZnQsXG4gICAgdG8gcmlnaHQgYm90dG9tOiBsZWZ0IHRvcCwgXG4gICAgdG8gYm90dG9tOiB0b3AsXG4gICAgdG8gYm90dG9tIGxlZnQ6IHRvcCByaWdodCxcbiAgICB0byBsZWZ0IGJvdHRvbTogcmlnaHQgdG9wLFxuICAgIHRvIGxlZnQ6IHJpZ2h0LFxuICAgIHRvIGxlZnQgdG9wOiByaWdodCBib3R0b20sXG4gICAgdG8gdG9wIGxlZnQ6IGJvdHRvbSByaWdodFxuICApO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSk7XG4gIH1cblxuICBAcmV0dXJuIDkwZGVnIC0gJHZhbHVlO1xufVxuXG5cbi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBBbm90aGVyIGdyaWQgbWl4aW4gdGhhdCBlbnN1cmVzIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCkge1xuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gYCRncmlkLWJyZWFrcG9pbnRzYCBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCJcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG1lZGlhIHF1ZXJpZXMgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJwKCRwb2ludCkge1xuXG4gICAgQGlmICRwb2ludCA9PSBtZWRpdW0tbWF4IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gc21hbGwge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwb2ludCA9PSBtZWRpdW0ge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB4bGFyZ2Uge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0geHhsYXJnZSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gcm91Z2gtZWRnZSgkY29sb3I6IHdoaXRlLCAkcG9zaXRpb246IHRvcCkge1xuICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLXdoaXRlLnN2ZycpO1xuICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcnKTtcbiAgXG4gICAgICBAaWYgJGNvbG9yID09ICRjLWJsdWUtbGlnaHQge1xuICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1saWdodC1ibHVlLnN2ZycpO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLWxpZ2h0LWJsdWUuc3ZnJyk7XG4gICAgICB9XG4gIFxuICAgIEBpZiAkY29sb3IgPT0gJGMtYmx1ZS1kYXJrIHtcbiAgICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnJyk7XG4gICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2ZycpO1xuICAgIH1cbiAgXG4gICAgICAvLyBwb3NpdGlvbiBib3RoXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGJvdGgge1xuICAgICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzNXB4IDAgNjBweCAwO1xuICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDE0cHggMCAxMHB4IDA7XG4gICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDQyO1xuICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDM1cHggMCA2MHB4IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIycHggMCAxOXB4IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTQ7XHRcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDM1cHggMCA2NXB4IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDI4cHggMCAyNXB4IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMzA7XG4gICAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAgIC8vcG9zaXRpb24gYm90dG9tXG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDAgMCA0NXB4IDA7XG4gICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMCAwIDM1cHggMDtcbiAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDM7XG4gICAgfVxuICAgIFxuICAgICAgLy90b3BcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDMycHggMCAwIDAgO1xuICAgICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMTlweCAwIDAgMDtcbiAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI0O1xuICBcbiAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIzcHggMCAwIDA7XG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMzE7XG4gICAgICB9XG4gICAgICBcbiAgICAgICAgICBAaW5jbHVkZSBicCAoeHhsYXJnZSl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMjNweCAwIDAgMDtcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiA1MDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgQGNvbnRlbnQ7XG4gIH1cbiAgXG5cbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XG4gICAgLy8gRGlyZWN0aW9uIGhhcyBiZWVuIG9taXR0ZWQgYW5kIGhhcHBlbnMgdG8gYmUgYSBjb2xvci1zdG9wXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xuICAgICAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcbiAgICAgICAgJGRpcmVjdGlvbjogMTgwZGVnO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XG59XG5cblxuQG1peGluIHRyYW5zaXRpb24oJGFyZ3MuLi4pIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhcmdzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogJGFyZ3M7XG4gICAgLW1zLXRyYW5zaXRpb246ICRhcmdzO1xuICAgIC1vLXRyYW5zaXRpb246ICRhcmdzO1xuICAgIHRyYW5zaXRpb246ICRhcmdzO1xuICB9XG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBkYXJrZW4gYnRuIG9uIGhvdmVyLy9cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgXG4gIEBtaXhpbiBidG4taG92ZXIoJGNvbG9yKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTUlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDE1JSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDAuNHM7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICBcbiAgLy9mb3IgZGFyayBibHVlIGJ1dHRvbnMsIG1haW5seTpcbiAgQG1peGluIGJ0bi1ob3Zlci1saWdodCgkY29sb3IpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlOyBcbiAgICBib3JkZXItY29sb3I6ICRjLWJsdWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCwgMC40cztcbiAgfVxuICAvLyBhZGQgdGhpcyB0byBpbWFnZXM6IFxuICAvLyBvcGFjaXR5OiAxO1xuICAvLyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsvL1xuICBAbWl4aW4gaW1nLWhvdmVyKCkge1xuICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDcwJSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgfVxuXG5AbWl4aW4gZ3JhZGllbnQtZGFya2VuKCRjb2xvcikge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIDBkZWcsICRjb2xvciAyJSwgbGlnaHRlbigkY29sb3IsIDUlKSAzMCUgKTtcbiAgXG4gIH1cblxuLyoqKiBGb250IEZhbWlseSAgKioqL1xuXG4kZm9udC1ib2R5OlwiRXVyb3BhXCIsXG5cIk9wZW4gU2Fuc1wiLFxuSGVsdmV0aWNhLFxuQXJpYWwsXG5zYW5zLXNlcmlmO1xuQG1peGluIGZvbnQtZmFtaWx5KCRmYWNlLCAkd2VpZ2h0KSB7XG4gICAgZm9udC1mYW1pbHk6ICRmYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG5AbWl4aW4gYm9keS1mb250IHtcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udC1ib2R5LCBub3JtYWwpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgY29sb3I6ICRybnktbmF2eS1ibHVlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxufVxuXG5cbi8qKiogRm9udC1zaXplIGFzIGgxLWg2IGhlYWRpbmdzICoqKi9cblxuQG1peGluIGZvbnQteGwge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiA1Ny42cHg7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDcuNnB4O1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MC42cHg7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9udC1sZyB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0My4ycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNi4ycHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMyLjJweDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb250LW1kIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbn1cblxuQG1peGluIGZvbnQtc20ge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9udC14cyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9udC14eHMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQG1peGluIGZvbnQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLW8tYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICAgIC13ZWJraXQtb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgLW1vei1vcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAtby1vcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAtbXMtb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRzZWNvbmRzLCAkdGltaW5nOiBlYXNlKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgJHNlY29uZHMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAkc2Vjb25kcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgJHNlY29uZHMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgJHNlY29uZHMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHNlY29uZHMgJHRpbWluZztcbn1cblxuQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHkpIHtcbiAgICAtby10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHByb3BlcnR5O1xuICAgIC1tcy10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcbiAgICAtbW96LXRyYW5zZm9ybTogJHByb3BlcnR5O1xuICAgIHRyYW5zZm9ybTogJHByb3BlcnR5O1xufVxuXG5AbWl4aW4gZmxleGJveCgpIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXhib3hJbXAoKSB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdygkeC1heGlzLCAkeS1heGlzLCAkYmx1ciwgJGNvbG9yKSB7XG4gICAgLW1zLXRleHQtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuICAgIC1vLXRleHQtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuICAgIC13ZWJraXQtdGV4dC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XG4gICAgLW1vei10ZXh0LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHgtYXhpcywgJHktYXhpcywgJGJsdXIsICRjb2xvcikge1xuICAgIC1tcy1ib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuICAgIC1vLWJveC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuICAgIC1tb3otYm94LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdy1ub25lIHtcbiAgICAtbXMtYm94LXNoYWRvdzogbm9uZTtcbiAgICAtby1ib3gtc2hhZG93OiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuQG1peGluIHRleHQtc2hhZG93LW5vbmUge1xuICAgIC1tcy10ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAtby10ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAtd2Via2l0LXRleHQtc2hhZG93OiBub25lO1xuICAgIC1tb3otdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbkBtaXhpbiBib3goJHByb3BlcnR5KSB7XG4gICAgYm94LXNpemluZzogJHByb3BlcnR5O1xuICAgIC1tb3otYm94LXNpemluZzogJHByb3BlcnR5O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogJHByb3BlcnR5O1xuICAgIC1vLWJveC1zaXppbmc6ICRwcm9wZXJ0eTtcbn1cblxuQG1peGluIHRyYW5zLWFuaW0tbm9uZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcbiAgICAtby10cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiBzcGFjZS1ub25lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuQG1peGluIGFwcC1ub25lIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuQG1peGluIHBvaW50LW5vbmUge1xuICAgIC13ZWJraXQtcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLW1vei1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtby1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtbXMtcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLyoqKiBCYWNrZ3JvdW5kIHByb3BlcnRpZXMgICoqKi9cblxuQG1peGluIGJnLWNtbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbkBtaXhpbiBiZy1wYXJhbGxheCB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBAaW5jbHVkZSBiZy1jbW47XG59XG5cblxuQG1peGluIHJvdWdoLWVkZ2UoJGNvbG9yOiB3aGl0ZSwgJHBvc2l0aW9uOiB0b3ApIHtcbiAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiBzdHJldGNoO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcnKTtcbiAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2Utd2hpdGUuc3ZnJyk7XG4gIFxuICAgICAgQGlmICRjb2xvciA9PSAkYy1ibHVlLWxpZ2h0IHtcbiAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtbGlnaHQtYmx1ZS5zdmcnKTtcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1saWdodC1ibHVlLnN2ZycpO1xuICAgICAgfVxuICBcbiAgICBAaWYgJGNvbG9yID09ICRjLWJsdWUtZGFyayB7XG4gICAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2ZycpO1xuICAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLWRhcmstYmx1ZS5zdmcnKTtcbiAgICB9XG4gIFxuICAgICAgLy8gcG9zaXRpb24gYm90aFxuICAgICAgQGlmICRwb3NpdGlvbiA9PSBib3RoIHtcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDYwcHggMDtcbiAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAxNHB4IDAgMTBweCAwO1xuICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiA0MjtcbiAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzNXB4IDAgNjBweCAwO1xuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyMnB4IDAgMTlweCAwO1xuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE0O1x0XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzNXB4IDAgNjVweCAwO1xuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyOHB4IDAgMjVweCAwO1xuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDMwO1xuICAgICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgICAvL3Bvc2l0aW9uIGJvdHRvbVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwIDAgNDVweCAwO1xuICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDAgMCAzNXB4IDA7XG4gICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAzO1xuICAgIH1cbiAgICBcbiAgICAgIC8vdG9wXG4gICAgICBAZWxzZSB7XG4gICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzMnB4IDAgMCAwIDtcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDE5cHggMCAwIDA7XG4gICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAyNDtcbiAgXG4gICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyM3B4IDAgMCAwO1xuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDMxO1xuICAgICAgfVxuICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgYnAgKHh4bGFyZ2Upe1xuICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIzcHggMCAwIDA7XG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogNTA7XG4gICAgICAgICAgfVxuICAgICAgfVxuICBcbiAgICAgIEBjb250ZW50O1xuICB9XG4gICIsIltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5ldmVyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1yb3lhbC10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMlwiO1xufVxuLmljb24tcm95YWwtZGVsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG59XG4uaWNvbi1yb3lhbC1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWVcIjtcbn1cbi5pY29uLXJveWFsLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFjXCI7XG59XG4uaWNvbi1yb3lhbC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFkXCI7XG59XG4uaWNvbi1yb3lhbC10ZWEtcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG59XG4uaWNvbi1yb3lhbC10ZWEtbGVhdmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG59XG4uaWNvbi1yb3lhbC10ZW1wZXJhdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuLmljb24tcm95YWwtd2VzdGVybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxN1wiO1xufVxuLmljb24tcm95YWwtc3RvcHdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG59XG4uaWNvbi1yb3lhbC1hdmFpbGFiaWxpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTlcIjtcbn1cbi5pY29uLXJveWFsLXBvc2l0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG59XG4uaWNvbi1yb3lhbC1pbmdyZWRpZW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuLmljb24tcm95YWwtc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiO1xuICBjb2xvcjogIzRiNGI0Yjtcbn1cbi5pY29uLXJveWFsLWhhcnZlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGJcIjtcbn1cbi5pY29uLXJveWFsLWJlYW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG4uaWNvbi1yb3lhbC1wbGFudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljb24tcm95YWwtZWxldmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvbi1yb3lhbC1wcm9kdWNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZlwiO1xufVxuLmljb24tcm95YWwtbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY29uLXJveWFsLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGFcIjtcbn1cbi5pY29uLXJveWFsLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1yb3lhbC1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG59XG4uaWNvbi1yb3lhbC1zYW1wbGUtYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG4gIFxufVxuLmljb24tcm95YWwtYXJyb3ctZGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNlwiO1xufVxuLmljb24tcm95YWwtUmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY29uLXJveWFsLUluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xuXG59XG4uaWNvbi1yb3lhbC11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG4uaWNvbi1yb3lhbC1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1yb3lhbC1TZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbiAgY29sb3I6IzRiNGI0YjtcbiAgZm9udC1zaXplOjIwcHg7XG59XG4uaWNvbi1yb3lhbC10ZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG4iLCJAaW1wb3J0IFwiYmFzZVwiO1xuXG4vKiBCYXNpYyBjb21tb24gcmVzdGUgc3R5bGUgKi9cblxuQGltcG9ydCBcImhlbHBlckNsYXNzXCI7IFxuXG4vKiBDdXN0b20gSGVscGVyIGNsYXNzZXMgc3R5bGUgKi9cbiAgXG5AaW1wb3J0IFwiYnV0dG9uXCI7XG5cbi8qIFRoZW1lIGNvbW1vbiBidXR0b24gc3R5bGUgKi8gXG4gIFxuQGltcG9ydCBcImZvcm1Db250cm9sXCI7IFxuXG4vKiBUaGVtZSBjb21tb24gRm9ybSBDb250cm9scyBTdHlsZSAqLyBcblxuQGltcG9ydCBcImhlYWRlclwiOyBcblxuLyogU3R5bGUgRm9yIEhlYWRlciAqL1xuXG5AaW1wb3J0IFwiZm9vdGVyXCI7XG4gXG4vKiBTdHlsZSBGb3IgRm9vdGVyICovICAgIFxuXG5cblxuLmZyYWMtcG9wLXVwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTk5O1xuICB9XG4gIFxuICAuZnJhYy1wb3AtdXAge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsIDUwLCA1MCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgbWFyZ2luLXRvcDogMTAlO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDM0NXB4KSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxYzJmO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIFxuICAuZnJhYy1wb3AtdXAtY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nLXRvcDogLTEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIH1cbiAgXG4gIC5mcmFjLXBvcC11cC1jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjQ2NDtcbiAgfVxuICBcbiAgLm5vbi11cy1mcmFjLXBvcC11cC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgfVxuICBcbiAgLm5vbi11cy1mcmFjLXBvcC11cCB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xuICAgIGJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XG4gICAgei1pbmRleDogOTk5OTk5OTtcbiAgICBtYXJnaW4tdG9wOiAxMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gMzQ1cHgpICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFjMmY7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nLXRvcDogLTEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIH1cbiAgXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY2xvc2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY0NjQ7XG4gIH1cbiAgXG5cblxuXG5cbiIsIi8qKiogRGVmYXVsdCBTdHlsZSBSZXNldCAqKiovXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYm94KGJvcmRlci1ib3gpO1xufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xuICAgIEBpbmNsdWRlIGJvZHktZm9udDtcbiAgICBmb250LXNtb290aDogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgIC8vIHBhZGRpbmctdG9wOiA2NnB4O1xuICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgLy8gICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIC8vIH0gXG59XG5cbmFydGljbGUsXG5hc2lkZSxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbmltZyxcbmEsXG5pbnB1dCxcbm5hdixcbnRleHRhcmVhLFxucCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuaW5wdXQ6Zm9jdXMsXG5zZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdy1ub25lO1xufVxuXG51bCxcbm9sLFxubGkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAkcm55LW5hdnktYmx1ZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xuICAgIC8vICY6aG92ZXIge1xuICAgIC8vICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgLy8gfVxufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbmJsb2NrcXVvdGUsXG5maWd1cmUsXG5hZGRyZXNzIHtcbiAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnRlbXBsYXRlcy13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5tYWluIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgcGFkZGluZy10b3A6IDgxcHg7IC8vMTAycHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9mb290ZXItYmcuc3ZnKSBib3R0b20gbGVmdCByZXBlYXQteCB0cmFuc3BhcmVudDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjlweDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MnB4O1xuICAgIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxNTQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAyMi41cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TGFyZ2UpIHtcbiAgICAvLyAgICAgbWF4LXdpZHRoOiAxMjc0cHg7XG4gICAgLy8gfSBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEyNzRweDtcbiAgICB9XG4gICAgLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRsYXJnZSkge1xuICAgIC8vICAgICBtYXgtd2lkdGg6IDk2OHB4O1xuICAgIC8vIH1cbiAgICAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGV4TWVkaXVtKSB7XG4gICAgLy8gICAgIG1heC13aWR0aDogOTY4cHg7XG4gICAgLy8gfSBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JG1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6IDk2OHB4O1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JFNtYWxsKSB7XG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokZXhTbWFsbCkge1xuICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgIH1cbn1cblxuc2VjdGlvbixcbi5zZWN0aW9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZGl2SW1nIHtcbiAgICBAaW5jbHVkZSBiZy1jbW47XG59XG5cbnAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuXG5cbi8qKiogSGVhZGluZyAqKiovXG5cbmgxLFxuLmgxIHtcbiAgICBAaW5jbHVkZSBmb250LXhsO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuXG5oMixcbi5oMiB7XG4gICAgQGluY2x1ZGUgZm9udC1sZztcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbn1cblxuaDMsXG4uaDMge1xuICAgIEBpbmNsdWRlIGZvbnQtbWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG59XG5cbmg0LFxuLmg0IHtcbiAgICBAaW5jbHVkZSBmb250LXNtO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuXG5oNSxcbi5oNSB7XG4gICAgQGluY2x1ZGUgZm9udC14cztcbn1cblxuaDYsXG4uaDYge1xuICAgIEBpbmNsdWRlIGZvbnQteHhzO1xufVxuXG5cbi8qKiogTGlzdGluZyAqKiovXG5cbnVsIHtcbiAgICBtYXJnaW46IDBweCAwcHggMzBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYm9keS1mb250O1xuICAgICAgICBtYXJnaW46IDBweCAwcHggMTVweDtcbiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcm55LW5hdnktYmx1ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnVsLmxpc3QtdW5zdHlsZWQge1xuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5vbCB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDMwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogYXYtY291bnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYm9keS1mb250O1xuICAgICAgICBtYXJnaW46IDBweCAwcHggMjBweDtcbiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGF2LWNvdW50ZXIpIFwiLlwiO1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJHJueS1uYXZ5LWJsdWU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlY3Rpb24uc2VjdGlvbi10cmFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIGJvZHkgLndvb2NvbW1lcmNlLWVycm9yLFxuLy8gYm9keSAud29vY29tbWVyY2UtaW5mbyxcbi8vIGJvZHkgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuLy8gICAgIG1hcmdpbjogMDtcbi8vIH1cblxuLy8gYm9keSAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyLFxuLy8gYm9keSAud29vY29tbWVyY2UtbWVzc2FnZSB7XG4vLyAgICAgbWFyZ2luOiAwO1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuLy8gfVxuXG4vLyBib2R5IC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuLy8gICAgIHRvcDogMCAhaW1wb3J0YW50O1xuLy8gfVxuXG4vLyBib2R5IC53b29jb21tZXJjZS1lcnJvciBsaTpiZWZvcmUge1xuLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4vLyB9XG5cblxuXG4uY3VzdC1mb3JtIHtcbiAgICBkaXNwbGF5OmZsZXg7IFxuICAgIGZsZXgtZGlyZWN0aW9uOnJvdzsgXG4gICAgbWFyZ2luOjRweDsgXG4gICAgd2lkdGg6MTAwJTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAuY3VzdC1mb3JtLWxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgZm9udC1zaXplOi44OGVtOyBcbiAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwOyBcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG5cbiAgICAuY3VzdC1mb3JtLXNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiA4MCU7IFxuICAgICAgICBtYXgtd2lkdGg6IDEzNzBweDsgXG4gICAgICAgIG1pbi13aWR0aDo1MDBweDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7ICAgXG4gICAgICAgICAgICBtaW4td2lkdGg6OTglICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6OTklO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnJvd3NpbmctYXMge1xuICAgIHBvc2l0aW9uOmZpeGVkOyBcbiAgICBkaXNwbGF5OmJsb2NrOyBcbiAgICB6LWluZGV4OjEwMDA7IFxuICAgIHdpZHRoOjEwMCU7IFxuICAgIHRvcDotMnB4O1xuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkge1xuICAgICAgICB0b3A6NDVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5icm93c2luZy1hcy1pbm5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LCAxOTksIDU4LCAwLjMxKTsgXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgbGlnaHR5ZWxsb3c7IFxuICAgICAgICBtYXJnaW46YXV0bzsgIFxuICAgICAgICBjb2xvcjp3aGl0ZTsgXG4gICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDsgXG4gICAgICAgIGZvbnQtc2l6ZToxLjM1ZW0gIWltcG9ydGFudDsgXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXG4gICAgICAgIHBhZGRpbmc6MXB4OyBcbiAgICAgICAgbGVmdDowOyBcbiAgICAgICAgd2lkdGg6MTAwJTsgXG4gICAgICAgIG1heC13aWR0aDo3MDBweDsgXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7IFxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7IFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBub25lOyBcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuOyBcbiAgICAgICAgdGV4dC13cmFwOm5vbmU7IFxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYy1ibHVlLWRhcmsgIWltcG9ydGFudDsgXG4gICAgICAgICAgICBib3JkZXI6MHB4IG5vbmUgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgXG4gICAgICAgICAgICBtYXJnaW46YXV0bztcbiAgICAgICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDsgXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7IFxuICAgICAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZC1ub25lLW1vYmlsZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG59XG5cbi5hbS1mcy1zYl9fc3RlcC1oZWFkaW5nIHtcblx0Y29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4uZmFybS1kZXNjcmlwdGlvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LWhlaWdodDo2MzVweDtcblx0XHRvdmVyZmxvdy14OmhpZGRlbjtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY291cG9uIHtcblx0ZGlzcGxheTpub25lO1xufVxuXG4ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlIHtcblx0ZGlzcGxheTpub25lO1xufVxuXG4ub2ZmZXJpbmctZmxhdm9yLW5vdGUge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNHB4ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogLTNweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5sb2dpbiBoMSBhIHtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3JveWFsLW55L2ltZy9sb2dvcy9ybnlfbG9nb19QYXJlbnQuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNDRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgY29sb3I6ICMzYzQzNGE7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0byAwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcblxufVxuXG4uc2JpLWhlYWRlci5zYmktaGVhZGVyLXR5cGUtdGV4dCAge1xuXHRcblx0ZGlzcGxheTpub25lO1xuXHRcbn1cblxuLnNiaV9pbmZvX3dyYXBwZXIge1xuXHRcblx0ZGlzcGxheTpub25lO1xufVxuXG4jc2JfaW5zdGFncmFtIHtcblx0b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5ybnktYnJhbmRzIC5maWd1cmUtY2FyZC13cmFwIGZpZ3VyZSBpbWcge1xuXHRtaW4taGVpZ2h0OjM2NXB4ICFpbXBvcnRhbnQ7XG59XG5cbnNlY3Rpb24ucGF5bWVudC13cmFwcGVyIHtcblx0bWFyZ2luLXRvcDotNDhweCAhaW1wb3J0YW50O1xufVxuXG4uaW5hLWxvZ291dC10b2FzdC1jb250YWluZXIge1xuXHR3aWR0aDo1NTBweCAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6OTV2dyAhaW1wb3J0YW50O1xufVxuXG4ucmVzZXJ2ZS1jb2xsYXBzYWJsZXtcbiAgICBtYXJnaW4tYm90dG9tOjIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOi0yMHB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucmVzdWx0cyB7XG4gICAgLmNvbGxhcHNlZC1ncm91cCwgLmNvZmZlZS1oZWFkZXItY29sbGFwc2UgIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLmNtbi1zcGFjZSB7XG4gICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM3MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHjigIs7XG4gICAgfVxufVxuXG5cbi8qKiogQ29tbW9uIENsYXNzZXMgKioqL1xuXG4uc3RhdGljLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJGJsYWNrLWNvbG9yO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLmQtZmxleCB7XG4gICAgQGluY2x1ZGUgZmxleGJveDtcbn1cblxuLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kLWFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmQtYWxpZ24tZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5kLWFsaWduLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmQtanVzdC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZC1qdXN0LWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmQtc3BhY2UtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZC1mbGV4LXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmQtZmxleC1jb2wge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5kLWp1c3Qtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnQtZmxleC1jb2x1bW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuXG4udC10eHQtY2VudGVyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4udC1hbGlnbi1ub3JtYWwge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7XG4gICAgfVxufVxuXG4ubS1mbGV4LWNvbHVtbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cblxuLm0tZmxleC1yb3cge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG59XG5cbi5tLXR4dC1sZWZ0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4ubS1mbGV4LXdyYXAge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbn1cblxuLnR4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmp1c3QtbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xufVxuXG4uaW1nRWxtIHtcbiAgICBAaW5jbHVkZSBiZy1jbW47XG59XG5cbi5kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLm1vYmlsZSxcbi5tb2JpbGUtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4udC1hbGlnbi1jZW50ZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ubS10eHQtY2VudGVyIHtcbiAgICBoMiB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXV0aG9yLW5hbWUge1xuICAgIGNvbG9yOiAkbGlnaHQtc3RvbmUgIWltcG9ydGFudDtcbn1cblxuLm0tYi0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tLXJlbGF0aXZlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5ib2R5X2ZpeGVkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubS1ibG9jayB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmRpc2FibGVsaW5rIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8gLmQtYWxpZ24tc3RhcnQge1xuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuLy8gfVxuLy8gLm0tYWxpZ24tc3RhcnQge1xuLy8gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbi8vICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbi8vICAgICB9XG4vLyB9XG4vLyAubS1hbGlnbi1jZW50ZXIge1xuLy8gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbi8vICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICB9XG4vLyB9XG4vLyAubS1hbGlnbi1pbmhlcml0IHtcbi8vICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7IFxuLy8gICAgICAgICBhbGlnbi1pdGVtczogaW5oZXJpdDtcbi8vICAgICB9XG4vLyB9XG4uZC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59IiwiLyoqKiBDb21tb24gQWxsIEJ1dHRvbnMgKioqKi9cblxuLmJ0biB7XG4gICAgcGFkZGluZzogMTRweCAyNHB4O1xuICAgIG1pbi13aWR0aDogMTA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkbGlnaHQtc3RvbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIC8vIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCR5YW5Cb2xkICwgYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdy1ub25lO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgQGluY2x1ZGUgYXBwLW5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIGNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xuICAgICAgICAmLmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA3OCwgMTA4LCAwLjEpO1xuICAgIH1cbiAgICAmOmRpc2FibGVkLFxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAmLmJ0bi1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggOHB4O1xuICAgIH1cbiAgICAmLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xuICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICBlbSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC4yKSwgcmdiYSgwLCAwLCAwLCAwLjIpKSwgIzMwNEU2QztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bi1vdXRsaW5lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDgsIDc4LCAxMDgsIDAuMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG4tZ29sZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktZ29sZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG4td2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkcm55LW5hdnktYmx1ZTtcbiAgICAgICAgZW0ge1xuICAgICAgICAgICAgY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgxMCwgMjksIDQ2LCAwLjIpLCByZ2JhKDEwLCAyOSwgNDYsIDAuMikpLCAjRkZGRkZGO1xuICAgICAgICB9XG4gICAgICAgICZfX291dGxpbmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3RyYW5zcGFyZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bi1pY29uIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDI0cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0biB7XG4gICAgJltkaXNhYmxlZF0sXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC40KTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBlbSB7XG4gICAgICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmh5cGVyLWxpbmsge1xuICAgIGNvbG9yOiAkbGlnaHQtc3RvbmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIC8vIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCR5YW5Cb2xkICwgYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjVweDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHN0b25lLWNvbG9yO1xuICAgICAgICBlbSB7XG4gICAgICAgICAgICBjb2xvcjogJHN0b25lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVtIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1zdG9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAmLmljb24tbm9ybWFsLWFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDBweCAwIDEwcHg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0LWljb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHggMTBweCAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKioqIENvbW1vbiBGb3JtcyBFbGVtZW50cyAqKiovXG5cbi8vIGxhYmVse1xuLy8gICBjb2xvcjogJHN0b25lLWNvbG9yO1xuLy8gICAvLyBmb250LWZhbWlseTogJHlhbk1lZDtcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICBmb250LXdlaWdodDogNTAwO1xuLy8gICBmb250LXNpemU6IDE2cHg7XG4vLyAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuLy8gICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4vLyAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyB9XG5cbi5mb3JtLWNvbnRyb2wge1xuICBwYWRkaW5nOjExcHggMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHdoaXRlLWNvbG9yO1xuICBAaW5jbHVkZSBib2R5LWZvbnQoKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdy1ub25lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBAaW5jbHVkZSBhcHAtbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7IFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokbGFyZ2Upe1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsgIFxuICAgIH0gXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiA2cHggMTVweDsgXG4gICAgfSBcbiAgICAmOmhvdmVyeyBcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCwgMCwgMCwgMnB4ICRncmF5KTtcbiAgICAgIH1cbiAgICAmOmZvY3Vze1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwLCAwLCAwLCAycHggJGdyYXkpO1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmF5O1xuICAgIH1cbn1cblxuLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IFxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7IFxuICB9XG4uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsgXG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgfVxuLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cbi5mb3JtLWNvbnRyb2w6LW1vei1wbGFjZWhvbGRlciB7IFxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cblxuICAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwuZm9ybS1jb250cm9sOmRpc2FibGVkIHtcbiAgIFxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgXG59XG5cbnRleHRhcmVhe1xuICBoZWlnaHQ6IDE4MHB4O1xuICByZXNpemU6IG5vbmU7IFxufVxuXG4gIC8qKiogUmVzcG9uc2l2ZSBpb3MgaW5wdXQgKioqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSxcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbiAvKioqIENoZWNrIEJveCAgKioqL1xuXG4uY21uLWNoZWNrYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBpbnB1dCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAmOmNoZWNrZWQgKyBsYWJlbHtcbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uLy4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgJHJueS1uYXZ5LWJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDNweDtcbiAgICAgIHRvcDogM3B4OyAgXG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICBzcGVhazogbmV2ZXI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWluZGVudDogM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuICAgIH1cbiAgfVxufVxuXG4uY21uLWNoZWNrYm94IHtcbiAgaW5wdXRbZGlzYWJsZWRdLGlucHV0OmRpc2FibGVke1xuICAgICYgKyBsYWJlbHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICB9XG4gIH1cbn0gIFxuXG4gLyoqKiBSYWRpbyBCdXR0b24gICoqKi9cblxuIC5jbW4tcmFkaW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgaW5wdXQge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgJjpjaGVja2VkICsgbGFiZWx7XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAkcm55LW5hdnktYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0gXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMnB4OyBcbiAgICAgIHdpZHRoOiAxOHB4OyBcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7IFxuICAgICBcbiAgICB9XG4gIH1cbn1cblxuLmNtbi1yYWRpbyB7XG4gIGlucHV0W2Rpc2FibGVkXSxpbnB1dDpkaXNhYmxlZHtcbiAgICAmICsgbGFiZWx7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG4gICAgfVxuICB9XG59XG5cbi5jb250cm9sLWNvbHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgJi5jb2wtMntcbiAgICB3aWR0aDogNTAlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokU21hbGwpe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnNlbGVjdCB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9yb3lhbC1Eb3duLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gOHB4KSBjZW50ZXI7XG4gICAgcGFkZGluZzogN3B4IDM3cHggN3B4IDhweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XG4gICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI2hlYWRlci1uYXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LW5hdnktYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA1N3B4O1xuICAgIH1cbiAgICAmPi5jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIC5uYXZiYXItbG9nby1mdWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5OHB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWFpbi1tZW51LW5hdiB7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LWRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5hdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgLmhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj51bC5kcm9wZG93bi1tZW51LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1c3RvbS11bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRybnktbmF2eS1ibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRybnktYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zLWFuaW0tbm9uZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3VzdG9tLXVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcm55LW5hdnktYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcm55LWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktbmF2eS1ibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRybnktYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDdweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51LXNlY29uZC1sZXZlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+bGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNy41JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPnVsLmRyb3Bkb3duLW1lbnUtdGhpcmQtbGV2ZWw+bGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPnVsLmRyb3Bkb3duLW1lbnUtdGhpcmQtbGV2ZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNFOEVBRUI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1ibHVlLWZvb3RlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjQ2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgLTE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTMwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY+dWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXhzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktZ29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMDAuNHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgJj4uaGVhZGVyLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtNDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTQzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jYXJ0LWNvdW50IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdFdXJvcGEnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjU5MDM4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBBMUQyRTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuc2FtcGxlLWJveCB7XG4gICAgICAgICAgICAgICAgICAgIC5jYXJ0LWNvdW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJj5hLFxuICAgICAgICAgICAgICAgICY+c3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuaWNvbi1yb3lhbC11c2VyLFxuICAgICAgICAgICAgICAgICAgICAmLmljb24tcm95YWwtc2FtcGxlLWJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnNpdGUtYWRtaW4ge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyLWRyb3Bkb3duIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRvcDogNjNweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgYmFja2dyb3VuZDogJHJueS1uYXZ5LWJsdWU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRybnktYm9yZGVyLWNvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1uYXZ5LWJsdWU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRybnktYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICB0b3A6IDQ1cHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICB0b3A6IDM2cHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBzY2FsZToxLjY7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgJj4uY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5tYWluLW1lbnUtbmF2IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogODVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEIxNzI0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDg1cHgpO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAgICAgbmF2IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXItbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICY+dWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2MzZFNzg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jdXN0b20tdWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LWV4cGFuZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCItXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jdXN0b20tdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUtc2Vjb25kLWxldmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYzNkU3ODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaGVhZGVyLWV4cGFuZCB7XG4gICAgICAgICAgICAubW9iaWxlLW1lbnUuaWNvbi1yb3lhbC1tZW51OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaSAuY3VzdG9tLXVsLGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkgLmRyb3Bkb3duLW1lbnV7ZGlzcGxheTogbm9uZTt9XG4gICAgLy8gaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgICAvLyAgICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggMjVweDtcbiAgICAvLyAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2MzZFNzg7IFxuICAgIC8vICAgICB3aWR0aDogMTAwJTsgICBcbiAgICAvLyB9XG4gICAgLy8gaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGF7XG4gICAgLy8gICAgICY6OmFmdGVye1xuICAgIC8vICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICAgICBcbiAgICAvLyAgICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgIC8vICAgICAgICAgZm9udC1zaXplOiAzMHB4OyAgXG4gICAgLy8gICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC8vICAgICAgICAgdG9wOiAxMHB4OyAgICBcbiAgICAvLyAgICAgfSAgIFxuICAgIC8vIH0gXG4gICAgLy8gaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaS5tZW51LWV4cGFuZCA+IGE6OmFmdGVye2NvbnRlbnQ6IFwiLVwiO31cbiAgICAvLyBoZWFkZXIgPiAuY29udGFpbmVyIC5tYWluLW1lbnUtbmF2IG5hdiAuaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGxpIC5jdXN0b20tdWwgLmRyb3Bkb3duLW1lbnUtc2Vjb25kLWxldmVsIHtcbiAgICAvLyAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2MzZFNzg7XG4gICAgLy8gfVxuICAgIC8vIGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkgLmN1c3RvbS11bCAuZHJvcGRvd24tbWVudS1zZWNvbmQtbGV2ZWwgPiBsaXt3aWR0aDogMTAwJSAhaW1wb3J0YW50O3BhZGRpbmc6IDVweCA1MHB4O31cbiAgICAvLyAuaGVhZGVyLWV4cGFuZCAubW9iaWxlLW1lbnUuaWNvbi1yb3lhbC1tZW51OjpiZWZvcmV7XG4gICAgLy8gICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCIgOyBcbiAgICAvLyB9ICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRTbWFsbCkge1xuICAgIGhlYWRlciB7XG4gICAgICAgICY+IHtcbiAgICAgICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5tYWluLW1lbnUtbmF2IG5hdiB7XG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXItbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1c3RvbS11bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudS1zZWNvbmQtbGV2ZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+bGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY+dWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+bGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zYW1wbGVSZXF1ZXN0Q29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk4O1xuICAgIHRvcDogMTA1cHg7XG4gICAgd2lkdGg6IDU1MHB4O1xuICAgIG1heC13aWR0aDogOTd2dztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgLy8gICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvLyAgICAgdG9wOiA1N3B4O1xuICAgIC8vICAgICByaWdodDogMDtcbiAgICAvLyAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8vIH1cbiAgICAuc2FtcGxlUmVxdWVzdEJvZHkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNTE1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUxNXB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogNHB4IDRweCA1cHggcmdiYSgzNSwgMzUsIDM1LCAuMik7XG4gICAgICAgIGJveC1zaGFkb3c6IDRweCA0cHggNXB4IHJnYmEoMzUsIDM1LCAzNSwgLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICAgICAgY29sb3I6ICRybnktbmF2eS1ibHVlO1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRybnktZ29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZW1wdHlTYW1wbGVNZXNzYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLndpbmRvd0Nsb3NlVGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAuZGFzaGljb25zLW5vIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1nb2xkO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgei1pbmRleDoxMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2FtcGxlUmVxdWVzdE9wdGlvbnMtaGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXJyb3ctdXAge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgICByaWdodDogMzklO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDk5OTk4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jZ2xvYmFsTm90aWNlSGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLy96LWluZGV4OiA5OTk5OTk5O1xuICAgIGJhY2tncm91bmQ6ICNiNzkyMjA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gcG9wLXVwIHN0YXJ0XG4ubG9naW5fb3ZlcmxheSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgb3BhY2l0eTogLjk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5ODtcbn1cblxuI21vZGFsLWxvZ2luIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcbiAgICBib3gtc2hhZG93OiAycHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4xNSk7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhTbWFsbCkge1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICB9XG59XG5cbi5tb2RhbCB7XG4gICAgei1pbmRleDogMTA1MDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG91dGxpbmU6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuY2xvc2UtbW9kYWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAtMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sb3N0X3Bhc3N3b3JkIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNtO1xuICAgICAgICAgICAgY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrLWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMC41cmVtICsgOHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogY2FsYygzMnB4ICsgMC41cmVtKTtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMDRFNkM7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0LjFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAuNXJlbSAwLjVyZW0gMS4xcmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBpbnB1dCNyZW1lbWJlcm1lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6Y2hlY2tlZCtsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvaWNvbnMvcm95YWwtY2hlY2tlZC5zdmcnKSBuby1yZXBlYXQgY2VudGVyICRybnktbmF2eS1ibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYWJlbC5pbmxpbmUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBzcGVhazogbmV2ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcbiAgICAgICAgICAgICAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAzcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1zdWJtaXQtYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwLjIpLCByZ2JhKDAsIDAsIDAsIDAuMikpLCAkcm55LXNlY29uZGFyeS1ibHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2lkZWJhci13cmFwIHtcblxuICAgICYuYWN0aXZlLXNpZGViYXIsXG4gICAgJi5hY3RpdmUtc2hvcHBpbmctY2FydCB7XG4gICAgICAgIC5zaWRlYmFyLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCkpO1xuICAgICAgICB9XG4gICAgICAgIC5zaWRlYmFyLW92ZXJsYXkge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwdmg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OjEwMHZoO1xuICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2hvcHBpbmctY2FydC1zaWRlYmFyIHtcbiAgICAgICAgLnNpZGViYXItYm9keSB7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDIxM3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2hpcHBpbmctaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1saWdodC1ibHVlO1xuICAgICAgICAgICAgbWFyZ2luOiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE2cHggMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb24tcm95YWwtdHJ1Y2sge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2hpcHBpbmctcHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNoaXBwaW5nLXByb2R1Y3QtdG9wIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgICAgIC5zaGlwcGluZy1wcm9kdWN0LWhlYWRlci1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNoaXBwaW5nLXByb2R1Y3QtaGVhZGVyLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNoaXBwaW5nLXByb2R1Y3QtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjQ0YxNzE3O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNoaXBwaW5nLXJueSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2hpcHBpbmctcHJvZHVjdC1ib3R0b20ge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3VudGVyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3VudGVyLWJhciB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucHJpY2UtYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zaWRlYmFyLWZvb3RlciB7XG4gICAgICAgICAgICAuY2FydC10b3RhbC13cmFwIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zaWRlYmFyLWlubmVyLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjVzKTtcbiAgICB9XG4gICAgLnNpZGViYXItb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICAvL3RvcDogNDVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLnNpZGViYXItaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1uYXZ5LWJsdWU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgLmljb24tcm95YWwtY2FydCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zaWRlYmFyLWNsb3NlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAuaWNvbi1yb3lhbC1jbG9zZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNpZGViYXItYm9keSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE0MHB4KTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLyogRmlyZWZveCAqL1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogYXV0bztcbiAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHJueS1uYXZ5LWJsdWUgJHdoaXRlLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC8qIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICB9XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBRkFGQUY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNzlweCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNzVweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmNvdW50ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUtY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgJi5kb3duLFxuICAgICAgICAgICAgICAgICYuZG93bl9xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYudXAsXG4gICAgICAgICAgICAgICAgJi51cF9xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTEuMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY291bnRlci1iYXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC5wcmljZS1iYXIge1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5saW5lLXRvdGFsLXdyYXAge1xuICAgICAgICAgICAgLmxpbmUtdG90YWwtdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxpbmUtdG90YWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNpZGViYXItZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAyNHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcnQtdG90YWwtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgLmNhcnQtdG90YWwtbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhcnQtdG90YWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmZyYWMtcG9wLXVwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTk5O1xuICB9XG4gIFxuICAuZnJhYy1wb3AtdXAge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsIDUwLCA1MCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgbWFyZ2luLXRvcDogMTAlO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDM0NXB4KSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxYzJmO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIFxuICAuZnJhYy1wb3AtdXAtY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nLXRvcDogLTEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIH1cbiAgXG4gIC5mcmFjLXBvcC11cC1jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjQ2NDtcbiAgfVxuICBcbiAgLm5vbi11cy1mcmFjLXBvcC11cC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgfVxuICBcbiAgLm5vbi11cy1mcmFjLXBvcC11cCB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xuICAgIGJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XG4gICAgei1pbmRleDogOTk5OTk5OTtcbiAgICBtYXJnaW4tdG9wOiAxMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gMzQ1cHgpICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFjMmY7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nLXRvcDogLTEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIH1cbiAgXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY2xvc2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY0NjQ7XG4gIH1cbiAgIiwiZm9vdGVye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktYmx1ZS1mb290ZXI7XG4gICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XG4gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgYXtcbiAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yOyBcbiAgICAgfVxuICAgICAgIFxuICAgICAuaW5zdGFncmFtLWZlZWRzIHtcbiAgICAgICBmbG9hdDogbGVmdDsgIFxuICAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgfVxuICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDFweCAwO1xuICAgICAgIH1cbiAgIH0gXG4gICAubmV3cy1sZXR0ZXItc291cmNlIHtcbiAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICB3aWR0aDogMTAwJTtcbiAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICB9XG4gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgfVxuICAgICBkaXYjbmV3c2xldHRlckZvcm0ge1xuICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgXG4gICAgICAgfVxuICAgICAgIC5uZXdzbGV0dGVyRm9ybV9oZWFkaW5nIHtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICAgfVxuICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgIH1cbiAgICAgICAgIGg0IHtcbiAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xuICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgIH1cbiAgICAgICAgIHAge1xuICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgfVxuICAgICAgIH1cbiAgICAgICBcbiAgICAgLm5ld3NsZXR0ZXJGb3JtX2JvZHl7XG4gICAgICAgJi5uZXdzbGV0dGVyRm9ybS1ib2R5IHsgXG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICAgICBmbG9hdDogcmlnaHQ7IFxuICAgICAgIH0gXG4gICAgIH1cbiAgIFxuICAgICB9XG4gICB9XG4gICBcbiAgIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfZW1haWwge1xuICAgICB3aWR0aDogMTAwJTtcbiAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgIGlucHV0I25ld3NsZXR0ZXJFbWFpbCB7XG4gICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExNXB4KTtcbiAgICAgfVxuICAgfVxuICAgXG4gICAuZm9vdGVyLWxpbmtzIHtcbiAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICB3aWR0aDogMTAwJTtcbiAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICB9XG4gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgIH1cbiAgICAgLnJveWFsLWluZm8ge1xuICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICB9XG4gICAgICAgI2Zvb3Rlci1jb2xvcGhvbiB7IFxuICAgICAgICAgbWF4LXdpZHRoOiAxNDhweDtcbiAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgIH0gXG4gICAgICAgfSBcbiAgICAgICAuZm9sbG93LW9uIHtcbiAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgd2lkdGg6IDEwMCU7IFxuICAgICAgICAgbWFyZ2luOiAyM3B4IDAgMzBweCAwOyBcbiAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMCAyMHB4IDA7IFxuICAgICAgICAgfVxuICAgICAgICAgYWRkcmVzcyB7XG4gICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICB9XG4gICAgICAgICBlbXtcbiAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDsgXG4gICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IFxuICAgICAgICAgfSBcbiAgICAgICB9XG4gICAgICAgYWRkcmVzc3tcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgIH1cbiAgICAgfVxuICAgICAuZm9vdGVyLWxpbmstd3JhcCB7IFxuICAgICAgIEBpbmNsdWRlIGZsZXhib3g7IFxuICAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDI3MHB4KTtcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGV4TGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6Y2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgfVxuICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwcHgpOyBcbiAgICAgICB9XG4gICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwcHgpO1xuICAgICAgIH1cbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICB9XG4gICAgICAgLm1lbnUtZm9vdGVyLWNvbnRhaW5lciB7IFxuICAgICAgICAgQGluY2x1ZGUgZmxleGJveDsgIFxuICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgdWx7IFxuICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYWNlLW5vbmU7XG4gICAgICAgICAgICAgJiA+ICAgbGkge1xuICAgICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMDtcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsgXG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgYTpob3ZlcnsgXG4gICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XG4gICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgIFxuICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgICAmID4gdWwgeyBcbiAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgbWFyZ2luOiAwOyBcbiAgICAgICAgICAgcGFkZGluZzogMDsgIFxuICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7ICBcbiAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhTbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAmID4gYXtcbiAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XG4gICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgfVxuICAgICB9XG4gICAgIFxuICAgfVxuICAgXG4gICAuY29weXJpZ2h0LXJveWFsIHsgXG4gICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgXG4gICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgfSBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xuICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgIH1cbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhTbWFsbCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgfVxuICAgICAubWVudS1mb290ZXItYm90dG9tLW1lbnUtY29udGFpbmVye1xuICAgICAgIHVsIHtcbiAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgIGxpIHtcbiAgICAgICAgICAgcGFkZGluZzogMDsgXG4gICAgICAgICAgIG1hcmdpbjogMCAwIDBweCAyNXB4OyBcbiAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgICAgfVxuICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IFxuICAgICAgICAgICB9XG4gICAgICAgICAgIGEgeyBcbiAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgfSBcbiAgICAgICAgIH1cbiAgICAgICB9XG4gICAgIH1cbiAgICAgXG4gICB9XG4gICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZm9vdGVyLWJnLnN2ZykgYm90dG9tIGxlZnQgcmVwZWF0LXggdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICBcbiAgICAgICAgICB0b3A6IC0xM3B4OyBcbiAgICAgICAgICAvLyB6LWluZGV4OiA5OTk5OTk5OTk7XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICBjZW50ZXIgYm90dG9tO1xuICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLkZlZWRHcmlkTGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA0NXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgY29sdW1uOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5NZWRpYVRpbGVfX292ZXJsYXkge1xuICAgICAgICAgIC5NZWRpYU92ZXJsYXlfX3Jvd3Mge1xuICAgICAgICAgICAgLk1lZGlhT3ZlcmxheV9fYm90dG9tLXJvdyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5NZWRpYVRpbGVfX3R5cGUtaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgfSAgICIsIi5kLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDAgLTI0cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhMYXJnZSkge1xuICAgICAgICBtYXJnaW46IDAgLTIwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDAgLTE1cHg7XG4gICAgfVxuICAgIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleExhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5jYXJkLTIge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhcmQtMyB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokZXhTbWFsbCkge1xuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy8gfSBcbiAgICAgICAgfVxuICAgICAgICAmLmNhcmQtNCB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi51aS1hY2NvcmRpb24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLnVpLWFjY29yZGlvbi1oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgcGFkZGluZzogMjRweCA0MHB4IDI0cHggMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNtO1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMTdweCA0MHB4IDE3cHggMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDQwcHggMTNweCAwO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xuICAgICAgICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSAocm90YXRlKDkwZGVnKSk7XG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xuICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0gKHJvdGF0ZSgtOTBkZWcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudWktYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDA7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBwLFxuICAgICAgICBoMSxcbiAgICAgICAgaDIsXG4gICAgICAgIGgzLFxuICAgICAgICBoNCxcbiAgICAgICAgaDUsXG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUNBQSwyQkFBMkI7QUNBM0IsNEJBQTRCO0FBbUI1QixxQkFBcUI7QUU2SXJCLHNCQUFzQjtBQXlCdEIscUNBQXFDO0FBd0xyQyxnQ0FBZ0M7Q0NqWGhDLEFBQUEsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkLElBQWlCLEFBQUEsS0FBQyxFQUFPLFFBQVEsQUFBZixFQUFpQjtFQUNsQyxnRkFBZ0Y7RUFDaEYsV0FBVyxFQUFFLG9CQUFvQjtFQUNqQyxLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFlBQVksRUFBRSxNQUFNO0VBQ3BCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFdBQVcsRUFBRSxDQUFDO0VBRWQsdUNBQXVDO0VBQ3ZDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUyxHQUNuQzs7QUFFRCxBQUFBLGlCQUFpQixBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLGtCQUFrQixBQUFBLE9BQU8sQ0FBQztFQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLGtCQUFrQixBQUFBLE9BQU8sQ0FBQztFQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLGlCQUFpQixBQUFBLE9BQU8sQ0FBQztFQUN2QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLHNCQUFzQixBQUFBLE9BQU8sQ0FBQztFQUM1QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLHVCQUF1QixBQUFBLE9BQU8sQ0FBQztFQUM3QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLE9BQU8sQ0FBQztFQUN6QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLHFCQUFxQixBQUFBLE9BQU8sQ0FBQztFQUMzQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLHdCQUF3QixBQUFBLE9BQU8sQ0FBQztFQUM5QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLG9CQUFvQixBQUFBLE9BQU8sQ0FBQztFQUMxQixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLHVCQUF1QixBQUFBLE9BQU8sQ0FBQztFQUM3QixPQUFPLEVBQUUsT0FBTyxHQUNqQjs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLE9BQU8sQ0FBQztFQUN0QixPQUFPLEVBQUUsT0FBTztFQUNoQixLQUFLLEVBQUUsT0FBTyxHQUNmOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEscUJBQXFCLEFBQUEsT0FBTyxDQUFDO0VBQzNCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsb0JBQW9CLEFBQUEsT0FBTyxDQUFDO0VBQzFCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsb0JBQW9CLEFBQUEsT0FBTyxDQUFDO0VBQzFCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsc0JBQXNCLEFBQUEsT0FBTyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBRWpCOztBQUNELEFBQUEsc0JBQXNCLEFBQUEsT0FBTyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEscUJBQXFCLEFBQUEsT0FBTyxDQUFDO0VBQzNCLE9BQU8sRUFBRSxPQUFPLEdBRWpCOztBQUNELEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsa0JBQWtCLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLEtBQUssRUFBQyxPQUFPO0VBQ2IsU0FB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 */
