@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 */ }

.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; }

.section-heading .heading-h2 {
  padding-bottom: 15px;
  border-bottom: 4px solid #B59038; }
  @media only screen and (max-width: 1199px) {
    .section-heading .heading-h2 {
      padding-bottom: 10px;
      border-bottom-width: 2px; } }

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

.cmn-hero-banner, .hero_section {
  position: relative;
  flex-direction: column; }
  .cmn-hero-banner::before, .hero_section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(10, 28, 44, 0.8), rgba(10, 28, 44, 0.8));
    z-index: 1; }
  .cmn-hero-banner .divImg, .hero_section .divImg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .cmn-hero-banner .container, .hero_section .container {
    position: relative;
    color: #fff;
    align-items: center;
    flex-grow: 1;
    justify-content: center;
    z-index: 1; }
    .cmn-hero-banner .container h1, .hero_section .container h1 {
      margin-bottom: 20px; }
    .cmn-hero-banner .container p, .hero_section .container p {
      margin: 0;
      font-size: 20px;
      line-height: 30px; }

.post-faq-area {
  padding: 100px 0;
  position: relative; }
  @media only screen and (max-width: 1400px) {
    .post-faq-area {
      padding: 30px 0 70px; } }
  .post-faq-area .container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .post-faq-area .container {
        flex-wrap: wrap; } }
    .post-faq-area .container .faq-questions {
      float: right;
      width: calc(100% - 360px); }
      @media only screen and (max-width: 1400px) {
        .post-faq-area .container .faq-questions {
          width: calc(100% - 320px); } }
      @media only screen and (max-width: 999px) {
        .post-faq-area .container .faq-questions {
          width: calc(100% - 240px); } }
      @media only screen and (max-width: 767px) {
        .post-faq-area .container .faq-questions {
          max-width: 100%;
          width: 100%; } }
      .post-faq-area .container .faq-questions .fqa-wrap {
        width: 100%; }
        .post-faq-area .container .faq-questions .fqa-wrap .question-wrapper {
          width: 100%;
          margin-top: 80px; }
          @media only screen and (max-width: 1400px) {
            .post-faq-area .container .faq-questions .fqa-wrap .question-wrapper {
              margin-top: 50px; } }
          .post-faq-area .container .faq-questions .fqa-wrap .question-wrapper:first-child {
            margin-top: 23px; }
            @media only screen and (max-width: 1400px) {
              .post-faq-area .container .faq-questions .fqa-wrap .question-wrapper:first-child {
                margin-top: 18px; } }
            @media only screen and (max-width: 767px) {
              .post-faq-area .container .faq-questions .fqa-wrap .question-wrapper:first-child {
                margin-top: 40px; } }
          .post-faq-area .container .faq-questions .fqa-wrap .question-wrapper .section-heading .heading-h2 {
            margin-bottom: 15px; }
    .post-faq-area .container .faq-cat {
      width: 100%;
      max-width: 300px;
      position: sticky;
      top: 152px; }
      @media only screen and (max-width: 999px) {
        .post-faq-area .container .faq-cat {
          max-width: 210px;
          top: 102px;
          background-color: #fff;
          z-index: 1; } }
      @media only screen and (max-width: 767px) {
        .post-faq-area .container .faq-cat {
          max-width: 100%;
          width: 100%;
          display: none; } }
      .post-faq-area .container .faq-cat ul li {
        padding: 0;
        margin-bottom: 10px !important; }
        @media only screen and (max-width: 999px) {
          .post-faq-area .container .faq-cat ul li {
            margin-bottom: 5px !important; } }
        .post-faq-area .container .faq-cat ul li::before {
          display: none; }
    .post-faq-area .container .ui-accordion .ui-accordion-header {
      border-top: transparent; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMvZmFxLmNzcyIsInNvdXJjZXMiOlsicGFnZXMvZmFxLnNjc3MiLCJhcHAuc2NzcyIsImNvbW1vbi9fdmFyaWFibGUuc2NzcyIsImNvbW1vbi9fZnVuY3Rpb24uc2NzcyIsImNvbW1vbi9fbWl4aW4uc2NzcyIsImNvbW1vbi9fZm9udHMuc2NzcyIsImxheW91dC9fbGF5b3V0LnNjc3MiLCJsYXlvdXQvX2Jhc2Uuc2NzcyIsImxheW91dC9faGVscGVyQ2xhc3Muc2NzcyIsImxheW91dC9fYnV0dG9uLnNjc3MiLCJsYXlvdXQvX2Zvcm1Db250cm9sLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxpYi9fYWNjb3JkaWFuLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uL2FwcFwiO1xyXG5AaW1wb3J0IFwiLi4vbGliL2FjY29yZGlhblwiO1xyXG5cclxuLnNlY3Rpb24taGVhZGluZ3tcclxuICAgIC5oZWFkaW5nLWgyeyBcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHJueS1nb2xkOyBcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDoycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbiAgICAgLmNtbi1wYXJhZ3JhcGhzeyBcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyAgIFxyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgIFxyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyBcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7IFxyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIFxyXG59XHJcblxyXG4uY21uLWhlcm8tYmFubmVyLCAuaGVyb19zZWN0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vbWluLWhlaWdodDogNDAwcHg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBcclxuICAgIC8vbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAvL21pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgfSBcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgLy9taW4taGVpZ2h0OiAyMjBweDsgXHJcbiAgICB9XHJcbiAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMTAsIDI4LCA0NCwgMC44KSwgcmdiYSgxMCwgMjgsIDQ0LCAwLjgpKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmRpdkltZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAgXHJcbiAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfSBcclxuICAgIC5jb250YWluZXIgeyBcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAvL3BhZGRpbmc6IDUwcHggMjIuNXB4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG4gICAgICAgIGZsZXgtZ3JvdzogMTsgXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59IFxyXG5cclxuLnBvc3QtZmFxLWFyZWEge1xyXG4gICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDcwcHg7IFxyXG4gICAgfSAgXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mYXEtcXVlc3Rpb25zIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzYwcHgpO1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMyMHB4KTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZxYS13cmFwIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBcclxuICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC5xdWVzdGlvbi13cmFwcGVyIHsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDsgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyM3B4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRpbmcgeyAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmhlYWRpbmctaDJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgXHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLmZhcS1jYXQge1xyXG4gICAgXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAgXHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgICAgIHRvcDogMTUycHg7XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTBweDsgXHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwMnB4OyBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHsgXHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IFxyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBcclxuICAgICAgICB9IFxyXG4gICAgICAgIC51aS1hY2NvcmRpb24ge1xyXG4gICAgICAgICAgICAudWktYWNjb3JkaW9uLWhlYWRlcntcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufVxyXG4iLCIvKioqIENvbW1vbiBTQUFTIEZJTEVTICoqKi9cclxuXHJcbkBpbXBvcnQgXCJjb21tb24vdmFyaWFibGVcIjtcclxuQGltcG9ydCBcImNvbW1vbi9mdW5jdGlvblwiO1xyXG5AaW1wb3J0IFwiY29tbW9uL21peGluXCI7XHJcbkBpbXBvcnQgXCJjb21tb24vZm9udHNcIjsgIFxyXG5cclxuLyoqKiBDb21tb24gTGF5b3V0ICAqKiovXHJcbiBcclxuQGltcG9ydCBcImxheW91dC9sYXlvdXRcIjsgIFxyXG4vL0BpbXBvcnQgXCJsYXlvdXQvb2xkLXBvcHVwXCI7ICAgICAgXHJcblxyXG4vKioqIENvbW1vbiBMaWJyYXJ5ICoqKi8gICBcclxuLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciAudWktaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn0gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgXHJcbiNsb2dpbiwuY29tcGFueS1hZGRyZXNzLCNBZGRUb0Zhdm9yaXRlc1dpbmRvdywjc2VydmVyLWlkeyBcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgICAgIFxyXG59ICAgICAgXHJcbiAgICAgICAgXHJcblxyXG4gICRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkV1cm9wYVwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICRoZWFkaW5ncy1mb250LWZhbWlseTogXCJFdXJvcGFcIiwgXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxuICAkZm9udC1mYW1pbHktaWNvbnM6IFwiZm9udC1hd2Vzb21lXCI7XHJcbiAgXHJcbiAgJGJsb2NrLXF1b3RlLWZvbnQtZmFtaWx5OiBcIkV1cm9wYVwiLCBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcImxpbm90eXBlLXNhYm9uXCIsIFwiTG9yYVwiIHNlcmlmO1xyXG4gIFxyXG4gICRmb250LXNpemUtYmFzZTogMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXHJcbiAgJGgxLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi44O1xyXG4gICRoMi1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDIuMjtcclxuICAkaDMtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjU7XHJcbiAgJGg0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS4zO1xyXG4gICRoNS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuMTtcclxuICAkcC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICAkYmxvY2txdW90ZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuNTtcclxuICAkc21hbGwtZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xyXG4gICR4cy1mb250LXNpemU6IDAuOHJlbTtcclxuICAkZm9vdGVyLW1lbnUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjI7XHJcbiAgXHJcbiAgJGgxLWxpbmUtaGVpZ2h0OiA1NHB4O1xyXG4gICRoMi1saW5lLWhlaWdodDogNDZweDtcclxuICBcclxuICAkdGV4dC1zaGFkb3c6IDRweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XHJcbiAgJGJveC1zaGFkb3c6IDJweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgJHRleHQtc2hhZG93LWxpZ2h0OiAkYm94LXNoYWRvdztcclxuICAkdG9vbHRpcC1ib3gtc2hhZG93OiA0cHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gXHJcblxyXG4gXHJcbiAgICBcclxuXHJcblxyXG5cclxuIFxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiBcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gXHJcblxyXG5cclxuXHJcblxyXG4gIFxyXG4vLyBSb3lhbCBOWSBBZGRlZCBvdmVycmlkZXMgdG8gZml4IFBlcnBldHVhbCBIZWFkZXIgLyBGb290ZXIgbWVyZ2Ugd2l0aCBvbGQgcGFnZXNcclxuXHJcbmgyLnRleHQtY2FwaXRhbGl6ZS50ZXh0LWNlbnRlci5mb3JtLWhlYWRpbmcge1xyXG4gIHdpZHRoOjEwMCU7IFxyXG4gIGhlaWdodDoxMjVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LW5hdnktYmx1ZTtcclxuICBwYWRkaW5nOjIycHg7XHJcbiAgbWFyZ2luOjBweDtcclxuICBsZWZ0OjA7XHJcbiAgcmlnaHQ6MDtcclxufVxyXG5cclxuLy8gLndvb2NvbW1lcmNlLWVycm9yIGxpIC53Yy1mb3J3YXJkIHtcclxuLy8gICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLy8gLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XHRcdFxyXG4vLyAgIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcbi5zZWN0aW9uIHtcclxuICBtYXJnaW4tdG9wOjFweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG51bCwgdWwgbGkge1xyXG4gIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnVsIHtcclxuICBtYXJnaW4tYm90dG9tOjBweCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctYm90dG9tOjBweDtcclxufVxyXG5cclxuXHJcbi8vIERhc2hib2FyZC8gTXktYWNjb3VudCBsYW5kaW5nIHBhZ2UgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4uc2VjdGlvbi5hY2NvdW50X25hdl9zZWN0aW9uIHtcclxuICBwYWRkaW5nLXRvcDogMXJlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICBcclxuICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gIC8vICAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxuICAvLyAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcblxyXG4gIC8vIH1cclxuXHJcbiAgLy8gaG9yaXpvbnRhbCBzY3JvbGwgdXAgdG8gbGFyZ2UgYnAuXHJcbiAgLmNvbnRhaW5lcntcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAvLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgIC8vICAgICBtYXgtd2lkdGg6IDk2MHB4O1xyXG4gICAgICAvLyB9IFxyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgLy8gICAgIG1heC13aWR0aDogMTI3NHB4O1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAgICAgLy8gICAgIG1heC13aWR0aDogMTU0MHB4O1xyXG4gICAgICAvLyB9IFxyXG4gIH1cclxuICBcclxuICAvLyBhY2NvdW50IG5hdmlnYXRpb24gbGlua3MgLy9cclxuICAuYWNjb3VudC1uYXYtY29udGFpbmVyIHtcclxuICAgICAgLy8gaGVpZ2h0OiA1cmVtO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgIC8vICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIC8vICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAuYWNjb3VudC1uYXYge1xyXG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgIC8vICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgLy8gICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgLy8gICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgLy8gICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxMjc0cHg7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAoeHhsYXJnZSkge1xyXG4gICAgICAgICAgLy8gICAgIG1heC13aWR0aDogMTU0MHB4O1xyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgICAgIC8vICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYWNjb3VudC1saW5rIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtO1xyXG4gICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuXHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICY6aG92ZXIsIFxyXG4gICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcclxuXHJcbiAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgYSB7IFxyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcclxuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGMteWVsbG93O1xyXG5cclxuICAgICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XHJcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4uc2VjdGlvbi1wcm9maWxlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xyXG4gIFxyXG4gIGgxIHtcclxuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuICB9XHJcbiAgXHJcbiAgLnByb2ZpbGUtZGV0YWlscyxcclxuICAucHJvZmlsZS1hZGRyZXNzLFxyXG4gIC5wcm9maWxlLWJpbGwtc2hpcCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICAgICAgXHJcbiAgICAgLmg0IHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9maWxlLWJpbGwtc2hpcFxyXG5cclxuXHJcblxyXG4gIC5sYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG5cclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLW9yZGVycyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cclxuICBoMyB7XHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgLnBhbmVsIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XHJcbiAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgIC8vICAgICBtaW4taGVpZ2h0OiAyN3JlbTtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cclxuICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmFsZXJ0IHtcclxuICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBwLnRleHQtcmVkLWFsZXJ0IHtcclxuICAgICAgICAgIGNvbG9yOiAkYy1yZWQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHAudGV4dC1vcmFuZ2UtYWxlcnQge1xyXG4gICAgICAgICAgY29sb3I6ICRjLW9yYW5nZS1hbGVydDtcclxuICAgICAgfVxyXG4gICAgICAgICBcclxuICAgICAgLnN0YWNrZWQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICBhIHtcclxuICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgfVxyXG5cclxuICAgICAgICAgbGkgPiBwIHtcclxuICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwLjg3NWVtIDIuNXJlbTtcclxuICAgICAgICAgIG1pbi13aWR0aDogMTByZW07XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfSBcclxufVxyXG5cclxuLnNlY3Rpb24tbWFya2V0aW5nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5wYW5lbC1wZGYge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyYXktbGlnaHQ7XHJcbiAgcGFkZGluZzogMnJlbSAycmVtIDAgMnJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtaW4td2lkdGg6IDIwJTtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICBhIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xyXG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRyYWRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuICBAaW5jbHVkZSByb3VnaC1lZGdlKCRjLWJsdWUtbGlnaHQsIHRvcCk7XHJcblxyXG4gLnRyYWRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgIC8vICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG5cclxuICAgICAgLy8gfVxyXG4gICAgICAucm91bmRlZC1jaXJjbGUge1xyXG5cclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWF4LWhlaWdodDogMTByZW07XHJcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxMHJlbTtcclxuICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEwcmVtO1xyXG4gICAgICAgICAgLy8gICAgIHdpZHRoOiAxMHJlbTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgIC8vICAgICBtYXgtaGVpZ2h0OiAxMnJlbTtcclxuICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDEycmVtO1xyXG4gICAgICAgICAgLy8gICAgIGhlaWdodDogMTJyZW07XHJcbiAgICAgICAgICAvLyAgICAgd2lkdGg6IDEycmVtO1xyXG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICBcclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWF4LWhlaWdodDogMTRyZW07XHJcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNHJlbTtcclxuICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDE0cmVtO1xyXG4gICAgICAgICAgLy8gICAgIHdpZHRoOiAxNHJlbTtcclxuICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XHJcbiAgICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgIFxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAoeHhsYXJnZSkge1xyXG4gICAgICAgICAgLy8gICAgIG1heC1oZWlnaHQ6IDE2cmVtO1xyXG4gICAgICAgICAgLy8gICAgIG1heC13aWR0aDogMTZyZW07XHJcbiAgICAgICAgICAvLyAgICAgaGVpZ2h0OiAxNnJlbTtcclxuICAgICAgICAgIC8vICAgICB3aWR0aDogMTZyZW07XHJcbiAgICAgICAgICAvLyB9XHRcdFx0XHJcbiAgICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAudHJhZGVyLWluZm8ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGgyIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgIC8vICAgICBmb250LXNpemU6ICRoMy1mb250LXNpemU7XHJcblxyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBoZWFkZXIgc2VjdGlvbnMgLy9cclxuLnNlY3Rpb24uc2VjdGlvbi1tYXJrZXRpbmctaGVhZGVyLFxyXG4uc2VjdGlvbi5zZWN0aW9uLXJlc2VydmVzLWhlYWRlcixcclxuLnNlY3Rpb24uc2VjdGlvbi1vcmRlcnMtaGVhZGVyIHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICBcclxuICBoMSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgLy8gICAgIHBhZGRpbmc6IDAgMS41cmVtO1xyXG4gICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgLy8gfVxyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlcmluZyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBcclxuICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gIC8vICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAvLyAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIC8vIH1cclxuXHJcbiAgcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDNyZW07XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAvLyAgICAgbWF4LXdpZHRoOiA0MCU7XHJcbiAgICAgIC8vIH1cclxuICAgICAgXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAvLyAgICAgd2lkdGg6IDExcmVtO1xyXG4gICAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAjZGF0ZSxcclxuICAjYWxwaGFiZXRpY2FsIHtcclxuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgIC8vICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAvLyAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLW9yZGVycy1oZWFkZXIge1xyXG4gIC5maWx0ZXJpbmcge1xyXG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAvLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIC8vIH1cclxuICAgICAgXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAvLyAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgICAvLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gcCB7XHJcbiAgICAgIC8vICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgXHJcblxyXG4gICAgICAvLyAgICAgfVxyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgIG1heC13aWR0aDogMTFyZW07XHJcblxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1wYXN0LXB1Y2hhc2VzLFxyXG4uc2VjdGlvbi1tYXJrZXRpbmctaGVhZGVyLFxyXG4uc2VjdGlvbi1yZXNlcnZlcy1oZWFkZXIge1xyXG4gIC5maWx0ZXJpbmcge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgLy8gICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMHJlbTtcclxuICAgICAgICAgIG1pbi13aWR0aDogMnJlbTtcclxuICAgICAgfVxyXG4gIH1cclxufSBcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBjb250ZW50IHNlY3Rpb25zXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4uc2VjdGlvbi5zZWN0aW9uLW9yZGVycy13aXNobGlzdCxcclxuLnNlY3Rpb24uc2VjdGlvbi1vcmRlcnMtY29udGVudCxcclxuLnNlY3Rpb24uc2VjdGlvbi1tYXJrZXRpbmctY29udGVudCB7XHJcbiAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gIC8vICAgICBwYWRkaW5nLXRvcDogMXJlbTtcclxuICAvLyB9XHJcbiBcclxuICAvLyBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAvLyAgICAgcGFkZGluZy10b3A6IDJyZW07XHJcbiAgLy8gfVxyXG5cclxuICAvLyBoMyB7XHJcbiAgLy8gICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgLy8gICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcclxuICAvLyAgICAgfVxyXG4gIC8vIH1cclxufVxyXG5cclxuXHJcblxyXG4uc2VjdGlvbi1wYXN0LXB1Y2hhc2VzIHtcclxuXHJcbiAgLm9mZmVyaW5nLWl0ZW0ge1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgLmdyaWQtaGVhZGVyIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ncmlkLWZvb3RlciB7XHJcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgIC8vICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgLy8gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgLy8gICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gLnBhZ2luYXRpb24tYm90dG9tIHtcclxuXHJcbiAgLy8gfVxyXG59XHJcblxyXG4jZGFzaGJvYXJkVG9wIHtcclxuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOmF1dG87XHJcbiAgd2lkdGg6MTAwJTtcclxuICBwYWRkaW5nOjBweDtcclxufVxyXG5cclxuI215LWFjY291bnQtY29tcGFueS1uYW1lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgaGVpZ2h0OiAxNTBweCA7XHJcbiAgbGluZS1oZWlnaHQ6MTUwcHg7XHJcbiAgZm9udC1zaXplOjIuMmVtO1xyXG4gIGZsb2F0OmxlZnQ7XHJcbiAgbWFyZ2luOjJweDtcclxuICBwYWRkaW5nOjNweDtcclxufVxyXG5cclxuI2N1c3RvbWVyTG9nb19kYXNoYm9hcmQge1xyXG4gIG1hcmdpbi10b3A6LTFweDtcclxufVxyXG5cclxuI215LWFjY291bnQge1xyXG5cclxuI2Rhc2hCdXR0b25zIHtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICByaWdodDogMDtcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xyXG4gIG1hcmdpbi1yaWdodDogOSU7XHJcbiAgbWFyZ2luLXRvcDogMTEwcHg7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgei1pbmRleDo5ODtcclxuXHJcbiAgZGl2OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5Oi43ODtcclxuICAgIHRyYW5zaXRpb246IC43NXM7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG4gICAgbWFyZ2luLXRvcDogMTA3cHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbn1cclxuXHJcbiNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgbWFyZ2luOjBweDtcclxuICBwYWRkaW5nOjBweDtcclxuICAvKm1hcmdpbi10b3A6LTU1cHg7Ki9cclxufVxyXG5cclxuI215LWFjY291bnQtYm9keSB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgZGlzcGxheTpibG9jaztcclxuICBtYXJnaW4tdG9wOi0xMHB4O1xyXG59XHJcblxyXG4ubG9nb3V0QnRuIHtcclxuICBmb250LXNpemU6IC44N2VtICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uYXZfY29udGFpbmVyIHtcclxuICB3aGl0ZS1zcGFjZTpub3dyYXA7XHJcbn1cclxuXHJcbiNteS1hY2NvdW50IHtcclxuICAgIC5kYXNoX25hdiB7XHJcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhc2hfbmF2IGxpLCAgLmRhc2hfbmF2MiBsaSB7XHJcbiAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxNDBweDtcclxuICAgIC8vIGZvbnQtc2l6ZTogLjgzZW07XHJcbiAgICAvLyBmb250LXdlaWdodDogYm9sZDtcclxuICAgIC8vaGVpZ2h0OiAzNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luOiAwcHggMXB4IDBweCAxcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXNoX25hdiBsaSBkaXYsIC5kYXNoX25hdjIgbGkgZGl2IHtcclxuICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvL2hlaWdodDogMzVweDtcclxuICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIGJhY2tncm91bmQ6ICNlZmVmZWY7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6NXB4O1xyXG4gICAgLy8gcGFkZGluZy10b3A6IDZweDtcclxuICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC8vIGZvbnQtc2l6ZTogLjk1ZW07XHJcbiAgICAvLyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZkZmRmO1xyXG4gICAgLy8gdHJhbnNpdGlvbi1kdXJhdGlvbjogLjg4cztcclxuICAgIH1cclxuXHJcbiAgICAvLyB1bC5kYXNoX25hdiBsaTpob3ZlciwgLmRhc2hfbmF2IGxpIGRpdjpob3ZlciB7XHJcbiAgICAvLyAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNiNzkyMjA7XHJcbiAgICAvLyAgIC8vIGNvbG9yOiNmZmZmZmY7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLnNlbGVjdGVkVGFiIHtcclxuICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBoZWlnaHQ6IDM4cHg7XHJcbiAgICAvLyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAvLyBwYWRkaW5nLXRvcDogNnB4O1xyXG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLy8gZm9udC1zaXplOiAuOTVlbTtcclxuICAgIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGZkZmRmICFpbXBvcnRhbnQ7XHJcbiAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZmRmZGYgIWltcG9ydGFudDtcclxuICAgIC8vIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZmRmZGYgIWltcG9ydGFudDtcclxuICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAvLyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xyXG4gICAgY29sb3I6I2I3OTIyMDtcclxuICAgIH1cclxuXHJcbiAgICAuZGFzaF9uYXYyIGxpIGRpdjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNThzO1xyXG4gICAgY29sb3I6ICNiNzkyMjA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdGVkVGFiOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41OHM7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgY29sb3I6ICNiNzkyMjA7XHJcbiAgICB9XHJcblxyXG4gICAgI215QWNjb3VudENvZmZlZSwgI215QWNjb3VudFRlYSwgI215QWNjb3VudExhYiB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI2Rhc2hib2FyZF9ib2R5IHtcclxuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xyXG4gICAgbWluLWhlaWdodDogNDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI2Rhc2hib2FyZF9ib2R5IGRpdi5jb250ZW50VGFiIHtcclxuICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICNDb2ZmZWUsICNUZWEsICNMYWIge1xyXG4gICAgY29sb3I6ICMzNDNhNDA7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBtYXJnaW46IDFweDtcclxuICAgIG1pbi13aWR0aDogMTkwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICNDb2ZmZWU6aG92ZXIsICNUZWE6aG92ZXIsICNMYWI6aG92ZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMwNzFjMmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOSwgMjQ3LCAyNTIsIDAuNjApO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjouODhzO1xyXG4gICAgfVxyXG5cclxuICAgICNDb2ZmZWUgaW1nLCAjVGVhIGltZywgI0xhYiBpbWcgeyAgICAgICAgICAgIFxyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwNXB4O1xyXG4gICAgICAgIG1hcmdpbjotMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG4gICAgICAgICNDb2ZmZWUgaW1nLCAjVGVhIGltZywgI0xhYiBpbWcgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjotMTZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0ZWREYXNoQnV0dG9uLCAuc2VsZWN0ZWREYXNoQnV0dG9uOmhvdmVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZjMTA3ICFpbXBvcnRhbnQ7XHJcbiAgICAvLyBiYWNrZ3JvdW5kOiByZ2IoMjM5LDI0NywyNTIpO1xyXG4gICAgLy8gYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDIzOSwyNDcsMjUyLDApIDAlLCByZ2JhKDIzOSwyNDcsMjUyLDEpIDYwJSk7XHJcbiAgICAvLyBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LDI0NywyNTIsMCkgMCUsIHJnYmEoMjM5LDI0NywyNTIsMSkgNjAlKTtcclxuICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LDI0NywyNTIsMCkgMCUsIHJnYmEoMjM5LDI0NywyNTIsMSkgNjAlKTtcclxuICAgIC8vIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9XCIjZWZmN2ZjXCIsZW5kQ29sb3JzdHI9XCIjZWZmN2ZjXCIsR3JhZGllbnRUeXBlPTEpO1xyXG4gICAgLy8gdHJhbnNpdGlvbi1kdXJhdGlvbjogLjY4cztcclxuICAgIH1cclxuXHJcbiAgICAjbXlBY2NvdW50Q29mZmVlLCAjbXlBY2NvdW50VGVhLCAjbXlBY2NvdW50TGFiIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAjZm9vdGVyVHJhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA5OS4xdnc7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI2Zvb3RlclRyYWRlckFmdGVyIHtcclxuICAgIGhlaWdodDogNDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLyogU3R5bGUgdGhlIHRhYiAqL1xyXG4gICAgLnRhYiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBTdHlsZSB0aGUgYnV0dG9ucyB0aGF0IGFyZSB1c2VkIHRvIG9wZW4gdGhlIHRhYiBjb250ZW50ICovXHJcbiAgICAudGFiIGJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xyXG4gICAgdHJhbnNpdGlvbjogMC4zcztcclxuICAgIGNvbG9yOiAjNTc4NTg3O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIENoYW5nZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGJ1dHRvbnMgb24gaG92ZXIgKi9cclxuICAgIC50YWIgYnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQ3JlYXRlIGFuIGFjdGl2ZS9jdXJyZW50IHRhYmxpbmsgY2xhc3MgKi9cclxuICAgIC50YWIgYnV0dG9uLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFN0eWxlIHRoZSB0YWIgY29udGVudCAqL1xyXG4gICAgLnRhYmNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYmNvbnRlbnQge1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlRWZmZWN0IDFzOyAvKiBGYWRpbmcgZWZmZWN0IHRha2VzIDEgc2Vjb25kICovXHJcbiAgICB9XHJcblxyXG4gICAgLyogR28gZnJvbSB6ZXJvIHRvIGZ1bGwgb3BhY2l0eSAqL1xyXG4gICAgQGtleWZyYW1lcyBmYWRlRWZmZWN0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI2FjY291bnRTaGlwcGluZ0FkZHJlc3MsICNhY2NvdW50QmlsbGluZ0FkZHJlc3Mge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWF4LXdpZHRoOiA0OCU7XHJcbiAgICB3aWR0aDogNDglO1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcclxuICAgIHBhZGRpbmc6IDE0cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMSU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMDAsMTAwLDEwMCwuMjUpO1xyXG4gICAgYm94LXNoYWRvdzoycHggMnB4IDRweCByZ2JhKDEwMCwxMDAsMTAwLC4xNSk7XHJcbiAgICB9XHJcblxyXG4gICAgI2FjY291bnRTaGlwcGluZ0FkZHJlc3MgZGl2LCAjYWNjb3VudEJpbGxpbmdBZGRyZXNzIGRpdiB7XHJcbiAgICBtaW4taGVpZ2h0OiAxNzBweDtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudFRhYiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIC52LWFsaWduLXRvcCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgI2Rhc2hEcm9wZG93biB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC50cnVuY2F0ZVRleHQgeyAgICBcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBmb250LXNpemU6LjllbTtcclxuICAgIH1cclxuICAgIC5zYW1wbGUtZmVlZGJhY2staGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMwNzFjMmY7XHJcbiAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIC5zYW1wbGVSZXF1ZXN0cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZGFzaF9kcm9wIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhc2hfbmF2IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI215LWFjY291bnQtYm9keVxyXG4udGl0bGUsXHJcbiNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiBcclxuLnRpdGxlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uc2FtcGxlUmVxdWVzdFRhYmxlIHRoIHtcclxuICB0ZXh0LWFsaWduOmNlbnRlcjtcclxufVxyXG5cclxuLmZsZXhUYWJsZSB0ciB0ZCB7XHJcbiAgcGFkZGluZzozcHg7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xyXG4gIGZvbnQtc2l6ZTouODhlbTtcclxufVxyXG5cclxuLm1vYmlsZS1sYWJlbCB7XHJcbiAgZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4jbXktYWNjb3VudC1sb2dvLWltZyB7XHJcbiAgcGFkZGluZzogMjVweDtcclxuICBoZWlnaHQ6IDE1MHB4O1xyXG4gIHdpZHRoOiAyMDBweDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbjoxNXB4O1xyXG59XHJcblxyXG5cclxuLy8gQ0FSVCBTVFlMRVNcclxuXHJcblxyXG4udXBkYXRlX2NhcnRfY3VzdG9tIHtcclxuICBwYWRkaW5nOiAzcHggIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcclxuICB3aWR0aDogOTBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1sZWZ0OiA0cHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLypcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLWRlc2t0b3ApIHtcclxuICAud29vY29tbWVyY2Uge1xyXG4gICAgICAvLyBub3RpY2VzXHJcbiAgICAgIC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjYXJ0IGVtcHR5IHBhZ2VcclxuICAgICAgcC5jYXJ0LWVtcHR5IHtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICBmb250LXNpemU6ICRoMi1mb250LXNpemUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNlY3Rpb24tZmVhdHVyZWQtZm9vdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgICAvL0BpbmNsdWRlIHJvdWdoLWVkZ2UoJGMtYmx1ZS1saWdodCwgdG9wKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBDYXJ0IC8vXHJcbiAgICAgIC5jYXJ0LXNlY3Rpb24ge1xyXG4gICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucm95YWwtYWNjb3VudC1hbGVydCB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1yZWQtYWxlcnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcblxyXG4gICAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0cjpudGgtY2hpbGQoMm4pIHRkIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAudGFibGUtc3RyaXBlZCB7XHJcbiAgICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgICB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIHRyOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIC5jYXJ0X2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNHJlbTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtdGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLnF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIC5hY3Rpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gLmNhcnQtdG90YWwtd2VpZ2h0LXRpdGxlIHtcclxuICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAvLyAuY2FydC10b3RhbC13ZWlnaHQge1xyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIC8vIC5jYXJ0LXRvdGFsLWJhZy10aXRsZSB7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gLmNhcnQtdG90YWwtYmFnIHtcclxuICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICBhLnJlbW92ZSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjLXJlZC1hbGVydCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcclxuXHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXJlZC1hbGVydCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHtcclxuICAgICAgICAgICAgICAuY2FydF90b3RhbHMge1xyXG4gICAgICAgICAgICAgICAgICAuc2hvcF90YWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xyXG4gICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcigkYy1ncmVlbik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGNoZWNrb3V0IC8gYmlsbGluZyBkZXRhaWxzIC8vXHJcbiAgICAgIC5jaGVja291dCB7XHJcbiAgICAgICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyIHtcclxuICAgICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIC5vcmRlci10b3RhbCB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50LFxyXG4gICAgICAgICAgI3BheW1lbnQge1xyXG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1ncmVlbjtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgLnBheW1lbnRfbWV0aG9kcyB7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAud2NfcGF5bWVudF9tZXRob2Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLypwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JheS1tZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDMycHggKyAuNXJlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMC4xNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8qaGVpZ2h0OiA0cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC5pcy1jaGVja2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsdWUtZGFyazsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZS1kYXJrOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxM3B4OyBcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlucHV0W2NoZWNrZWQ9XCJjaGVja2VkXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbY2hlY2tlZD1cImNoZWNrZWRcIl0gKyBsYWJlbDo6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uaXMtY2hlY2tlZCArIGxhYmVsOjphZnRlcixcclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXS5pcy1jaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gLjVyZW0gLjVyZW0gMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIC5wYXltZW50X2JveCB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFlbSBzb2xpZCAkYy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNnJlbTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIC52YWxpZGF0ZS1yZXF1aXJlZCB7XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLndvb2NvbW1lcmNlLXZhbGlkYXRlZCB7XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFyZW07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmJ0bi1wcmltYXJ5IHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcclxuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcigkYy1ncmVlbik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIHRoYW5rIHlvdSAvLyBvcmRlciByZWNlaXZlZCAob3Igbm90Li4uKVxyXG4gICAgICAud29vY29tbWVyY2Utb3JkZXIge1xyXG5cclxuICAgICAgICAgIC53b29jb21tZXJjZS1ub3RpY2Uge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuXHJcbiAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBsaS5vcmRlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcclxuICAgICAgICAgICAgICAub3JkZXJfZGV0YWlscyB7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRmb290IHtcclxuICAgICAgICAgICAgICAgICAgdHI6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBjYXJ0IGVtcHR5IHBhZ2VcclxucC5jYXJ0LWVtcHR5IHtcclxuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICBwYWRkaW5nOjFlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcblxyXG4gICAgLmhlYWRlci1tZW51IHtcclxuICAgICAgICB0b3A6NTdweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAud29vY29tbWVyY2Uge1xyXG4gICAgICAvLyBub3RpY2VzXHJcbiAgICAgIC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjYXJ0IGVtcHR5IHBhZ2VcclxuICAgICAgcC5jYXJ0LWVtcHR5IHtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuMDRlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgcGFkZGluZzoxZW0gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNlY3Rpb24tZmVhdHVyZWQtZm9vdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcbiAgICAgICAgICAvL0BpbmNsdWRlIHJvdWdoLWVkZ2UoJGMtYmx1ZS1saWdodCwgdG9wKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBDYXJ0IC8vXHJcbiAgICAgIC5jYXJ0LXNlY3Rpb24ge1xyXG4gICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucm95YWwtYWNjb3VudC1hbGVydCB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1yZWQtYWxlcnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcblxyXG4gICAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0cjpudGgtY2hpbGQoMm4pIHRkIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAudGFibGUtc3RyaXBlZCB7XHJcbiAgICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgICB0cjpudGgtb2YtdHlwZShvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIHRyOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIC5jYXJ0X2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNHJlbTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtdGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLnF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIC5hY3Rpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyAuY2FydC10b3RhbC13ZWlnaHQtdGl0bGUge1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgLy8gLmNhcnQtdG90YWwtd2VpZ2h0IHtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIC8vIC5jYXJ0LXRvdGFsLWJhZy10aXRsZSB7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAvLyAuY2FydC10b3RhbC1iYWcge1xyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIGEucmVtb3ZlIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGMtcmVkLWFsZXJ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcmVkLWFsZXJ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmNhcnQtY29sbGF0ZXJhbHMge1xyXG4gICAgICAgICAgICAgIC5jYXJ0X3RvdGFscyB7XHJcbiAgICAgICAgICAgICAgICAgIC5zaG9wX3RhYmxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAud2MtcHJvY2VlZC10by1jaGVja291dCB7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtZ3JlZW4pO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2hlY2tvdXQgLyBiaWxsaW5nIGRldGFpbHMgLy9cclxuICAgICAgLmNoZWNrb3V0IHtcclxuICAgICAgICAgIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIge1xyXG4gICAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLm9yZGVyLXRvdGFsIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQsXHJcbiAgICAgICAgICAjcGF5bWVudCB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblxyXG5cclxuICAgICAgICAgICAgICAucGF5bWVudF9tZXRob2RzIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC53Y19wYXltZW50X21ldGhvZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5LW1lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMzJweCArIC41cmVtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0wLjE1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLypoZWlnaHQ6IDRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWwuZC1mbGV4IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAuaXMtY2hlY2tlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlLWRhcms7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsdWUtZGFyazsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBpbnB1dFtjaGVja2VkPVwiY2hlY2tlZFwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6OmFmdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W2NoZWNrZWQ9XCJjaGVja2VkXCJdICsgbGFiZWw6OmFmdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmlzLWNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0uaXMtY2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0LjFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ncmF5LW1lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIC41cmVtIC41cmVtIDEuMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSxcclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAucGF5bWVudF9ib3gge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvKmJvcmRlcjogMWVtIHNvbGlkICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNXJlbTtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLnZhbGlkYXRlLXJlcXVpcmVkIHtcclxuICAgICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAud29vY29tbWVyY2UtdmFsaWRhdGVkIHtcclxuICAgICAgICAgICAgICAgICAgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMXJlbTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYnRuLXByaW1hcnkge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gdGhhbmsgeW91IC8vIG9yZGVyIHJlY2VpdmVkIChvciBub3QuLi4pXHJcbiAgICAgIC53b29jb21tZXJjZS1vcmRlciB7XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW5vdGljZSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGxpLm9yZGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xyXG4gICAgICAgICAgICAgIC5vcmRlcl9kZXRhaWxzIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgdGZvb3Qge1xyXG4gICAgICAgICAgICAgICAgICB0cjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgYWRkcmVzcyB7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuKi9cclxuLy8gQ0FSVCBTVFlMRVNcclxuXHJcbiNjbGVhci1vZmZlcmluZ3MtZmlsdGVycyB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTp1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyA0MDQgU1RZTEVTXHJcblxyXG4vLyA0MDQgLyBwYWdlIG5vdCBmb3VuZCBcclxuLmVycm9yNDA0IHtcclxuICAuZXJyb3I0MDQtc2VhcmNoLFxyXG4gIC5lcnJvcjQwNC1zZWN0aW9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuXHJcbiAgfVxyXG4gIC5lcnJvcjQwNC1zZWN0aW9uIHtcclxuXHJcbiAgICAgIC5pbWctNDA0IHtcclxuICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDMwcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgYS5idG4tYmFjayB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAxLjFyZW0gMnJlbTtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICBcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIHAudGV4dC1zaXplLTQwNCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgaGVpZ2h0OiA2cmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMC42MjVyZW07XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNXJlbTtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5oMSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC50ZXh0LTQwNCB7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMzByZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgIFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgIC50ZXh0LXllbGxvdyB7XHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5lcnJvcjQwNC1zZWFyY2gge1xyXG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3JtIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWFyY2gtc3VibWl0IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyA0MDQgU1RZTEVTXHJcblxyXG4vLyBCVVRUT05TXHJcbiRidXR0b24tdGV4dC1jb2xvcjogI2ZmZjtcclxuJGJ1dHRvbi1iZy1jb2xvcjogIzIxNzU5YjtcclxuJGxpbmstY29sb3I6ICRidXR0b24tYmctY29sb3I7XHJcblxyXG4ldHJpYmUtYnV0dG9uLXNoYXJlZCB7XHJcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXN0eWxlOiB1bnNldDtcclxuICAgIHdpZHRoOiB1bnNldDtcclxuICAgIHBhZGRpbmc6IDlweCAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4udG9vbHRpcE5FVyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi50b29sdGlwTkVXW2RhdGEtdGl0bGVdOmhvdmVyOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aXRsZSk7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uYnRuLFxyXG5idXR0b24ge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XHJcbiAgICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1wcmludCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cclxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tb3V0bGluZSB7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkYy1ibHVlO1xyXG4gICAgY29sb3I6ICRjLWJsdWUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWJsdWUpO1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWU7XHJcbiAgICAgICAgY29sb3I6ICRjLWJsdWUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1iZy1kYXJrLWdyZWVuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuLWRhcms7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkYy1ncmVlbi1kYXJrO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ob3Zlci1saWdodCgkYy1ncmVlbi1kYXJrKTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1iZy1ncmVlbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyZWVuO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1iZy1ibHVlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWU7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtYmx1ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tYmctYmx1ZS1kYXJrLCAuYnRuLWJnLWRhcmstYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXItbGlnaHQoJGMtYmx1ZS1kYXJrKTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1iZy15ZWxsb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMteWVsbG93O1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93LWxpZ2h0O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLXllbGxvdyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tZG93bmxvYWQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuXHJcbiAgICAuaWNvbi1kb3dubG9hZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gc29jaWFsIHNoYXJpbmcsIGJsb2cgcG9zdHMgLy9cclxuXHJcbi5idG4tc2hhcmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgIC8vIHdpZHRoOiAzMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgIH1cclxufVxyXG5cclxuLmZiLXNoYXJlLFxyXG4ubGlua2VkaW4tc2hhcmUsXHJcbi50d2l0dGVyLXNoYXJlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAwLjJyZW07XHJcbiAgICAvLyBwYWRkaW5nLWxlZnQ6IDAuNHJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mYi1zaGFyZSB7XHJcblxyXG4gICAgLmZiLWxpa2UtY291bnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICAvLyBwYWRkaW5nOiAzcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50d2l0dGVyLXNoYXJlIHtcclxuICAgIC8vIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcclxuICAgIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogMC4ycmVtO1xyXG4gICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saW5rZWRpbi1zaGFyZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0I1O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDVEEgTElOSyBTVFlMRVMgLy9cclxuXHJcbi8vIGlubGluZS1zdHlsZSAvL1xyXG4uY3RhLFxyXG4ubmV4dC1wb3N0LXRleHQsXHJcbi5oZXJvLWN0YSxcclxuLmJsb2ctY3RhLFxyXG4udGVzdGltb25pYWwtbGluay1jdGEsXHJcbi5jdGEtaW5saW5lIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcblxyXG4gICAgLmN0YS1saW5rLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkYy1ibHVlO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgIC5jdGEtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJsb2ctY3RhIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8vIGJsb2cgZGV0YWlsIHBhZ2UgbmV4dCBwb3N0IGFycm93IC8vXHJcbi5uZXh0LXBvc3QtdGV4dCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgIC5jdGEtbGluay10ZXh0IHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xyXG5cclxuICAgICAgICAuY3RhLWljb24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGJ1dHRvbiBzdHlsZSAvL1xyXG5cclxuLmJ0bi1wcm9tby1jdGEsXHJcbi5jdGEtYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicChtZWRpdW0tbWF4KSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtbGluay10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtaW4td2lkdGg6IDhyZW07XHJcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogMS41cmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTNyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmN0YS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm5leHQtcG9zdC1hcnJvdyB7XHJcbiAgICAuY3RhLWxpbmstdGV4dCB7XHJcbiAgICAgICAgLmN0YS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pY29uLWFycm93IHtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMnB4O1xyXG59XHJcblxyXG5idXR0b24uc2VsZWN0IHtcclxuICAgIHBhZGRpbmc6IDZweCAyOHB4IDZweCAxMnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIGZpbHRlciBidXR0b25zLCBwaWxsIHN0eWxlXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uZmlsdGVyIHtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmZpbHRlci5idG4tb3V0bGluZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAkYy1ibHVlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLW1vYmlsZSB7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBwYWRkaW5nOiAuMjVyZW0gMS41cmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLnJlc2VydmVCdWJibGUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vLyBvdmVycmlkZSB0cmliZSBidXR0b24gY29sb3JcclxuLnRyaWJlLWNvbW1vbi1jLWJ0biB0cmliZS1jb21tb24tYy1idG4tLXNtYWxsLCAudHJpYmUtdGlja2V0c19faXRlbV9fcmVnaXN0cmF0aW9uX19zdWJtaXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC1yYWRpb19faW5wdXQudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC1yYWRpb19faW5wdXQsIGlucHV0W3R5cGU9XCJyYWRpb1wiXS50aWNrZXQtbWV0YSB7XHJcbiAgICBvcGFjaXR5OiAxMDA7XHJcbiAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyZWVuO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyZWVuO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIG92ZXJyaWRlIHRyaWJlIHJhZGlvIGJ1dHRvbiBjb2xvclxyXG4udHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXJhZGlvX19pbnB1dC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0udGlja2V0LW1ldGE6Y2hlY2tlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuY29udGFpbmVyLW1vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi1tb2JpbGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAvKmxpbmUtaGVpZ2h0OiAxMnB4OyovXHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtaW4td2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vYm9yZGVyOiAwO1xyXG4gICAgICAgIC8qdGV4dC1hbGlnbjogbGVmdDsqL1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZXNlcnZlQnViYmxlIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2OCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcmRlci1yZXNlcnZlIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHBhZGRpbmc6IC43NXJlbSAuNzVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgLm9yZGVyLXJlc2VydmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jYXBwbHktb2ZmZXJpbmdzLWZpbHRlcnMsICNjbGVhci1vZmZlcmluZ3MtZmlsdGVycywgI2FwcGx5LWNvdXJzZXMtZmlsdGVycywgI2NsZWFyLWNvdXJzZXMtZmlsdGVycyB7XHJcbiAgICBwYWRkaW5nOjJweDsgXHJcbiAgICBmb250LXNpemU6Ljg1ZW07IFxyXG4gICAgZmxvYXQ6bGVmdDsgXHJcbiAgICBtaW4td2lkdGg6MTI1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6NHB4O1xyXG59XHJcblxyXG4jbW9iaWxlLWxvZ2luIHtcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG59XHJcblxyXG4vKiBUaWNrZXQgQnV0dG9uICAqL1xyXG4udHJpYmUtdGlja2V0c19fZm9vdGVyIHtcclxuICAgIC50cmliZS1jb21tb24tYy1idG4ge1xyXG4gICAgICAgIEBleHRlbmQgJXRyaWJlLWJ1dHRvbi1zaGFyZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbn1cclxuXHJcbi50cmliZS1jb21tb24tYy1idG4ge1xyXG4gICAgQGV4dGVuZCAldHJpYmUtYnV0dG9uLXNoYXJlZDtcclxufVxyXG5cclxuLnRyaWJlLXRpY2tldHNfX2l0ZW1fX2F0dGVuZGVlX19maWVsZHNfX2Zvb3RlciB7XHJcbiAgICAudHJpYmUtY29tbW9uLWMtYnRuIHtcclxuICAgICAgICBAZXh0ZW5kICV0cmliZS1idXR0b24tc2hhcmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC50cmliZS1jb21tb24tYy1idG4tbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tYmctY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnR5cGUtdHJpYmVfZXZlbnRzIHtcclxuICAgIC50cmliZS1ldmVudHMtZXZlbnQtY29zdCB7XHJcbiAgICAgICAgLnRyaWJlLWNvbW1vbiB7XHJcbiAgICAgICAgICAgIC50cmliZS1jb21tb24tYy1idG4ge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAldHJpYmUtYnV0dG9uLXNoYXJlZDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBlYTBkNztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhMGQ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudHJpYmUtZXZlbnRzLWV2ZW50LWNvc3QuZmVhdHVyZWQtZXZlbnQge1xyXG4gICAgICAgIC50cmliZS1jb21tb24ge1xyXG4gICAgICAgICAgICAudHJpYmUtY29tbW9uLWMtYnRuIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMwZWEwZDcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGVhMGQ3O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZWEwZDcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoudHJpYmUtdGlja2V0c19fYXR0ZW5kZWVfX2ZpZWxkc19fZm9vdGVyX2NoZWNrb3V0LWJ1dHRvbi50cmliZS1jb21tb24tYy1idG46aG92ZXIge1xyXG4gICAgQGV4dGVuZCAldHJpYmUtYnV0dG9uLXNoYXJlZDtcclxufSovXHJcbi50cmliZS10aWNrZXRzLXJzdnAge1xyXG4gICAgLnRyaWJlLWV2ZW50cy10aWNrZXRzLXJzdnAge1xyXG4gICAgICAgIHRkLmFkZC10by1jYXJ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZC50cmliZS10aWNrZXQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50cmliZS1idXR0b24tLXJzdnAge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHVuc2V0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXNfY2FydF9zdWJtaXQge1xyXG5cclxuICAgICYubG9hZGluZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMjU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi42MThlbTtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1dvb0NvbW1lcmNlJztcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZTAxYyc7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwLjYxOGVtO1xyXG4gICAgICAgICAgICByaWdodDogMWVtO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIEJVVFRPTlNcclxuXHJcbi8vIENBTEVOREFSXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gY29udGVudCBjb2x1bW4gbGF5b3V0cy0gZ2VuZXJhbCBzdHlsZXMgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLmNvbnRlbnRfc2VjdGlvbiB7XHJcblxyXG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcclxuICB9XHJcblxyXG4gIC5mZWF0dXJlZC1oZWFkbGluZSxcclxuICAuc2VjdGlvbi1oZWFkbGluZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5mdWxsLXdpZHRoIHtcclxuICB9XHJcblxyXG4gIC50d28tY29sdW1uIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLnRocmVlLWNvbHVtbiB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3VyLWNvbHVtbiB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gIH1cclxuXHJcbiAgLmZvdXItY29sdW1uLFxyXG4gIC50aHJlZS1jb2x1bW4sXHJcbiAgLnR3by1jb2x1bW4sXHJcbiAgLmZ1bGwtd2lkdGgge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG4vLyBjb3B5IG1vZHVsZSAvL1xyXG5cclxuLmZ1bGwtd2lkdGgsXHJcbi50d28tY29sdW1uLFxyXG4udGhyZWUtY29sdW1uLFxyXG4uZm91ci1jb2x1bW4ge1xyXG5cclxuXHQuY29udGVudC1jb3B5IHtcclxuXHRcdC8vIHBhZGRpbmctbGVmdDogMnJlbTtcclxuXHRcdC8vIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5mdWxsLXdpZHRoIHtcclxuXHJcblx0LmNvbnRlbnQtY29weSB7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA0OC4ycmVtO1xyXG4gICAgXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gcGFnZSAvIGVtcGxveWVlcyBcclxuXHJcbi5zZWN0aW9uLWVtcGxveWVlcyB7XHJcblx0XHJcblx0LmVtcGxveWVlLWltZyB7XHJcblx0XHRoZWlnaHQ6IDE1cmVtO1xyXG5cdFx0d2lkdGg6IDE1cmVtO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRpbWcge1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0IH1cclxuXHR9XHJcblxyXG5cdC5lbXBsb3llZS1pbmZvIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGZlYXR1cmVkIGNvbnRlbnQgU2VjdGlvbiAgIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLmZlYXR1cmVkX3NlY3Rpb24ge1xyXG5cdFxyXG5cdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0ICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XHJcblx0fVxyXG5cclxuXHQuZm91ci1jb2x1bW4ge1xyXG5cclxuXHRcdC5mZWF0dXJlZC1pdGVtIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcclxuXHRcdFx0fVxyXG5cdFx0IFxyXG5cdFx0XHQuZmVhdHVyZWQtY29udGVudCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRcdC5mZWF0dXJlZC1pbWFnZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdFx0LXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMTAwJSk7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGhlaWdodDogMTguMjtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE4LjJyZW07XHJcblx0XHRcdFx0XHRib3gtc2hhZG93OiAkYm94LXNoYWRvdztcclxuXHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTguN3JlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDEzcmVtO1x0XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMThyZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTVyZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGltZy1ob3ZlcigpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZlYXR1cmVkLWhlYWRsaW5lIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZlYXR1cmVkLWRldGFpbHMge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZlYXR1cmVkLWV4Y2VycHQge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcclxuXHRcdFx0XHRmb250LXNpemU6ICRoNS1mb250LXNpemU7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBmZWF0dXJlZCBpdGVtcyBpbiBjb250ZW50IHNlY3Rpb24gLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5zZWN0aW9uLW9yZGVycyxcclxuLmNvbnRlbnRfc2VjdGlvbiB7XHJcblxyXG4gICAgLmZvdXItY29sdW1uLFxyXG5cdC50aHJlZS1jb2x1bW4sXHJcblx0LnR3by1jb2x1bW4ge1xyXG5cclxuXHRcdC5mZWF0dXJlZC1pdGVtIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdH1cdFxyXG5cdFx0XHRcdCBcclxuXHRcdFx0LmZlYXR1cmVkLWNvbnRlbnQge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdC8vIG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0XHQuZmVhdHVyZWQtaW1hZ2Uge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHRcdC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHQvLyBoZWlnaHQ6IDE4LjJyZW07XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOC4ycmVtO1xyXG5cdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAyMC43cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTNyZW07XHRcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTByZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAoeHhsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgaW1nLWhvdmVyKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vIC5mZWF0dXJlZC1oZWFkbGluZSB7XHJcblx0XHRcdC8vIFx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdFx0XHQvLyBcdGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcclxuXHJcblx0XHRcdC8vIFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0Ly8gXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRcdFx0Ly8gXHR9XHJcblxyXG5cdFx0XHQvLyB9XHJcblxyXG5cdFx0XHQuZmVhdHVyZWQtZGV0YWlscyB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZWQtY291cnNlLFxyXG5cdFx0XHQuZmVhdHVyZWQtYmxvZy1wb3N0IHtcclxuXHJcblx0XHRcdFx0LmZlYXR1cmVkLWhlYWRsaW5lIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206XHQxcmVtO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5mZWF0dXJlZC1jb3Vyc2UtZGVzYyxcclxuXHRcdFx0XHQuZmVhdHVyZWQtYmxvZy10ZXh0IHtcclxuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjLWdyYXktbWVkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuLy8gbXktYWNjb3VudCBkYXNoYm9hcmRcclxuLnNlY3Rpb24tb3JkZXJzIHtcclxuXHJcblx0LnRocmVlLWNvbHVtbiB7XHJcblx0XHQuZmVhdHVyZWQtZGV0YWlscyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHRcdC5mZWF0dXJlZC1oZWFkbGluZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdH1cclxuXHRcdC5mZWF0dXJlZC1pbWFnZSB7XHJcblxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vLy8vLy8vLy8vL1xyXG4vLyBQUk9NTyAvL1xyXG4vLy8vLy8vLy8vXHJcbi5jb250YWluZXItYmxvZy1wcm9tbyxcclxuLmNvbnRhaW5lci1wcm9tbyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0aGVpZ2h0OiA0NTBweDtcclxuXHJcblx0QGluY2x1ZGUgYnAoc21hbGwpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA0MDBweDsgXHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdGhlaWdodDogNTAwcHg7XHJcblx0fVxyXG5cclxuXHQucHJvbW8taW1nLWNvbnRhaW5lciB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0LnByb21vLWltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0ICAgIHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnByb21vLWN0YSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAycmVtO1xyXG5cdFx0Ym90dG9tOiAycmVtO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHRAaW5jbHVkZSBicChzbWFsbCkge1x0XHJcblx0XHRcdGJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHRsZWZ0OiAxLjVyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmc6IDJyZW0gMnJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRsZWZ0OiAycmVtO1xyXG5cdFx0XHRib3R0b206IDJyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdGxlZnQ6IDNyZW07XHJcblx0XHRcdGJvdHRvbTogM3JlbTtcclxuXHRcdFx0cGFkZGluZzogM3JlbSAycmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wcm9tby10ZXh0LXdoaXRlIHtcclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pY29uLWFycm93IHtcclxuXHRcdGhlaWdodDogMjBweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMnB4O1xyXG5cdH1cclxufVxyXG5cclxuLy9QUk9NTyBJTiBDT0xVTU4gQ09OVEVOVCAvL1xyXG4uZnVsbC13aWR0aCB7XHJcblxyXG5cdC5jb250YWluZXItcHJvbW8ge1xyXG5cclxuXHRcdC5wcm9tby1jdGEge1xyXG5cdFx0XHR3aWR0aDogODAlO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHR3aWR0aDogMjdyZW07XHRcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnByb21vLWhlYWRsaW5lIHtcclxuXHRcdFx0XHRmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnByb21vLXRleHQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQucHJvbW8tYmctbm9uZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG5vbmU7XHJcblx0XHR9XHJcblx0XHJcblx0XHQucHJvbW8tYmctd2hpdGUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50d28tY29sdW1uLFxyXG4udGhyZWUtY29sdW1uLFxyXG4uZm91ci1jb2x1bW4gIHtcclxuXHQuY29udGFpbmVyLXByb21vIHtcclxuXHRcdC5wcm9tby1jdGEgeyBcclxuXHRcdCAgICBsZWZ0OiAycmVtO1xyXG4gICAgXHRcdGJvdHRvbTogMnJlbTtcclxuICAgIFx0XHR3aWR0aDogODAlO1xyXG4gICAgXHRcclxuICAgIFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgXHRcdFx0Ym90dG9tOiAxcmVtO1xyXG4gICAgXHRcdFx0bGVmdDogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRib3R0b206IDJyZW07XHJcblx0XHRcdFx0bGVmdDogMnJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0LmN0YS1saW5rLXRleHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtaW4td2lkdGg6IDFyZW07XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuICAgIFx0XHQucHJvbW8taGVhZGxpbmUge1xyXG4gICAgXHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcclxuXHRcdFx0XHRmb250LXNpemU6ICRoMy1mb250LXNpemU7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHR0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucHJvbW8tdGV4dCB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5wcm9tby1iZy1ub25lIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHRcdH1cclxuXHRcclxuXHRcdC5wcm9tby1iZy13aGl0ZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG5vbmU7XHJcblxyXG5cdFx0XHQucHJvbW8tdGV4dC1ncmF5LWRhcmsge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb3VyLWNvbHVtbiB7XHJcblx0LmNvbnRhaW5lci1wcm9tbyB7XHJcblx0XHQucHJvbW8tY3RhIHsgXHJcbiAgICBcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgIFx0XHRcdHBhZGRpbmc6IDA7XHJcbiAgICBcdFx0XHRib3R0b206IDFyZW07XHJcbiAgICBcdFx0XHRsZWZ0OiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5jdGEtbGluay10ZXh0IHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDFyZW07XHJcblx0XHRcdFx0cGFkZGluZzogMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIHRlc3RpbW9uaWFsIG1vZHVsZSAvL1xyXG5cclxuLmNvbnRlbnRfc2VjdGlvbiB7XHJcblx0LmZ1bGwtd2lkdGgge1xyXG5cdFx0LmNvbnRlbnQtdGVzdGltb25pYWwge1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDQ4LjJyZW07XHJcbiAgICBcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAycmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5mdWxsLXdpZHRoLFxyXG5cdC50d28tY29sdW1uLFxyXG5cdC50aHJlZS1jb2x1bW4sXHJcblx0LmZvdXItY29sdW1uIHtcclxuXHRcdC8vIGRpc3BsYXk6IGZsZXg7XHJcblx0XHQvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdFx0LmNvbnRlbnQtdGVzdGltb25pYWwge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDJyZW07IFxyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdC8vIFx0bWF4LWhlaWdodDogNjglO1xyXG5cdFx0XHQvLyB9XHJcblxyXG5cdFx0XHQudGVzdGltb25pYWwtc291cmNlIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMC41cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuLmNhbGVuZGFyX3NlY3Rpb24sIFxyXG4uY29udGVudF9zZWN0aW9uIHtcclxuXHJcbiAgXHQuc2luZ2xlLWltZy1jb250YWluZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWluLWhlaWdodDogMTguMnJlbTtcclxuXHRcdFxyXG5cdFx0Ji5pbWctY3VzdG9tLXBvc3Qge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zaW5nbGUtaW1hZ2Uge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcdFxyXG5cdFx0XHRtaW4taGVpZ2h0OiAxOC4ycmVtO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHR9XHJcbiAgXHR9XHJcblxyXG5cdC5zaW5nbGUtaW1nLXRleHQge1xyXG5cclxuXHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdH1cclxuICBcdH1cclxuXHJcbiAgXHQuZnVsbC13aWR0aCB7XHJcblx0XHQuc2luZ2xlLWltZy1jb250YWluZXIge1x0XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHJcblx0XHRcdC5zaW5nbGUtaW1hZ2Uge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMjAuN3JlbTtcclxuXHRcdFx0XHR9XHJcblx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxM3JlbTtcclxuXHRcdFx0XHR9XHJcblx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAyOXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMzRyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHJcblx0XHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDg1LjI1cmVtO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA0OHJlbTtcclxuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG4gICAgXHR9XHJcblxyXG5cdFx0LnNpbmdsZS1pbWctdGV4dCB7XHJcblx0XHRcdC5zaW5nbGUtaW1nLWhlYWRsaW5lIHtcclxuXHRcdFx0XHQgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY3RhLWlubGluZSxcclxuXHRcdFx0LmN0YS1idXR0b24ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiA3Ni42MnJlbTtcclxuXHRcdFx0XHRtYXJnaW46IDFyZW0gYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gIFx0fVxyXG5cclxuXHQudHdvLWNvbHVtbiB7XHJcblx0XHQuc2luZ2xlLWltZy1jb250YWluZXIge1xyXG5cclxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMjdyZW07XHJcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE4cmVtO1xyXG5cdFx0XHRcdFx0bWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDIyLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicCh4eGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAzMHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50aHJlZS1jb2x1bW4ge1xyXG5cdFx0LnNpbmdsZS1pbWctY29udGFpbmVyIHtcclxuXHJcblx0XHRcdC5zaW5nbGUtaW1hZ2Uge1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAyN3JlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMTJyZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAxOXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vICBmb3VyIG9yIG1vcmUgY29sdW1uIHBvc3NpYmxlXHJcblx0LmZvdXItY29sdW1uIHtcclxuXHRcdC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XHJcblx0XHRcdC8vIG1pbi1oZWlnaHQ6IDE4LjJyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDE4LjdyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMTNyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMThyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XHJcblx0XHRcdFx0Ly8gbWluLWhlaWdodDogMTguMnJlbTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTguN3JlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTNyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTByZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicCh4eGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIGltYWdlIHN0eWxlIHJvd1xyXG5cclxuXHQucm93LWltYWdlIHtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1ncmF5LW1lZDtcclxuXHRcdFxyXG5cdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogdW5zZXQ7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogdW5zZXQ7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRib3JkZXI6IG5vbmU7ICBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogMTVyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogMTVyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zaW5nbGUtaW1hZ2Uge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdGhlaWdodDogMTAwJVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zaW5nbGUtaW1nLXRleHQge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMC43NXJlbTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDAuNzVyZW07XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMnJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMC41cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuc2luZ2xlLWltZy1oZWFkbGluZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRjLWJsdWUgIWltcG9ydGFudDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYy1ibHVlLWRhcms7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdC5jdGEtaW5saW5lIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDogMXJlbTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHRcdFx0XHRsZWZ0OiAwO1xyXG4gICAgXHRcdFx0XHRyaWdodDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jdGEtbGluay10ZXh0IHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMDtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuaWNvbi1saW5rLWludGVybmFsLmN0YS1pY29uIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTRweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNHB4O1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBDQUxFTkRBUlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIE1PQklMRSBTVFlMRVNcclxuXHJcblxyXG5cclxuLm15LWFjY291bnQtbm9sb2dvIHtcclxuICBtYXJnaW4tdG9wOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLyogTW9iaWxlIFN0eWxlcyAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAjZGFzaEJ1dHRvbnMge1xyXG4gICAgICBtYXJnaW4tdG9wOjBweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4gIC8qIE1vYmlsZSBTdHlsZXMgKi9cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcclxuXHJcbiAgICAgIGgxIHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgI215LWFjY291bnQtY29tcGFueS1uYW1lIHtcclxuICAgICAgICAgIGZsb2F0OiB1bnNldDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xyXG4gICAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tb2JpbGUtbGFiZWwge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VjdGlvbi1wcm9maWxlIHNlbGVjdCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXlBY2NvdW50Q29mZmVlLCAjbXlBY2NvdW50VGVhLCAjbXlBY2NvdW50TGFiIHtcclxuICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXktYWNjb3VudC1sZWZ0LW5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNjdXN0b21lckxvZ29fZGFzaGJvYXJkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5mbGV4VGFibGUge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0YWJsZS5mbGV4VGFibGUge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0aGVhZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0YWJsZS5mbGV4VGFibGUgdHIgdGQge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMSU7XHJcbiAgICAgICAgICBmb250LXNpemU6IC44NWVtO1xyXG4gICAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0YWJsZS5mbGV4VGFibGUgdGQ6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBhdHRyKGxhYmVsKTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgIG1hcmdpbjogLTJweDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0YWJsZS5mbGV4VGFibGUgdHIgdGQ6bnRoLWNoaWxkKDEpLCB0YWJsZS5mbGV4VGFibGUgdHIgdGg6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDc1LDc1LDc1LC4xKTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0YWJsZS5mbGV4VGFibGUgdHIgdGQ6bGFzdC1jaGlsZDo6YmVmb3JlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zYW1wbGUtZmVlZGJhY2staGVhZGVyIHtcclxuICAgICAgICAgIHdpZHRoOiAxMTAlO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2FtcGxlUmVxdWVzdHMge1xyXG4gICAgICAgICAgd2lkdGg6IDExMCU7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNkYXNoRHJvcGRvd24ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI2Rhc2hCdXR0b25zIHtcclxuICAgICAgICAgIC8vZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWF4LWhlaWdodDoxNXB4O1xyXG5cclxuICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDoyOHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDoyNXZ3ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDo0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAjZGFzaGJvYXJkX2JvZHkge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubG9nb3V0QnRuIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uYXZfY29udGFpbmVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgI215LWFjY291bnQtYm9keSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyNteS1hY2NvdW50LWJvZHkgc2VsZWN0LCAjbXktYWNjb3VudC1sZWZ0LW5hdmlnYXRpb24gc2VsZWN0IFxyXG4gICAgICAuZGFzaF9kcm9wLCAjbXktYWNjb3VudC1sZWZ0LW5hdmlnYXRpb24gc2VsZWN0ICB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcclxuICAgICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICMzMDRmNmM7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXktYWNjb3VudC1ib2R5IC50aXRsZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI215LWFjY291bnQtbGVmdC1uYXZpZ2F0aW9uIC50aXRsZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAvLyAgIC5kYXNoX2Ryb3Age1xyXG4gICAgLy8gICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIC8vICAgfVxyXG5cclxuICAgIC8vICAgLmRhc2hfbmF2IHtcclxuICAgIC8vICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC8vICAgfVxyXG5cclxuICAgICAgI2Rhc2hib2FyZF9ib2R5IHtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg3LCAyOCwgNDcsIDAuMjApICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB3aWR0aDogMTEwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC01JTtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTUlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXktYWNjb3VudC1sb2dvLWltZyB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgIGZsb2F0OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI215LWFjY291bnQtbGVmdC1uYXZpZ2F0aW9uIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDQ2cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5teS1hY2NvdW50LW5vbG9nbyB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0NnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG5cclxuICAuZGFzaF9uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICB3aWR0aDogNHB4O1xyXG4gICAgICBoZWlnaHQ6IDRweDtcclxuICB9XHJcblxyXG4gIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICB3aWR0aDogNHB4O1xyXG4gICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICB9XHJcblxyXG4gIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZmJmYmY7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuZGFzaF9uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCAuZGFzaF9uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyLCAuZGFzaF9uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGw7XHJcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcclxuICB9XHJcblxyXG4gIC5kYXNoX25hdjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIC5kYXNoX25hdjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXIsIC5kYXNoX25hdjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGw7XHJcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEuNXM7XHJcbiAgfVxyXG5cclxuICAubm9sb2dvIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbi5jYXJkLWdyb3VwLWhlYWRlciB7XHJcbiAgZGlzcGxheTpibG9jaztcclxuICB3aWR0aDo2MCU7XHJcbiAgZmxvYXQ6bGVmdDtcclxufVxyXG5cclxuLmNhcmQtc2VsZWN0aW9uIHtcclxuICBkaXNwbGF5OmZsZXg7IFxyXG4gIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgZmxvYXQ6cmlnaHQ7XHJcbn1cclxuXHJcbi5jYXJkLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTpibG9jazsgXHJcbiAgcGFkZGluZzo0cHg7IFxyXG4gIHdpZHRoOjEwMCU7XHJcbiAgcGFkZGluZy1ib3R0b206MTJweDtcclxuICBwYWRkaW5nLXRvcDo4cHg7XHJcbn1cclxuXHJcbmh0bWwgbGkge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuZGl2Lndvb2NvbW1lcmNlIHtcclxuICBtYXJnaW4tdG9wOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaG9zZW4tY29udGFpbmVyLCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xyXG4gIG1heC13aWR0aDo3NSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gTGlzdHNcclxuXHJcbi5zZWFyY2gtc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xyXG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5cmVtKSAhaW1wb3J0YW50O1xyXG4gIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICB0b3A6IDAgIWltcG9ydGFudDtcclxuICBib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxudHIudGFibGUtcm93IHRkLCB0ci50YWJsZS1hbHQtcm93IHRkIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NmY2ZjZjtcclxuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG59XHJcblxyXG4udGFibGUtcm93IHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50YWJsZS1hbHQtcm93IHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgMjM5LCAyMzksIDAuNzUpO1xyXG4gIG1hcmdpbi1ib3R0b206IDFweDtcclxuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gIC50YWJsZS1hbHQtcm93IHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICB0ci50YWJsZS1yb3cgdGQsIHRyLnRhYmxlLWFsdC1yb3cgdGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcclxuICB9XHJcblxyXG4gIHRyLnRhYmxlLXJvdyB0ZCwgdHIudGFibGUtYWx0LXJvdyB0ZCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICB9XHJcblxyXG4gIC5udW1iZXJDZWxsIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6IDE2JSAhaW1wb3J0YW50O1xyXG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNsZWFyOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubnVtYmVyQ2VsbC50ZWEge1xyXG4gICAgICAuaDcge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm5hbWVDZWxsIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6IDgzJSAhaW1wb3J0YW50O1xyXG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICBjbGVhcjogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1vdmVyZmxvdzonLi4uJztcclxuICAgICAgbWF4LXdpZHRoOjgzJTtcclxuXHJcbiAgICAgIC5oNyB7XHJcbiAgICAgICAgICBmb250LXNpemU6MS4wNGVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5uYW1lQ2VsbC50ZWF7XHJcbiAgICAgIHBhZGRpbmctbGVmdDoxN3B4O1xyXG4gICAgICAuaDcge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgICAgfVxyXG4gICAgICB3aWR0aDozMCU7XHJcbiAgfSAgICBcclxuICBcclxuICAuaW1hZ2VDZWxsLnRlYSB7XHJcbiAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jdXBwaW5nQ2VsbCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOiA3MiUgIWltcG9ydGFudDtcclxuICAgICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xyXG4gIH1cclxuXHJcbiAgLnF0eUNlbGwsIC5wcmljZUNlbGwsIC5wb3NpdGlvbkNlbGwsIC5jb250cmFjdENlbGwge1xyXG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDogOTglICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucG9zaXRpb25DZWxsIHtcclxuICAgICAgbWFyZ2luLXRvcDoxM3B4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZC1sYWJlbC1zbS1ub25lIHtcclxuICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ub3MtcGFzdC1kdWUge1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG50ci5vcy1wYXN0LWR1ZSB0ZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuMTUpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5vcy1wYWlkIHtcclxuICBjb2xvcjogZ3JlZW47XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG50ci5vcy1wYWlkIHRkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub3MtcHJvY2Vzc2luZyB7XHJcbiAgY29sb3I6IGJsdWU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG50ci5vcy1wcm9jZXNzaW5nIHRkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5vZmZlcmluZy10YWJsZSB7XHJcbiAgbWFyZ2luLXRvcDotMnB4O1xyXG4gIG1pbi1oZWlnaHQ6MTI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9mZmVyaW5nLXRhYmxlIHRkIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgZm9udC1zaXplOjAuOWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlZC1zYW1wbGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDpib2xkO1xyXG4gIGNvbG9yOiMzOTM5MzkgIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOjE1cHg7XHJcbiAgYm9yZGVyOm5vbmU7XHJcbiAgbWluLXdpZHRoOjE2OC4yM3B4O1xyXG4gIGN1cnNvcjpkZWZhdWx0O1xyXG4gIG1hcmdpbi10b3A6MTBweDtcclxufVxyXG5cclxuLnF0eUNlbGwsIC5wcmljZUNlbGwsIC5jb250cmFjdENlbGwge1xyXG4gIHdpZHRoOiAxMSU7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5wb3NpdGlvbkNlbGwge1xyXG4gIHdpZHRoOiAxMCU7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5udW1iZXJDZWxsIHtcclxuICB3aWR0aDoxMCU7XHJcbn1cclxuXHJcbi5jdXBwaW5nQ2VsbCB7XHJcbiAgd2lkdGg6MjUlO1xyXG4gIHRleHQtYWxpZ246cmlnaHQ7XHJcbn1cclxuXHJcbi5uYW1lQ2VsbCB7XHJcbiAgd2lkdGg6IDI4JTtcclxufVxyXG5cclxuLmg3IHtcclxuICBmb250LXNpemU6Ljk5cmVtO1xyXG59XHJcblxyXG4uaW1hZ2VDZWxsIHtcclxuICB3aWR0aDogNyU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3JvdXBQb3NpdGlvbkNlbGwge1xyXG4gIHdpZHRoOiAxMCU7XHJcbn1cclxuXHJcbi5ncm91cFRocnVDZWxsIHtcclxuICB3aWR0aDogMTAlO1xyXG59XHJcblxyXG4uZ3JvdXBCYWdzQ2VsbCB7XHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuLmdyb3VwUHJpY2VDZWxsIHtcclxuICB3aWR0aDogMjAlO1xyXG5cclxuICBwIHtcclxuICAgICAgZm9udC1zaXplOjAuODhyZW0gIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5za3UtZ3JvdXAtbmFtZSB7XHJcbiAgd2lkdGg6IDQ1JTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBtYXJnaW46IDBweDtcclxufVxyXG5cclxuLm9mZmVyaW5nLWZsYXZvci1ub3RlIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4ub2ZmZXJpbmctcHJvZHVjdEltYWdlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XHJcbn1cclxuXHJcbi5za3VHcm91cGluZyB7XHJcbiAgdGV4dC1vdmVyZmxvdzogJy4uLicgIWltcG9ydGFudDtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgXHJcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuXHJcbn1cclxuXHJcbi50b2dnbGVHcm91cCB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDIwMCwyMDAsMjAwLC43NSk7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnRcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkgXHJcbntcclxuICAuc2t1R3JvdXBpbmcge1xyXG5cclxuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgXHJcbiAgfVxyXG59XHJcblxyXG4uc2t1R3JvdXBpbmc6YWZ0ZXIsIHNrdUdyb3VwaW5nOjphZnRlciB7XHJcbiAgdG9wOiA0MSUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNrdUdyb3VwUmVzZXJ2ZTo6YWZ0ZXIge1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2t1LWdyb3VwLXRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnNrdS1ncm91cC10YWJsZSB0ciB0ZCB7XHJcbiAgZm9udC1zaXplOiAuODVlbTtcclxufVxyXG5cclxuLnN0aWNreS1oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gIHRvcDogMzVweDtcclxuICB6LWluZGV4OiAxMDA7XHJcbn1cclxuXHJcbi8vIC50b2dnbGVHcm91cFJlc2VydmUge1xyXG4vLyAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKC4uL2ltZy9yb3VnaC1lZGdlLWRhcmstYmx1ZS5zdmcpO1xyXG4vLyAgICAgYm9yZGVyLWltYWdlLXJlcGVhdDogc3RyZXRjaDtcclxuLy8gICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2Utd2hpdGUuc3ZnKTtcclxuLy8gICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKC4uL2ltZy9yb3VnaC1lZGdlLXdoaXRlLnN2Zyk7XHJcbi8vICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2Zyk7XHJcbi8vICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnKTtcclxuLy8gICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDYwcHggMDtcclxuLy8gICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IC0yMHB4IDAgMHB4IDA7XHJcbi8vICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDQyO1xyXG4vLyB9XHJcblxyXG4uaGVhZGVyLXRvcC1lZGdlLWRhcmstYmx1ZSB7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBoZWlnaHQ6MjdweDtcclxuICBtYXJnaW4tYm90dG9tOi0xN3B4O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbi5oZWFkZXItdG9wLWVkZ2UtZ3JlZW4ge1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgaGVpZ2h0OjI3cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTotMTdweDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2UtZ3JlZW4uc3ZnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbi5oZWFkZXItdG9wLWVkZ2UtYmx1ZSB7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBoZWlnaHQ6MjdweDtcclxuICBtYXJnaW4tYm90dG9tOi0xN3B4O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS1ibHVlLnN2Zyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG59XHJcblxyXG4uc3RpY2t5LWhlYWRlci1jYXRlZ29yeSBwIGVtLCAuc3RpY2t5LWhlYWRlci1jYXRlZ29yeS1hZG1pbiBwIGVtIHtcclxuICBmb250LXNpemU6LjcwZW0gIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1sZWZ0OjEwcHggIWltcG9ydGFudDsgICAgICAgIFxyXG59XHJcblxyXG4ub2ZmZXJpbmctaXRlbSB7XHJcbiAgLy9taW4taGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4ucmVzZXJ2ZSB7XHJcbiAgLm9mZmVyaW5nLWl0ZW0ge1xyXG4gICAgICAvL21pbi1oZWlnaHQ6IDEzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2FjaGV0cGVydW5pdCB7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICBjb2xvcjojMzA0ZjZjO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcblxyXG4ub2ZmZXJpbmcudGVhIHtcclxuICBcclxuICBtYXJnaW4tdG9wOjdweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206N3B4ICFpbXBvcnRhbnQ7XHJcbiAgYm94LXNoYWRvdzoycHggMnB4IDRweCByZ2JhKDAsMCwwLDAuMjUpICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHJcbn1cclxuXHJcbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcclxuLy8gICAub2ZmZXJpbmctaXRlbSB7XHJcbi8vICAgICAgIC8vbWluLWhlaWdodDogMTI1cHggIWltcG9ydGFudDtcclxuLy8gICB9XHJcblxyXG4vLyAgIC8vIC5vZmZlcmluZyB7XHJcbi8vICAgLy8gICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4vLyAgIC8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuLy8gICAvLyAgICAgfVxyXG4gIFxyXG4vLyAgIC8vICAgICAmOm50aC1jaGlsZChvZGQpID4gYXJ0aWNsZSB7XHJcbi8vICAgLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4vLyAgIC8vICAgICB9XHJcbi8vICAgLy8gfVxyXG5cclxuLy8gfVxyXG5cclxuICAuc2FtcGxlLXJlcXVlc3QtYnV0dG9uLWNlbGwge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBib2R5IHtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLmNvZmZlZS1ncm91cGluZy1uYW1lIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTUwcHgpIHtcclxuICAgICAgLmltYWdlQ2VsbCB7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vZmZlcmluZy1pdGVtIC5za3VHcm91cGluZyB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlIC5za3UtZ3JvdXAtbmFtZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5za3UtZ3JvdXAtdGFibGUgLnNrdS1ncm91cC1uYW1lIGRpdiB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5za3UtZ3JvdXAtdGFibGUgLnNrdS1ncm91cC10YWJsZS1oZWFkZXIge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNrdS1ncm91cC10YWJsZSAuc2t1LWdyb3VwLXRhYmxlLWJvZHkge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNrdS1ncm91cC10YWJsZS1oZWFkZXIgdGQge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNrdS1ncm91cC10YWJsZS1ib2R5IHRkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ncm91cFBvc2l0aW9uQ2VsbCB7XHJcbiAgICAgICAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ncm91cFRocnVDZWxsIHtcclxuICAgICAgICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmdyb3VwQmFnc0NlbGwge1xyXG4gICAgICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ3JvdXBQcmljZUNlbGwge1xyXG4gICAgICAgICAgd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2t1R3JvdXBpbmc6YWZ0ZXIsIHNrdUdyb3VwaW5nOjphZnRlciB7XHJcbiAgICAgICAgICB0b3A6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub2ZmZXJpbmctZmxhdm9yLW5vdGUge1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zYW1wbGUtcmVxdWVzdC1idXR0b24tY2VsbCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmQtbm9uZS1zbTIge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvZmZlZS1ncm91cGluZy1uYW1lIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hc3Nlc3NtZW50LWxhYmVsIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hc3Nlc3NtZW50LWxhYmVsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5hc3Nlc3NtZW50LWxhYmVsLWNvbnRhaW5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgfVxyXG5cclxuICAuYXNzZXNzbWVudC1sYWJlbCB7XHJcbiAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICB9XHJcblxyXG4gIC50cmliZS1ldmVudHMtZXZlbnQtY29zdCB7XHJcbiAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiBpbmhlcml0O1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuZXZlbnRzLWxpc3QudHJpYmUtYmFyLWlzLWRpc2FibGVkIHtcclxuICAgICAgI3RyaWJlLWV2ZW50cy1jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLnRyaWJlLWV2ZW50cy1saXN0IHtcclxuICAgICAgLnRyaWJlLWV2ZW50cy1sb29wIHtcclxuICAgICAgICAgIC50cmliZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBlYTBkNztcclxuXHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvKm1heC13aWR0aDogdW5zZXQ7Ki9cclxuICAgICAgICAgIC50cmliZS1ldmVudC1mZWF0dXJlZCB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgLnRyaWJlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICMwZWEwZDcgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGVhMGQ3O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLnByb2R1Y3RzLXBhbmVsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHotaW5kZXg6OTggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zdGlja3ktaGVhZGVyLWNhdGVnb3J5IHtcclxuICAgICAgei1pbmRleDoxMDIgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4vLyAgIC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xyXG4vLyAgICAgICB6LWluZGV4OjE1NSAhaW1wb3J0YW50O1xyXG4vLyAgIH1cclxuXHJcbiAgLy8gVGVhIG9mZmVyaW5nIHN0aWNreSBoZWFkZXJzXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4gICAgICAudGVhLnN0aWNreS1oZWFkZXIge1xyXG4gICAgICAgICAgdG9wOjEyOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4gICAgICAvLyBUZWEgb2ZmZXJpbmcgc3RpY2t5IGhlYWRlcnNcclxuICAgICAgLnRlYS5zdGlja3ktaGVhZGVyIHtcclxuICAgICAgICAgIHRvcDo3OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5saW5ldXAtZGVjIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICAgIHBhZGRpbmc6OHB4O1xyXG4gIH1cclxuLy8gTGlzdHNcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gTU9CSUxFIE9WRVJSSURFU1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gU3R5bGUgb3ZlcnJpZGVzIGZvciBtb2JpbGUgXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLy8gREVGQVVMVFxyXG4uY2FydC1sb2NhdGlvbiB7ICAgIFxyXG4gIGNvbG9yOiNmZmZmZmY7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xyXG4gIG1hcmdpbi10b3A6IC0zcHg7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC42NSk7XHJcbiAgYm9yZGVyLXJhZGl1czo1NSU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjokYy1ncmVlbjtcclxuICBoZWlnaHQ6MjRweDtcclxuICB3aWR0aDoyNHB4O1xyXG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4IHJnYmEoMSwxLDEsLjM1KTtcclxuICBwYWRkaW5nOjJweDtcclxuICBwYWRkaW5nLXRvcDo0cHg7XHJcbn1cclxuXHJcbi5uYXZiYXItbG9nby1tb2JpbGUge1xyXG4gIC5oZWFkZXItY2FydC1sb2NhdGlvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTouNzVlbTtcclxuICAgICAgbWFyZ2luLXRvcDotMTJweDtcclxuICB9XHJcbn1cclxuXHJcbi5jYXJ0LWxvY2F0aW9uOmhvdmVyIHtcclxuICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jYXJ0LWxvY2F0aW9uOmVtcHR5IHtcclxuICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi5oZWFkZXItY2FydC1sb2NhdGlvbiwgLmhlYWRlci1jYXJ0LWxvY2F0aW9uOmhvdmVyIHtcclxuICBjb2xvcjojZmZmZmZmO1xyXG4gIGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyAuaGVhZGVyLWNhcnQtbG9jYXRpb246ZW1wdHkge1xyXG4vLyAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcbi5zaG9wcGluZy1jYXJ0LWxvY2F0aW9uIHtcclxuICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zdHlsZTogb2JsaXF1ZTtcclxuICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xyXG4gLy9iYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0eWVsbG93O1xyXG4gIGZvbnQtc2l6ZTouOThlbTtcclxuICBwYWRkaW5nLXRvcDo0cHg7XHJcbiAgcGFkZGluZy1ib3R0b206NnB4O1xyXG4gIC8vYm9yZGVyLWJvdHRvbTozcHggc29saWQgZ29sZGVucm9kO1xyXG4gIHRleHQtc2hhZG93OiAycHggMnB4IDFweCByZ2JhKDkwLDkwLDkwLDAuMjApO1xyXG4gIGNvbG9yOnJlZDtcclxufVxyXG5cclxuI3Byb2R1Y3QtZGV0YWlsLXdpbmRvdyB7XHJcbiAgYm94LXNoYWRvdzogN3B4IDdweCAxMXB4IHJnYmEoMTAsMTAsMTAsLjIpO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgei1pbmRleDoxMDAwMDAwO1xyXG4gIHBvc2l0aW9uOmZpeGVkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtcclxuICBkaXNwbGF5Om5vbmU7XHJcbiAgYm9yZGVyLXRvcDokYy15ZWxsb3cgNXB4IHNvbGlkO1xyXG5cclxuICAuc3RpY2t5LWhlYWRlciB7XHJcbiAgICAgIHRvcDowcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4vLyAgIC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xyXG4vLyAgICAgICB0b3A6MnB4ICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICB3aWR0aDpjYWxjKCAxMDAlIC0gMTdweCApICFpbXBvcnRhbnQ7XHJcbi8vICAgfVxyXG5cclxuICBoZWFkZXIge1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICBoZWlnaHQ6NDBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjokYy1ibHVlLWRhcms7XHJcbiAgICAgIGNvbG9yOiNmZmZmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZToxLjc1ZW07XHJcbiAgICAgIHBhZGRpbmctbGVmdDo4cHg7XHJcbiAgfVxyXG5cclxuICBkaXYuaWZyYW1lIHtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgIG1heC1oZWlnaHQ6MTAwJTtcclxuICAgICAgb3ZlcmZsb3cteTphdXRvO1xyXG5cclxuICAgICAgI2Zvb3RlciwgLmhlYWRlci1mdWxsLCAuaGVhZGVyLW1vYmlsZSwgLm5hdi1iYXItZGFyaywgLmhlYWRlciwgI2hlYWRlci1uYXYsIC5oZWFkZXItbmF2IHtcclxuICAgICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBkaXYuaW5mby1wb3AtdXAtY2xvc2Uge1xyXG4gICAgICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcclxuICAgICAgei1pbmRleDogMTAwMDA7XHJcbiAgfVxyXG5cclxuICAub2ZmZXJpbmctdGFibGUge1xyXG4gICAgICBtaW4taGVpZ2h0OjEyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5Lm5vLXNjcm9sbCB7XHJcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBNb2JpbGUgc3R5bGVzXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1MTBweCkge1xyXG4gIC5oZWFkZXItYnV0dG9ucyB7XHJcbiAgICAgIG1hcmdpbi10b3A6LTJweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG5cclxuICBsaS5zbGlkZSB7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgXHJcbiAgICAgIHZpZGVvIHtcclxuICAgICAgICAgIG1heC13aWR0aDo5M3Z3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OjM1dmggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgZGl2LmhlYWRlci1mdWxsIHtcclxuICAgICAgLmhlYWRlci1jYXJ0LWxvY2F0aW9uIHtcclxuICAgICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIC5yZXNlcnZlIHtcclxuICAgICAgLm9mZmVyaW5nLWl0ZW0ge1xyXG4gICAgICAgICAgLy9taW4taGVpZ2h0OiAyMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5jYXJ0LXNlY3Rpb24ge1xyXG4gICAgICBhLmJ0bi1iZy1ncmVlbiB7XHJcbiAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuZC1tLW9ubHkge1xyXG4gICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjaGVhZGVyLW5hdiAuaGVhZGVyLW1vYmlsZSB7XHJcbiAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8vIEdlbmVyYWwgZml4ZXNcclxuICAuc2hpbS1zcGFjZXIge1xyXG4gICAgICBoZWlnaHQ6NjZweCAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXI6MHB4O1xyXG4gICAgICBwYWRkaW5nOjBweDtcclxuICAgICAgbWFyZ2luOjBweDtcclxuICAgICAgbGVmdDowO1xyXG4gICAgICB0b3A6MDtcclxuICAgICAgY2xlYXI6Ym90aDtcclxuICB9XHJcblxyXG4gIC5tb2JpbGUtYWRtaW4taGVhZGVyLXNwYWNlciB7XHJcbiAgICAgIGhlaWdodDozNXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAub2ZmZXJpbmdzLWNvbnRlbnQgLnNlY3Rpb25fcGFnZV9oZWFkZXIge1xyXG4gICAgICBwYWRkaW5nLXRvcDowLjgwZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNzZXJ2ZXItaWQge1xyXG4gICAgICBvcGFjaXR5OjAuOCAhaW1wb3J0YW50O1xyXG4gICAgICB0b3A6LTRweCAhaW1wb3J0YW50O1xyXG4gICAgICBsZWZ0OjAgIWltcG9ydGFudDtcclxuICAgICAgaGVpZ2h0OjE4cHggIWltcG9ydGFudDtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTo4cHg7XHJcbiAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICBtYXJnaW46MHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgYnIge1xyXG4gICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb2ZmZWUgT2ZmZXJpbmcgXHJcbiAgLnNrdUdyb3VwaW5nLnRleHQtYmx1ZS5oNiB7XHJcbiAgICAgIGZvbnQtc2l6ZToxLjNlbSAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tbGVmdDotM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDo5NXZ3O1xyXG4gICAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XHJcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICB9ICAgIFxyXG5cclxuICAuc2t1LWdyb3VwLW5hbWUsIC5yb3RhdGUtaWNvbiwgLnJvdGF0ZS1pY29uMiwgLnJvdGF0ZS1pY29uLXdoaXRlLCAucm90YXRlLWljb24td2hpdGUyIHtcclxuICAgICAgcG9zaXRpb246cmVsYXRpdmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5za3VHcm91cGluZyB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDozMHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICA6YWZ0ZXIge1xyXG4gICAgICAgICAgdG9wOjZweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VjdGlvbl9wYWdlX2NvbnRlbnQgI3NlYXJjaC1jb250YWluZXIge1xyXG4gICAgICB0b3A6NzZweCAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTozMHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAuY2xvc2UtaWNvbjI6YWZ0ZXIge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDo0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIHJpZ2h0OjAgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRvcDoxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jbG9zZS1pY29uMiB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjEwcHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmVjYV9zZWN0aW9uIHtcclxuICAgICAgICAgIC5lY2EtaXRlbXMge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6LTYwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgI2ZpbHRlckNvbnRyb2xCb3ggLmVjYV9zZWN0aW9uIC5lY2EtaXRlbXMgeyAgICAgICAgXHJcbiAgICAgIG1hcmdpbi10b3A6LTYwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNmaWx0ZXJDb250cm9sQm94IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206MTEwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8vIFRlYSBPZmZlcmluZ3MgZml4ZXNcclxuICAuaW1hZ2VDZWxsLnRlYSB7XHJcbiAgICAgIHdpZHRoOjMwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm5hbWVDZWxsLnRlYSB7XHJcbiAgICAgIHdpZHRoOjk5JSAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nOjNweCAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXNpemU6Ljk5ZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5udW1iZXJDZWxsLnRlYSB7XHJcbiAgICAgIHdpZHRoOjk5JSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm51bWJlckNlbGwudGVhIHNwYW4uaDcge1xyXG4gICAgICBmbG9hdDpyaWdodCAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICB6b29tOjE7XHJcbiAgICAgIG1hcmdpbi10b3A6LTIwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgIHdpZHRoOjUwJTtcclxuICB9XHJcblxyXG4gIGRpdi5mb3JtLWdyb3VwLnN0aWNreS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbToxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1pbi1oZWlnaHQ6NjVweCAhaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcclxuICB9XHJcbiAgICAgIFxyXG4gIC5vZmZlcmluZy1pdGVtIHtcclxuICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgICAgbGVmdDogMTVweDtcclxuICAgICAgICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmluZm8tcG9wLXVwIHtcclxuICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICBib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCw1MCw1MCwwLjMwKTtcclxuICAgICAgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xyXG4gICAgICBtaW4taGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XHJcbiAgICAgIHotaW5kZXg6IDk5OTk5OTk7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gIH1cclxuXHJcbiAgLmVtcHR5X2NhcnQge1xyXG4gICAgICBtYXJnaW4tdG9wOi00MHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY2FydC1ncm91cC1oZWFkZXIge1xyXG4gICAgICBkaXNwbGF5OmZsZXggIWltcG9ydGFudDtcclxuXHJcbiAgICAgIGgzIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCAjZGZkZmRmIHNvbGlkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzcGFuLCBlbSB7XHJcbiAgICAgICAgICBmb250LXNpemU6Ljc1ZW07XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4vLyAgICNsb2dnZWQtaW4tYXMge1xyXG4vLyAgICAgICB3aWR0aDogNjAwcHg7IFxyXG4vLyAgICAgICBjb2xvcjogZmxvcmFsd2hpdGU7IFxyXG4vLyAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgXHJcbi8vICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4vLyAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4vLyAgICAgICBtYXgtd2lkdGg6MTAwdnc7XHJcbi8vICAgICAgIG1hcmdpbi1yaWdodDoxOHJlbTtcclxuLy8gICAgICAgbWFyZ2luLXRvcDotMTMwcHg7XHJcbi8vICAgICAgIHotaW5kZXg6IDIwMDtcclxuXHJcbi8vICAgICAgIGRpc3BsYXk6bm9uZTtcclxuLy8gICB9XHJcblxyXG5cclxuXHJcbiAgLm9mZmVyaW5nLWl0ZW0ge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5za3VHcm91cGluZzo6YWZ0ZXIge1xyXG4gICAgICBsZWZ0OjE0cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5yb3RhdGUtaWNvbjM6OmFmdGVyIHtcclxuICAgICAgbGVmdDoxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2hpcG1lbnQtaGlzdG9yeSB7XHJcbiAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLXRvcDowcHggIWltcG9ydGFudDsgXHJcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsgXHJcbiAgICAgIGZvbnQtc2l6ZToxZW0gIWltcG9ydGFudDsgXHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyICFpbXBvcnRhbnQ7IFxyXG4gICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7IFxyXG4gICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7IFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7IFxyXG4gIH1cclxuXHJcbiAgLm15YWNjb3VudC1yZXNlcnZlLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7IFxyXG4gICAgICBtYXJnaW46MHB4OyBcclxuICAgICAgcGFkZGluZzowcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzIuNXB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zNi41cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNza3VSZXNlcnZlIHtcclxuICAgICAgLmRhc2hpY29ucyB7XHJcbiAgICAgICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5jYXJkLWdyb3VwLWhlYWRlciB7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBcclxuICB9XHJcbiAgXHJcbiAgLmNhcmQtc2VsZWN0aW9uIHtcclxuICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50OyBcclxuICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWJvdHRvbToxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgICAgY2xlYXI6Ym90aDtcclxuICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICBtYXJnaW46NXB4O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBcclxuICBcclxuICAuaG93LXRvLWdyYXBoaWMtY29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6MTAwdnc7XHJcbiAgICAgIHBhZGRpbmc6MTRweDtcclxuICB9XHJcblxyXG4gIC50aWxlcy1vdXRlci1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICBoZWlnaHQ6NTV2aDtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAuaW50cm8tdGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTouOWVtO1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICB9XHJcblxyXG4gIC5pbnRyby1sb2dvIHtcclxuICAgICAgbWF4LXdpZHRoOjc1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICBtYXJnaW46YXV0bztcclxuICAgICAgY2xlYXI6Ym90aDtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuXHJcbiAgICAgIDo6YWZ0ZXIge1xyXG4gICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgIGNvbG9yOiRjLWJsdWUtZGFyaztcclxuICAgICAgZm9udC1zaXplOjEuMzVlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAudGlsZS1jb250YWluZXIge1xyXG4gICAgICBtYXgtd2lkdGg6MTM5cHg7XHJcbiAgICAgIG1pbi13aWR0aDoxMzlweDtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgbWluLWhlaWdodDoxOTZweDtcclxuICAgICAgY2xlYXI6Ym90aDtcclxuICAgICAgbWFyZ2luOmF1dG87XHJcbiAgfVxyXG5cclxuICAuc2VjdGlvbi10aWxlLW91dGVyIHtcclxuICAgICAgYm9yZGVyOjRweCBzb2xpZCAkYy1ibHVlLWRhcms7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTQ2cHg7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6M3B4O1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tdGlsZS1pbm5lciB7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICBjb2xvcjokd2hpdGU7XHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgIHBhZGRpbmc6NnB4O1xyXG4gICAgICBtaW4taGVpZ2h0OjEzMnB4O1xyXG5cclxuICAgICAgZW0ge1xyXG4gICAgICAgICAgZm9udC1zaXplOi41NWVtO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuYXJyb3ctY29udGFpbmVyLXJpZ2h0IHtcclxuICAgICAgY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgbWFyZ2luOjE1cHggIWltcG9ydGFudDtcclxuICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MzVweCAhaW1wb3J0YW50O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzVweCAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXNpemU6MjhweCAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcclxuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jaGVjay1sYWJlbCB7XHJcbiAgICAgIG1hcmdpbi10b3A6LTI4cHg7XHJcbiAgfVxyXG5cclxuICAjcHJvZHVjdC1kZXRhaWwtd2luZG93IHtcclxuICAgICAgd2lkdGg6OTV2dztcclxuICAgICAgaGVpZ2h0Ojk1dmg7XHJcbiAgICAgIHRvcDoyLjV2aDtcclxuICAgICAgbGVmdDoyLjV2dztcclxuXHJcbiAgICAgIGhlYWRlciB7XHJcbiAgICAgICAgICBmb250LXNpemU6MS41dnc7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDo0cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6MzBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWFpbiB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOi0xMTVweDtcclxuICAgICAgfVxyXG4gIH1cclxuICBcclxuICAuY2hlY2tvdXRRdWVzdGlvbiB7XHJcbiAgICAgIG1heC13aWR0aDo5NSUgIWltcG9ydGFudDtcclxuICAgICAgZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDtcclxuICAgICAgbWluLXdpZHRoOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206LTIxcHg7XHJcbiAgfVxyXG5cclxuICAgICAgXHJcbiAgI2JhZF9zaGlwcGluZ19tZXNzYWdlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgICAgIGNvbG9yOnJlZDsgXHJcbiAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmctbGVmdDowcHggIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgICAgICAgIFxyXG4gIH1cclxuXHJcbiAgI3JueV9taW5pX2NhcnQge1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICB0b3A6MThweCAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDoxMDB2dyAhaW1wb3J0YW50O1xyXG4gICAgICByaWdodDowJSAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5Om5vbmU7XHJcblxyXG4gICAgICAuYXJyb3ctdXAge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDotMXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2FydC1jb250YWluZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTkpO1xyXG4gICAgICAgICAgaGVpZ2h0Ojk1dmggIWltcG9ydGFudDtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6OTV2aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgcGFkZGluZzo2cHg7XHJcblxyXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdyB7XHJcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDoyNzVweDsgXHJcbiAgICAgICAgICAgICAgb3ZlcmZsb3cteDpoaWRkZW47IFxyXG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6Mjc1cHg7IFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgIHdpZHRoOmNhbGMoMTAwJSArIDhweCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLyogPT09PT0gU2Nyb2xsYmFyIENTUyA9PT09PSAqL1xyXG4gICAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdyB7XHJcbiAgICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogI2RmZGZkZiAjZmZmZmZmO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8qIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xyXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdzo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3c6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3c6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0YWJsZS5jYXJ0LWhlYWRlcnMge1xyXG4gICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcblxyXG4gICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjFlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wMmVtIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcclxuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjZmNmY2Y7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0YWJsZS5jYXJ0LWl0ZW1zIHtcclxuICAgICAgICAgICAgICB3aWR0aDpjYWxjKCAxMDAlIC0gMjNweCApO1xyXG5cclxuICAgICAgICAgICAgICAqIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTouOTllbTtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0YWJsZS5jYXJ0LXRvdGFscyB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgKiB7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6MS4xMmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiRjLWJsdWUtZGFyayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfSAgICAgICAgXHJcbiAgfVxyXG5cclxuICAuT3VyVGVhbUhlYWRlcnMge1xyXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDo5OS45OXZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRvcDo3NXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAudGVhbUdyaWQge1xyXG4gICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIHotaW5kZXg6ODtcclxuICAgICAgcG9zaXRpb246c3RpY2t5O1xyXG4gIH1cclxuXHJcbiAgI3RlYW1TcGFjZXIge1xyXG4gICAgICBoZWlnaHQ6MTIwcHg7XHJcbiAgfVxyXG5cclxuICAuZW1wbG95ZWUtdGh1bWIge1xyXG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgICRjLWJsdWUtZGFyaztcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgbWF4LXdpZHRoOjYxdnc7XHJcbiAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjEwcHg7XHJcbiAgXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgICBoZWlnaHQ6dW5zZXQ7XHJcbiAgICAgICAgICB3aWR0aDp1bnNldDtcclxuICAgICAgICAgIG1heC13aWR0aDoxMDAlO1xyXG4gICAgICAgICAgbWF4LWhlaWdodDoxMDAlO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAgICAgXHJcbiAgLmVtcGxveWVlLXBvc2l0aW9uIHtcclxuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IFxyXG4gICAgICBjb2xvcjokYy15ZWxsb3c7IFxyXG4gICAgICBtYXJnaW4tdG9wOjBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OjEwcHg7IFxyXG4gICAgICB0cmFuc2l0aW9uOmFsbCAxcztcclxuICAgICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOTUpO1xyXG4gICAgICBvcGFjaXR5OjA7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIGhlaWdodDo1NXB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5lbXBsb3llZS1oZWFkZXIge1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7IFxyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICBiYWNrZ3JvdW5kOiAgJGMtYmx1ZS1kYXJrOyBcclxuICAgICAgY29sb3I6ICNmZmZmZmY7IFxyXG4gICAgICBtYXJnaW46YXV0bzsgXHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyBcclxuICAgICAgcGFkZGluZzogNXB4OyBcclxuICAgICAgbWF4LXdpZHRoOjk1N3B4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgLmVtcGxveWVlLWhlYWRlci1wb3NpdGlvbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6MThweDsgICAgXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5lbXBsb3llZS10aHVtYi1uYW1lIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4OyBcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IFxyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxuXHJcbiAgLmVtcGxveWVlLWltYWdlIHtcclxuICAgICAgb3ZlcmZsb3c6aGlkZGVuOyBcclxuICAgICAgY2xpcDphdXRvOyBcclxuICAgICAgcG9zaXRpb246cmVsYXRpdmU7IFxyXG4gICAgICBtYXgtaGVpZ2h0OjI2N3B4O1xyXG4gIH1cclxuXHJcbiAgLk91clRlYW1IZWFkZXJTcGFjZXIge1xyXG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5PdXJUZWFtTWFpblRleHQge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7IFxyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICBtYXJnaW46YXV0bzsgXHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyBcclxuICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICBtYXgtd2lkdGg6OTU3cHg7IFxyXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRvcDo3NXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5PdXJUZWFtU3ViVGV4dCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIHotaW5kZXg6ODtcclxuICAgICAgcGFkZGluZzo0cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDoxMHB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OjEwcHg7XHJcbiAgICAgIHRvcDoxMjdweCAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcclxuXHJcbiAgLk91clRlYW1NYWluVGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgXHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgIG1hcmdpbjphdXRvOyBcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDsgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IFxyXG5cclxuICAgICAgdG9wOjEyOHB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDsgXHJcblxyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgei1pbmRleDo5O1xyXG4gIH1cclxuXHJcbiAgLk91clRlYW1TdWJUZXh0IHtcclxuICAgICAgbWFyZ2luOiA0NXB4IGF1dG8gLTIwcHggYXV0bzsgXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyBcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgei1pbmRleDoxMDtcclxuICAgICAgbWF4LXdpZHRoOjkwMHB4O1xyXG4gIH1cclxuXHJcbiAgLk91clRlYW1IZWFkZXJzIHtcclxuICAgICAgdG9wOjEyOHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuT3VyVGVhbU1haW5UZXh0IHtcclxuICAgICAgLk91clRlYW1IZWFkZXJzIHtcclxuICAgICAgICAgIG1hcmdpbjowcHggIWltcG9ydGFudDtcclxuICAgICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLk91clRlYW1IZWFkZXJzIHtcclxuICBkaXNwbGF5OmJsb2NrO1xyXG4gIGNsZWFyOmJvdGg7XHJcbiAgZm9udC1zaXplOiAyNnB4OyBcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gIGJhY2tncm91bmQ6ICRjLWJsdWUtZGFyazsgXHJcbiAgY29sb3I6ICNmZmY7IFxyXG4gIG1hcmdpbjphdXRvOyBcclxuICBtYXJnaW4tdG9wOiAxMHB4OyBcclxuICBwYWRkaW5nOiA1cHg7ICAgICBcclxuICB6LWluZGV4OjEwO1xyXG4gIGhlaWdodDo1MHB4O1xyXG59XHJcblxyXG4uZW1wbG95ZWUtcG9zaXRpb24ge1xyXG4gIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQ7IFxyXG4gIGNvbG9yOiRjLXllbGxvdzsgXHJcbiAgbWFyZ2luLXRvcDowcHg7XHJcbiAgcGFkZGluZy1sZWZ0OjEwcHg7IFxyXG4gIHRyYW5zaXRpb246YWxsIDFzO1xyXG4gIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjk1KTtcclxuICBvcGFjaXR5OjA7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBoZWlnaHQ6NTVweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtc2l6ZToxNXB4O1xyXG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5lbXBsb3llZS1oZWFkZXIge1xyXG4gIGZvbnQtc2l6ZTogMzBweDsgXHJcbiAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICBiYWNrZ3JvdW5kOiAgJGMtYmx1ZS1kYXJrOyBcclxuICBjb2xvcjogI2ZmZmZmZjsgXHJcbiAgbWFyZ2luOmF1dG87IFxyXG4gIG1hcmdpbi10b3A6IDEwcHg7IFxyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IFxyXG4gIHBhZGRpbmc6IDVweDsgXHJcbiAgbWF4LXdpZHRoOjk1N3B4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gIC5lbXBsb3llZS1oZWFkZXItcG9zaXRpb24ge1xyXG4gICAgICBmb250LXNpemU6MThweDsgICAgXHJcbiAgfVxyXG59XHJcblxyXG4uZW1wbG95ZWUtdGh1bWIge1xyXG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICAkYy1ibHVlLWRhcms7XHJcbiAgZGlzcGxheTpibG9jaztcclxufVxyXG5cclxuLmVtcGxveWVlLXRodW1iOmhvdmVyIHtcclxuICAuZW1wbG95ZWUtcG9zaXRpb24ge1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgICAgIGNvbG9yOiRjLXllbGxvdzsgXHJcbiAgICAgIG1hcmdpbi10b3A6LTU1cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDoxMHB4OyBcclxuICAgICAgdHJhbnNpdGlvbjphbGwgMC43NXM7XHJcbiAgICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjk1KTtcclxuICAgICAgb3BhY2l0eToxO1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICBoZWlnaHQ6NTVweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZW1wbG95ZWUtdGh1bWItbmFtZSB7XHJcbiAgZm9udC1zaXplOiAyMHB4OyBcclxuICBmb250LXdlaWdodDogYm9sZDsgXHJcbiAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4uZW1wbG95ZWUtaW1hZ2Uge1xyXG4gIG92ZXJmbG93OmhpZGRlbjsgXHJcbiAgY2xpcDphdXRvOyBcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTsgXHJcbiAgbWF4LWhlaWdodDoyNjdweDtcclxufVxyXG5cclxuXHJcbi50ZWFtR3JpZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6OCAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOnN0aWNreTtcclxufVxyXG5cclxuXHJcbiNjYXJ0X3RpbWVyIHtcclxuICAgIHBvc2l0aW9uOmZpeGVkO1xyXG4gICAgYm90dG9tOjA7XHJcbiAgICBsZWZ0OjEuNSU7XHJcbiAgICB3aWR0aDoxMzVweDtcclxuICAgIGhlaWdodDo3MHB4O1xyXG4gICAgei1pbmRleDoxMDAwMDA7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgXHJcblxyXG4gICAgICAjY2FydF90aW1lcl9jb250YWluZXIge1xyXG4gICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBmb250LXNpemU6MjBweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICBjb2xvcjp3aGl0ZTtcclxuICAgICAgICAgIHBhZGRpbmc6MTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6MXB4O1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1kYXJrZW4oJGMtYmx1ZS1kYXJrKTsgICAgICAgICAgICBcclxuICAgICAgfVxyXG5cclxuICAgICAgI2NhcnRfdGltZXJfY2xvY2sge1xyXG4gICAgICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICAgICAgICBkaXNwbGF5OmlubGluZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjEycHg7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICN0aW1lcl9taW51dGVzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XHJcbiAgICAgICAgICB3aWR0aDozNiU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgICN0aW1lcl9jb2xvbiB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICBmb250LXNpemU6MjVweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLDAsMCwuNDUpO1xyXG4gICAgICAgICAgd2lkdGg6OCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgICAjdGltZXJfc2Vjb25kcyB7XHJcbiAgICAgICAgICBmb250LXNpemU6MjVweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLDAsMCwuNDUpO1xyXG4gICAgICAgICAgd2lkdGg6MzYlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgICAjdGltZXJfdGV4dHtcclxuICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOndoaXRlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDoxMXB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDowcHg7XHJcbiAgICAgIH1cclxufVxyXG5cclxuLy8gRGVza3RvcCBTdHlsZSBvdmVycmlkZXNcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLWRlc2t0b3ApIHtcclxuXHJcbiAgLnNlY3Rpb24taG9tZS1oZXJvIHtcclxuICAgICAgaGVpZ2h0OjIzLjVyZW0gIWltcG9ydGFudDsgICBcclxuICB9XHJcblxyXG4gICNzaG9wX2Jhbm5lcnMge1xyXG4gICAgICB3aWR0aDo5OSU7XHJcbiAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLXRvcDo0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGhlaWdodDoyOTBweCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiA1cHggOXB4IDlweCByZ2JhKDAsMCwwLC43NykhaW1wb3J0YW50O1xyXG4gICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3JveWFsLW55L2ltZy9yb3VnaC1lZGdlLXdoaXRlLWZ1bGwuc3ZnJykgIWltcG9ydGFudDtcclxuICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgLXdlYmtpdC1tYXNrLWNsaXA6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcclxuICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAuc2xpZGVyIHtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6Mjk5cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6Mjk5cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIGhlaWdodDoyOTlweCAhaW1wb3J0YW50OyAgIFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgLnNsaWRlcyB7XHJcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDoyOTlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6Mjk5cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6Mjk5cHggIWltcG9ydGFudDsgIFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAuc2xpZGUge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50OyAgICAgXHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50OyAgXHJcbiAgICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyICFpbXBvcnRhbnQ7ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6MzAwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDozMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6MzAwcHggIWltcG9ydGFudDsgIFxyXG4gICAgICAgICAgICAgICAgICB3aWR0aDoxMDElO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgI2NhcnRfdGltZXIge1xyXG4gICAgICBwb3NpdGlvbjpmaXhlZDtcclxuICAgICAgYm90dG9tOjA7XHJcbiAgICAgIGxlZnQ6MS41JTtcclxuICAgICAgd2lkdGg6MTM1cHg7XHJcbiAgICAgIGhlaWdodDo3MHB4O1xyXG4gICAgICB6LWluZGV4OjEwMDAwMDtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICNjYXJ0X3RpbWVyX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOndoaXRlO1xyXG4gICAgICAgICAgcGFkZGluZzoxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDoxcHg7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWRhcmtlbigkYy1ibHVlLWRhcmspOyAgICAgICAgICAgIFxyXG4gICAgICB9XHJcblxyXG4gICAgICAjY2FydF90aW1lcl9jbG9jayB7XHJcbiAgICAgICAgICBtYXJnaW46YXV0bztcclxuICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6MTJweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI3RpbWVyX21pbnV0ZXMge1xyXG4gICAgICAgICAgZm9udC1zaXplOjI1cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwwLDAsLjQ1KTtcclxuICAgICAgICAgIHdpZHRoOjM2JTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgI3RpbWVyX2NvbG9uIHsgICAgICAgICAgICBcclxuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XHJcbiAgICAgICAgICB3aWR0aDo4JTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgICN0aW1lcl9zZWNvbmRzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XHJcbiAgICAgICAgICB3aWR0aDozNiU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgICN0aW1lcl90ZXh0e1xyXG4gICAgICAgICAgZm9udC1zaXplOjEycHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgY29sb3I6d2hpdGU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OjExcHg7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcclxuICAgICAgfVxyXG4gIH0gICAgXHJcblxyXG4gICNybnlfbWluaV9jYXJ0IHtcclxuICAgICAgcG9zaXRpb246YWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgdG9wOjY1cHggIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6NTUwcHggIWltcG9ydGFudDtcclxuICAgICAgcmlnaHQ6MC4xJSAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5Om5vbmU7XHJcblxyXG4gICAgICAuY2FydC1jb250YWluZXItY2xvc2UsIC5jYXJ0LWNvbnRhaW5lci1jbG9zZTpob3ZlciB7XHJcbiAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgY2xlYXI6bGVmdDtcclxuICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6NzVweDtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIG1hcmdpbi10b3A6LTExcHg7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDo5cHg7XHJcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgIHotaW5kZXg6MTAwMDAwMDA7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBmb250LXNpemU6MTNweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgIGNvbG9yOmJsYWNrICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgc3Bhbiwgc3Bhbjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6cmVkICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICAgIG1hcmdpbjowcHggIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgICAgcGFkZGluZzowcHggIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6LTRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuYXJyb3ctdXAge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDotOHB4O1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0Oi05NXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2FydC1jb250YWluZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuOTkpO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogNnB4IDZweCA4cHggcmdiYSgwLDAsMCwwLjE1KTtcclxuICAgICAgICAgIHBhZGRpbmc6MThweDtcclxuXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93IHtcclxuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjI5NXB4O1xyXG4gICAgICAgICAgICAgIG92ZXJmbG93LXg6aGlkZGVuOyBcclxuICAgICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6Mjk1cHg7IFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvKiA9PT09PSBTY3JvbGxiYXIgQ1NTID09PT09ICovXHJcbiAgICAgICAgICAvKiBGaXJlZm94ICovXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93IHtcclxuICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAjZGZkZmRmICNmZmZmZmY7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLyogQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRhYmxlLmNhcnQtaGVhZGVycyB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6MWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjAyZW0haW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2NmY2ZjZjtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0YWJsZS5jYXJ0LWl0ZW1zIHtcclxuICAgICAgICAgICAgICB3aWR0aDpjYWxjKDEwMCUgLSAxM3B4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDo1MTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIGxlZnQ6MCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAqIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTouOTllbTtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLmxhc3QtYWRkZWQgdGQge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTUwLDI1NSwxNTAsLjM1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0YWJsZS5jYXJ0LXRvdGFscyB7ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAqIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxLjEyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAgICAgXHJcbiAgI2JhZF9zaGlwcGluZ19tZXNzYWdlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgICAgIGNvbG9yOnJlZDsgXHJcbiAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgICAgcGFkZGluZy1sZWZ0OjE1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAuY2hlY2tvdXRRdWVzdGlvbiB7XHJcbiAgICAgIG1pbi13aWR0aDozOTBweCAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI2hlYWRlci1uYXYgLmhlYWRlci1tb2JpbGUge1xyXG4gICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBHZW5lcmFsIGZpeGVzXHJcbiAgLnNoaW0tc3BhY2VyIHtcclxuICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAub2ZmZXJpbmdzLWNvbnRlbnQgLnNlY3Rpb25fcGFnZV9oZWFkZXIge1xyXG4gICAgICBwYWRkaW5nLXRvcDoxLjgwZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNzZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiBjYWxjKCAxMDB2aCAtIDEzNXB4ICkgIWltcG9ydGFudDtcclxuICAgICAgbWluLWhlaWdodDogY2FsYyggMTAwdmggLSAxMzVweCApICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMTM1cHggKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb25fcGFnZV9jb250ZW50ICNzZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgLmVjYV9zZWN0aW9uIHsgICAgICAgICAgICBcclxuICAgICAgICAgIC5lY2EtaXRlbXMge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6LTUwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgI2ZpbHRlckNvbnRyb2xCb3ggLmVjYV9zZWN0aW9uIC5lY2EtaXRlbXMgeyAgICAgICAgXHJcbiAgICAgIG1hcmdpbi10b3A6LTUwcHggIWltcG9ydGFudDtcclxuICB9IFxyXG5cclxuICAjZmlsdGVyQ29udHJvbEJveCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOjIwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG5cclxuICAvLyBUZWEgT2ZmZXJpbmdzIGZpeGVzXHJcbiAgLm5hbWVDZWxsLnRlYSB7XHJcbiAgICAgIHdpZHRoOjMzJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm51bWJlckNlbGwudGVhIHNwYW4uaDcgeyAgICAgICAgXHJcbiAgICAgIHdpZHRoOjklICFpbXBvcnRhbnQ7XHJcbiAgfSAgICBcclxuXHJcbiAgLmluZm8tcG9wLXVwIHtcclxuICAgICAgbWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmluZm8tcG9wLXVwLWNvbnRhaW5lciAuaW5mby1wb3AtdXAsIC5pbmZvLXBvcC11cC1jb250YWluZXIyIC5pbmZvLXBvcC11cCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OmNhbGMoIDUwJSAtIDM1MHB4ICkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNsb2dnZWQtaW4tYXMge1xyXG4gICAgICB3aWR0aDogNjAwcHg7IFxyXG4gICAgICBjb2xvcjogZmxvcmFsd2hpdGU7IFxyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgXHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBtYXgtd2lkdGg6MTAwdnc7XHJcbiAgICAgIG1hcmdpbi1yaWdodDoxM3JlbTtcclxuICAgICAgbWFyZ2luLXRvcDotMTMwcHg7XHJcbiAgICAgIHotaW5kZXg6IDIwMDtcclxuICAgICAgZmxvYXQ6cmlnaHQ7XHJcbiAgfVxyXG5cclxuICAuc2hpcG1lbnQtaGlzdG9yeSB7XHJcbiAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICBtYXJnaW4tdG9wOi0zMHB4OyBcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgICAgIGZvbnQtc2l6ZToxLjJlbTtcclxuICB9XHJcbiAgXHJcbiAgLm15YWNjb3VudC1yZXNlcnZlLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7IFxyXG4gICAgICBtYXJnaW46MHB4OyBcclxuICAgICAgcGFkZGluZzowcHg7XHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbiAgLmhvdy10by1ncmFwaGljLWNvbnRhaW5lciB7XHJcbiAgICAgIHdpZHRoOjczNHB4O1xyXG4gICAgICBwYWRkaW5nOjE0cHg7XHJcbiAgfVxyXG5cclxuICAudGlsZXMtb3V0ZXItY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTp0YWJsZS1yb3c7XHJcbiAgfVxyXG5cclxuICAuaW50cm8tdGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTouOWVtO1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICB9XHJcblxyXG4gIC5pbnRyby1sb2dvIHtcclxuICAgICAgbWF4LXdpZHRoOjc1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICBtYXJnaW46YXV0bztcclxuICAgICAgY2xlYXI6Ym90aDtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuXHJcbiAgICAgIDo6YWZ0ZXIge1xyXG4gICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgIGNvbG9yOiRjLWJsdWUtZGFyaztcclxuICAgICAgZm9udC1zaXplOjEuMzVlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAudGlsZS1jb250YWluZXIge1xyXG4gICAgICBtYXgtd2lkdGg6MTM5cHg7XHJcbiAgICAgIG1pbi13aWR0aDoxMzlweDtcclxuICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xyXG4gICAgICBtaW4taGVpZ2h0OjE5NnB4O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tdGlsZS1vdXRlciB7XHJcbiAgICAgIGJvcmRlcjo0cHggc29saWQgJGMtYmx1ZS1kYXJrO1xyXG4gICAgICBtaW4taGVpZ2h0OjE0NnB4O1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICBwYWRkaW5nOjNweDtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLXRpbGUtaW5uZXIge1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgY29sb3I6JHdoaXRlO1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICBwYWRkaW5nOjZweDtcclxuICAgICAgbWluLWhlaWdodDoxMzJweDtcclxuXHJcbiAgICAgIGVtIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTouNTVlbTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmFycm93LWNvbnRhaW5lci1yaWdodCB7XHJcbiAgICAgIHdpZHRoOjIwcHg7XHJcbiAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBjb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICBtYXJnaW46MTVweDtcclxuICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xyXG4gICAgICBtaW4taGVpZ2h0OjE5NnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDo5ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZToyOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgI3Byb2R1Y3QtZGV0YWlsLXdpbmRvdyB7XHJcbiAgICAgIHdpZHRoOjk1dnc7XHJcbiAgICAgIGhlaWdodDpjYWxjKCAxMDB2aCAtIDE3MHB4ICk7XHJcbiAgICAgIHRvcDoxMjNweDtcclxuICAgICAgbGVmdDoyLjV2dztcclxuXHJcbiAgICAgIGhlYWRlciB7XHJcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgZm9udC1zaXplOjEuNzVlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWFpbiB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOi00NXB4O1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja0xpbmsge1xyXG4gIGRpc3BsYXk6YmxvY2s7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IFxyXG4gIHBhZGRpbmc6OHB4OyBcclxuICBjdXJzb3I6cG9pbnRlcjsgXHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICB3aWR0aDoxMDAlOyBcclxuICBtYXJnaW4tdG9wOi0xMHB4OyBtYXJnaW4tYm90dG9tOjVweDsgdGV4dC1hbGlnbjpjZW50ZXI7XHJcblxyXG4gIHNwYW4uZGFzaGljb25zIHtcclxuICAgICAgbGluZS1oZWlnaHQ6MjZweCAhaW1wb3J0YW50OyBcclxuICAgICAgY29sb3I6I0I3OTIyMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmJhY2tMaW5rOmhvdmVyIHtcclxuICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwLWNoZWNrb3V0IC53b29jb21tZXJjZS1lcnJvciAud2MtYmFja3dhcmQge1xyXG4gIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2hlY2tvdXQud29vY29tbWVyY2UtY2hlY2tvdXQge1xyXG4gICAgIC53b29jb21tZXJjZS1Ob3RpY2VHcm91cCB7XHJcbiAgICAgICAgei1pbmRleDogOSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogMjUwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDB2dztcclxuICAgIH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWVycm9yIHtcclxuICAgIGxpICB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6MTJlbTtcclxuICAgIH1cclxufVxyXG5cclxubGkuc2xpZGUge1xyXG4gIGJhY2tncm91bmQtc2l6ZTpjb250YWluICFpbXBvcnRhbnQ7XHJcblxyXG4gIHZpZGVvIHtcclxuICAgICAgbWF4LXdpZHRoOjkzdncgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5saW5rLWJ1dHRvbiB7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICBjdXJzb3I6cG9pbnRlcjtcclxuICBjb2xvcjojNTc4NTg3O1xyXG59XHJcblxyXG4ubGluay1idXR0b246aG92ZXIge1xyXG4gIGNvbG9yOiMwQTFDMkU7XHJcbn1cclxuXHJcblxyXG4ubG9uZ1RleHQge1xyXG4gIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7IFxyXG4gIG92ZXJmbG93OmhpZGRlbjsgXHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBtYXgtd2lkdGg6OTclO1xyXG59XHJcblxyXG4ubWluaS1jYXJ0LXN1YnRvdGFsLWxhYmVsIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NmY2ZjZjtcclxufVxyXG5cclxuLm1pbmktY2FydC1zdWJ0b3RhbCB7XHJcbiAgdGV4dC1hbGlnbjpyaWdodDsgXHJcbiAgd2lkdGg6MTUwcHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZmNmY2Y7XHJcbn1cclxuXHJcbi5taW5pLWNhcnQtaGVhZGVyIHtcclxuICBtYXJnaW4tbGVmdDotNXB4O1xyXG59XHJcblxyXG4ubWluaS1jYXJ0LWZvb3RlciB7XHJcbiAgcGFkZGluZy10b3A6OXB4O1xyXG4gIG1hcmdpbi1sZWZ0Oi01cHg7XHJcbn1cclxuXHJcbi5taW5pLWNhcnQtdGl0bGUtbGVmdCB7XHJcbiAgd2lkdGg6NDBweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZToyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICBtYXJnaW4tdG9wOi05cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTo4cHg7XHJcbiAgZmxvYXQ6bGVmdDtcclxuICBjb2xvcjojQjc5MjIwICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTpibG9jaztcclxufVxyXG5cclxuLm1pbmktY2FydC10aXRsZS1yaWdodCB7XHJcbiAgd2lkdGg6ODAlO1xyXG4gIG1heC13aWR0aDo4MCU7XHJcbiAgZmxvYXQ6bGVmdDtcclxuICB0ZXh0LWFsaWduOmxlZnQ7XHJcbiAgZm9udC1zaXplOjIzcHg7XHJcbiAgZm9udC13ZWlnaHQ6bm9ybWFsO1xyXG4gIG1hcmdpbi10b3A6LTEycHg7XHJcbiAgbWFyZ2luLWJvdHRvbTo4cHg7XHJcbiAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuXHJcbio6aG92ZXIgLm1pbmktY2FydC10aXRsZS1yaWdodCB7XHJcbiAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY29udGFpbmVyLWhvbWUtZmVhdHVyZWQge1xyXG4gIC5yb3cge1xyXG4gICAgICAudGVhc2VyIHtcclxuICAgICAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjNyZW0gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRvcDAge1xyXG4gIHRvcDp1bnNldCAhaW1wb3J0YW50O1xyXG4gIHRyYW5zaXRpb246IGFsbCAxLjU1cztcclxufVxyXG5cclxuLnN0aWNreS1oZWFkZXIgeyAgIFxyXG4gIHRyYW5zaXRpb246IGFsbCAxLjU1cztcclxufVxyXG5cclxuLk91clRlYW1IZWFkZXJTcGFjZXIge1xyXG4gIGhlaWdodDogMjZweDtcclxuICBtYXJnaW4tYm90dG9tOi00MXB4O1xyXG4gIHRvcDoxMjdweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7XHJcbn1cclxuXHJcbi50aHVtYm5haWwtc2xpZGUgdmlkZW8ge1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG59XHJcblxyXG4ucGxheS1vdmVybGF5IHtcclxuICBvcGFjaXR5Oi42NTsgXHJcbiAgbWFyZ2luLXRvcDozM3B4O1xyXG4gIG1hcmdpbi1sZWZ0Oi04OHB4O1xyXG4gIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG4gIGNvbG9yOiNmZmZmZmY7XHJcbiAgei1pbmRleDoxMDAwO1xyXG4gIGZvbnQtc2l6ZTo0NXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wbGF5LW92ZXJsYXk6aG92ZXIge1xyXG4gIG9wYWNpdHk6Ljk1OyBcclxufVxyXG5cclxuLmludGVyZXN0U2VsZWN0aW9uIHtcclxuICBib3JkZXI6MXB4IHNvbGlkICNlZmVmZWY7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNjZmNmY2Y7XHJcbiAgICAgIGJveC1zaGFkb3c6M3B4IDNweCA1cHggcmdiYSgxMCwxMCwxMCwuMjIpO1xyXG4gIH1cclxufVxyXG5cclxuLnBwLW11bHRpcGxlLWF1dGhvcnMtbGF5b3V0LWJveGVkIHtcclxuICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzowcHggIWltcG9ydGFudDtcclxuXHJcbiAgaDIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgICAgYm9yZGVyLXN0eWxlOm5vbmUgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luOjBweCAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nOjBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgICAgbWFyZ2luOjVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXItc3R5bGU6bm9uZSAhaW1wb3J0YW50OyAgICAgICAgICAgIFxyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm11bHRpcGxlLWF1dGhvcnMtbmFtZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5tdWx0aXBsZS1hdXRob3JzLWxpbmtzIHtcclxuICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3cgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuaGVhZGVyIHtcclxuICB6LWluZGV4OjEwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmFjdGl2ZS1yZXN1bHQge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gTU9CSUxFIE9WRVJSSURFU1xyXG5cclxuXHJcbiNkYXNoQnV0dG9ucy5kLWZsZXgge1xyXG4gIG1hcmdpbi10b3A6dW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5wYXltZW50X21ldGhvZHMgdWwgbGkge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcclxuICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTAwLDEwMCwxMDAsLjUpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLDIwMCwyMDAsLjI1KTtcclxufVxyXG5cclxuI3BheW1lbnQgLnBheW1lbnRfYm94IHtcclxuICBiYWNrZ3JvdW5kOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIC5wYXltZW50X21ldGhvZHMgbGFiZWw6YmVmb3JlIHtcclxuLy8gICBwb3NpdGlvbjp1bnNldCAhaW1wb3J0YW50O1xyXG4vLyB9XHJcblxyXG5oMy5wcm9kdWN0X2NhdF9oZWFkZXIge1xyXG4gIG1hcmdpbi10b3A6MTVweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOjEuMTVyZW07XHJcbn1cclxuXHJcbmg0LnByb2R1Y3RfY2F0X2hlYWRlciB7XHJcbiAgICBtYXJnaW4tdG9wOjE1cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206LTVweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOjIwcHg7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gIH1cclxuXHJcbi53Y19wYXltZW50X21ldGhvZCB7XHJcbiAgbGk6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uaGVyby1pbWctY29udGFpbmVyIHtcclxuICBkaXNwbGF5Om5vbmU7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgei1pbmRleDotMTAwO1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgbWF4LWhlaWdodDoxMzVweDtcclxuICBjbGlwOiBhdXRvO1xyXG4gIG9wYWNpdHk6LjI1O1xyXG59XHJcblxyXG5cclxuLmhlcm9fc2VjdGlvbiB7XHJcbiAgcGFkZGluZzoyMHB4IDIwcHggMjBweCAyMHB4O1xyXG5cclxuICBtYXJnaW4tYm90dG9tOjE4cHg7XHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgXHJcbiAgICAucm93IHtcclxuICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG5cclxuICAgICAgLmhlcm8tY2FwdGlvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOjE2cHggIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmhlcm8taGVhZGxpbmUge1xyXG4gICAgICAgIGNvbG9yOiNCNTkwMzg7XHJcbiAgICAgICAgZm9udC1zaXplOjQ4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6NTcuNnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MjBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY3RhLWljb24uaWNvbi1saW5rLWludGVybmFsIHtcclxuICBoZWlnaHQ6IDIycHggIWltcG9ydGFudDtcclxuICB3aWR0aDogMjJweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1yaWdodDogLTEwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xyXG4gIGZsb2F0OnJpZ2h0O1xyXG59XHJcblxyXG5cclxuXHJcbi5iYWNrX2xpbmssIC5wcmV2aW91c19saW5rIHtcclxuICBtYXJnaW4tYm90dG9tOjEwcHg7XHJcbiAgbWFyZ2luLXRvcDotNXB4O1xyXG5cclxuICAuY3RhLWljb24uaWNvbi1saW5rLWludGVybmFsIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMjJweDtcclxuICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5jbW4taGVyby1iYW5uZXIge1xyXG4gIGZvbnQtc2l6ZToxNnB4O1xyXG4gIG1pbi1oZWlnaHQ6MTcwcHg7XHJcbiAgcGFkZGluZy10b3A6MWVtICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDoxO1xyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBnZW5lcmFsIHNlY3Rpb24gc3R5bGVzIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uc2VjdGlvbiB7XHJcbiAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XHJcblxyXG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICB9XHJcblxyXG4gICYuc2VjdGlvbi1jdXN0b20tcG9zdCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLWhlYWRsaW5lIHtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIExFRlQgU0lERUJBUiBTRUFSQ0ggQU5EIEZJTFRFUklORyAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4gIFxyXG4gICNzZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgdG9wOjYwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5sYXN0LXB1cmNoLWxhYmVsIHtcclxuICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2VjdGlvbl9wYWdlX2NvbnRlbnQge1xyXG5cclxuICAjc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEzNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB6LWluZGV4OiA5O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBoMyB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgIGhlaWdodDogM3JlbTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbi1zZWFyY2gge1xyXG4gICAgICAgICAgbGVmdDogMTNweDtcclxuICAgICAgICAgIGJvdHRvbTogMTNweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI29mZmVyaW5ncy1zZWFyY2gsICNjb3Vyc2VzLXNlYXJjaCB7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzLjFyZW07XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZvcm0tY29udGFpbmVyIHtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmZvcm0tY2hlY2sge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5lY2Ffc2VjdGlvbiB7XHJcblxyXG4gICAgICAgICAgLnRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IC41cmVtO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuNnJlbTtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JheS1kYXJrO1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogLjlyZW0gMDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAvLyB0cmFuc2l0aW9uOiAwLjVzO1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5lY2EtaXRlbXMge1xyXG4gICAgICAgICAgICAgIC50b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdG9wOiAzOCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pY29uLXBsdXMuc3ZnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLy8gLmVjYS1pdGVtOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VhcmNoLWJ1dHRvbnMge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAuYnRuLWNsZWFyLWZpbHRlcnMsXHJcbiAgICAgICAgICAuYnRuLWZpbHRlci1vZmZlcmluZ3Mge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbSBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS44cmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5idG4tY2xlYXItZmlsdGVycyB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IC42cmVtIDFyZW07XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGNvbnRlbnQgY29sdW1uIGxheW91dHMtIGdlbmVyYWwgc3R5bGVzIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbi5jb250ZW50X3NlY3Rpb24ge1xyXG5cclxuICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XHJcbiAgfVxyXG5cclxuICAuZmVhdHVyZWQtaGVhZGxpbmUsXHJcbiAgLnNlY3Rpb24taGVhZGxpbmUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuZnVsbC13aWR0aCB7XHJcbiAgfVxyXG5cclxuICAudHdvLWNvbHVtbiB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC50aHJlZS1jb2x1bW4ge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuZm91ci1jb2x1bW4ge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICB9XHJcblxyXG4gIC5mb3VyLWNvbHVtbixcclxuICAudGhyZWUtY29sdW1uLFxyXG4gIC50d28tY29sdW1uLFxyXG4gIC5mdWxsLXdpZHRoIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLnNlY3Rpb24tcHJvZmlsZSxcclxuLy8gLmNvbnRlbnRfc2VjdGlvbi5iZy1saWdodC1ibHVlLFxyXG4vLyAuZ2FsbGVyeV9zZWN0aW9uLmJnLWxpZ2h0LWJsdWUsXHJcbi8vIC5mZWF0dXJlZF9zZWN0aW9uLmJnLWxpZ2h0LWJsdWUsXHJcblxyXG4vLyByb3VnaCBlZGdlIHN0eWxlIHJ1bGVzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbi5mZWF0dXJlZF9zZWN0aW9uLmJnLWxpZ2h0LWJsdWUsXHJcbi5jb250ZW50X3NlY3Rpb24uYmctbGlnaHQtYmx1ZSxcclxuLmVjYV9zZWN0aW9uLmJnLWxpZ2h0LWJsdWUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcbiAgLy9AaW5jbHVkZSByb3VnaC1lZGdlKCRjLWJsdWUtbGlnaHQsIGJvdGgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcclxuXHJcbiAgJi5zZWN0aW9uLWN1c3RvbS1wb3N0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW50X3NlY3Rpb24uYmctd2hpdGUge1xyXG4gICYuc2VjdGlvbi1jdXN0b20tcG9zdCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uc2l0ZS1tYWluIHtcclxuICAuc2VjdGlvbi5iYWNrX2xpbmsge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgXHJcbiAgICAgIC5yb3cge1xyXG4gICAgICAgICAgLmJhY2tfbGluayB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgLmNvbnRlbnQtY29weSB7XHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bS1tYXgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIH0gICAgXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIG1heC13aWR0aDoxMDB2dyAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgfSAgXHJcbiAgLnByZXZpb3VzX2xpbmsge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjAgIWltcG9ydGFudDtcclxuICAgICAgLnR3by1jb2x1bW4ge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206MCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfSAgXHJcbn1cclxuXHJcbi8vIGlmIGZpcnN0IHNlY3Rpb24gZGlyZWN0bHkgYWJvdmUgdGhlIGZvdHRlclxyXG4uc2VjdGlvbi1uZXh0LXBvc3QgKyAuZmVhdHVyZWRfc2VjdGlvbi5iZy1saWdodC1ibHVlIHtcclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xyXG4gIC8vIEBpbmNsdWRlIHJvdWdoLWVkZ2UoJGMtYmx1ZS1saWdodCk7XHJcbiAgLy8gbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gaWYgbGFzdCBzZWN0aW9uIGRpcmVjdGx5IGFib3ZlIGZvb3RlclxyXG5cclxuXHJcblxyXG5cclxuLmNvbnRlbnRfc2VjdGlvbi5iZy1saWdodC1ibHVlOm5vdCg6Zmlyc3Qtb2YtdHlwZSksXHJcbi5jb250ZW50X3NlY3Rpb24uYmctbGlnaHQtYmx1ZTpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcbiAgLy8gQGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0LCBib3RoKTtcclxuICAvLyBtYXJnaW4tYm90dG9tOiAxLjZyZW07XHJcbn1cclxuXHJcbi8vIC5jb250ZW50X3NlY3Rpb24uYmctbGlnaHQtYmx1ZTpsYXN0LW9mLXR5cGUge1xyXG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcbi8vIFx0QGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0LCB0b3ApO1xyXG4vLyBcdG1hcmdpbi1ib3R0b206IDEuNnJlbTtcclxuLy8gfVxyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIEdSSUQgVklFVyAvIExJU1QgVklFVyB0b2dnbGUgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbi5jaGFuZ2UtdmlldyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDdyZW07XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDVweDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaWNvbi1ncmlkLXZpZXctYmx1ZS5zdmcnKTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICB3aWR0aDogMTVweDtcclxuICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNoYW5nZS12aWV3LmV2ZW50LWNoYW5nZS12aWV3IHtcclxuICAmOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaWNvbi1saXN0LXZpZXctYmx1ZS5zdmcnKTtcclxuICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgIGhlaWdodDogMTdweDtcclxuICB9XHJcbn1cclxuXHJcbi53Y19wYXltZW50X21ldGhvZHMucGF5bWVudF9tZXRob2RzIGxpIHtcclxuICBjbGVhcjogYm90aDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlLWRhcms7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cclxuICAmLnNlbGVjdGVkIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgJGMtYmx1ZTtcclxuICB9XHJcbn1cclxuXHJcbmRpdi5wYXltZW50X2JveCB7XHJcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuZGl2LnBheW1lbnRfbWV0aG9kX3BheXBhbF9wcm9fcGF5ZmxvdyBsYWJlbCB7XHJcbiAgbGVmdDogLTMwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRyaWJlLWV2ZW50cy10b29sdGlwIC50cmliZS1ldmVudHMtZXZlbnQtYm9keSB7XHJcbiAgcGFkZGluZzogM3B4IDZweCA2cHg7XHJcbn1cclxuXHJcbi50cmliZS1jb3VudHJ5LW5hbWUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtZGVza3RvcCkge1xyXG4gIGRpdi5wYXltZW50X21ldGhvZF9wYXlwYWxfcHJvX3BheWZsb3cge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcclxuICB9XHJcblxyXG4gIGRpdi5wYXltZW50X21ldGhvZF9wYXlwYWwge1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4gIGRpdi5wYXltZW50X21ldGhvZF9wYXlwYWxfcHJvX3BheWZsb3cge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4ud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53Yy1ibG9jay1ncmlkX19wcm9kdWN0LWFkZC10by1jYXJ0IHtcclxuICBtYXJnaW46IDA7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuXHJcbiAgYSB7XHJcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICYubG9hZGluZyB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLjI1O1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi42MThlbTtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFdvb0NvbW1lcmNlOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXHJcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXGUwMWNcIjtcclxuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIHRvcDogMC42MThlbTtcclxuICAgICAgICAgICAgICByaWdodDogMWVtO1xyXG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFkZGVkOjphZnRlciB7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogV29vQ29tbWVyY2U7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlMDE3XCI7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41M2VtO1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZGVkX3RvX2NhcnQge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5hZGQtb3JkZXIge1xyXG4gIHotaW5kZXg6MzAwO1xyXG59XHJcblxyXG4uYWRkLW9yZGVyLWhlYWRlciB7XHJcbiAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gIC8vIG1heC13aWR0aDogODUlO1xyXG4gIHRvcDogNHB4O1xyXG4gIHBhZGRpbmctbGVmdDo2cHg7XHJcbiAgY29sb3I6I2ZmZmZmZjtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1heC13aWR0aDogaW5oZXJpdDtcclxuXHJcbiAgQGluY2x1ZGUgYnAobWVkaXVtLW1heCkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcclxuXHJcbiAgICAgIC5oNCB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OjUwcHg7XHJcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOjk1JTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFkZC1vcmRlci13aHNlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA0cHg7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgcmlnaHQ6IDNyZW07XHJcbiAgcGFkZGluZy1yaWdodDo1cHg7XHJcblxyXG4gIHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OjVweDtcclxuICB9XHJcbn1cclxuXHJcbi5hZGQtb3JkZXItY29udGVudCB7XHJcbiAgLy8gbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xyXG4gIC8vIG1hcmdpbi1ib3R0b206IC0yMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAgICAgZGlzcGxheTpmbGV4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5vcmRlci1pbmZvIHtcclxuICBAaW5jbHVkZSBicChtZWRpdW0tbWF4KSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4gIC5vcmRlci1pbmZvIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xyXG4gIH1cclxuXHJcbiAgLm9yZGVyLXN1Ym1pdCB7XHJcbiAgICAgIG1hcmdpbi10b3A6LTEwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcclxuICB9XHJcblxyXG4gIC5hZGQtb3JkZXItaGVhZGVyIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XHJcblxyXG4gICAgICAuaDQge1xyXG4gICAgICAgICAgbWF4LWhlaWdodDo1MHB4O1xyXG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgICAgICAgIG1heC13aWR0aDo5NSU7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0cy1wYW5lbCB7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuXHJcbi5hZGQtb3JkZXItb3ZlcmxheSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjY1KTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm9mZmVyaW5nIC5jaGVja291dCB7XHJcbiAgei1pbmRleDoyMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcbiAgLm9mZmVyaW5nIC5jaGVja291dCB7XHJcbiAgICAgIHotaW5kZXg6IDEzNiAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIge1xyXG4gICAgICB3aWR0aDo5OCU7XHJcbiAgICAgIG1heC13aWR0aDo5OCU7XHJcbiAgfVxyXG59XHJcblxyXG4ub2ZmZXJpbmctZmlsdGVyIHtcclxuICBmb250LXNpemU6LjkwZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLndjLWNyZWRpdC1jYXJkLWZvcm0tY2FyZC1udW1iZXIge1xyXG4gIHdpZHRoOjQ3NXB4O1xyXG4gIG1heC13aWR0aDo0NzVweDtcclxufVxyXG5cclxuLnN0aWNreS1idXR0b24tY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjpzdGlja3kgIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjotd2Via2l0LXN0aWNreSAhaW1wb3J0YW50O1xyXG4gIHRvcDowcHggIWltcG9ydGFudDtcclxuICB6LWluZGV4Ojk5ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbToxNHB4O1xyXG59XHJcblxyXG4uc3RpY2t5LWJ1dHRvbi1jb250YWluZXItYWRtaW4ge1xyXG4gIGJhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOnN0aWNreSAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDo5OSAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206MTRweDtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWVycm9yIC53Yy1mb3J3YXJkIHtcclxuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3NlcnZlci1pZCB7XHJcbiAgdGV4dC1hbGlnbjpjZW50ZXI7IFxyXG4gIG9wYWNpdHk6Ljk1OyBcclxuICB6LWluZGV4Ojk5OTk5OTk7IFxyXG4gIHBhZGRpbmc6M3B4OyBcclxuICBmb250LXNpemU6MC43ZW07IFxyXG4gIGJvcmRlci1yYWRpdXM6MnB4OyBcclxuICBwb3NpdGlvbjpmaXhlZDsgXHJcbiAgbGVmdDoxNyU7IFxyXG4gIHRvcDoycHg7IFxyXG4gIGJvcmRlcjoycHggc29saWQgZGFya2dvbGRlbnJvZDsgXHJcbiAgYmFja2dyb3VuZC1jb2xvcjpsaWdodHllbGxvdzsgXHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgYm94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDEwMCwxMDAsMTAwLC4zNSk7XHJcbn1cclxuXHJcblxyXG4vKiBCcmV3aW5nIExvYWRlciAqL1xyXG4uZ2YtY2FwdGNoYSBsYWJlbCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qIHNwaW5uaW5nIG9uIGNoZWNrb3V0ICovXHJcbi5jaGVja291dC53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtTm90aWNlR3JvdXAge1xyXG56LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNoZWNrb3V0Lndvb2NvbW1lcmNlLWNoZWNrb3V0LnByb2Nlc3NpbmcgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwIHtcclxuLypcclxuYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vcm95YWxueS1jZG4uczMuYW1hem9uYXdzLmNvbS9hc3NldHMvaW1hZ2VzLzE0My5wbmcnKSAhaW1wb3J0YW50OyovXHJcbndpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xyXG5oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XHJcbmRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbnBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xyXG50b3A6IDAgIWltcG9ydGFudDtcclxubGVmdDogMCAhaW1wb3J0YW50O1xyXG5iYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQgIWltcG9ydGFudDtcclxuYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgIWltcG9ydGFudDtcclxufVxyXG4uY2hlY2tvdXQud29vY29tbWVyY2UtY2hlY2tvdXQucHJvY2Vzc2luZyAud29vY29tbWVyY2UtTm90aWNlR3JvdXAgdWwge1xyXG5kaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLyogc3Bpbm5pbmcgb24gY2hlY2tvdXQgKi9cclxuXHJcbi5ibG9ja1VJLmJsb2NrT3ZlcmxheSB7XHJcbi8qXHJcbmJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3JveWFsbnktY2RuLnMzLmFtYXpvbmF3cy5jb20vYXNzZXRzL2ltYWdlcy8xNDMucG5nJykgIWltcG9ydGFudDsqL1xyXG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xyXG5oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XHJcbmRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbnBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xyXG50b3A6IDAgIWltcG9ydGFudDtcclxubGVmdDogMCAhaW1wb3J0YW50O1xyXG5iYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQgIWltcG9ydGFudDtcclxuYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi53b29jb21tZXJjZSAuYmxvY2tVSS5ibG9ja092ZXJsYXkge1xyXG4gIG9wYWNpdHk6MSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjc1KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyAud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5OmJlZm9yZSxcclxuLy8gLndvb2NvbW1lcmNlIC5sb2FkZXI6YmVmb3JlIHtcclxuLy8gICBoZWlnaHQ6IDIyMHB4ICFpbXBvcnRhbnQ7XHJcbi8vICAgd2lkdGg6IDI0MHB4ICFpbXBvcnRhbnQ7XHJcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgIHRvcDpjYWxjKDUwJSAtIDExMHB4KTsgICAgICAgIFxyXG4vLyAgIGxlZnQ6Y2FsYyg1MCUgLSAxMjBweCk7XHJcbi8vICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgY29udGVudDogXCJCcmV3aW5nLCBQbGVhc2UgV2FpdC4uLlwiO1xyXG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xyXG4vLyAgIC1tb3otYW5pbWF0aW9uOiBub25lO1xyXG4vLyAgIGFuaW1hdGlvbjogbm9uZTtcclxuLy8gICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3JveWFsLW55L2ltZy9ybnlfNDA0cGdfY29mZmVlLmdpZicpICFpbXBvcnRhbnQ7XHJcbi8vICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuLy8gICBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtcclxuLy8gICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcbi8vICAgbGluZS1oZWlnaHQ6IDE7XHJcbi8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4vLyAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4vLyAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbi8vICAgb3BhY2l0eToxICFpbXBvcnRhbnQ7XHJcbi8vICAgY29sb3I6IzM0NGU2YjtcclxuLy8gICB0ZXh0LXNoYWRvdzpyZ2JhKDAsMCwwLC4yNSk7XHJcbi8vIH1cclxuXHJcblxyXG4uc2hvcnRfY29kZXtcclxucGFkZGluZy10b3A6MHB4O1xyXG5wYWRkaW5nLWJvdHRvbTowcHg7XHJcbn1cclxuXHJcbi5ld2QtdWZhcS1mYXFzIHtcclxubWF4LXdpZHRoOjEwMDBweDtcclxubWFyZ2luOmF1dG87XHJcbn1cclxuLnVmYXEtZmFxLWNhdGVnb3J5LWlubmVye1xyXG5tYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4udWZhcS1mYXEtY2F0ZWdvcnktdGl0bGUgaDQge1xyXG5jb2xvcjogI2ZmZjtcclxucGFkZGluZzowLjVyZW07XHJcbmZvbnQtc2l6ZToxLjRyZW07XHJcbmJhY2tncm91bmQtY29sb3I6ICM5MDk2OWY7XHJcbn1cclxuXHJcbi51ZmFxLWZhcS10b2dnbGUge1xyXG5mb250LXNpemU6IDEuMnJlbTtcclxuYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVhZWI7XHJcbmNvbG9yOiAjZmZmO1xyXG5wYWRkaW5nOi41cmVtO1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiAjZThlYWViO1xyXG59XHJcbi51ZmFxLWZhcS1ib2R5IHtcclxuYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmNvZmZlZS1vcmlnaW5zIHRkIHtcclxuYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEQ0RDREM7XHJcbnBhZGRpbmc6NHB4O1xyXG59XHJcbi5jb2ZmZWUtb3JpZ2lucyB0ZDpmaXJzdC1jaGlsZCB7XHJcbndpZHRoOjMwJTtcclxudGV4dC1hbGlnbjpyaWdodDtcclxuYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0RDRENEQztcclxuYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxufVxyXG4uY29mZmVlLW9yaWdpbnMgdGQ6Zmlyc3QtY2hpbGQ6OmFmdGVyIHtcclxuY29udGVudCA6ICc6JztcclxufVxyXG5cclxuLmNvZmZlZS1vcmlnaW5zIHRyOmxhc3QtY2hpbGQgdGQge1xyXG5ib3JkZXItYm90dG9tOiAwcHggc29saWQgI0RDRENEQztcclxufVxyXG5cclxuLmNvZmZlZS1vcmlnaW5zIHRmb290IHRkIHtcclxuZm9udC13ZWlnaHQ6Ym9sZDtcclxucGFkZGluZy10b3A6MjBweDtcclxuYmFja2dyb3VuZC1jb2xvcjppbmhlcml0ICFpbXBvcnRhbnQ7XHJcbmJvcmRlci1yaWdodC13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNvZmZlZS1vcmlnaW5zIHRmb290IHRkOjphZnRlciB7XHJcbmNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb2ZmZWUtcm9hc3QtcHJvZmlsZS1jb250YWluZXIge1xyXG50ZXh0LWFsaWduOmNlbnRlcjtcclxufVxyXG5cclxuLmNvZmZlZS1yb2FzdC1wcm9maWxlIHtcclxuYm9yZGVyOiAxcHggc29saWQgIzBhMWMyYztcclxuYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xyXG59XHJcblxyXG4uY29mZmVlLXJvYXN0LXByb2ZpbGUgdGQge1xyXG5ib3JkZXI6IDFweCBzb2xpZCAjMGExYzJjO1xyXG5ib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XHJcbnBhZGRpbmc6OHB4O1xyXG59XHJcblxyXG4uY29mZmVlLXJvYXN0LXByb2ZpbGUgdGQ6Zmlyc3QtY2hpbGQge1xyXG5jb2xvcjojZmZmZmZmO1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiAjMGExYzJjO1xyXG5mb250LXNpemU6MS4ycmVtO1xyXG53aWR0aDoyMCU7XHJcbn1cclxuLmNvZmZlZS1yb2FzdC1wcm9maWxlIHRmb290IHRkIHtcclxucGFkZGluZy10b3A6MjBweDtcclxuY29sb3I6aW5oZXJpdCAhaW1wb3J0YW50O1xyXG5iYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNvZmZlZS1yb2FzdC1kaXNjbGFpbWVyIHtcclxubWFyZ2luLXRvcDoxcmVtO1xyXG5wYWRkaW5nOjhweDtcclxuYm9yZGVyOiAxcHggc29saWQgIzBhMWMyYztcclxudGV4dC1hbGlnbjpjZW50ZXI7XHJcbmZvbnQtc2l6ZTogLjhyZW07XHJcbn1cclxuXHJcbiNoZWFkZXItbmF2IC5oZWFkZXItZWNhLXNlY3Rpb24gLnRvcC1sZXZlbCBhIHtcclxuICB3aGl0ZS1zcGFjZTpub3dyYXA7XHJcbn1cclxuXHJcbiN2ZXJpZnlpbmctaW52ZW50b3J5LCAjcHJvY2Vzc2luZy1wYXltZW50LCAjc2VuZC10by13YXJlaG91c2Uge1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDpjYWxjKDUwJSArIDY5cHgpOyAgICAgICAgXHJcbiAgbGVmdDowO1xyXG4gIGZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50OztcclxuICB6LWluZGV4Ojk5OTk5O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjokYy1ibHVlO1xyXG59XHJcblxyXG4uZW1wdHlfY2FydCB7XHJcbiAgZmxvYXQ6IHJpZ2h0OyBcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcclxuICAjdmVyaWZ5aW5nLWludmVudG9yeSwgI3Byb2Nlc3NpbmctcGF5bWVudCwgI3NlbmQtdG8td2FyZWhvdXNlIHtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6Y2FsYyg1MCUgKyA2OXB4KTsgICAgICAgIFxyXG4gICAgICBsZWZ0OjA7XHJcbiAgICAgIGZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDs7XHJcbiAgICAgIHotaW5kZXg6OTk5OTk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5lbXB0eV9jYXJ0IHtcclxuICAgICAgZmxvYXQ6IG5vbmUgaSAhaW1wb3J0YW50OyBcclxuICAgICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICBtYXJnaW4tYm90dG9tOjJweCAhaW1wb3J0YW50OyBcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwcHggICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHggICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICB9XHJcbn1cclxuXHJcbiN2ZXJpZnlpbmctaW52ZW50b3J5LmhpZGRlbi1tc2csICNwcm9jZXNzaW5nLXBheW1lbnQuaGlkZGVuLW1zZywgI3NlbmQtdG8td2FyZWhvdXNlLmhpZGRlbi1tc2cge1xyXG4gIHRyYW5zaXRpb246IGFsbCAuNXM7XHJcbiAgb3BhY2l0eTowICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy10b3A6MzVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jdmVyaWZ5aW5nLWludmVudG9yeS5zaG93LW1zZywgI3Byb2Nlc3NpbmctcGF5bWVudC5zaG93LW1zZywgI3NlbmQtdG8td2FyZWhvdXNlLnNob3ctbXNnIHtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjlzO1xyXG4gIG9wYWNpdHk6MTtcclxuICBwYWRkaW5nLXRvcDozcHg7XHJcbn1cclxuXHJcbiNwYWxsZXRfbWVzc2FnZSB7XHJcbiAgcGFkZGluZzoyNXB4OyBcclxuICBtYXJnaW46MXB4OyBcclxuICBtYXJnaW4tdG9wOjEycHg7IFxyXG4gIGJvcmRlcjogMXB4IHNvbGlkIGdvbGRlbnJvZDsgXHJcbiAgYmFja2dyb3VuZC1jb2xvcjpsaWdodHllbGxvdzsgXHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgY29sb3I6bWFyb29uOyBcclxuICBmb250LXNpemU6MS4zNWVtOyBcclxuICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcblxyXG4gIGltZyB7XHJcbiAgICAgIGhlaWdodDo2NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZsb2F0OmxlZnQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1lcnJvcjo6YmVmb3JlLCAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlLCAud29vY29tbWVyY2UtbWVzc2FnZTo6YmVmb3JlIHtcclxuICBjb250ZW50Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlLW1lc3NhZ2UgYS53Yy1mb3J3YXJkLFxyXG4ud29vY29tbWVyY2UtZXJyb3IgYS53Yy1mb3J3YXJkLFxyXG4ud29vY29tbWVyY2UtaW5mbyBhLndjLWZvcndhcmQge1xyXG4gIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud21jLWNhcnQtd3JhcHBlciB7XHJcbiAgd2lkdGg6NDAwcHggIWltcG9ydGFudDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLndtYy1jYXJ0IHtcclxuICB3aWR0aDo0MDBweCAhaW1wb3J0YW50O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud21jLWNvbnRlbnQge1xyXG4gIHdpZHRoOjQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XHJcblxyXG4gIGgzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjpzaWx2ZXIgIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTozcHggc29saWQgZ3JheSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjpkYXJrc2xhdGVncmF5ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZToxN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6MThweCAhaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6MzVweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLndtYy1wcm9kdWN0cyB7XHJcbiAgd2lkdGg6NDAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLndtYy1kZXRhaWxzIHtcclxuICB3aWR0aDo0MDBweCAhaW1wb3J0YW50O1xyXG4gIFxyXG4gIHAge1xyXG4gICAgICBmbG9hdDpyaWdodDtcclxuICAgICAgZGlzcGxheTppbmxpbmU7XHJcbiAgICAgIG1heC13aWR0aDoxMCU7XHJcbiAgfVxyXG59XHJcblxyXG4ud21jLXByb2R1Y3QtdGl0bGUge1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICBtYXgtd2lkdGg6OTAlICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBmb250LXNpemU6MTNweDtcclxufVxyXG5cclxuLndtYy1wcmljZSB7XHJcbiAgd2lkdGg6MTAlIGltICFpbXBvcnRhbnQ7XHJcbiAgZmxvYXQ6cmlnaHQ7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICBmb250LXNpemU6MTRweDtcclxufVxyXG5cclxuLndtYy1zdWJ0b3RhbCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjokYy1ibHVlLWRhcmsgIWltcG9ydGFudDtcclxuICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcblxyXG4gIGg1IHtcclxuICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLndtYy1ib3R0b20tYnV0dG9ucyB7XHJcblxyXG4gIDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtYmx1ZSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjojZmZmZmZmO1xyXG5cclxuICAgICAgXHJcbiAgfVxyXG4gIDpmaXJzdC1jaGlsZDpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtYmx1ZS1kYXJrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtZ3JlZW4gIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6I2ZmZmZmZjsgICAgICAgIFxyXG4gIH0gICAgXHJcbiAgOmxhc3QtY2hpbGQ6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjLWdyZWVuLWRhcmsgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59XHJcblxyXG4ud21jLXJlbW92ZSB7XHJcbiAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53bWMtaW1hZ2Uge1xyXG4gIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuLndtYy1jb3VudCB7XHJcbiAgZm9udC1zaXplOjE0cHggIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmZpZ2NhcHRpb24gOm50aC1jaGlsZCgzKSwgLmN0YS1jYXB0aW9uLXRleHQge1xyXG4gIG1pbi1oZWlnaHQ6OTBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gIG1hcmdpbi10b3A6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG5maWdjYXB0aW9uIHAge1xyXG4gIGxpbmUtaGVpZ2h0OjEgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbiN0aW1lciB7XHJcbiAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgbGVmdDoyJTtcclxuICBib3R0b206MXB4O1xyXG4gIGhlaWdodDo4NXB4O1xyXG4gIHdpZHRoOjE0NXB4O1xyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrOyAgICBcclxuICBjb2xvcjojZmZmZmZmO1xyXG4gIHBhZGRpbmc6MTJweDtcclxuICBtYXJnaW4tYm90dG9tOjJweDtcclxuICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbiN0aW1lcl90ZXh0IHtcclxuICBjb2xvcjojZmZmZmZmO1xyXG4gIGZvbnQtc2l6ZToxMXB4O1xyXG59XHJcblxyXG4jdGltZXJfbWludXRlcywgI3RpbWVyX3NlY29uZHMge1xyXG4gIGZvbnQtc2l6ZToyNXB4O1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgZGlzcGxheTpibG9jaztcclxufVxyXG5cclxuLm9wZW5fbmV3X3RhYiB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5vcGVuX25ld190YWI6aG92ZXIge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiRjLWdyZWVuO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcbiAgLm9wZW5fbmV3X3RhYiB7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmZpZ2NhcHRpb24gOm50aC1jaGlsZCgzKSB7XHJcbiAgbWF4LWhlaWdodDp1bnNldDtcclxuICBtaW4taGVpZ2h0OnVuc2V0O1xyXG4gIGhlaWdodDp1bnNldDsgXHJcbn1cclxuXHJcbi5jb250ZW50X3NlY3Rpb24ge1xyXG4gIC5yb3cge1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gIH1cclxuXHJcbiAgLmNvbC1sZy02IHtcclxuICAgIC13ZWJraXQtYm94LWZsZXg6IDAgIWltcG9ydGFudDtcclxuICAgIC1tcy1mbGV4OiAwIDAgNTAlICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4OiAwIDAgNTAlICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6MiUgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDo0OCUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcclxuICAgIC5jb2wtbGctNiB7XHJcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDAgIWltcG9ydGFudDtcclxuICAgICAgLW1zLWZsZXg6IDAgMCA1MCUgIWltcG9ydGFudDtcclxuICAgICAgZmxleDogMCAwIDUwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmN0YS1jYXJkIHtcclxuICAuc2luZ2xlLWltZy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTotMTYwcHggIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6NDAwcHg7XHJcbiAgfVxyXG5cclxuICAuc2luZ2xlLWltZy1oZWFkbGluZSB7XHJcbiAgICBmb250LXNpemU6MzBweDtcclxuICAgIHRleHQtc2hhZG93OiAzcHggM3B4IDZweCByZ2JhKDAsMCwwLC4zMyk7XHJcbiAgICBtYXJnaW4tdG9wOjIwcHg7XHJcbiAgICBjb2xvcjojQjU5MDM4O1xyXG4gIH1cclxuXHJcbiAgLnNpbmdsZS1pbWctdGV4dCB7XHJcbiAgICBjb2xvcjp3aGl0ZSAhaW1wb3J0YW50OyBcclxuICAgIHBhZGRpbmctbGVmdDoxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMTAsMjgsNDQsLjUzKTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgem9vbToxO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICB9XHJcbn1cclxuXHJcbmEge1xyXG4gIC5sZWFybl9tb3JlIHtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgY29sb3I6I2ZmZmZmZjtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBvcGFjaXR5OjA7XHJcbiAgICB0cmFuc2l0aW9uOiAuMzVzO1xyXG4gICAgZm9udC1zaXplOjE5cHg7XHJcbiAgICBtYXJnaW46YXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6MTkwcHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxcHggcmdiYSgwLDAsMCwuMzMpO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIG1pbi13aWR0aDoxMDAlO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAubGVhcm5fbW9yZSB7XHJcbiAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgY29sb3I6I0I1OTAzODtcclxuICAgICAgdHJhbnNpdGlvbjogLjc1cztcclxuICAgICAgbWFyZ2luLXRvcDoyMDBweDtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgdGV4dC1zaGFkb3c6IDNweCAzcHggNnB4IHJnYmEoMCwwLDAsLjMzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jaG9zZW4tcmVzdWx0cyB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGxpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWN0aXZlLXJlc3VsdCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGxpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hpbS0xIHtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBwYWRkaW5nOjBweDtcclxuICAgIG1hcmdpbjowcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgaGVpZ2h0OjFweDtcclxuICAgIGxpbmUtaGVpZ2h0OjFweDtcclxuICAgIG1heC1oZWlnaHQ6MXB4O1xyXG59XHJcblxyXG4uc2hpbS01IHtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBwYWRkaW5nOjBweDtcclxuICAgIG1hcmdpbjowcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgaGVpZ2h0OjVweDtcclxuICAgIGxpbmUtaGVpZ2h0OjVweDtcclxuICAgIG1heC1oZWlnaHQ6NXB4O1xyXG59XHJcblxyXG4uc2hpbS0xMCB7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgcGFkZGluZzowcHg7XHJcbiAgICBtYXJnaW46MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgY2xlYXI6Ym90aDtcclxuICAgIGhlaWdodDoxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MTBweDtcclxuICAgIG1heC1oZWlnaHQ6MTBweDtcclxufVxyXG5cclxuLnNoaW0tMTUge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgbWFyZ2luOjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBoZWlnaHQ6MTVweDtcclxuICAgIGxpbmUtaGVpZ2h0OjE1cHg7XHJcbiAgICBtYXgtaGVpZ2h0OjE1cHg7XHJcbn1cclxuXHJcbi5xdWljay1maWx0ZXItaW5uZXIuZC1mbGV4LmRhc2hfbmF2LmRhc2hfbmF2MiB7XHJcbiAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi51aS1hY2NvcmRpb24taGVhZGVyLWljb24udWktaWNvbi51aS1pY29uLWNpcmNsZS1hcnJvdy1zIHtcclxuICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udWktYWNjb3JkaWFuLWNvbnRlbnQsIC51aS1hY2NvcmRpb24taGVhZGVyLCAuZmFxLWFuc3dlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItbGVmdDowcHggdHJhbnNwYXJlbnQgbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OjBweCB0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmgxLm1haW4taGVhZGVyIHtcclxuICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBsaW5lLWhlaWdodDogNTcuNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmZvb3RlciBhIHtcclxuICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZvb3Rlci1saW5rLXdyYXAgeyBcclxuICAgIEBpbmNsdWRlIGZsZXhib3g7IFxyXG4gICAgd2lkdGg6Y2FsYygxMDAlIC0gMjcwcHgpO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRleExhcmdlKSB7XHJcbiAgICAgd2lkdGg6Y2FsYygxMDAlIC0gODBweCk7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwcHgpOyBcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwcHgpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5tZW51LWZvb3Rlci1jb250YWluZXIgeyBcclxuICAgICAgQGluY2x1ZGUgZmxleGJveDsgIFxyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdWx7IFxyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAmID4gdWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BhY2Utbm9uZTtcclxuICAgICAgICAgICYgPiAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgYTpob3ZlcnsgXHJcbiAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIH0gXHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJiA+IHVsIHsgXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7IFxyXG4gICAgICAgIHBhZGRpbmc6IDA7ICBcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICYgPiBsaSB7XHJcbiAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhTbWFsbCkge1xyXG4gICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmID4gYXtcclxuICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEubmF2LWxpbms6bm90KFtocmVmXSksIGEubmF2LWxpbmtbaHJlZj0nIyddIHtcclxuICAgIGNvbG9yOiAkcm55LWdvbGQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGhlYWRlciwgZm9vdGVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogOXZ3ICAhaW1wb3J0YW50OyBcclxuICAgIHBhZGRpbmctcmlnaHQ6IDl2dyAgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDoxMDB2dyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHsgXHJcbiAgICBoZWFkZXIsIGZvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW0gIWltcG9ydGFudDsgXHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiAgLmJ0bi5idG4td2hpdGU6aG92ZXIge1xyXG4gICAgY29sb3I6ICRjLXllbGxvdztcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC43N3M7XHJcbiAgfVxyXG5cclxuICAubWVudS1pdGVtLnRoaXJkLWxldmVsLCAubWVudS1pdGVtLnNlY29uZC1sZXZlbCwgLm1lbnUtaXRlbS5uYXYtaXRlbS5saXN0LXVuc3R5bGVkIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTouOTVlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcblxyXG4gIGFzaWRlOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBhc2lkZSB7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICAvKiBJRSBhbmQgRWRnZSAqL1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgLyogRmlyZWZveCAqL1xyXG59XHJcblxyXG4uYmxvZyAuaW1hZ2UgYSBpbWcge1xyXG4gICAgbWF4LWhlaWdodDozMzNweCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOjQ5N3B4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5vZmZlcmluZy1pdGVtLWhlYWRlciAge1xyXG4gICAgdG9wOjEwN3B4O1xyXG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgd2hpdGU7XHJcbiAgICB6LWluZGV4Ojg7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmc6IDhweCAyNHB4O1xyXG4gICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktYmx1ZS1mb290ZXI7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogICAxMDAwcHgpIHtcclxuICAgIC5vZmZlcmluZy1pdGVtLWhlYWRlciAge1xyXG4gICAgICAgIHRvcDo1NnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9ybS1mb2N1cy1saWdodCgkY29sb3I6ICRjLWJsdWUpIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICRjLWJsdWU7XHJcbiAgXHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDQ4LDc5LDEwOCwxKTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoNDgsNzksMTA4LDEpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoNDgsNzksMTA4LDEpO1xyXG4gIFxyXG4gIH1cclxuICBcclxuICBAbWl4aW4gZm9ybS1mb2N1cy1kYXJrKCRjb2xvcjogJHdoaXRlKSB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDVweCByZ2JhKDgsMjgsNDYsMSk7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDBweCA1cHggcmdiYSg4LDI4LDQ2LDEpO1xyXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDVweCByZ2JhKDgsMjgsNDYsMSk7XHJcbiAgXHJcbiAgfVxyXG5cclxuLmZvcm1fc2VjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xyXG5cclxuICAgIC5mdWxsLXdpZHRoIHtcclxuXHJcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4LjJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICAgICAgZGl2Lmdmb3JtX2JvZHkge1xyXG4gICAgICAgICAgICAgICAgdWwuZ2Zvcm1fZmllbGRzIHtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmdmaWVsZF9yZXF1aXJlZCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtcmVkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyBpbnB1dCxcclxuICAgICAgICAgICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGVsXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3JtLWZvY3VzLWxpZ2h0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpbnB1dCA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnRocmVlLWNvbHVtbiB7XHJcbiAgICBtYXgtd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxJSAhaW1wb3J0YW50O1xyXG4gICAgbWF4LWhlaWdodDogMzE3cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuYTpub3QoW2hyZWZdKSwgYVtocmVmPScjJ10ge1xyXG4gICAgY3Vyc29yOmRlZmF1bHQgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsgLyogU2FmYXJpICovXHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsgLyogSUUgMTAgYW5kIElFIDExICovXHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50OyAvKiBTdGFuZGFyZCBzeW50YXggKi9cclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBtaW4td2lkdGg6OTVweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzoxMnB4IDIzcHggMTJweCAyM3B4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maWd1cmUtY2FyZC13cmFwIHtcclxuICAgIFxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6Ljc1O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjc1cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBvcGFjaXR5OjE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC43NXM7XHJcbiAgICB9ICAgIFxyXG59XHJcblxyXG5kaXYuY2FyZC5jYXJkLTMgYSB7ICAgIFxyXG4gICAgLnRleHQtaG92ZXIge1xyXG4gICAgICAgIHotaW5kZXg6ODtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogODUlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNzVzO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICAgIHotaW5kZXg6IDEyO1xyXG4gICAgICAgIHBhZGRpbmc6IDglO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDoxMCU7IFxyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MTAlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyNyU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjU1KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAudGV4dC1ob3ZlciB7XHJcbiAgICAgICAgICAgIHotaW5kZXg6MTI7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC43NXM7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRleHQtaG92ZXI6aG92ZXIge1xyXG4gICAgei1pbmRleDoxMjtcclxuICAgIG9wYWNpdHk6MTtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjU1cztcclxufVxyXG5cclxuLm9mZmVyaW5nLWl0ZW0tYm9keS1yaWdodCB7XHJcbiAgICB3aWR0aDoyMjJweCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOjE5LjUwJSAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5hZGQtdG8tb3JkZXItcHJvZHVjdHMtYnRuLCAuYnRuIHtcclxuICAgICAgICBmb250LXNpemU6Ljg5ZW0gIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDo0cHggIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OjM3cHg7XHJcbiAgICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vZmZlcmluZy1pdGVtLWJvZHktcmlnaHQtcmVzZXJ2ZSB7XHJcbiAgICB3aWR0aDoyNjBweCAhaW1wb3J0YW50O1xyXG4gICAgbWluLXdpZHRoOjI2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjpyaWdodDtcclxuXHJcbiAgICAuYWRkLXRvLW9yZGVyLXByb2R1Y3RzLWJ0biwgLmJ0biB7XHJcbiAgICAgICAgZm9udC1zaXplOi44OWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIGhlaWdodDozN3B4O1xyXG4gICAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6ICAxMDAwcHgpIHtcclxuICAgIC5vZmZlcmluZy1pdGVtLWJvZHktcmlnaHQge1xyXG4gICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtaW4td2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZmVyaW5nLWl0ZW0tYm9keS1yaWdodC1yZXNlcnZlIHtcclxuICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLXdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZnJhYyB7XHJcbiAgICAub2ZmZXJpbmctaXRlbS1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5vZmZlci1kZXRhaWwge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206Ljk5ZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm9mZmVyLWRldGFpbCB7XHJcbiAgICAub2ZmZXItaXRlbS1ib2R5LWxlZnQge1xyXG4gICAgICAgIHBhZGRpbmc6MTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLm9mZmVyaW5nLWl0ZW0tZm9vdGVyIHtcclxuICAgIC5zbC13cmFwIHtcclxuICAgICAgICBmb250LXNpemU6Ljg5ZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnByZC1ncm91cG5hbWUge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4ub2ZmZXJpbmctaXRlbS1oZWFkZXItdGl0bGUsIC5yZXNlcnZlcy1pdGVtcyAub2ZmZXJpbmctdGl0bGUge1xyXG4gICAgLmljb24tcm95YWwtUmlnaHQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgIGZvbnQtc2l6ZToxLjY1ZW0gIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWhlaWdodDouOGVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IC43N3M7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjNweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDotMTdweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlc2VydmVzLWl0ZW1zIC5vZmZlcmluZy10aXRsZSB7XHJcbiAgICAuaWNvbi1yb3lhbC1SaWdodCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgZm9udC1zaXplOjEuMTVlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OjFlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiAuNzdzO1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDotN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6LTUwcHggIWltcG9ydGFudDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb2xsYXBzZWQtZ3JvdXAge1xyXG4gICAgLmljb24tcm95YWwtUmlnaHQge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2l0aW9uOiAuNzdzO1xyXG4gICAgfSBcclxufVxyXG5cclxuLnRlYS1pdGVtLXRpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBtYXgtaGVpZ2h0OiAzM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4taGVpZ2h0OiAzM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5OCU7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBmb250LXNpemU6MS4ycmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4ub2ZmZXJpbmctaXRlbS1pbmdyZWRpZW50IHtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDk5JTtcclxuICAgIG1heC1oZWlnaHQ6IDgwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgIFxyXG4gICAgLy9tYXJnaW4tYm90dG9tOjlweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6OTV2dyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5oMiB7XHJcbiAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWN0aW9uLnNlY29uZGFyeS1pbWctd2lkZSB7XHJcbiAgICBtaW4taGVpZ2h0OjMyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmltZy5jdGEtaWNvbiB7XHJcbiAgICB3aWR0aDoxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcclxuICAgIG1pbi13aWR0aDp1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub2ZmZXJpbmctaXRlbS1kZXRhaWwge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuXHJcblxyXG4uYnRuLWRpc2FibGVkLCAuYnRuW2Rpc2FibGVkPWRpc2FibGVkXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaW1ncmF5ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogc2lsdmVyICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaW1ncmF5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6IHNpbHZlciFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgei1pbmRleDogOTkgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjowcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmbG9hdDpsZWZ0O1xyXG4gICAgY2xlYXI6bm9uZTtcclxuICAgIHRvcDowcHggIWltcG9ydGFudDtcclxuXHJcbiAgICBkaXYge1xyXG4gICAgICAgIG1heC13aWR0aDozMHZ3O1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6M2VtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLWhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OjRweCA0cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yNSkgIWltcG9ydGFudDtcclxuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOjM1dmggIWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OmNhbGMoNTAlIC0gMTV2dykgIWltcG9ydGFudDtcclxuICAgICAgICB6LWluZGV4OjEwMDtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6MjVweDtcclxuICAgICAgICAgICAgd2lkdGg6MjVweDtcclxuICAgICAgICAgICAgY29udGVudDoneCc7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgICAgICAgICAgY29sb3I6d2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOjBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMTtcclxuICAgICAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjojODg4ODg4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5nZmllbGRfbGFiZWwge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgbWFyZ2luLXRvcDoxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOjFweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6LTNweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOjEuMTVlbTtcclxufVxyXG5cclxuLnNlbGVjdC1oaWRlIHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuKltyb2xlPVwiYnV0dG9uXCJdIHtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG59XHJcblxyXG4vLyAucmVzZXJ2ZS1xdHktd3JhcCB7XHJcbi8vICAgICBwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50OyAgXHJcbi8vICAgICBtYXJnaW4tbGVmdDotMTI1cHggIWltcG9ydGFudDsgXHJcbi8vICAgICBtYXJnaW4tdG9wOjk4cHggIWltcG9ydGFudDsgXHJcbi8vICAgICBtYXgtd2lkdGg6MTIwcHggIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkge1xyXG4vLyAgICAgLnJlc2VydmUtcXR5LXdyYXAge1xyXG4vLyAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7ICBcclxuLy8gICAgICAgICBtYXJnaW4tbGVmdDp1bnNldCAhaW1wb3J0YW50OyBcclxuLy8gICAgICAgICBtYXJnaW4tdG9wOnVuc2V0ICFpbXBvcnRhbnQ7IFxyXG4vLyAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgIGhlaWdodDo1NXB4ICFpbXBvcnRhbnQ7XHJcbi8vICAgICB9ICAgIFxyXG4vLyB9XHJcblxyXG5cclxuLy8gQ0hFQ0tPVVQgU1RZTEVTIC0gUEFZTUVOVCBUWVBFU1xyXG5cclxuXHJcbi5vcmRlcl9kZXRhaWxzIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnBheW1lbnRfYm94IHtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206dW5zZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLndjX3BheW1lbnRfbWV0aG9kcyB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAud2NfcGF5bWVudF9tZXRob2Qge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlcjowcHggIWltcG9ydGFudDtcclxuICAgICAgICAvL2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHJnYmEoOCwgMjgsIDQ2LCAwLjE1MykgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOjVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9wYWRkaW5nLWJvdHRvbToxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOjE1cHggIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjApICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiA3cHg7XHJcbiAgICAgICAgLy9ib3JkZXI6MnB4IHNvbGlkICNjZmNmY2Y3YyAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBsYWJlbCBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kczo6YWZ0ZXIsIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHM6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53Y19wYXltZW50X21ldGhvZCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogdW5zZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciB7XHJcbiAgICAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDZyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnZhbGlkYXRlLXJlcXVpcmVkIHtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud29vY29tbWVyY2UtdmFsaWRhdGVkIHtcclxuICAgICAgICBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tcHJpbWFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgJjphY3RpdmUsXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtZ3JlZW4pO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gdGhhbmsgeW91IC8vIG9yZGVyIHJlY2VpdmVkIChvciBub3QuLi4pXHJcbi53b29jb21tZXJjZS1vcmRlciB7XHJcbiAgICBtYXgtd2lkdGg6dW5zZXQgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjp1bnNldCAhaW1wb3J0YW50O1xyXG5cclxuICAgIC53b29jb21tZXJjZS1ub3RpY2Uge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaS5vcmRlciB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcclxuICAgICAgICAub3JkZXJfZGV0YWlscyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRmb290IHtcclxuICAgICAgICAgICAgdHI6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2hpcHBpbmcsIC5wYXltZW50TWV0aG9kLCAucGF5bWVudF9tZXRob2RzIHtcclxuICAgIGg1IHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMjRweDtcclxuICAgIH1cclxuICAgIC5pbnZhbGlkLWZlZWRiYWNrIHtcclxuICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1jaGVjayBsYWJlbDo6YmVmb3JlLFxyXG4gICAgLmZvcm0tY2hlY2sgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5mb3JtLWNoZWNrIGlucHV0W3R5cGU9cmFkaW9dLmlzLWNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL3JveWFsLWNoZWNrZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyICMwQTFEMkUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNoaXBNZXRob2QgZmllbGRzZXQge1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjMDA3N0I1MDU7XHJcbiAgICBwYWRkaW5nOjhweDtcclxufVxyXG5cclxuLmlzLWNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvaWNvbnMvcm95YWwtY2hlY2tlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgIzBBMUQyRSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZm9ybS1jaGVjayB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZGl2Om50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6LThweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN2LXdjLXBheW1lbnQtZ2F0ZXdheS1jYXJkLWljb25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDoxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBzaWx2ZXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZGl2LnBheW1lbnRfYm94IHA6OmJlZm9yZSwgZGl2LnBheW1lbnRfYm94OjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wYXltZW50X2JveCB7XHJcbiAgICAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlLXNlbGVjdCB7XHJcbiAgICAgICAgZm9udC1zaXplOjE0cHggIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc3Nzc3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdFdXJvcGEnICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50cmliZS1jaGVja291dC1iYWNrbGlua3Mge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNhcmQtaW1hZ2VzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmbG9hdDpyaWdodDtcclxuICAgIG1hcmdpbi10b3A6LTEwcHg7XHJcbn1cclxuXHJcbi5wYXltZW50X21ldGhvZF9wYXlwYWwge1xyXG4gICAgLmFib3V0X3BheXBhbCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjgzZW07XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MnB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICAgICAgICBcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmQtaW1hZ2VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9yb3lhbC1ueS9pbWcvaWNvbnMvcGF5cGFsLWNyZWRpdC1jYXJkcy5wbmcnKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOjE5OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OjY0cHggIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnBheW1lbnRfbWV0aG9kX3BheXBhbF9wcm9fcGF5ZmxvdyB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUycHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jYXJkLWltYWdlcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvd3AtY29udGVudC90aGVtZXMvcm95YWwtbnkvaW1nL2ljb25zL2NyZWRpdC1jYXJkcy5wbmcnKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XHJcbiAgICAgICAgd2lkdGg6MTk4cHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6NjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY2xlYXI6Ym90aDtcclxuICAgIH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB7XHJcbiAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgIHRkLCB0aCwgdHIsIHRoZWFkLCB0Ym9keSwgdGZvb3Qge1xyXG4gICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xyXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLXdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgdGQsIHRoLCB0ciwgdGhlYWQsIHRib2R5LCB0Zm9vdCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHtcclxuICAgICAgICBtaW4td2lkdGg6OTklICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOjk5JSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY2xlYXI6Ym90aCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5wYXltZW50LXdyYXBwZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmZvcm0tY2hlY2sgaW5wdXQ6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAjMEExRDJFICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjU1cztcclxufVxyXG5cclxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAjMEExRDJFICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjU1cztcclxufVxyXG5cclxuLy8gLndvb2NvbW1lcmNlIC5ibG9ja1VJLmJsb2NrT3ZlcmxheTo6YmVmb3JlIHtcclxuLy8gICAgIGhlaWdodDogMWVtO1xyXG4vLyAgICAgd2lkdGg6IDFlbTtcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgdG9wOiA1MCU7XHJcbi8vICAgICBsZWZ0OiA1MCU7XHJcbi8vICAgICBtYXJnaW4tbGVmdDogLS41ZW07XHJcbi8vICAgICBtYXJnaW4tdG9wOiAtLjVlbTtcclxuLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbi8vICAgICBhbmltYXRpb246IHNwaW4gMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XHJcbi8vICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xvYWRlci5zdmcpIGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuLy8gICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbi8vICAgICBsaW5lLWhlaWdodDogMTtcclxuLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuLy8gICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4vLyAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjc1KTtcclxuLy8gfVxyXG5cclxuLndvb2NvbW1lcmNlIC5ibG9ja1VJLmJsb2NrT3ZlcmxheTo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xyXG4gICAgYm9yZGVyOiA0LjVweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBzcGlubmVyLWJvcmRlciAuNzVzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgXHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcclxuICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gIH1cclxuXHJcbi53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcclxuICAgIG1hcmdpbi10b3A6LTMwcHg7XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG5cclxuICAgIG1hcmdpbi1ib3R0b206MjBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDo1cHghaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgIzk5OTk5OTY1ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5MjAgIWltcG9ydGFudDtcclxuICAgIFxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIGxpOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHAubGFiZWwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXNpemU6Mi4xNWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGkgcC50ZXh0LWJvbGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZToxLjY1ZW0gIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZsZXgtcm9vdCB7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcblxyXG4jcGF5bWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucGF5bWVudC1tZXRob2RzIHtcclxuICAgIG1pbi13aWR0aDogNDclO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY29sLWxlZnQsIC5jb2wtcmlnaHQge1xyXG4gICAgdG9wOjI5MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50YWItY29udGVudCB7XHJcbiAgICBwYWRkaW5nOjQwcHggMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucHJvZHVjdF9jYXRfaGVhZGVyX3dyYXBwZXIge1xyXG4gICAgdGgge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNhZmFmYWYgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuI2N1c3RvbWVyX2RldGFpbHMge1xyXG4gICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICBtaW4td2lkdGg6NDclO1xyXG4gICAgZmxvYXQ6bGVmdDtcclxuICAgIHRvcDoxMjBweDtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBwYWRkaW5nLXRvcDoyNHB4O1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNvcmRlcl9yZXZpZXcge1xyXG4gICAgbWF4LXdpZHRoOjQ4JTtcclxuICAgIG1pbi13aWR0aDo0OCU7XHJcbiAgICBmbG9hdDpyaWdodDtcclxuICAgIHRvcDoxMjBweDtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBwYWRkaW5nLXRvcDoyNHB4O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDYwcHgpIHsgXHJcbiAgICAjb3JkZXJfcmV2aWV3IHtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgICBtaW4td2lkdGg6MTAwJTtcclxuICAgICAgICBmbG9hdDpub25lO1xyXG4gICAgICAgIHRvcDp1bnNldDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNvcmRlcl9yZXZpZXc+LmJ0biB7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG59XHJcblxyXG5zZWN0aW9uLnBheW1lbnQtd3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUgNTAlLCAjRUZGN0ZDIDUwJSk7IFxyXG4gICAgLyptYXJnaW4tdG9wOi00OHB4OyAqL1xyXG4gICAgLypwYWRkaW5nLXRvcDo0MHB4OyovXHJcbiAgICBtYXJnaW4tYm90dG9tOi0yMHB4O1xyXG4gICAgY2xlYXI6Ym90aDtcclxuICAgIHBhZGRpbmctYm90dG9tOjEwMHB4O1xyXG59XHJcblxyXG50ci5vcmRlci10b3RhbCB0ZCwgdHIuY2FydC1zdWJ0b3RhbCB0ZCwgdGQucHJvZHVjdC10b3RhbCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyB0ZC5wcm9kdWN0LW5hbWUge1xyXG4vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcclxuLy8gICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuLy8gICAgIG1heC13aWR0aDo2MiUgIWltcG9ydGFudDtcclxuLy8gICAgIG1pbi13aWR0aDo2MiUgIWltcG9ydGFudDtcclxuLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbi8vIH1cclxuXHJcbi8vIHRoLnByb2R1Y3QtbmFtZSB7XHJcbi8vICAgICBtYXgtd2lkdGg6NjIlICFpbXBvcnRhbnQ7XHJcbi8vICAgICBtaW4td2lkdGg6NjIlICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcbi5zaGlwcGluZyB0aCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6MjVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG50aC5wcm9kdWN0LXRvdGFsIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ub3JkZXItdG90YWwsIC5jYXJ0LXN1YnRvdGFsIHtcclxuICAgIHRoIHtcclxuICAgICAgICBmb250LXNpemU6MS4xNXJlbTtcclxuICAgICAgICBmb250LWZhbWlseTogJ0V1cm9wYS1SZWd1bGFyJztcclxuICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBmb250LWZhbWlseTogJ0V1cm9wYS1SZWd1bGFyJztcclxuICAgICAgICBwYWRkaW5nLXRvcDo4cHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxudGZvb3Quc2hpcHBpbmctbWV0aG9kcyB7XHJcblxyXG4gICAgLy8gLmZvcm0tY2hlY2sge1xyXG4gICAgLy8gICAgIGxhYmVsIHtcclxuICAgIC8vICAgICAgICAgZm9udC1zaXplOi44OGVtO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICB0ciB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6Ljg4ZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIGVtIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTouNzVlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IzQ0NDQ0NCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGgsIHRkIHsgICAgXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MnB4O1xyXG4gICAgICAgICAgICBtYXJnaW46LTFweDtcclxuICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZDhlM2U5OTUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgfVxyXG59XHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCRUJFQkUgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgcGFkZGluZzogMTFweCAyMHB4O1xyXG4gICAgY29sb3I6ICMwQTFEMkU7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4ubG9uZ1RleHQge1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ucHJvZHVjdC1uYW1lLmxvbmdUZXh0IHtcclxuICAgIG1heC13aWR0aDoyNzVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2hlY2tvdXQud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwIHtcclxuICAgIHotaW5kZXg6IDEgIWltcG9ydGFudDtcclxuICAgIHRvcDogMTA3cHggIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogLTMwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuaDIud29vY29tbWVyY2Utb3JkZXItZGV0YWlsc19fdGl0bGUge1xyXG4gICAgbWFyZ2luLXRvcDozMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItcmVjZWl2ZWQge1xyXG4gICAgZm9udC1zaXplOjM4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOjhweDtcclxuICAgIG1hcmdpbi10b3A6MjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzIHtcclxuICAgIG1heC13aWR0aDoxMzYwcHg7XHJcbn1cclxuXHJcbnRhYmxlLm9yZGVyX2RldGFpbHMge1xyXG4gICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDoxMDAlO1xyXG5cclxuXHJcbiAgICB0aCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOjQ4MHB4O1xyXG4gICAgICAgIHdpZHRoOjI1JTtcclxuICAgICAgICBtaW4td2lkdGg6MjUlO1xyXG4gICAgfVxyXG5cclxuICAgIHRkIHtcclxuICAgICAgICBtYXgtd2lkdGg6NzgwcHg7XHJcbiAgICAgICAgd2lkdGg6NzUlO1xyXG4gICAgICAgIG1pbi13aWR0aDo3NSU7XHJcbiAgICB9XHJcblxyXG4gICAgdGZvb3Qge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjQ4MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MjUlO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOjI1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDYwLjVweCkge1xyXG4gICAgLndvb2NvbW1lcmNlLW9yZGVyIHtcclxuICAgICAgICBtYXJnaW46YXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDoxMzYwcHg7XHJcblxyXG4gICAgICAgIHRhYmxlLm9yZGVyX2RldGFpbHMge1xyXG4gICAgICAgICAgICAvL21heC13aWR0aDoxMDYwcHg7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDoyMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjIwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjgwMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ODAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDYwcHgpIHtcclxuXHJcbiAgICAuc2lkZWJhci1mb290ZXIge1xyXG4gICAgICAgIG1heC13aWR0aDo5OS41dncgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOjFlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuLnNpZGViYXItcHJvZHVjdC1kZWF0aWxzIHtcclxuICAgIG1heC13aWR0aDo5OS41dnc7XHJcbn1cclxuXHJcbiAgICAuc2lkZWJhci1pbm5lci13cmFwIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcmlnaHQ6IDM1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5OHZ3O1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpKTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG9wX3RhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMHZ3O1xyXG4gICAgICAgIG1pbi13aWR0aDo5MHZ3O1xyXG4gICAgfVxyXG5cclxuICAgICNjdXN0b21lcl9kZXRhaWxzIHtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgICBtaW4td2lkdGg6MTAwJTtcclxuICAgICAgICBmbG9hdDpub25lO1xyXG4gICAgICAgIHRvcDp1bnNldDtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDoxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1kZXRhaWxzIHtcclxuICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOjk5JTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjIwcHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOi45NWVtICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDowcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDowcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICYgcDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDo0OCU7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6NDglO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmIHA6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDo1MiU7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6NTIlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDo0OCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDo0OCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRleHQtYm9sZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6NTIlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6NTIlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3Qge1xyXG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xyXG59XHJcblxyXG4jYW5nZWxsZXllX29yZGVyX3Jldmlld19wYXltZW50X21ldGhvZCB7XHJcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgeyBcclxuICAgIHRkLCB0aCB7XHJcbiAgICAgICAgcGFkZGluZzozcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNpZGViYXItd3JhcC5zaG9wcGluZy1jYXJ0LXNpZGViYXIgLnNoaXBwaW5nLXByb2R1Y3QtaXRlbSAuc2hpcHBpbmctcHJvZHVjdC10b3Age1xyXG4gICAgbWF4LXdpZHRoOjEwMHZ3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jYXQge1xyXG4gICAgbWF4LXdpZHRoOjk5dnc7XHJcbn1cclxuXHJcbi5zaGlwTWV0aG9kIHtcclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhIFJlZ3VsYXInICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4jU2hpcHBpbmdfc2FtZV9hc19maWVsZCB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi5hdmFpbGFibGUtaW5ncmVkaWVudCB7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgY29sb3I6JGMtZ3JlZW47XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrO1xyXG4gICAgfVxyXG59XHJcblxyXG4jc29ydC1ieSB7XHJcbiAgICBtaW4td2lkdGg6MTIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuI3NlYXJjaC1jb250YWluZXIge1xyXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jYmxvZ19wYWdpbmcsIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24ge1xyXG4gICAgbWF4LXdpZHRoOjk5dnc7XHJcbiAgICBtaW4td2lkdGg6NDV2dztcclxuICAgIG1hcmdpbjogMThweCAwcHggMTJweCAwcHg7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcblxyXG4gICAgLm5hdi1saW5rcyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOjk5JTtcclxuICAgICAgICBmb250LXNpemU6MTZweDtcclxuXHJcbiAgICAgICAgLmN1cnJlbnQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICBjb2xvcjokYy15ZWxsb3c7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6OHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46MHB4IDVweCAwcHggNXB4O1xyXG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNlZmVmZWY7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU1cztcclxuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDo0MHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MTI1cHg7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjokYy15ZWxsb3c7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41NXM7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6M3B4IDJweCA1cHggcmdiYSgxMDAsMTAwLDEwMCwuMjUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiRjLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgcGFkZGluZzo4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjowcHggNXB4IDBweCA1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI2VmZWZlZjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNTVzO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWluLXdpZHRoOjQwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDoxMjVweDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiRjLXllbGxvdztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNTVzO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzozcHggMnB4IDVweCByZ2JhKDEwMCwxMDAsMTAwLC4yNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcmV2LCAubmV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2NoZWNrb3V0X3BheXBhbF9tZXNzYWdlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICBoZWFkZXIsIGZvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZzp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDp1bnNldCAhaW1wb3J0YW50OyAgICAgICAgXHJcbiAgICAgICAgcGFkZGluZy1yaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjp1bnNldCAhaW1wb3J0YW50OyAgIFxyXG4gICAgfVxyXG5cclxuICAgIFtpZF49XCJhZGRvbmlmeVwiXSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LWhlaWdodDoxMDB2aCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGZvb3RlciB7XHJcbiAgICAgICAgJj5kaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDozdncgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjN2dyAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGlkZGVuLW1kIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtZGVza3RvcCkge1xyXG4gICAgLmhpZGRlbi1sZyB7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZm9vdGVyOjpiZWZvcmUge1xyXG4gICAgd2lkdGg6MTAwdnc7XHJcbiAgICBtYXJnaW46MHB4O1xyXG4gICAgbGVmdDowO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LWRlc2t0b3ApIHtcclxuICAgIC5kZXNrdG9wLWhpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm15YWNjb3VudC1tZW51IHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgI0NvZmZlZSBpbWcsICNUZWEgaW1nLCAjTGFiIGltZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgbWF4LWhlaWdodDogMTA1cHg7XHJcbiAgICAgICAgbWFyZ2luOi0xNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG4gICAgaGVhZGVyPi5jb250YWluZXIgLm5hdmJhci1sb2dvLWZ1bGwge1xyXG4gICAgICAgIG1heC13aWR0aDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi13aWR0aDogMzBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB0b3A6IDE1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAudGFibGV0LWhpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgI0NvZmZlZSBpbWcsICNUZWEgaW1nLCAjTGFiIGltZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgbWF4LWhlaWdodDogODBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206LTE1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm1vZGFsX2JhY2sge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNDApO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA5OTk5OTkwO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6MTA3cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjaGVhZGVyLW1lbnUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6MTA3cHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcclxuICAgIGhlYWRlciB7XHJcbiAgICAgICAgbWF4LWhlaWdodDo4NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI2hlYWRlci1tZW51IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNhbXBsZVJlcXVlc3RCb2R5IHtcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0Oi0xNTVweDtcclxuICAgIH1cclxuXHJcbiAgICAuaDMge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYWN0aXZlLXNob3BwaW5nLWNhcnQge1xyXG4gICAgLnNpZGViYXItaW5uZXItd3JhcCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogLTEwcHggMHB4IDIwcHggcmdiYSgwLDAsMCwuMjUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246ICdib3gtc2hhZG93JyAuODhzO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFubmVyLXNsaWRlciB7XHJcbiAgICAuc2xpZGVyLWl0ZW0td3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxuICAgICAgICBjb2x1bW4tZ2FwOiAwcHg7XHJcblxyXG4gICAgICAgIG1heC1oZWlnaHQ6NDgwcHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIyNXB4KSB7IFxyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OjQzMHB4OyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTI1cHgpIHsgXHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6MzgwcHg7ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkgeyBcclxuICAgICAgICAgICAgbWF4LWhlaWdodDozMzBweDsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHsgICAgICAgICAgICBcclxuICAgICAgICAvLyAgICAgbWF4LWhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vICAgICBtaW4taGVpZ2h0OnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkgeyAgICAgICAgIFxyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OjUwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5iYW5uZXItY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcGFkZGluZzoyLjVlbTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6OCU7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcclxuICAgICAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgICAgICBvcmRlcjoxO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG5cclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6MjAwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDp1bnNldDtcclxuXHJcbiAgICAgICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjEuNjVlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6Ljc1ZW07XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjoyO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTowcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogNHB4IDRweCA3cHggcmdiYSgxMDAsMTAwLDEwMCwuMTUpO1xyXG4gICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJhbm5lci1pbWFnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOjUwJTtcclxuICAgICAgICAgICAgb3JkZXI6MjtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG9yZGVyOjE7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlOyAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ4MHB4OyAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1MHB4OyAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDsgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjUwcHg7ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDsgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgdWwuc2xpY2stZG90cyB7XHJcbiAgICAgICAgYm90dG9tOiAtMzBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG51bC5zbGljay1kb3RzIHtcclxuICAgIGJvdHRvbTogLTMwcHggIWltcG9ydGFudDtcclxuICAgIFxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkgeyAgIFxyXG4gICAgICAgIGJvdHRvbTowcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnByaW50LW9mZmVyaW5nLWNvbnRhaW5lci1vdXRlciB7XHJcbiAgICB3aWR0aDoxOTVweDtcclxuICAgIG1heC13aWR0aDoxOTVweDtcclxuICAgIGRpc3BsYXk6ZmxleCAhaW1wb3J0YW50O1xyXG5cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkgeyAgICAgICAgXHJcbiAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5zb3J0LWJ5LXNlbGVjdC13cmFwIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDowcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByaW50LW9mZmVyaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWluLXdpZHRoOjE2NXB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIG1heC13aWR0aDoxOTVweCAhaW1wb3J0YW50OyBcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6MTBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICAgICAgICBcclxuICAgICAgICAgICAgd2lkdGg6ODVweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOjg1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6OHB4OyBcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDo4cHg7XHJcblxyXG4gICAgICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXB4OyBcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJpbnRfYnV0dG9uIHsgXHJcbiAgICBmb250LXNpemU6MTNweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OjQ4cHggIWltcG9ydGFudDtcclxuXHJcbiAgICAuZGFzaGljb25zIHtcclxuICAgICAgICBmb250LXNpemU6MTlweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgICBcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ybnlsLWhlYWRlciB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgICBcclxuICAgICAgICBtYXJnaW4tdG9wOi0zMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm9mZmVyaW5nLWl0ZW0tYm9keS1sZWZ0IHtcclxuICAgIC5vZmZlcmluZy1pdGVtLWRldGFpbHMge1xyXG4gICAgICAgIHVsLmQtZmxleCB7XHJcbiAgICAgICAgICAgIGxpLmQtZmxleCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6MjglICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDo0MCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gcC5oNSBidXR0b24sIHAuaDUgZGl2IGJ1dHRvbiwgLnByaW50X2J1dHRvbiB7XHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbi8vICAgICBib3JkZXI6MHB4IG5vbmUgIWltcG9ydGFudDtcclxuLy8gICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuLy8gICAgIG1hcmdpbi1yaWdodDotMTVweDtcclxuLy8gICAgIG1hcmdpbi10b3A6LTI1cHg7XHJcblxyXG4vLyAgICAgLmRhc2hpY29ucyB7XHJcbi8vICAgICAgICAgZm9udC1zaXplOjI4cHg7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcblxyXG4udWktZGF0ZXBpY2tlciB7XHJcbiAgICAqIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0V1cm9wYS1SZWd1bGFyJyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XHJcbiAgICB0ciB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcmsgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIC51aS1kYXRlcGlja2VyLXByZXYge1xyXG5cclxuLy8gfVxyXG5cclxuLy8gLnVpLWRhdGVwaWNrZXItbmV4dCB7XHJcblxyXG4vLyB9XHJcblxyXG4gLnVpLWRhdGVwaWNrZXItdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6J0V1cm9wYS1SZWd1bGFyJyAhaW1wb3J0YW50O1xyXG4gfVxyXG5cclxuLy8gLnVpLWRhdGVwaWNrZXItbW9udGgge1xyXG5cclxuLy8gfVxyXG5cclxuLy8gLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIge1xyXG5cclxuLy8gfVxyXG5cclxuLy8gLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xyXG5cclxuLy8gfVxyXG5cclxuLnVpLWRhdGVwaWNrZXIgdHI6Zmlyc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCBzaWx2ZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyAgICBcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3cgIWltcG9ydGFudDsgIFxyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgge1xyXG4gICAgYm9yZGVyOnVuc2V0ICFpbXBvcnRhbnRcclxufVxyXG5cclxuLm5vc2VsZWN0IHtcclxuICB1c2VyLXNlbGVjdDogbm9uZTsgICAgICAgICAgICAgIC8qIFN0YW5kYXJkIHN5bnRheCAqL1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAvKiBTYWZhcmkgKi9cclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgICAgICAgICAvKiBJbnRlcm5ldCBFeHBsb3Jlci9FZGdlICovXHJcbn1cclxuIiwiLyoqKiBBcHAgY29sb3IgdmFyaWFibGUgKioqL1xyXG5cclxuJHByaW1hcnktY29sb3I6I0ZGNjE1QztcclxuJHNlY29uZGFyeS1jb2xvcjojNDkzNEE2O1xyXG4kd2hpdGUtY29sb3I6ICNmZmY7XHJcbiRibGFjay1jb2xvcjogIzAwMDtcclxuJGxpZ2h0LXN0b25lOiNjMGMwYzA7XHJcbiRybnktbmF2eS1ibHVlOiMwQTFEMkU7XHJcbiRybnktZ29sZDojQjU5MDM4O1xyXG4kcm55LWxpZ2h0LWJsdWU6I0VGRjdGQztcclxuJGRhcmstZ3JheTojNEI0QjRCO1xyXG4kZ3JheTojQkVCRUJFO1xyXG4kbGlnaHQtZ3JheTojRThFQUVCO1xyXG4kc3RvbmUtY29sb3I6I2NjYztcclxuJGxpZ2h0ZXItc3RvbmU6JGJsYWNrLWNvbG9yO1xyXG4kcm55LXNlY29uZGFyeS1ibHVlOiMzMDRFNkM7XHJcbiRybnktYmx1ZS1mb290ZXI6IzBCMTcyNDtcclxuJHJueS1ib3JkZXItY29sb3I6IzYzNkU3ODtcclxuXHJcbi8qKiogRm9udCB3ZWlnaHQgKioqL1xyXG5cclxuJGV4U21hbGw6IDU3NXB4O1xyXG4kU21hbGw6IDc2N3B4O1xyXG4kbWVkaXVtOiA5OTlweDtcclxuJGV4TWVkaXVtOjExOTlweDtcclxuJGxhcmdlOjE0MDBweDtcclxuJGV4TGFyZ2U6MTU5OXB4O1xyXG4vLyAkY29udGFpbmVyOjE1OTk7XHJcblxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcclxuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xyXG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XHJcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcclxuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xyXG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XHJcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcclxuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xyXG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XHJcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcclxuXHJcbiRncmF5czogKCkgIWRlZmF1bHQ7XHJcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XHJcbiRncmF5czogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcclxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcclxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcclxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcclxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcclxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcclxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcclxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcclxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxyXG4gICksXHJcbiAgJGdyYXlzXHJcbik7XHJcblxyXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcclxuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XHJcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xyXG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcclxuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XHJcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xyXG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcclxuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XHJcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xyXG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcclxuXHJcbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kY29sb3JzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxyXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxyXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXHJcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXHJcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxyXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcclxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcclxuICApLFxyXG4gICRjb2xvcnNcclxuKTtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcclxuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xyXG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcclxuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XHJcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XHJcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XHJcblxyXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcclxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxyXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXHJcbiAgKSxcclxuICAkdGhlbWUtY29sb3JzXHJcbik7XHJcblxyXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXHJcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxyXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xyXG5cclxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXHJcbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XHJcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gT3B0aW9uc1xyXG4vL1xyXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXHJcblxyXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xyXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBCUkFORCBQUklNQVJZIENPTE9SUyAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4kYy1ncmVlbjogIzU3ODU4NzsgLy9oc2xhKDE4MywgMjIlLCA0NCUsIDEpO1xyXG4kYy1ncmVlbi1kYXJrOiAjMWMzNTMzO1xyXG4kYy1ibHVlOiAjMzA0ZjZjOyAvL2hzbGEoMjEwLCAzOCUsIDMxJSwgMSk7XHJcbiRjLWJsdWUtbGlnaHQ6ICNlZmY3ZmM7XHJcbiRjLWJsdWUtZGFyazogIzA3MWMyZjsgLy8wODFDMkVcclxuJGMteWVsbG93OiAjYjc5MjIwOyAvL2hzbGEoNDIsIDUzJSwgNDYlLCAxKTtcclxuJGMtcHVycGxlOiAjNmY0ZTdjO1xyXG4kYy1ncmF5LWRhcms6ICMwYTFjMmM7IC8vaHNsYSgyMDgsIDYzJSwgMTElLCAxKTtcclxuJGMtZ3JheS1tZWRpdW0tZGFyazogIzc4ODA4YztcclxuJGMtZ3JheS1tZWQ6ICM5MDk2OWY7IC8vaHNsYSgyMTYsIDclLCA1OSUsIDEpO1xyXG4kYy1ncmF5LWxpZ2h0OiAjZThlYWViOyAvL2hzbGEoMjAwLCA3JSwgOTIlLCAxKTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4kYy1ibGFjazogIzE5MTkxOTtcclxuXHJcbiRjLXJlZDogI2ExMWMxODtcclxuJGMtZ3JlZW4tYWxlcnQ6ICMxNzlhNDQ7XHJcbiRjLXJlZC1hbGVydDogI2U2NjA0YjtcclxuJGMtb3JhbmdlLWFsZXJ0OiAjZGQ2ZTAwO1xyXG5cclxuLy9BZ3Ryb24gU2NhbGUgY29sb3JzXHJcbiRjLWFndHJvbi00NTogIzMyMjExNztcclxuJGMtYWd0cm9uLTU1OiAjM2YyMjEwO1xyXG4kYy1hZ3Ryb24tNjU6ICM1ZDM4MWQ7XHJcbiRjLWFndHJvbi03NTogIzRjMmExMTtcclxuJGMtYWd0cm9uLTg1OiAjNTQyYzA4O1xyXG4kYy1hZ3Ryb24tOTU6ICM2ZjNjMTE7XHJcblxyXG4vLyBUZXh0IGNvbG9yXHJcbiRib2R5LWNvbG9yOiAkYy1ncmF5LWRhcms7XHJcblxyXG5cclxuLy8gU3BhY2luZ1xyXG4vL1xyXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXHJcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cclxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cclxuXHJcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XHJcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcclxuJHNwYWNlcnM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICAwOiAwLFxyXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxyXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXHJcbiAgICAzOiAkc3BhY2VyLFxyXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxyXG4gICAgNTogKCRzcGFjZXIgKiAzKVxyXG4gICksXHJcbiAgJHNwYWNlcnNcclxuKTtcclxuXHJcbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cclxuJHNpemVzOiAoKSAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcclxuJHNpemVzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgMjU6IDI1JSxcclxuICAgIDUwOiA1MCUsXHJcbiAgICA3NTogNzUlLFxyXG4gICAgMTAwOiAxMDAlLFxyXG4gICAgYXV0bzogYXV0b1xyXG4gICksXHJcbiAgJHNpemVzXHJcbik7XHJcblxyXG5cclxuLy8gQm9keVxyXG4vL1xyXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIExpbmtzXHJcbi8vXHJcbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cclxuXHJcbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRjYxNUMgIWRlZmF1bHQ7XHJcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcclxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xyXG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxyXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XHJcblxyXG4vLyBQYXJhZ3JhcGhzXHJcbi8vXHJcbi8vIFN0eWxlIHAgZWxlbWVudC5cclxuXHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIFRZUE9HUkFQSFkgICAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy9AaW1wb3J0IHVybChcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L3VvdzFyd3cuY3NzXCIpO1xyXG4vL0BpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxvcmE6NDAwLDQwMGklN0NPcGVuK1NhbnM6NDAwLDQwMGksNzAwXCIpO1xyXG5cclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiRXVyb3BhXCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRoZWFkaW5ncy1mb250LWZhbWlseTogXCJFdXJvcGFcIiwgXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWljb25zOiBcImZvbnQtYXdlc29tZVwiO1xyXG5cclxuXHJcbi8vIENvbXBvbmVudHNcclxuLy9cclxuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxyXG5cclxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcblxyXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xyXG5cclxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XHJcblxyXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcclxuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xyXG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XHJcblxyXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcclxuXHJcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XHJcblxyXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xyXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xyXG5cclxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XHJcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XHJcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXHJcbiAgKFxyXG4gICAgKDIxIDkpLFxyXG4gICAgKDE2IDkpLFxyXG4gICAgKDMgNCksXHJcbiAgICAoMSAxKSxcclxuICApLFxyXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3NcclxuKTtcclxuXHJcbi8vIEZvbnRzXHJcbi8vXHJcbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxyXG5cclxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcclxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjg3NSkgIWRlZmF1bHQ7XHJcblxyXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XHJcblxyXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcblxyXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XHJcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XHJcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XHJcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcclxuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcclxuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG5cclxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xyXG5cclxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xyXG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XHJcblxyXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcblxyXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcclxuXHJcbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XHJcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcblxyXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xyXG5cclxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xyXG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcclxuXHJcbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vXHJcbi8vIExpbmtzIC9cclxuLy8vLy8vLy8vL1xyXG5cclxuJGxpbmstY29sb3I6ICRjLWJsdWU7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiBkYXJrZW4oJGxpbmstY29sb3IsIDIwJSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gTGF5b3V0LSAob3ZlcnJpZGVzKVxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4kZ3JpZC1icmVha3BvaW50czogKFxyXG4gIHhzOiAwLFxyXG4gIHNtOiA1NzZweCxcclxuICBtZDogNzY4cHgsXHJcbiAgbGc6IDEwMDBweCxcclxuICAvL2xnOiA5OTJweCxcclxuICB4bDogMTIwMHB4LFxyXG4gIHh4bDogMTYwMHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXHJcbiAgc206IDU0MHB4LFxyXG4gIG1kOiA3MjBweCxcclxuICAvL2xnOiA5NjBweCxcclxuICBsZzogOTY4cHgsXHJcbiAgeGw6IDEyNzRweCxcclxuICB4eGw6IDE1NDBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRncmlkLWd1dHRlci13aWR0aDogNDVweDtcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gTWVkaWEgICAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy9cclxuJG1lZGlhLXdpZHRoLWRlc2t0b3A6IDc2OHB4O1xyXG4kbWVkaWEtd2lkdGgtbW9iaWxlOiA3NjdweDtcclxuXHJcbiRtZWRpYS13aWR0aC1tZW51LWRlc2t0b3A6IDEwMDBweDtcclxuJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlOiA5OTlweDsiLCIvLy8gQ29udmVydCBhIGRpcmVjdGlvbiB0byBsZWdhY3kgc3ludGF4XHJcbi8vLyBAcGFyYW0ge0tleXdvcmQgfCBBbmdsZX0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydFxyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1kaXJlY3Rpb25cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udmVydC1hbmdsZVxyXG4vLy8gQHRocm93IENhbm5vdCBjb252ZXJ0IGAjeyR2YWx1ZX1gIHRvIGxlZ2FjeSBzeW50YXggYmVjYXVzZSBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBkaXJlY3Rpb24uO1xyXG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICBAaWYgaXMtZGlyZWN0aW9uKCR2YWx1ZSkgPT0gZmFsc2Uge1xyXG4gICAgQGVycm9yIFwiQ2Fubm90IGNvbnZlcnQgYCN7JHZhbHVlfWAgdG8gbGVnYWN5IHN5bnRheCBiZWNhdXNlIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGRpcmVjdGlvbi5cIjtcclxuICB9XHJcblxyXG4gICRjb252ZXJzaW9uLW1hcDogKFxyXG4gICAgdG8gdG9wOiBib3R0b20sXHJcbiAgICB0byB0b3AgcmlnaHQ6IGJvdHRvbSBsZWZ0LFxyXG4gICAgdG8gcmlnaHQgdG9wOiBsZWZ0IGJvdHRvbSxcclxuICAgIHRvIHJpZ2h0OiBsZWZ0LFxyXG4gICAgdG8gYm90dG9tIHJpZ2h0OiB0b3AgbGVmdCxcclxuICAgIHRvIHJpZ2h0IGJvdHRvbTogbGVmdCB0b3AsIFxyXG4gICAgdG8gYm90dG9tOiB0b3AsXHJcbiAgICB0byBib3R0b20gbGVmdDogdG9wIHJpZ2h0LFxyXG4gICAgdG8gbGVmdCBib3R0b206IHJpZ2h0IHRvcCxcclxuICAgIHRvIGxlZnQ6IHJpZ2h0LFxyXG4gICAgdG8gbGVmdCB0b3A6IHJpZ2h0IGJvdHRvbSxcclxuICAgIHRvIHRvcCBsZWZ0OiBib3R0b20gcmlnaHRcclxuICApO1xyXG5cclxuICBAaWYgbWFwLWhhcy1rZXkoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIDkwZGVnIC0gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xyXG4vL1xyXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxyXG5cclxuLy8gQXNjZW5kaW5nXHJcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXHJcbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcclxuICAkcHJldi1rZXk6IG51bGw7XHJcbiAgJHByZXYtbnVtOiBudWxsO1xyXG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XHJcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiB7XHJcbiAgICAgIC8vIERvIG5vdGhpbmdcclxuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XHJcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XHJcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcclxuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XHJcbiAgICB9XHJcbiAgICAkcHJldi1rZXk6ICRrZXk7XHJcbiAgICAkcHJldi1udW06ICRudW07XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTdGFydHMgYXQgemVyb1xyXG4vLyBBbm90aGVyIGdyaWQgbWl4aW4gdGhhdCBlbnN1cmVzIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxyXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwKSB7XHJcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcclxuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcclxuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xyXG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2BcclxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cclxuLy9cclxuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxyXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcclxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XHJcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XHJcblxyXG4gIEBpZiAkaW5kZXgge1xyXG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3RyaW5nO1xyXG59XHJcblxyXG4vLyBDb2xvciBjb250cmFzdFxyXG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xyXG4gICRyOiByZWQoJGNvbG9yKTtcclxuICAkZzogZ3JlZW4oJGNvbG9yKTtcclxuICAkYjogYmx1ZSgkY29sb3IpO1xyXG5cclxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XHJcblxyXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XHJcbiAgICBAcmV0dXJuICRkYXJrO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAkbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcclxuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcclxufVxyXG5cclxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXHJcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xyXG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xyXG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XHJcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcclxuXHJcbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcclxufVxyXG4iLCJcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIG1lZGlhIHF1ZXJpZXMgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuQG1peGluIGJwKCRwb2ludCkge1xyXG5cclxuICAgIEBpZiAkcG9pbnQgPT0gbWVkaXVtLW1heCB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBzbWFsbCB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHBvaW50ID09IG1lZGl1bSB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZSB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0geGxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB4eGxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHJvdWdoLWVkZ2UoJGNvbG9yOiB3aGl0ZSwgJHBvc2l0aW9uOiB0b3ApIHtcclxuICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHN0cmV0Y2g7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcnKTtcclxuICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcnKTtcclxuICBcclxuICAgICAgQGlmICRjb2xvciA9PSAkYy1ibHVlLWxpZ2h0IHtcclxuICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1saWdodC1ibHVlLnN2ZycpO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtbGlnaHQtYmx1ZS5zdmcnKTtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgQGlmICRjb2xvciA9PSAkYy1ibHVlLWRhcmsge1xyXG4gICAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2ZycpO1xyXG4gICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2ZycpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgICAvLyBwb3NpdGlvbiBib3RoXHJcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gYm90aCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDYwcHggMDtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDE0cHggMCAxMHB4IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogNDI7XHJcbiAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDYwcHggMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyMnB4IDAgMTlweCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTQ7XHRcclxuICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDY1cHggMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyOHB4IDAgMjVweCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMzA7XHJcbiAgICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICAgLy9wb3NpdGlvbiBib3R0b21cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDAgMCA0NXB4IDA7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAwIDAgMzVweCAwO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAzO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAgIC8vdG9wXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzJweCAwIDAgMCA7XHJcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDE5cHggMCAwIDA7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI0O1xyXG4gIFxyXG4gICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIzcHggMCAwIDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAzMTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgICAgIEBpbmNsdWRlIGJwICh4eGxhcmdlKXtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIzcHggMCAwIDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiA1MDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBAY29udGVudDtcclxuICB9XHJcbiAgXHJcblxyXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcy4uLikge1xyXG4gICAgLy8gRGlyZWN0aW9uIGhhcyBiZWVuIG9taXR0ZWQgYW5kIGhhcHBlbnMgdG8gYmUgYSBjb2xvci1zdG9wXHJcbiAgICBAaWYgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pPT1mYWxzZSB7XHJcbiAgICAgICAgJGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XHJcbiAgICAgICAgJGRpcmVjdGlvbjogMTgwZGVnO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRhcmdzLi4uKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhcmdzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXJncztcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkYXJncztcclxuICAgIC1vLXRyYW5zaXRpb246ICRhcmdzO1xyXG4gICAgdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgfVxyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gIC8vIGRhcmtlbiBidG4gb24gaG92ZXIvL1xyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgXHJcbiAgQG1peGluIGJ0bi1ob3ZlcigkY29sb3IpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDE1JSk7XHJcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDE1JSk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxyXG4gICAgdHJhbnNpdGlvbjogYWxsLCAwLjRzO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbiAgXHJcbiAgLy9mb3IgZGFyayBibHVlIGJ1dHRvbnMsIG1haW5seTpcclxuICBAbWl4aW4gYnRuLWhvdmVyLWxpZ2h0KCRjb2xvcikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZTsgXHJcbiAgICBib3JkZXItY29sb3I6ICRjLWJsdWU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDAuNHM7XHJcbiAgfVxyXG4gIC8vIGFkZCB0aGlzIHRvIGltYWdlczogXHJcbiAgLy8gb3BhY2l0eTogMTtcclxuICAvLyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsvL1xyXG4gIEBtaXhpbiBpbWctaG92ZXIoKSB7XHJcbiAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg3MCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kYXJrZW4oJGNvbG9yKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIDBkZWcsICRjb2xvciAyJSwgbGlnaHRlbigkY29sb3IsIDUlKSAzMCUgKTtcclxuICBcclxuICB9XHJcblxyXG4vKioqIEZvbnQgRmFtaWx5ICAqKiovXHJcblxyXG4kZm9udC1ib2R5OlwiRXVyb3BhXCIsXHJcblwiT3BlbiBTYW5zXCIsXHJcbkhlbHZldGljYSxcclxuQXJpYWwsXHJcbnNhbnMtc2VyaWY7XHJcbkBtaXhpbiBmb250LWZhbWlseSgkZmFjZSwgJHdlaWdodCkge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmYWNlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LWZvbnQge1xyXG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnQtYm9keSwgbm9ybWFsKTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgY29sb3I6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqIEZvbnQtc2l6ZSBhcyBoMS1oNiBoZWFkaW5ncyAqKiovXHJcblxyXG5AbWl4aW4gZm9udC14bCB7XHJcbiAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDU3LjZweDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0Ny42cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDAuNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1sZyB7XHJcbiAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDMuMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNi4ycHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzIuMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1tZCB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQteHMge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQteHhzIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LWJvbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XHJcbiAgICAtd2Via2l0LW9wYWNpdHk6ICRvcGFjaXR5O1xyXG4gICAgLW1vei1vcGFjaXR5OiAkb3BhY2l0eTtcclxuICAgIC1vLW9wYWNpdHk6ICRvcGFjaXR5O1xyXG4gICAgLW1zLW9wYWNpdHk6ICRvcGFjaXR5O1xyXG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRzZWNvbmRzLCAkdGltaW5nOiBlYXNlKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAkc2Vjb25kcyBlYXNlO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgJHNlY29uZHMgZWFzZTtcclxuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgJHNlY29uZHMgZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAkc2Vjb25kcyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICRzZWNvbmRzICR0aW1pbmc7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5KSB7XHJcbiAgICAtby10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4Ym94KCkge1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleGJveEltcCgpIHtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIHRleHQtc2hhZG93KCR4LWF4aXMsICR5LWF4aXMsICRibHVyLCAkY29sb3IpIHtcclxuICAgIC1tcy10ZXh0LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcclxuICAgIC1vLXRleHQtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG4gICAgLXdlYmtpdC10ZXh0LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcclxuICAgIC1tb3otdGV4dC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XHJcbiAgICB0ZXh0LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJHgtYXhpcywgJHktYXhpcywgJGJsdXIsICRjb2xvcikge1xyXG4gICAgLW1zLWJveC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XHJcbiAgICAtby1ib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3ctbm9uZSB7XHJcbiAgICAtbXMtYm94LXNoYWRvdzogbm9uZTtcclxuICAgIC1vLWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1zaGFkb3ctbm9uZSB7XHJcbiAgICAtbXMtdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtby10ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIC13ZWJraXQtdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtbW96LXRleHQtc2hhZG93OiBub25lO1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBib3goJHByb3BlcnR5KSB7XHJcbiAgICBib3gtc2l6aW5nOiAkcHJvcGVydHk7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRwcm9wZXJ0eTtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJHByb3BlcnR5O1xyXG4gICAgLW8tYm94LXNpemluZzogJHByb3BlcnR5O1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnMtYW5pbS1ub25lIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcclxuICAgIC1vLXRyYW5zaXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gc3BhY2Utbm9uZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwLW5vbmUge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW8tYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuQG1peGluIHBvaW50LW5vbmUge1xyXG4gICAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIC1tb3otcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAtby1wb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIC1tcy1wb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG5cclxuLyoqKiBCYWNrZ3JvdW5kIHByb3BlcnRpZXMgICoqKi9cclxuXHJcbkBtaXhpbiBiZy1jbW4ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG59XHJcblxyXG5AbWl4aW4gYmctcGFyYWxsYXgge1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuICAgIEBpbmNsdWRlIGJnLWNtbjtcclxufVxyXG5cclxuXHJcbkBtaXhpbiByb3VnaC1lZGdlKCRjb2xvcjogd2hpdGUsICRwb3NpdGlvbjogdG9wKSB7XHJcbiAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiBzdHJldGNoO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2Utd2hpdGUuc3ZnJyk7XHJcbiAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2Utd2hpdGUuc3ZnJyk7XHJcbiAgXHJcbiAgICAgIEBpZiAkY29sb3IgPT0gJGMtYmx1ZS1saWdodCB7XHJcbiAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtbGlnaHQtYmx1ZS5zdmcnKTtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLWxpZ2h0LWJsdWUuc3ZnJyk7XHJcbiAgICAgIH1cclxuICBcclxuICAgIEBpZiAkY29sb3IgPT0gJGMtYmx1ZS1kYXJrIHtcclxuICAgICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLWRhcmstYmx1ZS5zdmcnKTtcclxuICAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLWRhcmstYmx1ZS5zdmcnKTtcclxuICAgIH1cclxuICBcclxuICAgICAgLy8gcG9zaXRpb24gYm90aFxyXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGJvdGgge1xyXG4gICAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDM1cHggMCA2MHB4IDA7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAxNHB4IDAgMTBweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDQyO1xyXG4gIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDM1cHggMCA2MHB4IDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMjJweCAwIDE5cHggMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE0O1x0XHJcbiAgICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDM1cHggMCA2NXB4IDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMjhweCAwIDI1cHggMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDMwO1xyXG4gICAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAgIC8vcG9zaXRpb24gYm90dG9tXHJcbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAwIDAgNDVweCAwO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMCAwIDM1cHggMDtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMztcclxuICAgIH1cclxuICAgIFxyXG4gICAgICAvL3RvcFxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDMycHggMCAwIDAgO1xyXG4gICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAxOXB4IDAgMCAwO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAyNDtcclxuICBcclxuICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyM3B4IDAgMCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMzE7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBicCAoeHhsYXJnZSl7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyM3B4IDAgMCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogNTA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICIsIltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XHJcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cclxuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XHJcbiAgc3BlYWs6IG5ldmVyO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4uaWNvbi1yb3lhbC10cnVjazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XHJcbn1cclxuLmljb24tcm95YWwtZGVsZXRlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTVcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1maWx0ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxZVwiO1xyXG59XHJcbi5pY29uLXJveWFsLW1pbnVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MWNcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1wbHVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MWRcIjtcclxufVxyXG4uaWNvbi1yb3lhbC10ZWEtcG90OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTNcIjtcclxufVxyXG4uaWNvbi1yb3lhbC10ZWEtbGVhdmVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTRcIjtcclxufVxyXG4uaWNvbi1yb3lhbC10ZW1wZXJhdHVyZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XHJcbn1cclxuLmljb24tcm95YWwtd2VzdGVybjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XHJcbn1cclxuLmljb24tcm95YWwtc3RvcHdhdGNoOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MThcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1hdmFpbGFiaWxpdHk6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxOVwiO1xyXG59XHJcbi5pY29uLXJveWFsLXBvc2l0aW9uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MWFcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1pbmdyZWRpZW50czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XHJcbn1cclxuLmljb24tcm95YWwtc3RhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTExXCI7XHJcbiAgY29sb3I6ICM0YjRiNGI7XHJcbn1cclxuLmljb24tcm95YWwtaGFydmVzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XHJcbn1cclxuLmljb24tcm95YWwtYmVhbnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwY1wiO1xyXG59XHJcbi5pY29uLXJveWFsLXBsYW50OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGRcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1lbGV2YXRpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwZVwiO1xyXG59XHJcbi5pY29uLXJveWFsLXByb2R1Y2VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGZcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1sb2NhdGlvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XHJcbn1cclxuLmljb24tcm95YWwtbG9jazpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XHJcbn1cclxuLmljb24tcm95YWwtY2xvc2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwOFwiO1xyXG59XHJcbi5pY29uLXJveWFsLW1lbnU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwOVwiO1xyXG59XHJcbi5pY29uLXJveWFsLXNhbXBsZS1ib3g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwN1wiO1xyXG4gIFxyXG59XHJcbi5pY29uLXJveWFsLWFycm93LWRhc2g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNlwiO1xyXG59XHJcbi5pY29uLXJveWFsLVJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDVcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1JbnN0YWdyYW06YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNFwiO1xyXG5cclxufVxyXG4uaWNvbi1yb3lhbC11c2VyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDFcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1jYXJ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDJcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1TZWFyY2g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwM1wiO1xyXG4gIGNvbG9yOiM0YjRiNGI7XHJcbiAgZm9udC1zaXplOjIwcHg7XHJcbn1cclxuLmljb24tcm95YWwtdGVzdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XHJcbn1cclxuIiwiQGltcG9ydCBcImJhc2VcIjtcclxuXHJcbi8qIEJhc2ljIGNvbW1vbiByZXN0ZSBzdHlsZSAqL1xyXG5cclxuQGltcG9ydCBcImhlbHBlckNsYXNzXCI7IFxyXG5cclxuLyogQ3VzdG9tIEhlbHBlciBjbGFzc2VzIHN0eWxlICovXHJcbiAgXHJcbkBpbXBvcnQgXCJidXR0b25cIjtcclxuXHJcbi8qIFRoZW1lIGNvbW1vbiBidXR0b24gc3R5bGUgKi8gXHJcbiAgXHJcbkBpbXBvcnQgXCJmb3JtQ29udHJvbFwiOyBcclxuXHJcbi8qIFRoZW1lIGNvbW1vbiBGb3JtIENvbnRyb2xzIFN0eWxlICovIFxyXG5cclxuQGltcG9ydCBcImhlYWRlclwiOyBcclxuXHJcbi8qIFN0eWxlIEZvciBIZWFkZXIgKi9cclxuXHJcbkBpbXBvcnQgXCJmb290ZXJcIjtcclxuIFxyXG4vKiBTdHlsZSBGb3IgRm9vdGVyICovICAgIFxyXG5cclxuXHJcblxyXG4uZnJhYy1wb3AtdXAtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgfVxyXG4gIFxyXG4gIC5mcmFjLXBvcC11cCB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xyXG4gICAgYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsIDUwLCA1MCwgMC4zKTtcclxuICAgIHotaW5kZXg6IDk5OTk5OTk7XHJcbiAgICBtYXJnaW4tdG9wOiAxMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSAzNDVweCkgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFjMmY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbiAgXHJcbiAgLmZyYWMtcG9wLXVwLWNsb3NlIHtcclxuICAgIGZvbnQtc2l6ZTogMjNweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgIHBhZGRpbmc6IDFweDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHBhZGRpbmctdG9wOiAtMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5mcmFjLXBvcC11cC1jbG9zZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NDY0O1xyXG4gIH1cclxuICBcclxuICAubm9uLXVzLWZyYWMtcG9wLXVwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5OTk5O1xyXG4gIH1cclxuICBcclxuICAubm9uLXVzLWZyYWMtcG9wLXVwIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XHJcbiAgICBib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xyXG4gICAgei1pbmRleDogOTk5OTk5OTtcclxuICAgIG1hcmdpbi10b3A6IDEwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDM0NXB4KSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWMyZjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuICBcclxuICAubm9uLXVzLWZyYWMtcG9wLXVwLWNsb3NlIHtcclxuICAgIGZvbnQtc2l6ZTogMjNweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgIHBhZGRpbmc6IDFweDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHBhZGRpbmctdG9wOiAtMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY2xvc2U6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjQ2NDtcclxuICB9XHJcbiAgXHJcblxyXG5cclxuXHJcblxyXG4iLCIvKioqIERlZmF1bHQgU3R5bGUgUmVzZXQgKioqL1xyXG5cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBib3goYm9yZGVyLWJveCk7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgQGluY2x1ZGUgc3BhY2Utbm9uZTtcclxuICAgIEBpbmNsdWRlIGJvZHktZm9udDtcclxuICAgIGZvbnQtc21vb3RoOiBhdXRvO1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xyXG4gICAgLy8gcGFkZGluZy10b3A6IDY2cHg7XHJcbiAgICAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgLy8gICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG4gICAgLy8gfSBcclxufVxyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWFpbixcclxubmF2LFxyXG5zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5pbWcsXHJcbmEsXHJcbmlucHV0LFxyXG5uYXYsXHJcbnRleHRhcmVhLFxyXG5wLFxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuaW5wdXQ6Zm9jdXMsXHJcbnNlbGVjdDpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdy1ub25lO1xyXG59XHJcblxyXG51bCxcclxub2wsXHJcbmxpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjb2xvcjogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xyXG4gICAgLy8gJjpob3ZlciB7XHJcbiAgICAvLyAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgLy8gfVxyXG59XHJcblxyXG5pbWcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUsXHJcbmZpZ3VyZSxcclxuYWRkcmVzcyB7XHJcbiAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4udGVtcGxhdGVzLXdyYXBwZXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5tYWluIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgIHBhZGRpbmctdG9wOiA4MXB4OyAvLzEwMnB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9mb290ZXItYmcuc3ZnKSBib3R0b20gbGVmdCByZXBlYXQteCB0cmFuc3BhcmVudDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDY5cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNTJweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDE1NDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAyMi41cHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhMYXJnZSkge1xyXG4gICAgLy8gICAgIG1heC13aWR0aDogMTI3NHB4O1xyXG4gICAgLy8gfSBcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjc0cHg7XHJcbiAgICB9XHJcbiAgICAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGxhcmdlKSB7XHJcbiAgICAvLyAgICAgbWF4LXdpZHRoOiA5NjhweDtcclxuICAgIC8vIH1cclxuICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokZXhNZWRpdW0pIHtcclxuICAgIC8vICAgICBtYXgtd2lkdGg6IDk2OHB4O1xyXG4gICAgLy8gfSBcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokbWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5NjhweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokU21hbGwpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRleFNtYWxsKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgIH1cclxufVxyXG5cclxuc2VjdGlvbixcclxuLnNlY3Rpb24ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5kaXZJbWcge1xyXG4gICAgQGluY2x1ZGUgYmctY21uO1xyXG59XHJcblxyXG5wIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKiBIZWFkaW5nICoqKi9cclxuXHJcbmgxLFxyXG4uaDEge1xyXG4gICAgQGluY2x1ZGUgZm9udC14bDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5oMixcclxuLmgyIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtbGc7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuaDMsXHJcbi5oMyB7XHJcbiAgICBAaW5jbHVkZSBmb250LW1kO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbmg0LFxyXG4uaDQge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5oNSxcclxuLmg1IHtcclxuICAgIEBpbmNsdWRlIGZvbnQteHM7XHJcbn1cclxuXHJcbmg2LFxyXG4uaDYge1xyXG4gICAgQGluY2x1ZGUgZm9udC14eHM7XHJcbn1cclxuXHJcblxyXG4vKioqIExpc3RpbmcgKioqL1xyXG5cclxudWwge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDMwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9keS1mb250O1xyXG4gICAgICAgIG1hcmdpbjogMHB4IDBweCAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDE1cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG51bC5saXN0LXVuc3R5bGVkIHtcclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5vbCB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMzBweDtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGF2LWNvdW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9keS1mb250O1xyXG4gICAgICAgIG1hcmdpbjogMHB4IDBweCAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDIwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogY291bnRlcihhdi1jb3VudGVyKSBcIi5cIjtcclxuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24uc2VjdGlvbi10cmFkZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gYm9keSAud29vY29tbWVyY2UtZXJyb3IsXHJcbi8vIGJvZHkgLndvb2NvbW1lcmNlLWluZm8sXHJcbi8vIGJvZHkgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xyXG4vLyAgICAgbWFyZ2luOiAwO1xyXG4vLyB9XHJcblxyXG4vLyBib2R5IC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIsXHJcbi8vIGJvZHkgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xyXG4vLyAgICAgbWFyZ2luOiAwO1xyXG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcbi8vIGJvZHkgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciAud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcbi8vICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLy8gYm9keSAud29vY29tbWVyY2UtZXJyb3IgbGk6YmVmb3JlIHtcclxuLy8gICAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vIH1cclxuXHJcblxyXG5cclxuLmN1c3QtZm9ybSB7XHJcbiAgICBkaXNwbGF5OmZsZXg7IFxyXG4gICAgZmxleC1kaXJlY3Rpb246cm93OyBcclxuICAgIG1hcmdpbjo0cHg7IFxyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAuY3VzdC1mb3JtLWxhYmVsIHtcclxuICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTouODhlbTsgXHJcbiAgICAgICAgd2hpdGUtc3BhY2U6bm93cmFwOyBcclxuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3QtZm9ybS1zZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiA4MCU7IFxyXG4gICAgICAgIG1heC13aWR0aDogMTM3MHB4OyBcclxuICAgICAgICBtaW4td2lkdGg6NTAwcHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHsgICBcclxuICAgICAgICAgICAgbWluLXdpZHRoOjk4JSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICB3aWR0aDo5OSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnJvd3NpbmctYXMge1xyXG4gICAgcG9zaXRpb246Zml4ZWQ7IFxyXG4gICAgZGlzcGxheTpibG9jazsgXHJcbiAgICB6LWluZGV4OjEwMDA7IFxyXG4gICAgd2lkdGg6MTAwJTsgXHJcbiAgICB0b3A6LTJweDtcclxuICAgIFxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7XHJcbiAgICAgICAgdG9wOjQ1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYnJvd3NpbmctYXMtaW5ubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LCAxOTksIDU4LCAwLjMxKTsgXHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBsaWdodHllbGxvdzsgXHJcbiAgICAgICAgbWFyZ2luOmF1dG87ICBcclxuICAgICAgICBjb2xvcjp3aGl0ZTsgXHJcbiAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsOyBcclxuICAgICAgICBmb250LXNpemU6MS4zNWVtICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgICAgcGFkZGluZzoxcHg7IFxyXG4gICAgICAgIGxlZnQ6MDsgXHJcbiAgICAgICAgd2lkdGg6MTAwJTsgXHJcbiAgICAgICAgbWF4LXdpZHRoOjcwMHB4OyBcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4OyBcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7IFxyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IG5vbmU7IFxyXG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjsgXHJcbiAgICAgICAgdGV4dC13cmFwOm5vbmU7IFxyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjLWJsdWUtZGFyayAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgYm9yZGVyOjBweCBub25lIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICBtYXJnaW46YXV0bztcclxuICAgICAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4OyBcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4OyBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmQtbm9uZS1tb2JpbGUge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYW0tZnMtc2JfX3N0ZXAtaGVhZGluZyB7XHJcblx0Y29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZmFybS1kZXNjcmlwdGlvbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC1oZWlnaHQ6NjM1cHg7XHJcblx0XHRvdmVyZmxvdy14OmhpZGRlbjtcclxuXHRcdG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5jb3Vwb24ge1xyXG5cdGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4ub2ZmZXJpbmctZmxhdm9yLW5vdGUge1xyXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDRweCAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6IC0zcHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sb2dpbiBoMSBhIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9yb3lhbC1ueS9pbWcvbG9nb3Mvcm55X2xvZ29fUGFyZW50LnN2ZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxNDRweDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgY29sb3I6ICMzYzQzNGE7XHJcbiAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHdpZHRoOiAxMTBweDtcclxuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbn1cclxuXHJcbi5zYmktaGVhZGVyLnNiaS1oZWFkZXItdHlwZS10ZXh0ICB7XHJcblx0XHJcblx0ZGlzcGxheTpub25lO1xyXG5cdFxyXG59XHJcblxyXG4uc2JpX2luZm9fd3JhcHBlciB7XHJcblx0XHJcblx0ZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4jc2JfaW5zdGFncmFtIHtcclxuXHRvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJueS1icmFuZHMgLmZpZ3VyZS1jYXJkLXdyYXAgZmlndXJlIGltZyB7XHJcblx0bWluLWhlaWdodDozNjVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5zZWN0aW9uLnBheW1lbnQtd3JhcHBlciB7XHJcblx0bWFyZ2luLXRvcDotNDhweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5hLWxvZ291dC10b2FzdC1jb250YWluZXIge1xyXG5cdHdpZHRoOjU1MHB4ICFpbXBvcnRhbnQ7XHJcblx0bWF4LXdpZHRoOjk1dncgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJlc2VydmUtY29sbGFwc2FibGV7XHJcbiAgICBtYXJnaW4tYm90dG9tOjIwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6LTIwcHggIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJlc3VsdHMge1xyXG4gICAgLmNvbGxhcHNlZC1ncm91cCwgLmNvZmZlZS1oZWFkZXItY29sbGFwc2UgIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjIwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4iLCIuY21uLXNwYWNlIHtcclxuICAgIHBhZGRpbmctdG9wOiAxNTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzcwcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB44oCLO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKiBDb21tb24gQ2xhc3NlcyAqKiovXHJcblxyXG4uc3RhdGljLWxpbmsge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgY29sb3I6ICRibGFjay1jb2xvcjtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxufVxyXG5cclxuLmQtZmxleCB7XHJcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG59XHJcblxyXG4uaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZC1hbGlnbi1jZW50ZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmQtYWxpZ24tZW5kIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxufVxyXG5cclxuLmQtYWxpZ24tc3RhcnQge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbn1cclxuXHJcbi5kLWp1c3QtY2VudGVyIHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uZC1qdXN0LWVuZCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uZC1zcGFjZS1iZXR3ZWVuIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmQtZmxleC1yb3cge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG5cclxuLmQtZmxleC1jb2wge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLmQtanVzdC1zdGFydCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbn1cclxuXHJcbi50LWZsZXgtY29sdW1uIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufVxyXG5cclxuLnQtdHh0LWNlbnRlciB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnQtYWxpZ24tbm9ybWFsIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcclxuICAgIH1cclxufVxyXG5cclxuLm0tZmxleC1jb2x1bW4ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tLWZsZXgtcm93IHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubS10eHQtbGVmdCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLm0tZmxleC13cmFwIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50eHQtY2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmp1c3QtbGVmdCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5pbWdFbG0ge1xyXG4gICAgQGluY2x1ZGUgYmctY21uO1xyXG59XHJcblxyXG4uZGVza3RvcCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLm1vYmlsZSxcclxuLm1vYmlsZS1tZW51LWJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnQtYWxpZ24tY2VudGVyIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLm0tdHh0LWNlbnRlciB7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hdXRob3ItbmFtZSB7XHJcbiAgICBjb2xvcjogJGxpZ2h0LXN0b25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tLWItMCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tLXJlbGF0aXZlIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib2R5X2ZpeGVkIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5tLWJsb2NrIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGlzYWJsZWxpbmsge1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4vLyAuZC1hbGlnbi1zdGFydCB7XHJcbi8vICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuLy8gfVxyXG4vLyAubS1hbGlnbi1zdGFydCB7XHJcbi8vICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbi8vICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcclxuLy8gICAgIH1cclxuLy8gfVxyXG4vLyAubS1hbGlnbi1jZW50ZXIge1xyXG4vLyAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4vLyAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuLy8gLm0tYWxpZ24taW5oZXJpdCB7XHJcbi8vICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7IFxyXG4vLyAgICAgICAgIGFsaWduLWl0ZW1zOiBpbmhlcml0O1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi5kLW5vbmUge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59IiwiLyoqKiBDb21tb24gQWxsIEJ1dHRvbnMgKioqKi9cclxuXHJcbi5idG4ge1xyXG4gICAgcGFkZGluZzogMTRweCAyNHB4O1xyXG4gICAgbWluLXdpZHRoOiAxMDVweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRsaWdodC1zdG9uZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAvLyBAaW5jbHVkZSBmb250LWZhbWlseSgkeWFuQm9sZCAsIGJvbGQpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3ctbm9uZTtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XHJcbiAgICBAaW5jbHVkZSBhcHAtbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTFweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbiAgICBlbSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcclxuICAgICAgICBjb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgICAgICAmLmFmdGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA3OCwgMTA4LCAwLjEpO1xyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZCxcclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC40KTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICAgICYuYnRuLXNtYWxsIHtcclxuICAgICAgICBwYWRkaW5nOiAxMXB4IDhweDtcclxuICAgIH1cclxuICAgICYuYnRuLXNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMiksIHJnYmEoMCwgMCwgMCwgMC4yKSksICMzMDRFNkM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LCA3OCwgMTA4LCAwLjEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnRuLWdvbGQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5idG4td2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICBjb2xvcjogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDEwLCAyOSwgNDYsIDAuMiksIHJnYmEoMTAsIDI5LCA0NiwgMC4yKSksICNGRkZGRkY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX291dGxpbmUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdHJhbnNwYXJlbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJ0bi1pY29uIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgJltkaXNhYmxlZF0sXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNCk7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJ0bi1zZWNvbmRhcnkge1xyXG4gICAgICAgICZbZGlzYWJsZWRdLFxyXG4gICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmh5cGVyLWxpbmsge1xyXG4gICAgY29sb3I6ICRsaWdodC1zdG9uZTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgLy8gQGluY2x1ZGUgZm9udC1mYW1pbHkoJHlhbkJvbGQgLCBib2xkKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS4yNXB4O1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRzdG9uZS1jb2xvcjtcclxuICAgICAgICBlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc3RvbmUtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZW0ge1xyXG4gICAgICAgIGNvbG9yOiAkbGlnaHQtc3RvbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcclxuICAgICAgICAmLmljb24tbm9ybWFsLWFycm93IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHggMHB4IDAgMTBweDtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxlZnQtaWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDEwcHggMCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKiogQ29tbW9uIEZvcm1zIEVsZW1lbnRzICoqKi9cclxuXHJcbi8vIGxhYmVse1xyXG4vLyAgIGNvbG9yOiAkc3RvbmUtY29sb3I7XHJcbi8vICAgLy8gZm9udC1mYW1pbHk6ICR5YW5NZWQ7XHJcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbi8vICAgZm9udC1zaXplOiAxNnB4O1xyXG4vLyAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4vLyAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxuLy8gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyB9XHJcblxyXG4uZm9ybS1jb250cm9sIHtcclxuICBwYWRkaW5nOjExcHggMjBweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogJHdoaXRlLWNvbG9yO1xyXG4gIEBpbmNsdWRlIGJvZHktZm9udCgpO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBAaW5jbHVkZSBib3gtc2hhZG93LW5vbmU7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuICBAaW5jbHVkZSBhcHAtbm9uZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTsgXHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRsYXJnZSl7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7ICBcclxuICAgIH0gXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgcGFkZGluZzogNnB4IDE1cHg7IFxyXG4gICAgfSBcclxuICAgICY6aG92ZXJ7IFxyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAsIDAsIDAsIDJweCAkZ3JheSk7XHJcbiAgICAgIH1cclxuICAgICY6Zm9jdXN7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCwgMCwgMCwgMnB4ICRncmF5KTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRncmF5O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgXHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xyXG4gICAgY29sb3I6ICRkYXJrLWdyYXk7IFxyXG4gIH1cclxuLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7IFxyXG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcclxuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gIH1cclxuLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcclxuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gIH1cclxuLmZvcm0tY29udHJvbDotbW96LXBsYWNlaG9sZGVyIHsgXHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xyXG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwuZm9ybS1jb250cm9sOmRpc2FibGVkIHtcclxuICAgXHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgIFxyXG59XHJcblxyXG50ZXh0YXJlYXtcclxuICBoZWlnaHQ6IDE4MHB4O1xyXG4gIHJlc2l6ZTogbm9uZTsgXHJcbn1cclxuXHJcbiAgLyoqKiBSZXNwb25zaXZlIGlvcyBpbnB1dCAqKiovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XHJcblxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSxcclxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbiAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuICBpbnB1dFt0eXBlPVwidXJsXCJdIHtcclxuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4gLyoqKiBDaGVjayBCb3ggICoqKi9cclxuXHJcbi5jbW4tY2hlY2tib3gge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgaW5wdXQge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xyXG4gICAgJjpjaGVja2VkICsgbGFiZWx7XHJcbiAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uLy4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgJHJueS1uYXZ5LWJsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgfVxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogM3B4O1xyXG4gICAgICB0b3A6IDNweDsgIFxyXG4gICAgICB3aWR0aDogMThweDtcclxuICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcclxuICAgICAgc3BlYWs6IG5ldmVyO1xyXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIC8vIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIHRleHQtaW5kZW50OiAzcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNtbi1jaGVja2JveCB7XHJcbiAgaW5wdXRbZGlzYWJsZWRdLGlucHV0OmRpc2FibGVke1xyXG4gICAgJiArIGxhYmVse1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjUpO1xyXG4gICAgfVxyXG4gIH1cclxufSAgXHJcblxyXG4gLyoqKiBSYWRpbyBCdXR0b24gICoqKi9cclxuXHJcbiAuY21uLXJhZGlvIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgaW5wdXQge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xyXG4gICAgJjpjaGVja2VkICsgbGFiZWx7XHJcbiAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvaWNvbnMvcm95YWwtY2hlY2tlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgJHJueS1uYXZ5LWJsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IFxyXG4gIGxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogMnB4OyBcclxuICAgICAgd2lkdGg6IDE4cHg7IFxyXG4gICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpOyBcclxuICAgICBcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jbW4tcmFkaW8ge1xyXG4gIGlucHV0W2Rpc2FibGVkXSxpbnB1dDpkaXNhYmxlZHtcclxuICAgICYgKyBsYWJlbHtcclxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250cm9sLWNvbHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAmLmNvbC0ye1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokU21hbGwpe1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgJi5mb3JtLWNvbnRyb2wge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvcm95YWwtRG93bi5zdmcnKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSA4cHgpIGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDdweCAzN3B4IDdweCA4cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjdweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XHJcbiAgICBtaW4td2lkdGg6IDExMHB4O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi5zci1vbmx5LWZvY3VzYWJsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jaGVhZGVyLW5hdiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5oZWFkZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1N3B4O1xyXG4gICAgfVxyXG4gICAgJj4uY29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIC5uYXZiYXItbG9nby1mdWxsIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOThweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMTNweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWFpbi1tZW51LW5hdiB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtZGVza3RvcCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbmF2IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItbWVudS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICAgICAgKiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYWNlLW5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPnVsLmRyb3Bkb3duLW1lbnUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jdXN0b20tdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHJueS1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zLWFuaW0tbm9uZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1c3RvbS11bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRybnktYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHJueS1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDdweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51LXNlY29uZC1sZXZlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzcuNSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj51bC5kcm9wZG93bi1tZW51LXRoaXJkLWxldmVsPmxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+dWwuZHJvcGRvd24tbWVudS10aGlyZC1sZXZlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNFOEVBRUI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktYmx1ZS1mb290ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTI0NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTgwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTMwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJj51bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY+bGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC14cztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAwLjRzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaGVhZGVyLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICY+LmhlYWRlci1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC00M3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC00M3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmNhcnQtY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNTkwMzg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwQTFEMkU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnNhbXBsZS1ib3gge1xyXG4gICAgICAgICAgICAgICAgICAgIC5jYXJ0LWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTRweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmPmEsXHJcbiAgICAgICAgICAgICAgICAmPnNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmljb24tcm95YWwtdXNlcixcclxuICAgICAgICAgICAgICAgICAgICAmLmljb24tcm95YWwtc2FtcGxlLWJveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc2l0ZS1hZG1pbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLWRyb3Bkb3duIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHRvcDogNjNweDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGJhY2tncm91bmQ6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRybnktYm9yZGVyLWNvbG9yO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IC01MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHJueS1ib3JkZXItY29sb3I7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIHRvcDogNDVweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIHRvcDogMzZweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vYmlsZS1tZW51IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIHNjYWxlOjEuNjtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG4gICAgaGVhZGVyIHtcclxuICAgICAgICAmPi5jb250YWluZXIge1xyXG4gICAgICAgICAgICAubWFpbi1tZW51LW5hdiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA4NXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBCMTcyNDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDg1cHgpO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgIG5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXItbWVudS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJj51bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIrXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzYzNkU3ODtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3VzdG9tLXVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LWV4cGFuZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCItXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1c3RvbS11bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51LXNlY29uZC1sZXZlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYzNkU3ODtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+bGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oZWFkZXItZXhwYW5kIHtcclxuICAgICAgICAgICAgLm1vYmlsZS1tZW51Lmljb24tcm95YWwtbWVudTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBoZWFkZXIgPiAuY29udGFpbmVyIC5tYWluLW1lbnUtbmF2IG5hdiAuaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGxpIC5jdXN0b20tdWwsaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaSAuZHJvcGRvd24tbWVudXtkaXNwbGF5OiBub25lO31cclxuICAgIC8vIGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gYSB7XHJcbiAgICAvLyAgICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggMjVweDtcclxuICAgIC8vICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzYzNkU3ODsgXHJcbiAgICAvLyAgICAgd2lkdGg6IDEwMCU7ICAgXHJcbiAgICAvLyB9XHJcbiAgICAvLyBoZWFkZXIgPiAuY29udGFpbmVyIC5tYWluLW1lbnUtbmF2IG5hdiAuaGVhZGVyLW1lbnUtY29udGFpbmVyID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYXtcclxuICAgIC8vICAgICAmOjphZnRlcntcclxuICAgIC8vICAgICAgICAgY29udGVudDogXCIrXCI7XHJcbiAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgIFxyXG4gICAgLy8gICAgICAgICByaWdodDogMzBweDtcclxuICAgIC8vICAgICAgICAgZm9udC1zaXplOiAzMHB4OyAgXHJcbiAgICAvLyAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAvLyAgICAgICAgIHRvcDogMTBweDsgICAgXHJcbiAgICAvLyAgICAgfSAgIFxyXG4gICAgLy8gfSBcclxuICAgIC8vIGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkubWVudS1leHBhbmQgPiBhOjphZnRlcntjb250ZW50OiBcIi1cIjt9XHJcbiAgICAvLyBoZWFkZXIgPiAuY29udGFpbmVyIC5tYWluLW1lbnUtbmF2IG5hdiAuaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGxpIC5jdXN0b20tdWwgLmRyb3Bkb3duLW1lbnUtc2Vjb25kLWxldmVsIHtcclxuICAgIC8vICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYzNkU3ODtcclxuICAgIC8vIH1cclxuICAgIC8vIGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkgLmN1c3RvbS11bCAuZHJvcGRvd24tbWVudS1zZWNvbmQtbGV2ZWwgPiBsaXt3aWR0aDogMTAwJSAhaW1wb3J0YW50O3BhZGRpbmc6IDVweCA1MHB4O31cclxuICAgIC8vIC5oZWFkZXItZXhwYW5kIC5tb2JpbGUtbWVudS5pY29uLXJveWFsLW1lbnU6OmJlZm9yZXtcclxuICAgIC8vICAgICBjb250ZW50OiBcIlxcZTkwOFwiIDsgXHJcbiAgICAvLyB9ICBcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRTbWFsbCkge1xyXG4gICAgaGVhZGVyIHtcclxuICAgICAgICAmPiB7XHJcbiAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLm1haW4tbWVudS1uYXYgbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICAuaGVhZGVyLW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jdXN0b20tdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudS1zZWNvbmQtbGV2ZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmPnVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+bGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNhbXBsZVJlcXVlc3RDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogOTk4O1xyXG4gICAgdG9wOiAxMDVweDtcclxuICAgIHdpZHRoOiA1NTBweDtcclxuICAgIG1heC13aWR0aDogOTd2dztcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgLy8gICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC8vICAgICB0b3A6IDU3cHg7XHJcbiAgICAvLyAgICAgcmlnaHQ6IDA7XHJcbiAgICAvLyAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgLy8gfVxyXG4gICAgLnNhbXBsZVJlcXVlc3RCb2R5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MTVweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1MTVweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDRweCA0cHggNXB4IHJnYmEoMzUsIDM1LCAzNSwgLjIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDRweCA0cHggNXB4IHJnYmEoMzUsIDM1LCAzNSwgLjIpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xyXG4gICAgICAgIGNvbG9yOiAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRybnktZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmVtcHR5U2FtcGxlTWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAud2luZG93Q2xvc2VUZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAuZGFzaGljb25zLW5vIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHotaW5kZXg6MTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNhbXBsZVJlcXVlc3RPcHRpb25zLWhlYWRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hcnJvdy11cCB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjZmVmZWZlO1xyXG4gICAgICAgIHJpZ2h0OiAzOSU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2dsb2JhbE5vdGljZUhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvL3otaW5kZXg6IDk5OTk5OTk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYjc5MjIwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBwb3AtdXAgc3RhcnRcclxuLmxvZ2luX292ZXJsYXkge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xyXG4gICAgb3BhY2l0eTogLjk7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA5OTg7XHJcbn1cclxuXHJcbiNtb2RhbC1sb2dpbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgd2lkdGg6IDI1cmVtO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogM3JlbSAycmVtO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAycHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4xNSk7XHJcbiAgICBib3gtc2hhZG93OiAycHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4xNSk7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleFNtYWxsKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2RhbCB7XHJcbiAgICB6LWluZGV4OiAxMDUwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIC5wb3NpdGlvbi1yZWxhdGl2ZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5jbG9zZS1tb2RhbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IC0xLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvc3RfcGFzc3dvcmQge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMC41cmVtICsgOHB4KTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoMzJweCArIDAuNXJlbSk7XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMDRFNkM7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuMXJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAuNXJlbSAwLjVyZW0gMS4xcmVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JtLWNoZWNrIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGlucHV0I3JlbWVtYmVybWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCtsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgJHJueS1uYXZ5LWJsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwuaW5saW5lIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogM3B4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBzcGVhazogbmV2ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcclxuICAgICAgICAgICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogM3B4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm0tc3VibWl0LWJsdWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMiksIHJnYmEoMCwgMCwgMCwgMC4yKSksICRybnktc2Vjb25kYXJ5LWJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2lkZWJhci13cmFwIHtcclxuXHJcbiAgICAmLmFjdGl2ZS1zaWRlYmFyLFxyXG4gICAgJi5hY3RpdmUtc2hvcHBpbmctY2FydCB7XHJcbiAgICAgICAgLnNpZGViYXItaW5uZXItd3JhcCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpZGViYXItb3ZlcmxheSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIGhlaWdodDoxMDB2aDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDoxMDB2aDtcclxuICAgICAgICAgICAgcGFkZGluZzowcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjowcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaG9wcGluZy1jYXJ0LXNpZGViYXIge1xyXG4gICAgICAgIC5zaWRlYmFyLWJvZHkge1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjEzcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaGlwcGluZy1pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktbGlnaHQtYmx1ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAyNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTZweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaWNvbi1yb3lhbC10cnVjayB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNoaXBwaW5nLXByb2R1Y3QtaXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjRweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zaGlwcGluZy1wcm9kdWN0LXRvcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgLnNoaXBwaW5nLXByb2R1Y3QtaGVhZGVyLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnNoaXBwaW5nLXByb2R1Y3QtaGVhZGVyLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuc2hpcHBpbmctcHJvZHVjdC10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAucmVtb3ZlLXByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjQ0YxNzE3O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnNoaXBwaW5nLXJueSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2hpcHBpbmctcHJvZHVjdC1ib3R0b20ge1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY291bnRlciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb3VudGVyLWJhciB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wcmljZS1iYXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpZGViYXItZm9vdGVyIHtcclxuICAgICAgICAgICAgLmNhcnQtdG90YWwtd3JhcCB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpZGViYXItaW5uZXItd3JhcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XHJcbiAgICB9XHJcbiAgICAuc2lkZWJhci1vdmVybGF5IHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgICAgIC8vdG9wOiA0NXB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNXMpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLnNpZGViYXItaGVhZGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLmljb24tcm95YWwtY2FydCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpZGViYXItY2xvc2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgLmljb24tcm95YWwtY2xvc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpZGViYXItYm9keSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTQwcHgpO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICYge1xyXG4gICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHJueS1uYXZ5LWJsdWUgJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cclxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0FGQUZBRjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTc5cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTc1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY291bnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmLmRvd24sXHJcbiAgICAgICAgICAgICAgICAmLmRvd25fcXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnVwLFxyXG4gICAgICAgICAgICAgICAgJi51cF9xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMS4xcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvdW50ZXItYmFyIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLnByaWNlLWJhciB7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGluZS10b3RhbC13cmFwIHtcclxuICAgICAgICAgICAgLmxpbmUtdG90YWwtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxpbmUtdG90YWwtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaWRlYmFyLWZvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZzogMTZweCAyNHB4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcnQtdG90YWwtd3JhcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgLmNhcnQtdG90YWwtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNhcnQtdG90YWwtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5mcmFjLXBvcC11cC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5OTk5OTtcclxuICB9XHJcbiAgXHJcbiAgLmZyYWMtcG9wLXVwIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XHJcbiAgICBib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xyXG4gICAgei1pbmRleDogOTk5OTk5OTtcclxuICAgIG1hcmdpbi10b3A6IDEwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDM0NXB4KSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWMyZjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuICBcclxuICAuZnJhYy1wb3AtdXAtY2xvc2Uge1xyXG4gICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcGFkZGluZy10b3A6IC0xMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLmZyYWMtcG9wLXVwLWNsb3NlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY0NjQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsIDUwLCA1MCwgMC4zKTtcclxuICAgIGJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xyXG4gICAgbWFyZ2luLXRvcDogMTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gMzQ1cHgpICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxYzJmO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY2xvc2Uge1xyXG4gICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcGFkZGluZy10b3A6IC0xMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLm5vbi11cy1mcmFjLXBvcC11cC1jbG9zZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NDY0O1xyXG4gIH1cclxuICAiLCJmb290ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LWJsdWUtZm9vdGVyO1xyXG4gICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgIGF7XHJcbiAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yOyBcclxuICAgICB9XHJcbiAgICAgICBcclxuICAgICAuaW5zdGFncmFtLWZlZWRzIHtcclxuICAgICAgIGZsb2F0OiBsZWZ0OyAgXHJcbiAgICAgICB3aWR0aDogMTAwJTsgXHJcbiAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgfVxyXG4gICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICBwYWRkaW5nOiAxcHggMDtcclxuICAgICAgIH1cclxuICAgfSBcclxuICAgLm5ld3MtbGV0dGVyLXNvdXJjZSB7XHJcbiAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XHJcbiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcclxuICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgIH1cclxuICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICB9XHJcbiAgICAgZGl2I25ld3NsZXR0ZXJGb3JtIHtcclxuICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBcclxuICAgICAgIH1cclxuICAgICAgIC5uZXdzbGV0dGVyRm9ybV9oZWFkaW5nIHtcclxuICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICB9XHJcbiAgICAgICB9XHJcbiAgICAgICBcclxuICAgICAubmV3c2xldHRlckZvcm1fYm9keXtcclxuICAgICAgICYubmV3c2xldHRlckZvcm0tYm9keSB7IFxyXG4gICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgICAgZmxvYXQ6IHJpZ2h0OyBcclxuICAgICAgIH0gXHJcbiAgICAgfVxyXG4gICBcclxuICAgICB9XHJcbiAgIH1cclxuICAgXHJcbiAgIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfZW1haWwge1xyXG4gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgaW5wdXQjbmV3c2xldHRlckVtYWlsIHtcclxuICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMTVweCk7XHJcbiAgICAgfVxyXG4gICB9XHJcbiAgIFxyXG4gICAuZm9vdGVyLWxpbmtzIHtcclxuICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICB9XHJcbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgfVxyXG4gICAgIC5yb3lhbC1pbmZvIHtcclxuICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICB9XHJcbiAgICAgICAjZm9vdGVyLWNvbG9waG9uIHsgXHJcbiAgICAgICAgIG1heC13aWR0aDogMTQ4cHg7XHJcbiAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICB9IFxyXG4gICAgICAgfSBcclxuICAgICAgIC5mb2xsb3ctb24ge1xyXG4gICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgd2lkdGg6IDEwMCU7IFxyXG4gICAgICAgICBtYXJnaW46IDIzcHggMCAzMHB4IDA7IFxyXG4gICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMjBweCAwOyBcclxuICAgICAgICAgfVxyXG4gICAgICAgICBhZGRyZXNzIHtcclxuICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgZW17XHJcbiAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDsgXHJcbiAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyBcclxuICAgICAgICAgfSBcclxuICAgICAgIH1cclxuICAgICAgIGFkZHJlc3N7XHJcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgICAgfVxyXG4gICAgIH1cclxuICAgICAuZm9vdGVyLWxpbmstd3JhcCB7IFxyXG4gICAgICAgQGluY2x1ZGUgZmxleGJveDsgXHJcbiAgICAgICB3aWR0aDpjYWxjKDEwMCUgLSAyNzBweCk7XHJcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGV4TGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDpjYWxjKDEwMCUgLSA4MHB4KTtcclxuICAgICAgIH1cclxuICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDBweCk7IFxyXG4gICAgICAgfVxyXG4gICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDBweCk7XHJcbiAgICAgICB9XHJcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgfVxyXG4gICAgICAgLm1lbnUtZm9vdGVyLWNvbnRhaW5lciB7IFxyXG4gICAgICAgICBAaW5jbHVkZSBmbGV4Ym94OyAgXHJcbiAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICB1bHsgXHJcbiAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgPiB1bCB7XHJcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xyXG4gICAgICAgICAgICAgJiA+ICAgbGkge1xyXG4gICAgICAgICAgICAgICBtYXJnaW46IDEycHggMCAwO1xyXG4gICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4OyBcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICBhOmhvdmVyeyBcclxuICAgICAgICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfVxyXG4gICAgICAgICAmID4gdWwgeyBcclxuICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgIG1hcmdpbjogMDsgXHJcbiAgICAgICAgICAgcGFkZGluZzogMDsgIFxyXG4gICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyAgXHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICYgPiBhe1xyXG4gICAgICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfVxyXG4gICAgICAgfVxyXG4gICAgIH1cclxuICAgICBcclxuICAgfVxyXG4gICBcclxuICAgLmNvcHlyaWdodC1yb3lhbCB7IFxyXG4gICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IFxyXG4gICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgfSBcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgIH1cclxuICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleFNtYWxsKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgfVxyXG4gICAgIC5tZW51LWZvb3Rlci1ib3R0b20tbWVudS1jb250YWluZXJ7XHJcbiAgICAgICB1bCB7XHJcbiAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgbGkge1xyXG4gICAgICAgICAgIHBhZGRpbmc6IDA7IFxyXG4gICAgICAgICAgIG1hcmdpbjogMCAwIDBweCAyNXB4OyBcclxuICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyBcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgYSB7IFxyXG4gICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfSBcclxuICAgICAgICAgfVxyXG4gICAgICAgfVxyXG4gICAgIH1cclxuICAgICBcclxuICAgfVxyXG4gICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2Zvb3Rlci1iZy5zdmcpIGJvdHRvbSBsZWZ0IHJlcGVhdC14IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7IFxyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAgXHJcbiAgICAgICAgICB0b3A6IC0xM3B4OyBcclxuICAgICAgICAgIC8vIHotaW5kZXg6IDk5OTk5OTk5OTtcclxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICBjZW50ZXIgYm90dG9tO1xyXG4gICAgICAgICAgICB0b3A6IC0xMnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuRmVlZEdyaWRMYXlvdXRfX2dyaWQge1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcclxuICAgICAgICAgICAgY29sdW1uLWdhcDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBjb2x1bW46IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLk1lZGlhVGlsZV9fb3ZlcmxheSB7XHJcbiAgICAgICAgICAuTWVkaWFPdmVybGF5X19yb3dzIHtcclxuICAgICAgICAgICAgLk1lZGlhT3ZlcmxheV9fYm90dG9tLXJvdyB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuTWVkaWFUaWxlX190eXBlLWljb24ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgIH0gICAiLCIudWktYWNjb3JkaW9uIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAudWktYWNjb3JkaW9uLWhlYWRlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuICAgICAgICBwYWRkaW5nOiAyNHB4IDQwcHggMjRweCAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNtO1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggNDBweCAxN3B4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggNDBweCAxM3B4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBzcGVhazogbmV2ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDVcIjtcclxuICAgICAgICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXHJcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0gKHJvdGF0ZSg5MGRlZykpO1xyXG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAgICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAyMXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSAocm90YXRlKC05MGRlZykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVpLWFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAyNHB4IDA7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgcCxcclxuICAgICAgICBoMSxcclxuICAgICAgICBoMixcclxuICAgICAgICBoMyxcclxuICAgICAgICBoNCxcclxuICAgICAgICBoNSxcclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQ0FBLDJCQUEyQjtBQ0EzQiw0QkFBNEI7QUFtQjVCLHFCQUFxQjtBRTZJckIsc0JBQXNCO0FBeUJ0QixxQ0FBcUM7QUF3THJDLGdDQUFnQztDQ2pYaEMsQUFBQSxBQUFBLEtBQUMsRUFBTyxPQUFPLEFBQWQsSUFBaUIsQUFBQSxLQUFDLEVBQU8sUUFBUSxBQUFmLEVBQWlCO0VBQ2xDLGdGQUFnRjtFQUNoRixXQUFXLEVBQUUsb0JBQW9CO0VBQ2pDLEtBQUssRUFBRSxLQUFLO0VBQ1osVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsWUFBWSxFQUFFLE1BQU07RUFDcEIsY0FBYyxFQUFFLElBQUk7RUFDcEIsV0FBVyxFQUFFLENBQUM7RUFFZCx1Q0FBdUM7RUFDdkMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTLEdBQ25DOztBQUVELEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsa0JBQWtCLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsa0JBQWtCLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsT0FBTyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsZ0JBQWdCLEFBQUEsT0FBTyxDQUFDO0VBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsT0FBTyxDQUFDO0VBQ3pCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsc0JBQXNCLEFBQUEsT0FBTyxDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUNELEFBQUEsdUJB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LEVBQUUsY0FBYyxHQUMzQjs7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF1MEJFO0FBR0YsQUFBQSx3QkFBd0IsQ0FBQztFQUNyQixVQUFV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 */
