/*------------------------------------------------------------
	Media
------------------------------------------------------------*/
/*------------------------------------------------------------
	Flex Box
------------------------------------------------------------*/
:root {
  --height-hd: 18rem;
  --menu-aside: 8rem;
  --menu-aside-hover: 33rem;
  --font-pri: "Roboto", sans-serif; }

.brand {
  margin: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .brand {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .brand {
      margin: 4rem 0rem; } }
  .brand-block {
    padding: 2.4rem;
    border-radius: 0.8rem;
    background-color: white;
    box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15); }
    @media screen and (max-width: 767px) {
      .brand-block {
        padding: 1.6rem; } }
  @media screen and (min-width: 1201px) {
    .brand-row {
      --rg: 4rem;
      --cg: 4rem; } }
  @media screen and (max-width: 1024px) {
    .brand-col {
      width: 100%; } }
  .brand-bg {
    overflow: hidden;
    user-select: none;
    position: relative;
    border-radius: 0.8rem;
    padding-top: calc(374 / 560 * 100%); }
    @media screen and (min-width: 1201px) {
      .brand-bg:hover img {
        transform: translate(-50%, -50%) scale(1.05); } }
    .brand-bg img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%);
      transition: 0.4s ease-in-out; }
  .brand-content .mona-content {
    color: #000; }
    .brand-content .mona-content p {
      font-size: 2rem;
      margin-bottom: 2.4rem; }
      @media only screen and (max-width: 1200px) {
        .brand-content .mona-content p {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .brand-content .mona-content p {
          font-size: 1.6rem; } }
  .brand-sw {
    position: relative; }
    .brand-sw .swiper {
      margin: 0 -1.6rem; }
      @media screen and (max-width: 1200px) {
        .brand-sw .swiper {
          margin: 0 -0.8rem; } }
      .brand-sw .swiper-wrapper {
        row-gap: 4rem;
        flex-wrap: wrap;
        min-width: 100%;
        flex-direction: row; }
      .brand-sw .swiper-slide {
        padding: 0 1.6rem;
        width: calc(100% / 6); }
        @media screen and (max-width: 1200px) {
          .brand-sw .swiper-slide {
            padding: 0 0.8rem; } }
        @media screen and (max-width: 1024px) {
          .brand-sw .swiper-slide {
            width: calc(100% / 4); } }
        @media screen and (max-width: 767px) {
          .brand-sw .swiper-slide {
            width: calc(100% / 3); } }
  .brand-img {
    padding: 2.4rem;
    user-select: none;
    border-radius: 50%;
    position: relative;
    background: linear-gradient(97deg, #c8ffcc -46.06%, #91dfb4 137.86%); }
    .brand-img .img {
      display: block;
      position: relative;
      padding-top: calc(1 / 1 * 100%); }
      @media screen and (min-width: 1201px) {
        .brand-img .img:hover img {
          transform: translate(-50%, -50%) scale(1.05); } }
      .brand-img .img img {
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        position: absolute;
        object-fit: contain;
        transform: translate(-50%, -50%);
        transition: 0.4s ease-in-out; }
  .brand-info {
    text-align: center; }
    .brand-info .title-24 {
      transition: 0.4s ease-in-out; }
      @media screen and (min-width: 1201px) {
        .brand-info .title-24:hover {
          color: #db1f26; } }
  .brand-heading {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .brand-heading .btn-third {
      font-size: 1.6rem !important;
      padding: 1rem 3.2rem !important; }
  .brand-bg-sw {
    position: relative; }
    .brand-bg-sw_img {
      overflow: hidden;
      user-select: none;
      position: relative;
      border-radius: 0.8rem;
      padding-top: calc(450 / 1504 * 100%); }
      @media screen and (min-width: 1201px) {
        .brand-bg-sw_img:hover img {
          transform: translate(-50%, -50%) scale(1.05); } }
      @media screen and (max-width: 576px) {
        .brand-bg-sw_img {
          padding-top: calc(450 / 990 * 100%); } }
      .brand-bg-sw_img img {
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translate(-50%, -50%);
        transition: 0.4s ease-in-out; }
    .brand-bg-sw .swiper-pagination {
      z-index: 3;
      bottom: 4.8rem;
      margin: 0 auto !important;
      position: absolute !important;
      transform: translateX(-50%) !important; }
      @media screen and (max-width: 1200px) {
        .brand-bg-sw .swiper-pagination {
          bottom: 1rem; } }
      .brand-bg-sw .swiper-pagination-bullet {
        opacity: 1;
        background-color: #d9d9d9; }
        .brand-bg-sw .swiper-pagination-bullet-active {
          background-color: #00a523; }
  .brand-extra .brand-img {
    background: linear-gradient(130deg, #87ffed -1.39%, #47a7ff 115.45%); }

.m-brand {
  margin: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .m-brand {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .m-brand {
      margin: 4rem 0rem; } }
  .m-brand-sw {
    position: relative; }
    .m-brand-sw .swiper {
      padding-block: 4rem;
      margin: -4rem -1.2rem; }
      @media screen and (max-width: 1200px) {
        .m-brand-sw .swiper {
          margin: -4rem -0.8rem; } }
      .m-brand-sw .swiper-slide {
        padding: 0 1.2rem;
        width: calc(100% / 6); }
        @media screen and (max-width: 1200px) {
          .m-brand-sw .swiper-slide {
            padding: 0 0.8rem;
            width: calc(100% / 5); } }
        @media screen and (max-width: 1024px) {
          .m-brand-sw .swiper-slide {
            width: calc(100% / 4); } }
        @media screen and (max-width: 767px) {
          .m-brand-sw .swiper-slide {
            width: calc(100% / 3); } }
        @media screen and (max-width: 576px) {
          .m-brand-sw .swiper-slide {
            width: calc(100% / 2); } }
    @media screen and (min-width: 1201px) {
      .m-brand-sw .swiper-pagination {
        display: none; } }
  .m-brand-img {
    overflow: hidden;
    user-select: none;
    position: relative;
    border-radius: 0.4rem;
    padding-top: calc(100 / 232 * 100%);
    box-shadow: 0.1rem 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.25); }
    .m-brand-img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%); }

.js-brand {
  position: relative; }
  .js-brand .swiper {
    padding-block: 4rem;
    margin: -4rem -1.2rem; }
    @media screen and (max-width: 1200px) {
      .js-brand .swiper {
        margin: -4rem -0.8rem; } }
    .js-brand .swiper-wrapper {
      row-gap: 4rem;
      min-width: 100%;
      flex-direction: row !important; }
      @media screen and (max-width: 1200px) {
        .js-brand .swiper-wrapper {
          row-gap: 1.6rem; } }
    .js-brand .swiper-slide {
      padding: 0 1.2rem; }
      @media screen and (max-width: 1200px) {
        .js-brand .swiper-slide {
          padding: 0 0.8rem; } }
    .js-brand .swiper-button-prev {
      left: 0; }
    .js-brand .swiper-button-next {
      right: 0; }
    @media screen and (min-width: 1201px) {
      .js-brand .swiper-pagination {
        display: none; } }

.contact-form {
  z-index: 3;
  margin-top: 11rem;
  position: relative; }
  @media screen and (max-width: 767px) {
    .contact-form {
      margin: 6rem 0; } }
  @media screen and (max-width: 576px) {
    .contact-form {
      margin: 4rem 0; } }
  .contact-form::before {
    content: "";
    left: 0;
    top: 3rem;
    z-index: -1;
    width: 100%;
    position: absolute;
    height: calc(100% - 6rem);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
    background-image: url("../../assets/img/contact/contact-bg.jpg"); }
    @media screen and (max-width: 767px) {
      .contact-form::before {
        content: unset; } }
  .contact-form-container {
    margin: 0 auto;
    padding: 0 1.6rem;
    max-width: 102.6rem; }
  .contact-form-box {
    padding: 4rem;
    border-radius: 0.8rem;
    background-color: white;
    border: 0.1rem solid #00a523;
    box-shadow: 0.1rem 0.2rem 0.8rem 0 #006bce; }
    @media screen and (min-width: 768px) {
      .contact-form-box {
        margin-bottom: -3rem; } }
    @media screen and (max-width: 1200px) {
      .contact-form-box {
        padding: 3.2rem; } }
    @media screen and (max-width: 767px) {
      .contact-form-box {
        padding: 2.4rem; } }
    .contact-form-box .title-32 {
      line-height: normal; }
      @media screen and (max-width: 420px) {
        .contact-form-box .title-32 {
          margin: 0 auto;
          max-width: 28rem; } }

.m-contact-row {
  align-items: center; }

@media screen and (max-width: 1200px) {
  .m-contact-col {
    width: 100% !important; } }

@media screen and (min-width: 1201px) {
  .m-contact-content {
    padding: 4rem 0;
    max-width: 74rem; } }

.m-contact-content .title-30 {
  font-size: 3rem;
  color: #00a523;
  width: fit-content;
  position: relative; }
  .m-contact-content .title-30::before {
    top: 40%;
    width: 4.6rem;
    height: 0.2rem; }
  .m-contact-content .title-30::after {
    top: 60%;
    width: 9.2rem;
    height: 0.3rem; }
  .m-contact-content .title-30::before, .m-contact-content .title-30:after {
    content: "";
    position: absolute;
    left: calc(100% + 0.8rem);
    background-color: #00a523;
    transform: translate(0, -50%); }

.m-contact-content .title-24 {
  line-height: 166%;
  text-align: justify; }
  .m-contact-content .title-24 strong {
    font-weight: 700; }

.m-contact-content .sub {
  color: #00a523;
  text-align: center; }
  @media screen and (max-width: 450px) {
    .m-contact-content .sub br {
      display: none; } }

.m-contact-content .btn {
  min-width: 25rem;
  text-transform: uppercase; }

@media screen and (max-width: 1200px) {
  .m-contact .contact-form {
    padding-top: 4rem; }
    .m-contact .contact-form::before {
      top: 0;
      height: 100%; } }

@media screen and (max-width: 1200px) {
  .m-contact .contact-form-box {
    margin-bottom: 0; } }

.support {
  margin: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .support {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .support {
      margin: 4rem 0rem; } }
  .support-heading .title-40 {
    color: #00a523; }
  .support-list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 6.4rem;
    margin: 0 -3.2rem;
    justify-content: center; }
    @media screen and (max-width: 1200px) {
      .support-list {
        row-gap: 2.4rem;
        margin: 0 -1.2rem; } }
  .support-item {
    padding: 0 3.2rem;
    width: calc(100% / 4); }
    @media screen and (max-width: 1200px) {
      .support-item {
        padding: 0 1.2rem; } }
    @media screen and (max-width: 1024px) {
      .support-item {
        width: calc(100% / 3); } }
    @media screen and (max-width: 767px) {
      .support-item {
        width: calc(100% / 2); } }
    @media screen and (max-width: 576px) {
      .support-item {
        width: 100%; } }
  .support-box {
    height: 100%;
    padding: 4rem;
    transition: 0.4s ease-in-out;
    border-radius: 0.8rem;
    background-color: white;
    border: 0.1rem solid #00a523;
    box-shadow: 0.3rem 0.3rem 0.4rem 0 rgba(0, 107, 206, 0.3); }
    @media screen and (min-width: 1201px) {
      .support-box:hover {
        transform: scale(1.1);
        background-color: #00a523; }
        .support-box:hover img {
          filter: brightness(0) invert(1); }
        .support-box:hover .title-24 {
          color: white; } }
    @media screen and (max-width: 1200px) {
      .support-box {
        padding: 3.2rem; } }
    @media screen and (max-width: 767px) {
      .support-box {
        padding: 2.4rem;
        row-gap: 1.2rem; } }
  .support-img {
    margin: auto;
    display: block; }
  .support-content {
    display: flex;
    text-align: center;
    flex-direction: column; }
    .support-content .title-24 {
      margin-top: auto;
      line-height: 166%;
      transition: 0.4s ease-in-out; }
      @media screen and (max-width: 767px) {
        .support-content .title-24 br {
          display: none; } }

@media screen and (max-width: 1200px) {
  .p-product-col {
    width: 100%; } }

.p-product-left {
  display: flex;
  row-gap: 4rem;
  flex-direction: column; }
  @media screen and (max-width: 1200px) {
    .p-product-left {
      margin: 0 auto;
      row-gap: 3.2rem;
      max-width: 60rem; } }
  .p-product-left_action {
    gap: 2.4rem;
    flex-wrap: wrap;
    margin-left: auto;
    display: flex;
    align-items: center;
    width: calc(100% - 14.4rem); }
    @media screen and (max-width: 1200px) {
      .p-product-left_action {
        width: 100%; } }
    @media screen and (max-width: 767px) {
      .p-product-left_action {
        gap: 1.6rem; } }
    .p-product-left_action .btn {
      width: calc(100% / 2 - 1.2rem); }
      @media screen and (max-width: 767px) {
        .p-product-left_action .btn {
          width: calc(1005 / 2 - 0.8rem); } }
      .p-product-left_action .btn-pri {
        color: #006bce;
        border-color: #006bce;
        background-color: white !important; }
        @media screen and (min-width: 1201px) {
          .p-product-left_action .btn-pri:hover {
            color: white;
            border-color: white; }
            .p-product-left_action .btn-pri:hover::before {
              background-color: #006bce; } }
        .p-product-left_action .btn-pri::before {
          background-color: white; }
      @media screen and (min-width: 1201px) {
        .p-product-left_action .btn-sec:hover {
          color: white;
          border-color: #006bce; } }
      .p-product-left_action .btn-sec:before {
        background-color: #006bce; }
  .p-product-left > .btn {
    color: #01752f;
    margin-left: auto;
    border-radius: 0.4rem;
    border: 0.2rem solid #01752f;
    box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.25); }
    @media screen and (min-width: 1201px) {
      .p-product-left > .btn {
        width: calc(100% - 14rem); }
        .p-product-left > .btn:hover {
          color: white;
          border-color: #db1f26; } }
    @media screen and (max-width: 1200px) {
      .p-product-left > .btn {
        width: 100%; } }

@media screen and (min-width: 1201px) {
  .p-product-slide {
    gap: 4rem;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse; } }
  @media screen and (min-width: 1201px) and (max-width: 1200px) {
    .p-product-slide {
      gap: 3.2rem; } }

.p-product-slide .swiper-slide {
  width: 100%; }

.p-product-slide .swiper-button-next {
  right: 1rem; }

.p-product-slide .swiper-button-prev {
  left: 1rem; }

.p-product-slide .swiper-button-next, .p-product-slide .swiper-button-prev {
  box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15); }

.p-product-img {
  display: block;
  overflow: hidden;
  user-select: none;
  position: relative;
  border-radius: 0.8rem;
  border: 0.1rem solid #e4f2ff;
  padding-top: calc(1 / 1 * 100%); }
  .p-product-img img {
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    transform: translate(-50%, -50%);
    transition: 0.4s ease-in-out; }

.p-product-inner .in-stock {
  display: none !important; }

.p-product-review {
  gap: 0.8rem;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2); }
  @media screen and (max-width: 1200px) {
    .p-product-review {
      gap: 1.2rem; } }
  @media screen and (min-width: 577px) {
    .p-product-review .star {
      margin-left: auto; } }
  .p-product-review .brand {
    color: white;
    user-select: none;
    width: fit-content;
    line-height: normal;
    margin: 0 !important;
    border-radius: 0.5rem;
    align-content: center;
    padding: 0.95rem 1.6rem;
    background-color: #006bce; }
  .p-product-review .btn {
    pointer-events: none;
    font-size: 1.8rem !important;
    padding: 0.85rem 1.6rem !important; }
    @media screen and (min-width: 577px) {
      .p-product-review .btn {
        margin-left: auto; } }
  .p-product-review:has(~ .out-of-stock) .btn {
    color: #db1f26;
    border-color: #db1f26; }

.p-product-price {
  font-size: 2.4rem; }
  @media only screen and (max-width: 1200px) {
    .p-product-price {
      font-size: 2rem; } }
  @media only screen and (max-width: 800px) {
    .p-product-price {
      font-size: 1.7rem; } }
  .p-product-price del {
    font-size: 2.4rem; }
    @media only screen and (max-width: 1200px) {
      .p-product-price del {
        font-size: 2rem; } }
    @media only screen and (max-width: 800px) {
      .p-product-price del {
        font-size: 1.7rem; } }
  .p-product-price ins {
    font-size: 4.8rem; }
    @media only screen and (max-width: 1200px) {
      .p-product-price ins {
        font-size: 4.3rem; } }
    @media only screen and (max-width: 800px) {
      .p-product-price ins {
        font-size: 3.3rem; } }
  .p-product-price .price:has(.no-price-button) {
    align-items: stretch;
    flex-direction: column; }
  .p-product-price .quote-button-container {
    gap: 1.6rem;
    display: flex;
    flex-wrap: wrap; }
  .p-product-price .btn-quote-request {
    color: white;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    transition: 0.4s ease-in-out;
    border-radius: 0.5rem;
    padding: 1.2rem 2.4rem;
    font-family: var(--font-pri);
    background-color: #00a523; }
    @media only screen and (max-width: 1200px) {
      .p-product-price .btn-quote-request {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .p-product-price .btn-quote-request {
        font-size: 1.6rem; } }
    @media screen and (min-width: 1201px) {
      .p-product-price .btn-quote-request:hover {
        color: white;
        border-color: #db1f26;
        background-color: #db1f26; } }

.p-product-stock .text-20 span {
  color: #00a523; }

.p-product-option {
  gap: 2.4rem;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  border-radius: 0.8rem;
  padding: 3.2rem 2.4rem;
  background-color: #e4f2ff; }
  @media screen and (max-width: 1200px) {
    .p-product-option {
      padding: 1.6rem; } }
  .p-product-option .option {
    gap: 2.4rem;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 1200px) {
      .p-product-option .option {
        gap: 1.6rem; } }
    .p-product-option .option-label {
      display: block;
      font-size: 1.8rem;
      padding: 1.6rem;
      cursor: pointer;
      user-select: none;
      text-align: center;
      min-width: 10.5rem;
      transition: 0.4s ease-in-out;
      border-radius: 0.5rem;
      background-color: white;
      border: 0.1rem solid #a3a3a3;
      box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.2); }
      @media only screen and (max-width: 1200px) {
        .p-product-option .option-label {
          font-size: 1.6rem; } }
      @media only screen and (max-width: 800px) {
        .p-product-option .option-label {
          font-size: 1.5rem; } }
      @media screen and (max-width: 1200px) {
        .p-product-option .option-label {
          gap: 1.6rem;
          padding: 1.2rem; } }
      .p-product-option .option-label:has(input[type="radio"]:checked) {
        color: white;
        font-weight: 700;
        background: linear-gradient(84deg, #ff8307 1.48%, #ff5900 99.11%); }

.p-product-action {
  gap: 1.8rem;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2); }
  .p-product-action_btn {
    gap: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 13.6rem); }
    @media screen and (max-width: 767px) {
      .p-product-action_btn {
        width: 100%; } }
    @media screen and (max-width: 576px) {
      .p-product-action_btn {
        gap: 1rem; } }
    .p-product-action_btn .btn {
      padding: 1.2rem !important;
      width: calc(100% / 2 - 0.9rem); }
      @media screen and (max-width: 576px) {
        .p-product-action_btn .btn {
          width: calc(100% / 2 - 0.5rem);
          padding: 1.2rem 0.7rem !important; } }
  .p-product-action .carts-counter {
    width: fit-content;
    column-gap: 1.6rem;
    border-radius: 0.8rem;
    padding: 1.4rem 0.55rem;
    border: 0.1rem solid rgba(36, 36, 36, 0.2); }
    @media screen and (max-width: 576px) {
      .p-product-action .carts-counter {
        column-gap: 0.8rem; } }
    .p-product-action .carts-counter button {
      column-gap: 0.4rem;
      display: flex;
      align-items: center; }
  .p-product-action .cart {
    width: 100%;
    gap: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0 !important; }
    @media screen and (max-width: 450px) {
      .p-product-action .cart {
        flex-direction: column; }
        .p-product-action .cart .cart {
          flex-direction: column; } }
    .p-product-action .cart::before, .p-product-action .cart:after {
      content: unset !important; }
    .p-product-action .cart .p-product-action_btn {
      width: calc(100% - 16rem); }
      @media screen and (max-width: 450px) {
        .p-product-action .cart .p-product-action_btn {
          width: 100%; } }
      .p-product-action .cart .p-product-action_btn .added_to_cart {
        display: none !important; }
    .p-product-action .cart .vi-wpvs-variation-style {
      gap: 2.4rem;
      margin-bottom: 0;
      align-items: center;
      display: flex !important; }
    .p-product-action .cart .variations {
      gap: 2.4rem;
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      border-radius: 0.8rem;
      margin-bottom: 0 !important; }
      .p-product-action .cart .variations tbody {
        width: 100%;
        display: flex;
        row-gap: 2.4rem;
        flex-direction: column; }
        @media screen and (max-width: 767px) {
          .p-product-action .cart .variations tbody {
            row-gap: 1.6rem; } }
      .p-product-action .cart .variations .label {
        font-size: 2rem;
        flex-shrink: 0;
        text-align: left;
        line-height: normal !important; }
        @media only screen and (max-width: 1200px) {
          .p-product-action .cart .variations .label {
            font-size: 1.8rem; } }
        @media only screen and (max-width: 800px) {
          .p-product-action .cart .variations .label {
            font-size: 1.6rem; } }
      .p-product-action .cart .variations .value .vi-wpvs-variation-wrap {
        gap: 1.2rem 2.4rem; }
        .p-product-action .cart .variations .value .vi-wpvs-variation-wrap .vi-wpvs-option-wrap {
          margin: 0;
          font-size: 1.8rem;
          cursor: pointer;
          padding: 1.6rem;
          user-select: none;
          box-shadow: unset;
          min-width: 10.5rem;
          text-align: center;
          transition: 0.4s ease-in-out;
          border-radius: 0.5rem;
          border: 0.1rem solid #a3a3a3; }
          @media only screen and (max-width: 1200px) {
            .p-product-action .cart .variations .value .vi-wpvs-variation-wrap .vi-wpvs-option-wrap {
              font-size: 1.6rem; } }
          @media only screen and (max-width: 800px) {
            .p-product-action .cart .variations .value .vi-wpvs-variation-wrap .vi-wpvs-option-wrap {
              font-size: 1.5rem; } }
          .p-product-action .cart .variations .value .vi-wpvs-variation-wrap .vi-wpvs-option-wrap-hover, .p-product-action .cart .variations .value .vi-wpvs-variation-wrap .vi-wpvs-option-wrap-selected {
            border-color: #ff8307;
            background: linear-gradient(84deg, #ff8307 1.48%, #ff5900 99.11%); }
        .p-product-action .cart .variations .value .vi-wpvs-variation-wrap .vi-wpvs-option-wrap-out-of-stock-attribute {
          pointer-events: none !important; }
      .p-product-action .cart .variations .reset_variations {
        display: none !important; }
      .p-product-action .cart .variations .vi-wpvs-variation-style {
        width: 100%;
        border-radius: 0.8rem;
        padding: 3.2rem 2.4rem;
        background-color: #e4f2ff; }
    .p-product-action .cart .single_variation_wrap {
      width: 100%; }
      .p-product-action .cart .single_variation_wrap .woocommerce-variation-price,
      .p-product-action .cart .single_variation_wrap .woocommerce-variation-availability {
        display: none !important; }
      .p-product-action .cart .single_variation_wrap .woocommerce-variation > p {
        display: none; }
  .p-product-action .single_variation_wrap .woocommerce-variation-add-to-cart {
    gap: 1.8rem;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 576px) {
      .p-product-action .single_variation_wrap .woocommerce-variation-add-to-cart {
        gap: 1.2rem; } }
  .p-product-action .single_variation_wrap .p-product-action_btn {
    width: calc(100% - 16.6rem); }
    @media screen and (max-width: 576px) {
      .p-product-action .single_variation_wrap .p-product-action_btn {
        width: calc(100% - 12.2rem); } }
    .p-product-action .single_variation_wrap .p-product-action_btn .added_to_cart {
      display: none; }
    .p-product-action .single_variation_wrap .p-product-action_btn .btn-pri {
      opacity: 1 !important; }

.p-product-compare {
  gap: 1.2rem;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .p-product-compare .link {
    font-size: 2rem;
    column-gap: 0.8rem;
    transition: 0.4s ease-in-out;
    display: flex;
    align-items: center;
    font-family: var(--font-pri); }
    @media only screen and (max-width: 1200px) {
      .p-product-compare .link {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .p-product-compare .link {
        font-size: 1.6rem; } }
    @media screen and (min-width: 1201px) {
      .p-product-compare .link:hover {
        color: #db1f26; } }
    .p-product-compare .link img {
      flex-shrink: 0;
      user-select: none;
      width: 2.6rem;
      height: 2.6rem; }
  .p-product-compare .social {
    gap: 0.8rem; }

.p-product-info ul {
  display: flex;
  row-gap: 2.4rem;
  flex-direction: column; }
  @media screen and (max-width: 1200px) {
    .p-product-info ul {
      row-gap: 1.6rem; } }
  .p-product-info ul li {
    gap: 2.4rem;
    display: flex; }
    .p-product-info ul li .text-20:first-child {
      min-width: 15rem; }

.p-product-desc, .p-product-info {
  padding: 2.4rem;
  border-radius: 0.8rem;
  background-color: #e4f2ff; }
  @media screen and (max-width: 1200px) {
    .p-product-desc, .p-product-info {
      padding: 2rem; } }
  @media screen and (max-width: 767px) {
    .p-product-desc, .p-product-info {
      padding: 1.6rem; } }
  .p-product-desc .mona-content h2, .p-product-info .mona-content h2 {
    font-size: 2rem;
    margin-bottom: 1.6rem; }
  .p-product-desc .mona-content li, .p-product-info .mona-content li {
    font-size: 2rem; }
  .p-product-desc .mona-content p, .p-product-info .mona-content p {
    font-size: 2rem; }
    @media only screen and (max-width: 1200px) {
      .p-product-desc .mona-content p, .p-product-info .mona-content p {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .p-product-desc .mona-content p, .p-product-info .mona-content p {
        font-size: 1.6rem; } }

@media screen and (min-width: 1201px) {
  .js-product-gallery {
    width: calc(100% - 14rem); } }

@media screen and (max-width: 1200px) {
  .js-product-gallery {
    margin-bottom: 2.4rem; } }

.js-product-thumbs {
  flex-shrink: 0; }
  @media screen and (min-width: 1201px) {
    .js-product-thumbs {
      width: 10rem;
      height: 100%;
      overflow: hidden;
      max-height: 60rem; } }
  @media screen and (max-width: 1200px) {
    .js-product-thumbs {
      margin: 0 -0.8rem; } }
  @media screen and (min-width: 1201px) {
    .js-product-thumbs .swiper-slide {
      width: 10rem;
      height: 10rem; } }
  @media screen and (max-width: 1200px) {
    .js-product-thumbs .swiper-slide {
      padding: 0 0.8rem;
      width: calc(100% / 4); } }
  @media screen and (max-width: 576px) {
    .js-product-thumbs .swiper-slide {
      width: calc(100% / 3); } }
  @media screen and (min-width: 1201px) {
    .js-product-thumbs .swiper-slide-thumb-active .p-product-img {
      box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.25); } }
  .js-product-thumbs .p-product-img {
    cursor: pointer; }

.product-content {
  margin: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .product-content {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .product-content {
      margin: 4rem 0rem; } }
  .product-content-content {
    padding: 4rem;
    position: relative;
    border-radius: 0.8rem;
    background-color: white; }
    @media screen and (max-width: 1200px) {
      .product-content-content {
        padding: 3.2rem; } }
    @media screen and (max-width: 767px) {
      .product-content-content {
        padding: 2.4rem; } }
    .product-content-content::after {
      content: "";
      left: 0;
      bottom: 0;
      width: 100%;
      height: 21rem;
      position: absolute;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0) -14.46%, #fff 42.77%); }
    .product-content-content.is-none:after {
      content: unset; }
    .product-content-content:has(.is-full):after {
      content: unset; }
    .product-content-content:has(.is-full) .mona-content {
      max-height: 100% !important; }
    .product-content-content .mona-content {
      overflow: hidden; }
    .product-content-content #ez-toc-container {
      width: 100%;
      display: flex;
      padding: 3.2rem;
      row-gap: 2.4rem;
      background: white;
      border-radius: 0.8rem;
      flex-direction: column;
      border: 0.1rem solid rgba(0, 0, 0, 0.2); }
      @media screen and (max-width: 1200px) {
        .product-content-content #ez-toc-container {
          padding: 2.4rem; } }
      .product-content-content #ez-toc-container .ez-toc-title {
        font-weight: 700;
        font-size: 2.4rem; }
      .product-content-content #ez-toc-container .ez-toc-title-container > p {
        display: none; }
      .product-content-content #ez-toc-container .ez-toc-title-toggle {
        display: none; }
      .product-content-content #ez-toc-container .ez-toc-list {
        display: flex;
        row-gap: 1.6rem;
        flex-direction: column; }
        .product-content-content #ez-toc-container .ez-toc-list .ez-toc-link {
          font-size: 2rem;
          line-height: 166%; }

.new-product {
  margin: 4rem 0;
  padding: 4rem 0;
  background: #d4e7d4;
  border-top: 0.1rem solid #00a523;
  border-bottom: 0.1rem solid #00a523;
  box-shadow: 0 0 2rem 0 rgba(1, 117, 47, 0.6); }
  .new-product-heading {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .new-product-heading .btn-third {
      padding: 1rem 3.2rem !important; }
  .new-product-sw .swiper {
    padding-block: 4rem;
    margin: -4rem -1.2rem; }
    @media screen and (max-width: 767px) {
      .new-product-sw .swiper {
        margin: -4rem -0.4rem; } }
    .new-product-sw .swiper-slide {
      height: auto;
      padding: 0 1.2rem;
      width: calc(100% / 5); }
      @media screen and (max-width: 1200px) {
        .new-product-sw .swiper-slide {
          width: calc(100% / 4); } }
      @media screen and (max-width: 1024px) {
        .new-product-sw .swiper-slide {
          width: calc(100% / 3); } }
      @media screen and (max-width: 767px) {
        .new-product-sw .swiper-slide {
          padding: 0 0.4rem;
          width: calc(100% / 2); } }
    @media screen and (min-width: 1201px) {
      .new-product-sw .swiper-pagination {
        display: none; } }

.banner {
  margin: 4rem 0rem 4rem; }
  @media screen and (max-width: 992px) {
    .banner {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .banner {
      margin: 4rem 0rem; } }
  .banner-row {
    --rg: 2.4rem;
    --cg: 2.4rem; }
    @media screen and (max-width: 1200px) {
      .banner-row {
        --rg: 1.6rem;
        --cg: 1.6rem; } }
  @media screen and (max-width: 1024px) {
    .banner-col {
      width: 100%; } }
  .banner-sw {
    position: relative; }
    .banner-sw .swiper {
      margin: 0 -0.4rem; }
      .banner-sw .swiper-slide {
        padding: 0 0.4rem; }
      .banner-sw .swiper-pagination {
        margin: 0;
        position: absolute !important;
        transform: translateX(-50%) !important; }
        .banner-sw .swiper-pagination-bullet {
          background-color: #d9d9d9; }
          .banner-sw .swiper-pagination-bullet-active {
            background-color: #00a523; }
  .banner-left {
    position: relative; }
    .banner-left-img {
      padding-top: calc(480 / 740 * 100%); }
  .banner-right-list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 2.4rem;
    margin: 0 -1.2rem; }
    @media screen and (max-width: 1200px) {
      .banner-right-list {
        row-gap: 1.6rem;
        margin: 0 -0.8rem; } }
  .banner-right-item {
    padding: 0 1.2rem; }
    @media screen and (max-width: 1200px) {
      .banner-right-item {
        padding: 0 0.8rem; } }
    .banner-right-item:first-child {
      width: 100%; }
      .banner-right-item:first-child .img {
        padding-top: calc(252 / 740 * 100%); }
    .banner-right-item:not(:first-child) {
      width: calc(100% / 2); }
      @media screen and (max-width: 576px) {
        .banner-right-item:not(:first-child) {
          width: 100%; } }
      .banner-right-item:not(:first-child) .img {
        padding-top: calc(204 / 358 * 100%); }
  .banner-right-img {
    position: relative; }
  .banner-content {
    left: 0;
    bottom: 0;
    width: 100%;
    color: white;
    padding: 3.2rem;
    position: absolute;
    transition: 0.4s ease-in-out; }
    @media screen and (max-width: 1200px) {
      .banner-content {
        padding: 3.2rem 1.6rem; } }
  .banner .img {
    display: block;
    overflow: hidden;
    position: relative;
    border-radius: 0.8rem; }
    @media screen and (min-width: 1201px) {
      .banner .img:hover img {
        transform: translate(-50%, -50%) scale(1.05); } }
    .banner .img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%);
      transition: 0.4s ease-in-out; }
  .banner .title-24 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 2;
    -webkit-line-clamp: 2; }

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